From eb4f2181b6171cbf460d22d041137f3c913515e4 Mon Sep 17 00:00:00 2001 From: Jihoon Song Date: Tue, 16 Apr 2013 16:48:01 +0900 Subject: [PATCH] [Title] common-eplugin: updated Tizen Web UI Framework to 0.2.24 [Desc.] [Issue] Change-Id: I1ebef2498081c8b49d17e1ac35012a77f36c3a99 --- .../tizen-web-ui-fw/VERSION | 2 +- .../tizen-web-ui-fw/latest/js/depData.json | 240 +- .../tizen-web-ui-fw/latest/js/jquery.js | 3328 +-- .../tizen-web-ui-fw/latest/js/jquery.min.js | 2 +- .../latest/js/src/jquery.mobile.tizen.pinch.js | 227 +- .../tizen-web-ui-fw/latest/js/src/util/ensurens.js | 28 +- .../js/src/widgets/components/imageloader.js | 346 +- .../latest/js/src/widgets/components/webgl.js | 230 +- .../widgets/jquery.mobile.tizen.datetimepicker.js | 27 +- .../src/widgets/jquery.mobile.tizen.fastscroll.js | 279 +- .../js/src/widgets/jquery.mobile.tizen.gallery.js | 38 +- .../js/src/widgets/jquery.mobile.tizen.slider.js | 10 +- .../widgets/jquery.mobile.tizen.tokentextarea.js | 14 +- .../widgets/jquery.mobile.tizen.virtuallistview.js | 19 +- .../latest/js/src/widgets/page.sections.js | 2 +- .../latest/js/tizen-web-ui-fw-libs.js | 4 +- .../latest/js/tizen-web-ui-fw-libs.min.js | 8 +- .../tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js | 22020 ++++++++++--------- .../latest/js/tizen-web-ui-fw.min.js | 230 +- .../images/00_grid_overscrolling_bottom.png | Bin 0 -> 6751 bytes .../images/00_grid_overscrolling_left.png | Bin 0 -> 7398 bytes .../images/00_grid_overscrolling_right.png | Bin 0 -> 7407 bytes .../images/00_grid_overscrolling_top.png | Bin 0 -> 6818 bytes .../tizen-black/images/00_list_process_01.png | Bin 3926 -> 2164 bytes .../images/controls/button/00_button_check.png | Bin 1999 -> 4586 bytes .../controls/button/00_button_check_press.png | Bin 2124 -> 4151 bytes .../images/controls/button/00_button_gear.png | Bin 4021 -> 7428 bytes .../controls/button/00_button_gear_press.png | Bin 3799 -> 6277 bytes .../images/controls/button/00_button_grid.png | Bin 4833 -> 4822 bytes .../controls/button/00_button_grid_press.png | Bin 4635 -> 4161 bytes .../images/controls/button/00_button_search.png | Bin 3852 -> 5030 bytes .../controls/button/00_button_search_press.png | Bin 3828 -> 4312 bytes .../themes/tizen-black/tizen-web-ui-fw-theme.css | 96 +- .../tizen-black/tizen-web-ui-fw-theme.min.css | 2 +- .../images/00_effect_title_tab_bounce_left.png | Bin 0 -> 4909 bytes .../images/00_effect_title_tab_bounce_right.png | Bin 0 -> 4544 bytes .../images/00_grid_overscrolling_bottom.png | Bin 0 -> 6751 bytes .../images/00_grid_overscrolling_left.png | Bin 0 -> 7398 bytes .../images/00_grid_overscrolling_right.png | Bin 0 -> 7407 bytes .../images/00_grid_overscrolling_top.png | Bin 0 -> 6818 bytes .../latest/themes/tizen-white/theme.js | 22 +- .../themes/tizen-white/tizen-web-ui-fw-theme.css | 96 +- .../tizen-white/tizen-web-ui-fw-theme.min.css | 2 +- .../jar/tizenwebuifw-common-resources.jar | Bin 2352492 -> 2431917 bytes 44 files changed, 14205 insertions(+), 13067 deletions(-) create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-black/images/00_grid_overscrolling_bottom.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-black/images/00_grid_overscrolling_left.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-black/images/00_grid_overscrolling_right.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-black/images/00_grid_overscrolling_top.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-white/images/00_effect_title_tab_bounce_left.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-white/images/00_effect_title_tab_bounce_right.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-white/images/00_grid_overscrolling_bottom.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-white/images/00_grid_overscrolling_left.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-white/images/00_grid_overscrolling_right.png create mode 100644 org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/themes/tizen-white/images/00_grid_overscrolling_top.png diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/VERSION b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/VERSION index 521eb3d..ac16615 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/VERSION +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/VERSION @@ -1 +1 @@ -0.2.23 +0.2.24 diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/depData.json b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/depData.json index b60e76a..f7ee11a 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/depData.json +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/depData.json @@ -1,6 +1,6 @@ { "jquery.mobile.tizen.scrollview": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.tizen.scrollview.js", "name": "jquery.mobile.tizen.scrollview", "depends": [], @@ -9,7 +9,7 @@ "description": "Implements scroll by javascript" }, "events/throttledresize": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "events/throttledresize.js", "name": "events/throttledresize", "depends": [ @@ -20,7 +20,7 @@ "description": "Throttled resize event" }, "events/touch": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "events/touch.js", "name": "events/touch", "depends": [ @@ -33,7 +33,7 @@ "description": "Touch events: touchstart, touchmove, touchend, tap, taphold, swipe, swipeleft, swiperight, scrollstart, scrollstop" }, "events/orientationchange": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "events/orientationchange.js", "name": "events/orientationchange", "depends": [ @@ -46,7 +46,7 @@ "description": "Orientation change event" }, "jquery.mobile.tizen.pinch": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.tizen.pinch.js", "name": "jquery.mobile.tizen.pinch", "depends": [ @@ -57,7 +57,7 @@ "description": "Tizen core library" }, "jquery.mobile.define": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.define.js", "name": "jquery.mobile.define", "depends": [], @@ -66,7 +66,7 @@ "description": "" }, "jquery.mobile.docs": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.docs.js", "name": "jquery.mobile.docs", "depends": [ @@ -77,7 +77,7 @@ "description": "" }, "text": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "text.js", "name": "text", "depends": [], @@ -86,7 +86,7 @@ "description": "" }, "depend": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "depend.js", "name": "depend", "depends": [], @@ -95,7 +95,7 @@ "description": "" }, "jquery.mobile.navigation": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.navigation.js", "name": "jquery.mobile.navigation", "depends": [ @@ -112,7 +112,7 @@ "description": "Applies the AJAX navigation system to links and forms to enable page transitions" }, "jquery.mobile.tizen.core": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.tizen.core.js", "name": "jquery.mobile.tizen.core", "depends": [ @@ -125,7 +125,7 @@ "description": "Tizen core library" }, "jquery.mobile.support.orientation": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.support.orientation.js", "name": "jquery.mobile.support.orientation", "depends": [ @@ -136,7 +136,7 @@ "description": "Feature test for orientation" }, "util/range": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "util/range.js", "name": "util/range", "depends": [], @@ -145,7 +145,7 @@ "description": "Makes array with given range" }, "util/ensurens": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "util/ensurens.js", "name": "util/ensurens", "depends": [], @@ -154,16 +154,18 @@ "description": "Make namespace for modules" }, "jquery.mobile.tizen.clrlib": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.tizen.clrlib.js", "name": "jquery.mobile.tizen.clrlib", - "depends": [], + "depends": [ + "util/ensurens" + ], "label": "Color library", "group": "Tizen:Core", "description": "Color code converter" }, "jquery.mobile.links": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.links.js", "name": "jquery.mobile.links", "depends": [ @@ -174,7 +176,7 @@ "description": "Adds classes to links." }, "jquery.mobile.tizen.configure": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.tizen.configure.js", "name": "jquery.mobile.tizen.configure", "depends": [], @@ -183,7 +185,7 @@ "description": "jQuery Mobile configuration for Tizen widgets" }, "jquery.mobile.support": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.support.js", "name": "jquery.mobile.support", "depends": [ @@ -198,7 +200,7 @@ "description": "Assorted tests to qualify browsers by detecting features" }, "jquery.mobile.zoom.iosorientationfix": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.zoom.iosorientationfix.js", "name": "jquery.mobile.zoom.iosorientationfix", "depends": [ @@ -211,7 +213,7 @@ "description": "Fixes the orientation change bug in iOS when switching between landspace and portrait" }, "widgets/jquery.mobile.tizen.gallery3d": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.gallery3d.js", "name": "widgets/jquery.mobile.tizen.gallery3d", "depends": [ @@ -224,7 +226,7 @@ "description": "3D photo gallery widget." }, "widgets/jquery.mobile.tizen.multimediaview": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.multimediaview.js", "name": "widgets/jquery.mobile.tizen.multimediaview", "depends": [ @@ -235,7 +237,7 @@ "description": "Shows multimedia and its controls" }, "widgets/jquery.mobile.tizen.button": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.button.js", "name": "widgets/jquery.mobile.tizen.button", "depends": [], @@ -244,7 +246,7 @@ "description": "Tizen button" }, "widgets/loader": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/loader.js", "name": "widgets/loader", "depends": [ @@ -257,7 +259,7 @@ "description": "packaged loading message functionality" }, "widgets/jquery.mobile.tizen.scrollview.handler": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.scrollview.handler.js", "name": "widgets/jquery.mobile.tizen.scrollview.handler", "depends": [ @@ -269,7 +271,7 @@ "description": "Shows a scroll-handler with a scrollview" }, "widgets/jquery.mobile.tizen.popupwindow.ctxpopup": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.popupwindow.ctxpopup.js", "name": "widgets/jquery.mobile.tizen.popupwindow.ctxpopup", "depends": [ @@ -282,7 +284,7 @@ "description": "Shows popup at any place in the page content, with various styles" }, "widgets/jquery.mobile.tizen.datetimepicker": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.datetimepicker.js", "name": "widgets/jquery.mobile.tizen.datetimepicker", "depends": [ @@ -295,7 +297,7 @@ "description": "Shows date and time, and make them able to be changed by user" }, "widgets/jquery.mobile.tizen.slider": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.slider.js", "name": "widgets/jquery.mobile.tizen.slider", "depends": [ @@ -306,7 +308,7 @@ "description": "Shows slider bar to input number by dragging" }, "widgets/listview.filter": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/listview.filter.js", "name": "widgets/listview.filter", "depends": [ @@ -319,7 +321,7 @@ "description": "Extends the listview to add a search box to filter lists" }, "widgets/jquery.mobile.tizen.swipe": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.swipe.js", "name": "widgets/jquery.mobile.tizen.swipe", "depends": [ @@ -330,7 +332,7 @@ "description": "Shows background listitem by swiping left/right on a listitem" }, "widgets/dialog": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/dialog.js", "name": "widgets/dialog", "depends": [ @@ -342,7 +344,7 @@ "description": "Displays a page as a modal dialog with inset appearance and overlay background" }, "widgets/jquery.mobile.tizen.listdivider": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.listdivider.js", "name": "widgets/jquery.mobile.tizen.listdivider", "depends": [], @@ -351,7 +353,7 @@ "description": "Divider listitem in listview" }, "widgets/jquery.mobile.tizen.notification": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.notification.js", "name": "widgets/jquery.mobile.tizen.notification", "depends": [ @@ -362,7 +364,7 @@ "description": "Shows notification popup over header/footer" }, "widgets/jquery.mobile.tizen.pagelayout": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.pagelayout.js", "name": "widgets/jquery.mobile.tizen.pagelayout", "depends": [ @@ -373,7 +375,7 @@ "description": "Set a layout of pages" }, "widgets/collapsibleSet": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/collapsibleSet.js", "name": "widgets/collapsibleSet", "depends": [ @@ -386,7 +388,7 @@ "description": "For creating grouped collapsible content areas." }, "widgets/jquery.mobile.tizen.checkbox": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.checkbox.js", "name": "widgets/jquery.mobile.tizen.checkbox", "depends": [], @@ -395,7 +397,7 @@ "description": "//>>description: Checkbox widget" }, "widgets/listview": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/listview.js", "name": "widgets/listview", "depends": [ @@ -410,7 +412,7 @@ "description": "Applies listview styling of various types (standard, numbered, split button, etc.)" }, "widgets/jquery.mobile.tizen.splitview": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.splitview.js", "name": "widgets/jquery.mobile.tizen.splitview", "depends": [ @@ -421,7 +423,7 @@ "description": "Show different HTML contents at the same time on each divided pane." }, "widgets/listview.autodividers": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/listview.autodividers.js", "name": "widgets/listview.autodividers", "depends": [ @@ -433,7 +435,7 @@ "description": "Generates dividers for listview items" }, "widgets/jquery.mobile.tizen.virtualgrid": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.virtualgrid.js", "name": "widgets/jquery.mobile.tizen.virtualgrid", "depends": [ @@ -445,7 +447,7 @@ "description": "Shows grid swapping its contents automatically" }, "widgets/popup": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/popup.js", "name": "widgets/popup", "depends": [ @@ -460,7 +462,7 @@ "description": "Popup windows" }, "widgets/jquery.mobile.tizen.searchbar": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.searchbar.js", "name": "widgets/jquery.mobile.tizen.searchbar", "depends": [ @@ -472,7 +474,7 @@ "description": "Shows searchbar, for text search" }, "widgets/forms/slider": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/forms/slider.js", "name": "widgets/forms/slider", "depends": [ @@ -487,7 +489,7 @@ "description": "Slider form widget" }, "widgets/forms/button": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/forms/button.js", "name": "widgets/forms/button", "depends": [ @@ -500,7 +502,7 @@ "description": "Custom-styled native input/buttons" }, "widgets/forms/select.custom": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/forms/select.custom.js", "name": "widgets/forms/select.custom", "depends": [ @@ -519,7 +521,7 @@ "description": "Extension to select menus to support menu styling, placeholder options, and multi-select features." }, "widgets/forms/checkboxradio": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/forms/checkboxradio.js", "name": "widgets/forms/checkboxradio", "depends": [ @@ -533,7 +535,7 @@ "description": "Consistent styling for checkboxes/radio buttons." }, "widgets/forms/select": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/forms/select.js", "name": "widgets/forms/select", "depends": [ @@ -548,7 +550,7 @@ "description": "Consistent styling for native select menus. Tapping opens a native select menu." }, "widgets/forms/textinput": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/forms/textinput.js", "name": "widgets/forms/textinput", "depends": [ @@ -564,7 +566,7 @@ "description": "Enhances and consistently styles text inputs." }, "widgets/jquery.mobile.tizen.gallery": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.gallery.js", "name": "widgets/jquery.mobile.tizen.gallery", "depends": [], @@ -573,7 +575,7 @@ "description": "Shows images one by one, and moves them by flicking" }, "widgets/jquery.mobile.tizen.circularview": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.circularview.js", "name": "widgets/jquery.mobile.tizen.circularview", "depends": [ @@ -584,7 +586,7 @@ "description": "Container widget showing children circulary" }, "widgets/navbar": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/navbar.js", "name": "widgets/navbar", "depends": [ @@ -598,16 +600,16 @@ "description": "Formats groups of links as horizontal navigation bars." }, "widgets/components/imageloader": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/components/imageloader.js", "name": "widgets/components/imageloader", "depends": [], - "label": "Image loader", - "group": "Tizen:Widgets:Components", - "description": "Tizen image loader component for gallery3d" + "label": "//>>label: Image loader", + "group": "//>>group: Tizen:Widgets:Components", + "description": "//>>description: Tizen image loader component for gallery3d" }, "widgets/components/motionpath": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/components/motionpath.js", "name": "widgets/components/motionpath", "depends": [], @@ -616,16 +618,16 @@ "description": "Tizen motion path component for gallery3d" }, "widgets/components/webgl": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/components/webgl.js", "name": "widgets/components/webgl", "depends": [], - "label": "WebGL", - "group": "Tizen:Widgets:Lib", - "description": "Tizen WebGL component for gallery3d" + "label": "//>>label: WebGL", + "group": "//>>group: Tizen:Widgets:Lib", + "description": "//>>description: Tizen WebGL component for gallery3d" }, "widgets/jquery.mobile.tizen.popupwindow": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.popupwindow.js", "name": "widgets/jquery.mobile.tizen.popupwindow", "depends": [ @@ -637,7 +639,7 @@ "description": "Shows popup on the page" }, "widgets/jquery.mobile.tizen.virtuallistview": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.virtuallistview.js", "name": "widgets/jquery.mobile.tizen.virtuallistview", "depends": [ @@ -649,7 +651,7 @@ "description": "Shows listview swapping its contents automatically" }, "widgets/jquery.mobile.tizen.progress": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.progress.js", "name": "widgets/jquery.mobile.tizen.progress", "depends": [ @@ -660,7 +662,7 @@ "description": "Shows progressbar or progress circle" }, "widgets/jquery.mobile.tizen.fastscroll": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.fastscroll.js", "name": "widgets/jquery.mobile.tizen.fastscroll", "depends": [ @@ -671,7 +673,7 @@ "description": "Shows list index and scroll to the index directly" }, "widgets/jquery.mobile.tizen.widgetex": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.widgetex.js", "name": "widgets/jquery.mobile.tizen.widgetex", "depends": [ @@ -682,7 +684,7 @@ "description": "Widget class extending functionality of jQueryMobile widget class" }, "widgets/fixedToolbar": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/fixedToolbar.js", "name": "widgets/fixedToolbar", "depends": [ @@ -699,7 +701,7 @@ "description": "Behavior for \"fixed\" headers and footers" }, "widgets/jquery.mobile.tizen.tabbar": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.tabbar.js", "name": "widgets/jquery.mobile.tizen.tabbar", "depends": [ @@ -711,7 +713,7 @@ "description": "Shows buttons divided automatically on the header" }, "widgets/jquery.mobile.tizen.triangle": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.triangle.js", "name": "widgets/jquery.mobile.tizen.triangle", "depends": [ @@ -723,7 +725,7 @@ "description": "Shows triangle, used by context popup" }, "widgets/jquery.mobile.tizen.tokentextarea": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.tokentextarea.js", "name": "widgets/jquery.mobile.tizen.tokentextarea", "depends": [ @@ -734,7 +736,7 @@ "description": "Make words to selectable tokens" }, "widgets/collapsible": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/collapsible.js", "name": "widgets/collapsible", "depends": [ @@ -747,7 +749,7 @@ "description": "Creates collapsible content blocks." }, "widgets/page": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/page.js", "name": "widgets/page", "depends": [ @@ -759,7 +761,7 @@ "description": "Basic page definition and formatting." }, "widgets/page.sections": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/page.sections.js", "name": "widgets/page.sections", "depends": [ @@ -772,7 +774,7 @@ "description": "Theming and layout of headers, footers, and content areas" }, "widgets/jquery.mobile.tizen.progressbar": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.progressbar.js", "name": "widgets/jquery.mobile.tizen.progressbar", "depends": [ @@ -783,7 +785,7 @@ "description": "Shows progressbar" }, "widgets/jquery.mobile.tizen.extendablelist": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery.mobile.tizen.extendablelist.js", "name": "widgets/jquery.mobile.tizen.extendablelist", "depends": [ @@ -794,7 +796,7 @@ "description": "Listview which can be extended more and more" }, "jquery.mobile.fieldContain": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.fieldContain.js", "name": "jquery.mobile.fieldContain", "depends": [ @@ -805,7 +807,7 @@ "description": "Styling to responsively position forms and labels based on screen width and add visual separation" }, "jquery.mobile.controlGroup": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.controlGroup.js", "name": "jquery.mobile.controlGroup", "depends": [ @@ -817,7 +819,7 @@ "description": "Visually groups sets of buttons, checks, radios, etc." }, "jquery.mobile": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.js", "name": "jquery.mobile", "depends": [ @@ -857,7 +859,7 @@ "description": "" }, "jquery.mobile.navigation.pushstate": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.navigation.pushstate.js", "name": "jquery.mobile.navigation.pushstate", "depends": [ @@ -870,7 +872,7 @@ "description": "history.pushState support, layered on top of hashchange." }, "jquery.mobile.support.touch": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.support.touch.js", "name": "jquery.mobile.support.touch", "depends": [ @@ -881,16 +883,18 @@ "description": "Touch feature test" }, "jquery.mobile.tizen.loadprototype": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.tizen.loadprototype.js", "name": "jquery.mobile.tizen.loadprototype", - "depends": [], + "depends": [ + "util/ensurens" + ], "label": "Widget prototype loader", "group": "Tizen:Core", "description": "Loads widget's prototype" }, "jquery.mobile.tizen.loader": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.tizen.loader.js", "name": "jquery.mobile.tizen.loader", "depends": [ @@ -901,7 +905,7 @@ "description": "Loader doing theme loading, viewport setting, globalize loading, etc." }, "jquery.mobile.zoom": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.zoom.js", "name": "jquery.mobile.zoom", "depends": [ @@ -913,7 +917,7 @@ "description": "Utility methods for enabling and disabling user scaling (pinch zoom)" }, "jquery.mobile.init": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.init.js", "name": "jquery.mobile.init", "depends": [ @@ -931,7 +935,7 @@ "description": "Global initialization of the library." }, "jquery.tag.inserter": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.tag.inserter.js", "name": "jquery.tag.inserter", "depends": [], @@ -940,7 +944,7 @@ "description": "" }, "jquery.mobile.nojs": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.nojs.js", "name": "jquery.mobile.nojs", "depends": [ @@ -951,7 +955,7 @@ "description": "Adds class to make elements hidden to A grade browsers" }, "jquery.mobile.widget": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.widget.js", "name": "jquery.mobile.widget", "depends": [ @@ -963,7 +967,7 @@ "description": "Widget factory extentions for mobile." }, "jquery.mobile.buttonMarkup": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.buttonMarkup.js", "name": "jquery.mobile.buttonMarkup", "depends": [ @@ -976,7 +980,7 @@ "description": "Applies button styling to links" }, "jquery.mobile.label": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.label.js", "name": "jquery.mobile.label", "depends": [], @@ -985,7 +989,7 @@ "description": "Add markup for labels" }, "jquery.hashchange": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.hashchange.js", "name": "jquery.hashchange", "depends": [], @@ -994,7 +998,7 @@ "description": "" }, "jquery": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.js", "name": "jquery", "depends": [], @@ -1003,7 +1007,7 @@ "description": "" }, "jquery.mobile.grid": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.grid.js", "name": "jquery.mobile.grid", "depends": [ @@ -1014,7 +1018,7 @@ "description": "Applies classes for creating grid or column styling." }, "transitions/pop": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/pop.js", "name": "transitions/pop", "depends": [ @@ -1026,7 +1030,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "transitions/flip": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/flip.js", "name": "transitions/flip", "depends": [ @@ -1038,7 +1042,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "transitions/flow": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/flow.js", "name": "transitions/flow", "depends": [ @@ -1050,7 +1054,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "transitions/slidedown": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/slidedown.js", "name": "transitions/slidedown", "depends": [ @@ -1062,7 +1066,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "transitions/turn": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/turn.js", "name": "transitions/turn", "depends": [ @@ -1074,7 +1078,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "transitions/slideup": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/slideup.js", "name": "transitions/slideup", "depends": [ @@ -1086,7 +1090,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "transitions/slidefade": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/slidefade.js", "name": "transitions/slidefade", "depends": [ @@ -1098,7 +1102,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "transitions/slide": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/slide.js", "name": "transitions/slide", "depends": [ @@ -1110,7 +1114,7 @@ "description": "Animation styles and fallback transitions definition for non-3D supporting browsers" }, "jquery.mobile.degradeInputs": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.degradeInputs.js", "name": "jquery.mobile.degradeInputs", "depends": [ @@ -1122,7 +1126,7 @@ "description": "Changes input type to another after custom enhancements are made (ex. range > numberic)." }, "jquery.mobile.media": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.media.js", "name": "jquery.mobile.media", "depends": [ @@ -1134,7 +1138,7 @@ "description": "A workaround for browsers without window.matchMedia" }, "jquery.mobile.transitions": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.transitions.js", "name": "jquery.mobile.transitions", "depends": [ @@ -1152,7 +1156,7 @@ "description": "All the stock transitions" }, "jquery.mobile.vmouse": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.vmouse.js", "name": "jquery.mobile.vmouse", "depends": [ @@ -1163,7 +1167,7 @@ "description": "Normalizes touch/mouse events." }, "jquery.mobile.core": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.core.js", "name": "jquery.mobile.core", "depends": [ @@ -1175,7 +1179,7 @@ "description": "Base file for jQuery Mobile" }, "jquery.mobile.events": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.events.js", "name": "jquery.mobile.events", "depends": [ @@ -1188,7 +1192,7 @@ "description": "Custom events and shortcuts." }, "jquery.mobile.transition": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.mobile.transition.js", "name": "jquery.mobile.transition", "depends": [ @@ -1200,7 +1204,7 @@ "description": "Animated page change core logic and sequence handlers" }, "jquery.ui.widget": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "jquery.ui.widget.js", "name": "jquery.ui.widget", "depends": [], @@ -1209,7 +1213,7 @@ "description": "" }, "events/jquery": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "events/jquery", "name": "events/jquery", "depends": [], @@ -1218,7 +1222,7 @@ "description": "" }, "depend!../docs/_assets/js/jqm-docs[jquery]": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "depend!../docs/_assets/js/jqm-docs[jquery]", "name": "depend!../docs/_assets/js/jqm-docs[jquery]", "depends": [], @@ -1227,7 +1231,7 @@ "description": "" }, "depend!./jquery.hashchange[jquery]": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "depend!./jquery.hashchange[jquery]", "name": "depend!./jquery.hashchange[jquery]", "depends": [], @@ -1236,7 +1240,7 @@ "description": "" }, "widgets/jquery": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/jquery", "name": "widgets/jquery", "depends": [], @@ -1245,7 +1249,7 @@ "description": "" }, "widgets/depend!../jquery.hashchange[jquery]": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/depend!../jquery.hashchange[jquery]", "name": "widgets/depend!../jquery.hashchange[jquery]", "depends": [], @@ -1254,7 +1258,7 @@ "description": "" }, "widgets/forms/jquery": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "widgets/forms/jquery", "name": "widgets/forms/jquery", "depends": [], @@ -1263,7 +1267,7 @@ "description": "" }, "require": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "require", "name": "require", "depends": [], @@ -1272,7 +1276,7 @@ "description": "" }, "depend!./jquery.ui.widget[jquery]": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "depend!./jquery.ui.widget[jquery]", "name": "depend!./jquery.ui.widget[jquery]", "depends": [], @@ -1281,7 +1285,7 @@ "description": "" }, "transitions/jquery": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "transitions/jquery", "name": "transitions/jquery", "depends": [], @@ -1290,7 +1294,7 @@ "description": "" }, "text!../version.txt": { - "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.release/build/tizen-web-ui-fw/0.2/js/src", + "basedir": "/home/blueisle/playground/web/tizen/web-ui-fw.rsa/build/tizen-web-ui-fw/0.2/js/src", "path": "text!../version.txt", "name": "text!../version.txt", "depends": [], diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.js index d4f3bb3..12c7797 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.js @@ -3665,1667 +3665,1667 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; } }); -/*! - * Sizzle CSS Selector Engine - * Copyright 2012 jQuery Foundation and other contributors - * Released under the MIT license - * http://sizzlejs.com/ - */ -(function( window, undefined ) { - -var cachedruns, - assertGetIdNotName, - Expr, - getText, - isXML, - contains, - compile, - sortOrder, - hasDuplicate, - outermostContext, - - baseHasDuplicate = true, - strundefined = "undefined", - - expando = ( "sizcache" + Math.random() ).replace( ".", "" ), - - Token = String, - document = window.document, - docElem = document.documentElement, - dirruns = 0, - done = 0, - pop = [].pop, - push = [].push, - slice = [].slice, - // Use a stripped-down indexOf if a native one is unavailable - indexOf = [].indexOf || function( elem ) { - var i = 0, - len = this.length; - for ( ; i < len; i++ ) { - if ( this[i] === elem ) { - return i; - } - } - return -1; - }, - - // Augment a function for special use by Sizzle - markFunction = function( fn, value ) { - fn[ expando ] = value == null || value; - return fn; - }, - - createCache = function() { - var cache = {}, - keys = []; - - return markFunction(function( key, value ) { - // Only keep the most recent entries - if ( keys.push( key ) > Expr.cacheLength ) { - delete cache[ keys.shift() ]; - } - - return (cache[ key ] = value); - }, cache ); - }, - - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - - // Regex - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors) - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors - operators = "([*^$|!~]?=)", - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + - "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", - - // Prefer arguments not in parens/brackets, - // then attribute selectors and non-pseudos (denoted by :), - // then anything else - // These preferences are here to reduce the number of selectors - // needing tokenize in the PSEUDO preFilter - pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + attributes + ")|[^:]|\\\\.)*|.*))\\)|)", - - // For matchExpr.POS and matchExpr.needsContext - pos = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), - rpseudo = new RegExp( pseudos ), - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, - - rnot = /^:not/, - rsibling = /[\x20\t\r\n\f]*[+~]/, - rendsWithNot = /:not\($/, - - rheader = /h\d/i, - rinputs = /input|select|textarea|button/i, - - rbackslash = /\\(?!\\)/g, - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "POS": new RegExp( pos, "i" ), - "CHILD": new RegExp( "^:(only|nth|first|last)-child(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - // For use in libraries implementing .is() - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" ) - }, - - // Support - - // Used for testing something on an element - assert = function( fn ) { - var div = document.createElement("div"); - - try { - return fn( div ); - } catch (e) { - return false; - } finally { - // release memory in IE - div = null; - } - }, - - // Check if getElementsByTagName("*") returns only elements - assertTagNameNoComments = assert(function( div ) { - div.appendChild( document.createComment("") ); - return !div.getElementsByTagName("*").length; - }), - - // Check if getAttribute returns normalized href attributes - assertHrefNotNormalized = assert(function( div ) { - div.innerHTML = ""; - return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && - div.firstChild.getAttribute("href") === "#"; - }), - - // Check if attributes should be retrieved by attribute nodes - assertAttributes = assert(function( div ) { - div.innerHTML = ""; - var type = typeof div.lastChild.getAttribute("multiple"); - // IE8 returns a string for some attributes even when not present - return type !== "boolean" && type !== "string"; - }), - - // Check if getElementsByClassName can be trusted - assertUsableClassName = assert(function( div ) { - // Opera can't find a second classname (in 9.6) - div.innerHTML = ""; - if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { - return false; - } - - // Safari 3.2 caches class attributes and doesn't catch changes - div.lastChild.className = "e"; - return div.getElementsByClassName("e").length === 2; - }), - - // Check if getElementById returns elements by name - // Check if getElementsByName privileges form controls or returns elements by ID - assertUsableName = assert(function( div ) { - // Inject content - div.id = expando + 0; - div.innerHTML = "
"; - docElem.insertBefore( div, docElem.firstChild ); - - // Test - var pass = document.getElementsByName && - // buggy browsers will return fewer than the correct 2 - document.getElementsByName( expando ).length === 2 + - // buggy browsers will return more than the correct 0 - document.getElementsByName( expando + 0 ).length; - assertGetIdNotName = !document.getElementById( expando ); - - // Cleanup - docElem.removeChild( div ); - - return pass; - }); - -// If slice is not available, provide a backup -try { - slice.call( docElem.childNodes, 0 )[0].nodeType; -} catch ( e ) { - slice = function( i ) { - var elem, - results = []; - for ( ; (elem = this[i]); i++ ) { - results.push( elem ); - } - return results; - }; -} - -function Sizzle( selector, context, results, seed ) { - results = results || []; - context = context || document; - var match, elem, xml, m, - nodeType = context.nodeType; - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - if ( nodeType !== 1 && nodeType !== 9 ) { - return []; - } - - xml = isXML( context ); - - if ( !xml && !seed ) { - if ( (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) { - push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); - return results; - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed, xml ); -} - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - return Sizzle( expr, null, null, [ elem ] ).length > 0; -}; - -// Returns a function to use in pseudos for input types -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -// Returns a function to use in pseudos for buttons -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -// Returns a function to use in pseudos for positionals -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( nodeType ) { - if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (see #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - } else { - - // If no nodeType, this is expected to be an array - for ( ; (node = elem[i]); i++ ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } - return ret; -}; - -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -// Element contains another -contains = Sizzle.contains = docElem.contains ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) ); - } : - docElem.compareDocumentPosition ? - function( a, b ) { - return b && !!( a.compareDocumentPosition( b ) & 16 ); - } : - function( a, b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - return false; - }; - -Sizzle.attr = function( elem, name ) { - var val, - xml = isXML( elem ); - - if ( !xml ) { - name = name.toLowerCase(); - } - if ( (val = Expr.attrHandle[ name ]) ) { - return val( elem ); - } - if ( xml || assertAttributes ) { - return elem.getAttribute( name ); - } - val = elem.getAttributeNode( name ); - return val ? - typeof elem[ name ] === "boolean" ? - elem[ name ] ? name : null : - val.specified ? val.value : null : - null; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - // IE6/7 return a modified href - attrHandle: assertHrefNotNormalized ? - {} : - { - "href": function( elem ) { - return elem.getAttribute( "href", 2 ); - }, - "type": function( elem ) { - return elem.getAttribute("type"); - } - }, - - find: { - "ID": assertGetIdNotName ? - function( id, context, xml ) { - if ( typeof context.getElementById !== strundefined && !xml ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - } : - function( id, context, xml ) { - if ( typeof context.getElementById !== strundefined && !xml ) { - var m = context.getElementById( id ); - - return m ? - m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? - [m] : - undefined : - []; - } - }, - - "TAG": assertTagNameNoComments ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { - return context.getElementsByTagName( tag ); - } - } : - function( tag, context ) { - var results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - var elem, - tmp = [], - i = 0; - - for ( ; (elem = results[i]); i++ ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }, - - "NAME": assertUsableName && function( tag, context ) { - if ( typeof context.getElementsByName !== strundefined ) { - return context.getElementsByName( name ); - } - }, - - "CLASS": assertUsableClassName && function( className, context, xml ) { - if ( typeof context.getElementsByClassName !== strundefined && !xml ) { - return context.getElementsByClassName( className ); - } - } - }, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( rbackslash, "" ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 3 xn-component of xn+y argument ([+-]?\d*n|) - 4 sign of xn-component - 5 x of xn-component - 6 sign of y-component - 7 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1] === "nth" ) { - // nth-child requires argument - if ( !match[2] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) ); - match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" ); - - // other types prohibit arguments - } else if ( match[2] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var unquoted, excess; - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - if ( match[3] ) { - match[2] = match[3]; - } else if ( (unquoted = match[4]) ) { - // Only check arguments that contain a pseudo - if ( rpseudo.test(unquoted) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - unquoted = unquoted.slice( 0, excess ); - match[0] = match[0].slice( 0, excess ); - } - match[2] = unquoted; - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - "ID": assertGetIdNotName ? - function( id ) { - id = id.replace( rbackslash, "" ); - return function( elem ) { - return elem.getAttribute("id") === id; - }; - } : - function( id ) { - id = id.replace( rbackslash, "" ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); - return node && node.value === id; - }; - }, - - "TAG": function( nodeName ) { - if ( nodeName === "*" ) { - return function() { return true; }; - } - nodeName = nodeName.replace( rbackslash, "" ).toLowerCase(); - - return function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ expando ][ className ]; - if ( !pattern ) { - pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") ); - } - return function( elem ) { - return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); - }; - }, - - "ATTR": function( name, operator, check ) { - return function( elem, context ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.substr( result.length - check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.substr( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, argument, first, last ) { - - if ( type === "nth" ) { - return function( elem ) { - var node, diff, - parent = elem.parentNode; - - if ( first === 1 && last === 0 ) { - return true; - } - - if ( parent ) { - diff = 0; - for ( node = parent.firstChild; node; node = node.nextSibling ) { - if ( node.nodeType === 1 ) { - diff++; - if ( elem === node ) { - break; - } - } - } - } - - // Incorporate the offset (or cast to NaN), then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - }; - } - - return function( elem ) { - var node = elem; - - switch ( type ) { - case "only": - case "first": - while ( (node = node.previousSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - if ( type === "first" ) { - return true; - } - - node = elem; - - /* falls through */ - case "last": - while ( (node = node.nextSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - return true; - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), - // not comment, processing instructions, or others - // Thanks to Diego Perini for the nodeName shortcut - // Greater than "@" means alpha characters (specifically not starting with "#" or "?") - var nodeType; - elem = elem.firstChild; - while ( elem ) { - if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) { - return false; - } - elem = elem.nextSibling; - } - return true; - }, - - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "text": function( elem ) { - var type, attr; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return elem.nodeName.toLowerCase() === "input" && - (type = elem.type) === "text" && - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type ); - }, - - // Input types - "radio": createInputPseudo("radio"), - "checkbox": createInputPseudo("checkbox"), - "file": createInputPseudo("file"), - "password": createInputPseudo("password"), - "image": createInputPseudo("image"), - - "submit": createButtonPseudo("submit"), - "reset": createButtonPseudo("reset"), - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "focus": function( elem ) { - var doc = elem.ownerDocument; - return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href); - }, - - "active": function( elem ) { - return elem === elem.ownerDocument.activeElement; - }, - - // Positional types - "first": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length, argument ) { - for ( var i = 0; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length, argument ) { - for ( var i = 1; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - for ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - for ( var i = argument < 0 ? argument + length : argument; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -function siblingCheck( a, b, ret ) { - if ( a === b ) { - return ret; - } - - var cur = a.nextSibling; - - while ( cur ) { - if ( cur === b ) { - return -1; - } - - cur = cur.nextSibling; - } - - return 1; -} - -sortOrder = docElem.compareDocumentPosition ? - function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - return ( !a.compareDocumentPosition || !b.compareDocumentPosition ? - a.compareDocumentPosition : - a.compareDocumentPosition(b) & 4 - ) ? -1 : 1; - } : - function( a, b ) { - // The nodes are identical, we can exit early - if ( a === b ) { - hasDuplicate = true; - return 0; - - // Fallback to using sourceIndex (in IE) if it's available on both nodes - } else if ( a.sourceIndex && b.sourceIndex ) { - return a.sourceIndex - b.sourceIndex; - } - - var al, bl, - ap = [], - bp = [], - aup = a.parentNode, - bup = b.parentNode, - cur = aup; - - // If the nodes are siblings (or identical) we can do a quick check - if ( aup === bup ) { - return siblingCheck( a, b ); - - // If no parents were found then the nodes are disconnected - } else if ( !aup ) { - return -1; - - } else if ( !bup ) { - return 1; - } - - // Otherwise they're somewhere else in the tree so we need - // to build up a full list of the parentNodes for comparison - while ( cur ) { - ap.unshift( cur ); - cur = cur.parentNode; - } - - cur = bup; - - while ( cur ) { - bp.unshift( cur ); - cur = cur.parentNode; - } - - al = ap.length; - bl = bp.length; - - // Start walking down the tree looking for a discrepancy - for ( var i = 0; i < al && i < bl; i++ ) { - if ( ap[i] !== bp[i] ) { - return siblingCheck( ap[i], bp[i] ); - } - } - - // We ended someplace up the tree so do a sibling check - return i === al ? - siblingCheck( a, bp[i], -1 ) : - siblingCheck( ap[i], b, 1 ); - }; - -// Always assume the presence of duplicates if sort doesn't -// pass them to our comparison function (as in Google Chrome). -[0, 0].sort( sortOrder ); -baseHasDuplicate = !hasDuplicate; - -// Document sorting and removing duplicates -Sizzle.uniqueSort = function( results ) { - var elem, - i = 1; - - hasDuplicate = baseHasDuplicate; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( ; (elem = results[i]); i++ ) { - if ( elem === results[ i - 1 ] ) { - results.splice( i--, 1 ); - } - } - } - - return results; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -function tokenize( selector, parseOnly ) { - var matched, match, tokens, type, soFar, groups, preFilters, - cached = tokenCache[ expando ][ selector ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - soFar = soFar.slice( match[0].length ); - } - groups.push( tokens = [] ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - tokens.push( matched = new Token( match.shift() ) ); - soFar = soFar.slice( matched.length ); - - // Cast descendant combinators to space - matched.type = match[0].replace( rtrim, " " ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - // The last two arguments here are (context, xml) for backCompat - (match = preFilters[ type ]( match, document, true ))) ) { - - tokens.push( matched = new Token( match.shift() ) ); - soFar = soFar.slice( matched.length ); - matched.type = type; - matched.matches = match; - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && combinator.dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( checkNonElements || elem.nodeType === 1 ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( !xml ) { - var cache, - dirkey = dirruns + " " + doneName + " ", - cachedkey = dirkey + cachedruns; - while ( (elem = elem[ dir ]) ) { - if ( checkNonElements || elem.nodeType === 1 ) { - if ( (cache = elem[ expando ]) === cachedkey ) { - return elem.sizset; - } else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) { - if ( elem.sizset ) { - return elem; - } - } else { - elem[ expando ] = cachedkey; - if ( matcher( elem, context, xml ) ) { - elem.sizset = true; - return elem; - } - elem.sizset = false; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( checkNonElements || elem.nodeType === 1 ) { - if ( matcher( elem, context, xml ) ) { - return elem; - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones - if ( seed && postFinder ) { - return; - } - - var i, elem, postFilterIn, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - postFilterIn = condense( matcherOut, postMap ); - postFilter( postFilterIn, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = postFilterIn.length; - while ( i-- ) { - if ( (elem = postFilterIn[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - // Keep seed and results synchronized - if ( seed ) { - // Ignore postFinder because it can't coexist with seed - i = preFilter && matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - seed[ preMap[i] ] = !(results[ preMap[i] ] = elem); - } - } - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - // The concatenated values are (context, xml) for backCompat - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && tokens.slice( 0, i - 1 ).join("").replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && tokens.join("") - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, expandContext ) { - var elem, j, matcher, - setMatched = [], - matchedCount = 0, - i = "0", - unmatched = seed && [], - outermost = expandContext != null, - contextBackup = outermostContext, - // We must always have either seed elements or context - elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), - // Nested matchers should use non-integer dirruns - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E); - - if ( outermost ) { - outermostContext = context !== document && context; - cachedruns = superMatcher.el; - } - - // Add elements passing elementMatchers directly to results - for ( ; (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - for ( j = 0; (matcher = elementMatchers[j]); j++ ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - cachedruns = ++superMatcher.el; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - for ( j = 0; (matcher = setMatchers[j]); j++ ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - superMatcher.el = 0; - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ expando ][ selector ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !group ) { - group = tokenize( selector ); - } - i = group.length; - while ( i-- ) { - cached = matcherFromTokens( group[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - } - return cached; -}; - -function multipleContexts( selector, contexts, results, seed ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results, seed ); - } - return results; -} - -function select( selector, context, results, seed, xml ) { - var i, tokens, token, type, find, - match = tokenize( selector ), - j = match.length; - - if ( !seed ) { - // Try to minimize operations if there is only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - context.nodeType === 9 && !xml && - Expr.relative[ tokens[1].type ] ) { - - context = Expr.find["ID"]( token.matches[0].replace( rbackslash, "" ), context, xml )[0]; - if ( !context ) { - return results; - } - - selector = selector.slice( tokens.shift().length ); - } - - // Fetch a seed set for right-to-left matching - for ( i = matchExpr["POS"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( rbackslash, "" ), - rsibling.test( tokens[0].type ) && context.parentNode || context, - xml - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && tokens.join(""); - if ( !selector ) { - push.apply( results, slice.call( seed, 0 ) ); - return results; - } - - break; - } - } - } - } - } - - // Compile and execute a filtering function - // Provide `match` to avoid retokenization if we modified the selector above - compile( selector, match )( - seed, - context, - xml, - results, - rsibling.test( selector ) - ); - return results; -} - -if ( document.querySelectorAll ) { - (function() { - var disconnectedMatch, - oldSelect = select, - rescape = /'|\\/g, - rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, - - // qSa(:focus) reports false when true (Chrome 21), - // A support test would require too much code (would include document ready) - rbuggyQSA = [":focus"], - - // matchesSelector(:focus) reports false when true (Chrome 21), - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - // A support test would require too much code (would include document ready) - // just skip matchesSelector for :active - rbuggyMatches = [ ":active", ":focus" ], - matches = docElem.matchesSelector || - docElem.mozMatchesSelector || - docElem.webkitMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector; - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explictly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - div.innerHTML = ""; - - // IE8 - Some boolean attributes are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here (do not put tests after this one) - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - }); - - assert(function( div ) { - - // Opera 10-12/IE9 - ^= $= *= and empty values - // Should not select anything - div.innerHTML = "

"; - if ( div.querySelectorAll("[test^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here (do not put tests after this one) - div.innerHTML = ""; - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push(":enabled", ":disabled"); - } - }); - - // rbuggyQSA always contains :focus, so no need for a length check - rbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join("|") ); - - select = function( selector, context, results, seed, xml ) { - // Only use querySelectorAll when not filtering, - // when this is not xml, - // and when no QSA bugs apply - if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - var groups, i, - old = true, - nid = expando, - newContext = context, - newSelector = context.nodeType === 9 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + groups[i].join(""); - } - newContext = rsibling.test( selector ) && context.parentNode || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, slice.call( newContext.querySelectorAll( - newSelector - ), 0 ) ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - - return oldSelect( selector, context, results, seed, xml ); - }; - - if ( matches ) { - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - try { - matches.call( div, "[test!='']:sizzle" ); - rbuggyMatches.push( "!=", pseudos ); - } catch ( e ) {} - }); - - // rbuggyMatches always contains :active and :focus, so no need for a length check - rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") ); - - Sizzle.matchesSelector = function( elem, expr ) { - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - // rbuggyMatches always contains :active, so no need for an existence check - if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) { - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch(e) {} - } - - return Sizzle( expr, null, null, [ elem ] ).length > 0; - }; - } - })(); -} - -// Deprecated -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Back-compat -function setFilters() {} -Expr.filters = setFilters.prototype = Expr.pseudos; -Expr.setFilters = new setFilters(); - +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var cachedruns, + assertGetIdNotName, + Expr, + getText, + isXML, + contains, + compile, + sortOrder, + hasDuplicate, + outermostContext, + + baseHasDuplicate = true, + strundefined = "undefined", + + expando = ( "sizcache" + Math.random() ).replace( ".", "" ), + + Token = String, + document = window.document, + docElem = document.documentElement, + dirruns = 0, + done = 0, + pop = [].pop, + push = [].push, + slice = [].slice, + // Use a stripped-down indexOf if a native one is unavailable + indexOf = [].indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + // Augment a function for special use by Sizzle + markFunction = function( fn, value ) { + fn[ expando ] = value == null || value; + return fn; + }, + + createCache = function() { + var cache = {}, + keys = []; + + return markFunction(function( key, value ) { + // Only keep the most recent entries + if ( keys.push( key ) > Expr.cacheLength ) { + delete cache[ keys.shift() ]; + } + + return (cache[ key ] = value); + }, cache ); + }, + + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // Regex + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors) + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments not in parens/brackets, + // then attribute selectors and non-pseudos (denoted by :), + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + attributes + ")|[^:]|\\\\.)*|.*))\\)|)", + + // For matchExpr.POS and matchExpr.needsContext + pos = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, + + rnot = /^:not/, + rsibling = /[\x20\t\r\n\f]*[+~]/, + rendsWithNot = /:not\($/, + + rheader = /h\d/i, + rinputs = /input|select|textarea|button/i, + + rbackslash = /\\(?!\\)/g, + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "POS": new RegExp( pos, "i" ), + "CHILD": new RegExp( "^:(only|nth|first|last)-child(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" ) + }, + + // Support + + // Used for testing something on an element + assert = function( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } + }, + + // Check if getElementsByTagName("*") returns only elements + assertTagNameNoComments = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }), + + // Check if getAttribute returns normalized href attributes + assertHrefNotNormalized = assert(function( div ) { + div.innerHTML = ""; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }), + + // Check if attributes should be retrieved by attribute nodes + assertAttributes = assert(function( div ) { + div.innerHTML = ""; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }), + + // Check if getElementsByClassName can be trusted + assertUsableClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }), + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + assertUsableName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "
"; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = document.getElementsByName && + // buggy browsers will return fewer than the correct 2 + document.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + document.getElementsByName( expando + 0 ).length; + assertGetIdNotName = !document.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + +// If slice is not available, provide a backup +try { + slice.call( docElem.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + for ( ; (elem = this[i]); i++ ) { + results.push( elem ); + } + return results; + }; +} + +function Sizzle( selector, context, results, seed ) { + results = results || []; + context = context || document; + var match, elem, xml, m, + nodeType = context.nodeType; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( nodeType !== 1 && nodeType !== 9 ) { + return []; + } + + xml = isXML( context ); + + if ( !xml && !seed ) { + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed, xml ); +} + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + return Sizzle( expr, null, null, [ elem ] ).length > 0; +}; + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( nodeType ) { + if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + } else { + + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } + return ret; +}; + +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Element contains another +contains = Sizzle.contains = docElem.contains ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) ); + } : + docElem.compareDocumentPosition ? + function( a, b ) { + return b && !!( a.compareDocumentPosition( b ) & 16 ); + } : + function( a, b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + return false; + }; + +Sizzle.attr = function( elem, name ) { + var val, + xml = isXML( elem ); + + if ( !xml ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( xml || assertAttributes ) { + return elem.getAttribute( name ); + } + val = elem.getAttributeNode( name ); + return val ? + typeof elem[ name ] === "boolean" ? + elem[ name ] ? name : null : + val.specified ? val.value : null : + null; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + // IE6/7 return a modified href + attrHandle: assertHrefNotNormalized ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }, + + find: { + "ID": assertGetIdNotName ? + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + } : + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }, + + "TAG": assertTagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + var elem, + tmp = [], + i = 0; + + for ( ; (elem = results[i]); i++ ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }, + + "NAME": assertUsableName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }, + + "CLASS": assertUsableClassName && function( className, context, xml ) { + if ( typeof context.getElementsByClassName !== strundefined && !xml ) { + return context.getElementsByClassName( className ); + } + } + }, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( rbackslash, "" ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 3 xn-component of xn+y argument ([+-]?\d*n|) + 4 sign of xn-component + 5 x of xn-component + 6 sign of y-component + 7 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1] === "nth" ) { + // nth-child requires argument + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) ); + match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" ); + + // other types prohibit arguments + } else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var unquoted, excess; + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + if ( match[3] ) { + match[2] = match[3]; + } else if ( (unquoted = match[4]) ) { + // Only check arguments that contain a pseudo + if ( rpseudo.test(unquoted) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + unquoted = unquoted.slice( 0, excess ); + match[0] = match[0].slice( 0, excess ); + } + match[2] = unquoted; + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + "ID": assertGetIdNotName ? + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + return elem.getAttribute("id") === id; + }; + } : + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === id; + }; + }, + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + nodeName = nodeName.replace( rbackslash, "" ).toLowerCase(); + + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ expando ][ className ]; + if ( !pattern ) { + pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") ); + } + return function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }; + }, + + "ATTR": function( name, operator, check ) { + return function( elem, context ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.substr( result.length - check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.substr( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, argument, first, last ) { + + if ( type === "nth" ) { + return function( elem ) { + var node, diff, + parent = elem.parentNode; + + if ( first === 1 && last === 0 ) { + return true; + } + + if ( parent ) { + diff = 0; + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + diff++; + if ( elem === node ) { + break; + } + } + } + } + + // Incorporate the offset (or cast to NaN), then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + }; + } + + return function( elem ) { + var node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + /* falls through */ + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + var nodeType; + elem = elem.firstChild; + while ( elem ) { + if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) { + return false; + } + elem = elem.nextSibling; + } + return true; + }, + + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "text": function( elem ) { + var type, attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + (type = elem.type) === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type ); + }, + + // Input types + "radio": createInputPseudo("radio"), + "checkbox": createInputPseudo("checkbox"), + "file": createInputPseudo("file"), + "password": createInputPseudo("password"), + "image": createInputPseudo("image"), + + "submit": createButtonPseudo("submit"), + "reset": createButtonPseudo("reset"), + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "focus": function( elem ) { + var doc = elem.ownerDocument; + return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href); + }, + + "active": function( elem ) { + return elem === elem.ownerDocument.activeElement; + }, + + // Positional types + "first": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 0; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 1; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +function siblingCheck( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; +} + +sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + return ( !a.compareDocumentPosition || !b.compareDocumentPosition ? + a.compareDocumentPosition : + a.compareDocumentPosition(b) & 4 + ) ? -1 : 1; + } : + function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + +// Always assume the presence of duplicates if sort doesn't +// pass them to our comparison function (as in Google Chrome). +[0, 0].sort( sortOrder ); +baseHasDuplicate = !hasDuplicate; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + i = 1; + + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + + return results; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, soFar, groups, preFilters, + cached = tokenCache[ expando ][ selector ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + soFar = soFar.slice( match[0].length ); + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + + // Cast descendant combinators to space + matched.type = match[0].replace( rtrim, " " ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + // The last two arguments here are (context, xml) for backCompat + (match = preFilters[ type ]( match, document, true ))) ) { + + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + matched.type = type; + matched.matches = match; + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && combinator.dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( !xml ) { + var cache, + dirkey = dirruns + " " + doneName + " ", + cachedkey = dirkey + cachedruns; + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( (cache = elem[ expando ]) === cachedkey ) { + return elem.sizset; + } else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) { + if ( elem.sizset ) { + return elem; + } + } else { + elem[ expando ] = cachedkey; + if ( matcher( elem, context, xml ) ) { + elem.sizset = true; + return elem; + } + elem.sizset = false; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( matcher( elem, context, xml ) ) { + return elem; + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones + if ( seed && postFinder ) { + return; + } + + var i, elem, postFilterIn, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + postFilterIn = condense( matcherOut, postMap ); + postFilter( postFilterIn, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = postFilterIn.length; + while ( i-- ) { + if ( (elem = postFilterIn[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + // Keep seed and results synchronized + if ( seed ) { + // Ignore postFinder because it can't coexist with seed + i = preFilter && matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + seed[ preMap[i] ] = !(results[ preMap[i] ] = elem); + } + } + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + // The concatenated values are (context, xml) for backCompat + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && tokens.slice( 0, i - 1 ).join("").replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && tokens.join("") + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Nested matchers should use non-integer dirruns + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = superMatcher.el; + } + + // Add elements passing elementMatchers directly to results + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + for ( j = 0; (matcher = elementMatchers[j]); j++ ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++superMatcher.el; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + for ( j = 0; (matcher = setMatchers[j]); j++ ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + superMatcher.el = 0; + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ expando ][ selector ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results, seed ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results, seed ); + } + return results; +} + +function select( selector, context, results, seed, xml ) { + var i, tokens, token, type, find, + match = tokenize( selector ), + j = match.length; + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !xml && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( rbackslash, "" ), context, xml )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().length ); + } + + // Fetch a seed set for right-to-left matching + for ( i = matchExpr["POS"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( rbackslash, "" ), + rsibling.test( tokens[0].type ) && context.parentNode || context, + xml + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && tokens.join(""); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + xml, + results, + rsibling.test( selector ) + ); + return results; +} + +if ( document.querySelectorAll ) { + (function() { + var disconnectedMatch, + oldSelect = select, + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // qSa(:focus) reports false when true (Chrome 21), + // A support test would require too much code (would include document ready) + rbuggyQSA = [":focus"], + + // matchesSelector(:focus) reports false when true (Chrome 21), + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + // A support test would require too much code (would include document ready) + // just skip matchesSelector for :active + rbuggyMatches = [ ":active", ":focus" ], + matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here (do not put tests after this one) + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE9 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "

"; + if ( div.querySelectorAll("[test^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here (do not put tests after this one) + div.innerHTML = ""; + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push(":enabled", ":disabled"); + } + }); + + // rbuggyQSA always contains :focus, so no need for a length check + rbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join("|") ); + + select = function( selector, context, results, seed, xml ) { + // Only use querySelectorAll when not filtering, + // when this is not xml, + // and when no QSA bugs apply + if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + var groups, i, + old = true, + nid = expando, + newContext = context, + newSelector = context.nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + groups[i].join(""); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + + return oldSelect( selector, context, results, seed, xml ); + }; + + if ( matches ) { + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + try { + matches.call( div, "[test!='']:sizzle" ); + rbuggyMatches.push( "!=", pseudos ); + } catch ( e ) {} + }); + + // rbuggyMatches always contains :active and :focus, so no need for a length check + rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") ); + + Sizzle.matchesSelector = function( elem, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyMatches always contains :active, so no need for an existence check + if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, null, null, [ elem ] ).length > 0; + }; + } + })(); +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Back-compat +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + // Override sizzle attribute retrieval Sizzle.attr = jQuery.attr; jQuery.find = Sizzle; @@ -5335,9 +5335,9 @@ jQuery.unique = Sizzle.uniqueSort; jQuery.text = Sizzle.getText; jQuery.isXMLDoc = Sizzle.isXML; jQuery.contains = Sizzle.contains; - - -})( window ); + + +})( window ); var runtil = /Until$/, rparentsprev = /^(?:parents|prev(?:Until|All))/, isSimple = /^.[^:#\[\.,]*$/, diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.min.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.min.js index f65cf1d..bc3fbc8 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.min.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v1.8.2 jquery.com | jquery.org/license */ +/*! jQuery v1.8.2 jquery.com | jquery.org/license */ (function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,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(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.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,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(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){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/jquery.mobile.tizen.pinch.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/jquery.mobile.tizen.pinch.js index 0213c7b..93a3829 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/jquery.mobile.tizen.pinch.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/jquery.mobile.tizen.pinch.js @@ -1,26 +1,211 @@ /* *************************************************************************** - * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - * + Flora License + + Version 1.0, May, 2012 + + http://floralicense.org/license/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and + all other entities that control, are controlled by, or are + under common control with that entity. For the purposes of + this definition, "control" means (i) the power, direct or indirect, + to cause the direction or management of such entity, + whether by contract or otherwise, or (ii) ownership of fifty percent (50%) + or more of the outstanding shares, or (iii) beneficial ownership of + such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation source, + and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or Object form, + made available under the License, as indicated by a copyright notice + that is included in or attached to the work (an example is provided + in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object form, + that is based on (or derived from) the Work and for which the editorial + revisions, annotations, elaborations, or other modifications represent, + as a whole, an original work of authorship. For the purposes of this License, + Derivative Works shall not include works that remain separable from, + or merely link (or bind by name) to the interfaces of, the Work and + Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including the original + version of the Work and any modifications or additions to that Work or + Derivative Works thereof, that is intentionally submitted to Licensor + for inclusion in the Work by the copyright owner or by an individual or + Legal Entity authorized to submit on behalf of the copyright owner. + For the purposes of this definition, "submitted" means any form of + electronic, verbal, or written communication sent to the Licensor or + its representatives, including but not limited to communication on + electronic mailing lists, source code control systems, and issue + tracking systems that are managed by, or on behalf of, the Licensor + for the purpose of discussing and improving the Work, but excluding + communication that is conspicuously marked or otherwise designated + in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + "Tizen Certified Platform" shall mean a software platform that complies + with the standards set forth in the Compatibility Definition Document + and passes the Compatibility Test Suite as defined from time to time + by the Tizen Technical Steering Group and certified by the Tizen + Association or its designated agent. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work + solely as incorporated into a Tizen Certified Platform, where such + license applies only to those patent claims licensable by such + Contributor that are necessarily infringed by their Contribution(s) + alone or by combination of their Contribution(s) with the Work solely + as incorporated into a Tizen Certified Platform to which such + Contribution(s) was submitted. If You institute patent litigation + against any entity (including a cross-claim or counterclaim + in a lawsuit) alleging that the Work or a Contribution incorporated + within the Work constitutes direct or contributory patent infringement, + then any patent licenses granted to You under this License for that + Work shall terminate as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof pursuant to the copyright license + above, in any medium, with or without modifications, and in Source or + Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable + copy of the attribution notices contained within such NOTICE file, + excluding those notices that do not pertain to any part of + the Derivative Works, in at least one of the following places: + within a NOTICE text file distributed as part of the Derivative Works; + within the Source form or documentation, if provided along with the + Derivative Works; or, within a display generated by the Derivative Works, + if and wherever such third-party notices normally appear. + The contents of the NOTICE file are for informational purposes only + and do not modify the License. + + You may add Your own attribution notices within Derivative Works + that You distribute, alongside or as an addendum to the NOTICE text + from the Work, provided that such additional attribution notices + cannot be construed as modifying the License. You may add Your own + copyright statement to Your modifications and may provide additional or + different license terms and conditions for use, reproduction, or + distribution of Your modifications, or for any such Derivative Works + as a whole, provided Your use, reproduction, and distribution of + the Work otherwise complies with the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Flora License to your work + + To apply the Flora License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Flora License, Version 1.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.tizenopensource.org/license + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + * Author: Minkyu Kang */ diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/util/ensurens.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/util/ensurens.js index 5094b87..b0deffa 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/util/ensurens.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/util/ensurens.js @@ -30,13 +30,23 @@ // Ensure that the given namespace is defined. If not, define it to be an empty object. // This is kinda like the mkdir -p command. -function ensureNS(ns) { - var nsAr = ns.split("."), - nsSoFar = ""; - - for (var Nix in nsAr) { - nsSoFar = nsSoFar + (Nix > 0 ? "." : "") + nsAr[Nix]; - eval (nsSoFar + " = " + nsSoFar + " || {};"); - } -} +var ensureNS = (function () { + var internalCache = {}; + return function ensureNS (ns) { // name just for debugging purposes + var nsArr = ns.split(".").reverse(), + nsSoFar = "", + buffer = "", + leaf = "", + l = nsArr.length; + while(--l >= 0) { + leaf = nsArr[l]; + nsSoFar = nsSoFar + (nsSoFar.length > 0 ? "." : "") + leaf; + if (!internalCache[nsSoFar]) { + internalCache[nsSoFar] = true; + buffer += "!window." + nsSoFar + ' && (window.' + nsSoFar + " = {});\n"; + } + } + buffer.length && (new Function(buffer))(); + }; +})(); diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/imageloader.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/imageloader.js index 71d3990..639a1aa 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/imageloader.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/imageloader.js @@ -1,169 +1,177 @@ - -/* *************************************************************************** - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - * - * Authors: Hyunsook Park - * Wonseop Kim -*/ - -( function ( $, window, document, undefined ) { - var _canvas = document.createElement( 'canvas' ), - _context = _canvas.getContext( '2d' ); - - function fileSystemErrorMessage( e ) { - var FileError = window.FileError, - msg = ''; - switch ( e.code ) { - case FileError.QUOTA_EXCEEDED_ERR: - msg = 'QUOTA_EXCEEDED_ERR'; - break; - case FileError.NOT_FOUND_ERR: - msg = 'NOT_FOUND_ERR'; - break; - case FileError.SECURITY_ERR: - msg = 'SECURITY_ERR'; - break; - case FileError.INVALID_MODIFICATION_ERR: - msg = 'INVALID_MODIFICATION_ERR'; - break; - case FileError.INVALID_STATE_ERR: - msg = 'INVALID_STATE_ERR'; - break; - default: - msg = 'Unknown Error'; - break; - } - return msg; - } - - function getInternalURLFromURL( url ) { - var internalURL = url.replace( /\//gi, "_" ); - return internalURL; - } - - function resize( imagewidth, imageheight, thumbwidth, thumbheight, fit ) { - var w = 0, h = 0, x = 0, y = 0, - widthratio = imagewidth / thumbwidth, - heightratio = imageheight / thumbheight, - maxratio = Math.max( widthratio, heightratio ); - - if ( fit ) { - w = thumbwidth; - h = thumbheight; - } else { - if ( maxratio > 1 ) { - w = imagewidth / maxratio; - h = imageheight / maxratio; - } else { - w = imagewidth; - h = imageheight; - } - x = ( thumbwidth - w ) / 2; - y = ( thumbheight - h ) / 2; - } - - return { w: w, h: h, x: x, y: y }; - } - - function getThumbnail( img, thumbwidth, thumbheight, fit ) { - var dimensions, url; - _canvas.width = thumbwidth; - _canvas.height = thumbheight; - dimensions = resize( img.width, img.height, thumbwidth, thumbheight, fit ); - _context.fillStyle = "#000000"; - _context.fillRect ( 0, 0, thumbwidth, thumbheight ); - _context.drawImage( img, dimensions.x, dimensions.y, dimensions.w, dimensions.h ); - url = _canvas.toDataURL(); - return url; - } - - $.imageloader = { - _grantedBytes: 1024 * 1024, - getThumbnail: function ( url, _callback ) { - var internalURL, canvasDataURI; - function errorHandler( e ) { - var msg = fileSystemErrorMessage( e ); - if ( _callback ) { - _callback( ( msg === "NOT_FOUND_ERR" ) ? msg : null ); - } - } - - internalURL = getInternalURLFromURL( url ); - try { - canvasDataURI = localStorage.getItem( internalURL ); - if ( _callback ) { - _callback( ( canvasDataURI === null ) ? "NOT_FOUND_ERR" : canvasDataURI ); - } - } catch ( e ) { - if ( _callback ) { - _callback( ( e.type === "non_object_property_load" ) ? "NOT_FOUND_ERR" : null ); - } - } - }, - - setThumbnail: function ( url, _callback, thumbWidth, thumbHeight, fit ) { - var image, internalURL, canvasDataURI; - function errorHandler( e ) { - var msg = fileSystemErrorMessage( e ); - if ( _callback ) { - _callback( ( msg === "NOT_FOUND_ERR" ) ? msg : null ); - } - } - - thumbWidth = thumbWidth || 128; - thumbHeight = thumbHeight || 128; - fit = fit || true; - image = new Image(); - image.onload = function () { - internalURL = getInternalURLFromURL( url ); - canvasDataURI = getThumbnail( this, thumbWidth, thumbHeight, fit ); - try { - localStorage.setItem( internalURL, canvasDataURI ); - if ( _callback ) { - _callback( canvasDataURI ); - } - } catch ( e ) { - if ( _callback ) { - _callback( ( e.type === "non_object_property_load" ) ? "NOT_FOUND_ERR" : null ); - } - } - }; - image.src = url; - }, - - removeThumbnail: function ( url ) { - var internalURL; - function errorHandler( e ) { - fileSystemErrorMessage( e ); - } - - internalURL = getInternalURLFromURL( url ); - try { - localStorage.removeItem( internalURL ); - } catch ( e ) { - throw e; - } - } - }; - -} ( jQuery, window, document ) ); - + +/* *************************************************************************** + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * *************************************************************************** + * + * Authors: Hyunsook Park + * Wonseop Kim +*/ + +( function ( $, window, document, undefined ) { + var _canvas, _context; + + function initCanvas() { + if (_context) { + return; + } + _canvas = document.createElement( 'canvas' ); + _context = _canvas.getContext( '2d' ); + } + + function fileSystemErrorMessage( e ) { + var FileError = window.FileError, + msg = ''; + switch ( e.code ) { + case FileError.QUOTA_EXCEEDED_ERR: + msg = 'QUOTA_EXCEEDED_ERR'; + break; + case FileError.NOT_FOUND_ERR: + msg = 'NOT_FOUND_ERR'; + break; + case FileError.SECURITY_ERR: + msg = 'SECURITY_ERR'; + break; + case FileError.INVALID_MODIFICATION_ERR: + msg = 'INVALID_MODIFICATION_ERR'; + break; + case FileError.INVALID_STATE_ERR: + msg = 'INVALID_STATE_ERR'; + break; + default: + msg = 'Unknown Error'; + break; + } + return msg; + } + + function getInternalURLFromURL( url ) { + var internalURL = url.replace( /\//gi, "_" ); + return internalURL; + } + + function resize( imagewidth, imageheight, thumbwidth, thumbheight, fit ) { + var w = 0, h = 0, x = 0, y = 0, + widthratio = imagewidth / thumbwidth, + heightratio = imageheight / thumbheight, + maxratio = Math.max( widthratio, heightratio ); + + if ( fit ) { + w = thumbwidth; + h = thumbheight; + } else { + if ( maxratio > 1 ) { + w = imagewidth / maxratio; + h = imageheight / maxratio; + } else { + w = imagewidth; + h = imageheight; + } + x = ( thumbwidth - w ) / 2; + y = ( thumbheight - h ) / 2; + } + + return { w: w, h: h, x: x, y: y }; + } + + function getThumbnail( img, thumbwidth, thumbheight, fit ) { + var dimensions, url; + initCanvas(); + _canvas.width = thumbwidth; + _canvas.height = thumbheight; + dimensions = resize( img.width, img.height, thumbwidth, thumbheight, fit ); + _context.fillStyle = "#000000"; + _context.fillRect ( 0, 0, thumbwidth, thumbheight ); + _context.drawImage( img, dimensions.x, dimensions.y, dimensions.w, dimensions.h ); + url = _canvas.toDataURL(); + return url; + } + + $.imageloader = { + _grantedBytes: 1024 * 1024, + getThumbnail: function ( url, _callback ) { + var internalURL, canvasDataURI; + function errorHandler( e ) { + var msg = fileSystemErrorMessage( e ); + if ( _callback ) { + _callback( ( msg === "NOT_FOUND_ERR" ) ? msg : null ); + } + } + + internalURL = getInternalURLFromURL( url ); + try { + canvasDataURI = localStorage.getItem( internalURL ); + if ( _callback ) { + _callback( ( canvasDataURI === null ) ? "NOT_FOUND_ERR" : canvasDataURI ); + } + } catch ( e ) { + if ( _callback ) { + _callback( ( e.type === "non_object_property_load" ) ? "NOT_FOUND_ERR" : null ); + } + } + }, + + setThumbnail: function ( url, _callback, thumbWidth, thumbHeight, fit ) { + var image, internalURL, canvasDataURI; + function errorHandler( e ) { + var msg = fileSystemErrorMessage( e ); + if ( _callback ) { + _callback( ( msg === "NOT_FOUND_ERR" ) ? msg : null ); + } + } + + thumbWidth = thumbWidth || 128; + thumbHeight = thumbHeight || 128; + fit = fit || true; + image = new Image(); + image.onload = function () { + internalURL = getInternalURLFromURL( url ); + canvasDataURI = getThumbnail( this, thumbWidth, thumbHeight, fit ); + try { + localStorage.setItem( internalURL, canvasDataURI ); + if ( _callback ) { + _callback( canvasDataURI ); + } + } catch ( e ) { + if ( _callback ) { + _callback( ( e.type === "non_object_property_load" ) ? "NOT_FOUND_ERR" : null ); + } + } + }; + image.src = url; + }, + + removeThumbnail: function ( url ) { + var internalURL; + function errorHandler( e ) { + fileSystemErrorMessage( e ); + } + + internalURL = getInternalURLFromURL( url ); + try { + localStorage.removeItem( internalURL ); + } catch ( e ) { + throw e; + } + } + }; + +} ( jQuery, window, document ) ); + diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/webgl.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/webgl.js index a518155..9944f55 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/webgl.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/components/webgl.js @@ -1,115 +1,115 @@ - -/* *************************************************************************** - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - * - * Authors: Hyunsook Park - * Wonseop Kim -*/ - -( function ( $, undefined ) { - $.webgl = {}; - - $.webgl.shader = { - _vertexShader: null, - _fragmentShader: null, - - deleteShaders: function ( gl ) { - gl.deleteShader( this._vertexShader ); - gl.deleteShader( this._fragmentShader ); - }, - - addShaderProgram : function ( gl, vs, fs, isFile ) { - var shaderProgram, - vertexShaderSource = {}, - fragmentShaderSource = {}; - - if ( isFile ) { - vertexShaderSource = this.loadShaderFile( vs ); - fragmentShaderSource = this.loadShaderFile( fs ); - } else { - vertexShaderSource.source = vs; - fragmentShaderSource.source = fs; - } - - this._vertexShader = this.getShader( gl, gl.VERTEX_SHADER, vertexShaderSource ); - this._fragmentShader = this.getShader( gl, gl.FRAGMENT_SHADER, fragmentShaderSource ); - - shaderProgram = gl.createProgram(); - gl.attachShader( shaderProgram, this._vertexShader); - gl.attachShader( shaderProgram, this._fragmentShader); - gl.linkProgram( shaderProgram ); - - if ( !gl.getProgramParameter( shaderProgram, gl.LINK_STATUS ) ) { - window.alert( "Could not initialize Shaders!" ); - } - return shaderProgram; - }, - - loadShaderFile : function ( path ) { - var cache = null; - $.ajax({ - async : false, - url : path, - success : function ( result ) { - cache = { - source: result - }; - } - }); - return cache; - }, - - getShader: function ( gl, type, script ) { - var shader; - - if ( !gl || !type || !script ) { - return null; - } - - shader = gl.createShader( type ); - - gl.shaderSource( shader, script.source ); - gl.compileShader( shader ); - - if ( !gl.getShaderParameter( shader, gl.COMPILE_STATUS ) ) { - window.alert( gl.getShaderInfoLog( shader ) ); - gl.deleteShader( shader ); - return null; - } - return shader; - } - }; - - $.webgl.buffer = { - attribBufferData: function ( gl, attribArray ) { - var attribBuffer = gl.createBuffer(); - - gl.bindBuffer( gl.ARRAY_BUFFER, attribBuffer ); - gl.bufferData( gl.ARRAY_BUFFER, attribArray, gl.STATIC_DRAW ); - gl.bindBuffer( gl.ARRAY_BUFFER, null ); - - return attribBuffer; - } - }; - -} ( jQuery ) ); - + +/* *************************************************************************** + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * *************************************************************************** + * + * Authors: Hyunsook Park + * Wonseop Kim +*/ + +( function ( $, undefined ) { + $.webgl = {}; + + $.webgl.shader = { + _vertexShader: null, + _fragmentShader: null, + + deleteShaders: function ( gl ) { + gl.deleteShader( this._vertexShader ); + gl.deleteShader( this._fragmentShader ); + }, + + addShaderProgram : function ( gl, vs, fs, isFile ) { + var shaderProgram, + vertexShaderSource = {}, + fragmentShaderSource = {}; + + if ( isFile ) { + vertexShaderSource = this.loadShaderFile( vs ); + fragmentShaderSource = this.loadShaderFile( fs ); + } else { + vertexShaderSource.source = vs; + fragmentShaderSource.source = fs; + } + + this._vertexShader = this.getShader( gl, gl.VERTEX_SHADER, vertexShaderSource ); + this._fragmentShader = this.getShader( gl, gl.FRAGMENT_SHADER, fragmentShaderSource ); + + shaderProgram = gl.createProgram(); + gl.attachShader( shaderProgram, this._vertexShader); + gl.attachShader( shaderProgram, this._fragmentShader); + gl.linkProgram( shaderProgram ); + + if ( !gl.getProgramParameter( shaderProgram, gl.LINK_STATUS ) ) { + window.alert( "Could not initialize Shaders!" ); + } + return shaderProgram; + }, + + loadShaderFile : function ( path ) { + var cache = null; + $.ajax({ + async : false, + url : path, + success : function ( result ) { + cache = { + source: result + }; + } + }); + return cache; + }, + + getShader: function ( gl, type, script ) { + var shader; + + if ( !gl || !type || !script ) { + return null; + } + + shader = gl.createShader( type ); + + gl.shaderSource( shader, script.source ); + gl.compileShader( shader ); + + if ( !gl.getShaderParameter( shader, gl.COMPILE_STATUS ) ) { + window.alert( gl.getShaderInfoLog( shader ) ); + gl.deleteShader( shader ); + return null; + } + return shader; + } + }; + + $.webgl.buffer = { + attribBufferData: function ( gl, attribArray ) { + var attribBuffer = gl.createBuffer(); + + gl.bindBuffer( gl.ARRAY_BUFFER, attribBuffer ); + gl.bufferData( gl.ARRAY_BUFFER, attribArray, gl.STATIC_DRAW ); + gl.bindBuffer( gl.ARRAY_BUFFER, null ); + + return attribBuffer; + } + }; + +} ( jQuery ) ); + diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.datetimepicker.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.datetimepicker.js index 108a60b..77aece2 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.datetimepicker.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.datetimepicker.js @@ -128,6 +128,8 @@ initSelector: "input[type='date'], input[type='datetime'], input[type='time'], :jqmData(role='datetimepicker')" }, + container : null, + _calendar: function () { return window.Globalize.culture().calendars.standard; }, @@ -546,8 +548,30 @@ this.ui.bind('vclick', function ( e ) { obj._showDataSelector( obj, this, e.target ); }); - }, + $.extend( this, { + _globalHandlers: [ + { + src: $( window ), + handler: { + orientationchange: $.proxy( this, "_orientationHandler" ) + } + } + ] + }); + + $.each( this._globalHandlers, function( idx, value ) { + value.src.bind( value.handler ); + }); + }, + _orientationHandler: function() { + var self = this; + if( self._popup_open ) { + self._popup_open = false; + self.container.popupwindow( 'close' ); + } + return false; + }, _populateDataSelector: function ( field, pat ) { var values, numItems, @@ -724,6 +748,7 @@ target.offset().left + ( target.width() / 2 ) + newLeft - window.pageXOffset , target.offset().top + target.height() - window.pageYOffset ); + this.container = $ctx; this._popup_open = true; $div.bind('popupafterclose', function ( e ) { diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.fastscroll.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.fastscroll.js index 459b3f0..37ff99e 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.fastscroll.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.fastscroll.js @@ -95,6 +95,11 @@ _primaryLanguage: null, _secondLanguage: null, + _dividerMap: {}, + _defaultTime: 500, + _defaultDuration: 500, + _timer: null, + _isFadeOut: false, _create: function () { var $el = this.element, @@ -152,6 +157,10 @@ var coords = $.mobile.tizen.targetRelativeCoordsFromEvent( e ), shortcutsListOffset = self.shortcutsList.offset(); + if ( self._isFadeOut === true ) { + return; + } + // If the element is a list item, get coordinates relative to the shortcuts list if ( e.target.tagName.toLowerCase() === "li" ) { coords.x += $( e.target ).offset().left - shortcutsListOffset.left; @@ -176,15 +185,34 @@ l = listItem.offset().left - shortcutsListOffset.left, t = listItem.offset().top - shortcutsListOffset.top, r = l + Math.abs(listItem.outerWidth( true ) ), - b = t + Math.abs(listItem.outerHeight( true ) ); + b = t + Math.abs(listItem.outerHeight( true ) ), + unit, + baseTop, + baseBottom, + omitSet, + i; if ( coords.x >= l && coords.x <= r && coords.y >= t && coords.y <= b ) { - self._hitItem( listItem ); + if ( listItem.text() !== "." ) { + self._hitItem( listItem ); + } else { + omitSet = listItem.data( "omitSet" ); + unit = ( b - t ) / omitSet.length; + for ( i = 0; i < omitSet.length; i++ ) { + baseTop = t + ( i * unit ); + baseBottom = baseTop + unit; + if ( coords.y >= baseTop && coords.y <= baseBottom ) { + self._hitOmitItem( listItem, omitSet.charAt( i ) ); + } + } + } return false; } return true; } ); + self._setTimer( false ); + e.preventDefault(); e.stopPropagation(); } ) @@ -195,6 +223,7 @@ $( ".ui-fastscroll-hover-first-item" ).removeClass( "ui-fastscroll-hover-first-item" ); $( ".ui-fastscroll-hover-up" ).removeClass( "ui-fastscroll-hover-up" ); $( ".ui-fastscroll-hover-down" ).removeClass( "ui-fastscroll-hover-down" ); + self._setTimer( true ); } ); if ( page && !( page.is( ':visible' ) ) ) { @@ -211,27 +240,63 @@ $( window ).unbind( ".fastscroll" ).bind( "resize.fastscroll", function ( e ) { self.refresh(); } ); + + self.scrollview.bind( "scrollstart", function ( e ) { + self._setTimer( false ); + }).bind( "scrollstop", function ( e ) { + self._setTimer( true ); + }); }, - _hitItem: function ( listItem ) { + _hitOmitItem: function ( listItem, text ) { var self = this, - $popup = self.scrollview.find( '.ui-fastscroll-popup' ); + $popup = self.scrollview.find( '.ui-fastscroll-popup' ), + divider = self._dividerMap[ text ]; - if ( typeof listItem.data( 'divider' ) !== "undefined" ) { - self.jumpToDivider( $( listItem.data( 'divider' ) ) ); + if ( typeof divider !== "undefined" ) { + self.jumpToDivider( $( divider ) ); + } + + $popup.text( text ) + .css( { marginLeft: -( $popup.width() / 2 ), + marginTop: -( $popup.height() / 2 ), + padding: $popup.css( "paddingTop" ) } ) + .width( $popup.height() ) + .show(); + + $( listItem ).addClass( "ui-fastscroll-hover" ); + if ( listItem.index() === 0 ) { + $( listItem ).addClass( "ui-fastscroll-hover-first-item" ); + } + if ( listItem.index() > 0 ) { + $( listItem ).siblings().eq( listItem.index() - 1 ).addClass( "ui-fastscroll-hover-up" ); } + $( listItem ).siblings().eq( listItem.index() ).addClass( "ui-fastscroll-hover-down" ); + }, - if ( listItem.text() !== "." ) { - $popup.text( listItem.text() ) - .css( { marginLeft: -( $popup.width() / 2 ), - marginTop: -( $popup.height() / 2 ), - padding: $popup.css( "paddingTop" ) } ) - .width( $popup.height() ) - .show(); + _hitItem: function ( listItem ) { + var self = this, + $popup = self.scrollview.find( '.ui-fastscroll-popup' ), + text = listItem.text(), + divider; + + if ( text === "#" ) { + divider = self._dividerMap.number; } else { - $popup.hide(); + divider = self._dividerMap[ text ]; + } + + if ( typeof divider !== "undefined" ) { + self.jumpToDivider( $( divider ) ); } + $popup.text( text ) + .css( { marginLeft: -( $popup.width() / 2 ), + marginTop: -( $popup.height() / 2 ), + padding: $popup.css( "paddingTop" ) } ) + .width( $popup.height() ) + .show(); + $( listItem ).addClass( "ui-fastscroll-hover" ); if ( listItem.index() === 0 ) { $( listItem ).addClass( "ui-fastscroll-hover-first-item" ); @@ -247,13 +312,17 @@ $popup = self.scrollview.find( '.ui-fastscroll-popup' ); listItem.focusin( function ( e ) { + self.shortcutsList.attr( "aria-hidden", false ); self._hitItem( listItem ); + self._setTimer( false ); }).focusout( function ( e ) { + self.shortcutsList.attr( "aria-hidden", true ); $popup.hide(); $( ".ui-fastscroll-hover" ).removeClass( "ui-fastscroll-hover" ); $( ".ui-fastscroll-hover-first-item" ).removeClass( "ui-fastscroll-hover-first-item" ); $( ".ui-fastscroll-hover-up" ).removeClass( "ui-fastscroll-hover-up" ); $( ".ui-fastscroll-hover-down" ).removeClass( "ui-fastscroll-hover-down" ); + self._setTimer( true ); }); }, @@ -329,11 +398,78 @@ return omitInfo; }, + _createDividerMap: function () { + var self = this, + primaryCharacterSet = self._primaryLanguage ? self._primaryLanguage.replace( /,/g, "" ) : null, + secondCharacterSet = self._secondLanguage ? self._secondLanguage.replace( /,/g, "" ) : null, + numberSet = "0123456789", + dividers = self.element.find( '.ui-li-divider' ), + map = {}, + matchToDivider, + makeCharacterSet, + indexChar, + i; + + matchToDivider = function ( index, divider ) { + if ( $( divider ).text() === indexChar ) { + map[ indexChar ] = divider; + } + }; + + makeCharacterSet = function ( index, divider ) { + primaryCharacterSet += $( divider ).text(); + }; + + if ( primaryCharacterSet === null ) { + primaryCharacterSet = ""; + dividers.each( makeCharacterSet ); + } + + for ( i = 0; i < primaryCharacterSet.length; i++ ) { + indexChar = primaryCharacterSet.charAt( i ); + dividers.each( matchToDivider ); + } + + if ( secondCharacterSet !== null ) { + for ( i = 0; i < secondCharacterSet.length; i++ ) { + indexChar = secondCharacterSet.charAt( i ); + dividers.each( matchToDivider ); + } + } + + dividers.each( function ( index, divider ) { + if ( numberSet.search( $( divider ).text() ) !== -1 ) { + map.number = divider; + return false; + } + }); + + self._dividerMap = map; + }, + + _setTimer: function ( start ) { + var self = this; + + if ( start === true ) { + self._timer = setTimeout( function () { + self._isFadeOut = true; + self.shortcutsContainer.fadeOut( self._defaultDuration, function () { + self._isFadeOut = false; + }); + }, self._defaultTime ); + } else { + if ( self._timer !== null ) { + clearTimeout( self._timer ); + } + self.shortcutsContainer.show(); + } + }, + indexString: function ( indexAlphabet ) { var self = this, characterSet = []; - if ( typeof indexAlphabet === " undefined" ) { + if ( typeof indexAlphabet === "undefined" ) { return self._primaryLanguage + ":" + self._secondLanguage; } @@ -351,7 +487,9 @@ contentHeight = self._contentHeight(), shapItem = $( '
  • ' ), omitIndex = 0, - matchToDivider, + makeCharacterSet, + makeOmitSet, + itemHandler, containerHeight, shortcutsItems, shortcutItem, @@ -373,15 +511,32 @@ size, i; - matchToDivider = function ( index, divider ) { - if ( $( divider ).text() === indexChar ) { - shortcutItem.data( 'divider', divider ) - .bind( 'vclick', function ( e ) { - $( divider ).next().focus(); - } ); + makeCharacterSet = function ( index, divider ) { + primaryCharacterSet += $( divider ).text(); + }; + + makeOmitSet = function ( index, length ) { + var count, + omitSet = ""; + + for ( count = 0; count < length; count++ ) { + omitSet += primaryCharacterSet[ index + count ]; } + + return omitSet; }; + itemHandler = function ( e ) { + var text = $( this ).text(), + matchDivider = self._dividerMap[ text ]; + + if ( typeof matchDivider !== "undefined" ) { + $( matchDivider ).next().focus(); + } + }; + + self._createDividerMap(); + self.shortcutsList.find( 'li' ).remove(); // get all the dividers from the list and turn them into shortcuts @@ -404,63 +559,58 @@ self.shortcutsList.append( shapItem ); self._focusItem( shapItem ); - if ( primaryCharacterSet !== null ) { - padding = parseInt( shapItem.css( "padding" ), 10 ); - minHeight = shapItem.height() + ( padding * 2 ); - maxNumOfItems = parseInt( ( contentHeight / minHeight ) - 1, 10 ); - numOfItems = primaryCharacterSet.length; + if ( primaryCharacterSet === null ) { + primaryCharacterSet = ""; + dividers.each( makeCharacterSet ); + } - maxNumOfItems = secondCharacterSet ? maxNumOfItems - 2 : maxNumOfItems; + padding = parseInt( shapItem.css( "padding" ), 10 ); + minHeight = shapItem.height() + ( padding * 2 ); + maxNumOfItems = parseInt( ( contentHeight / minHeight ) - 1, 10 ); + numOfItems = primaryCharacterSet.length; - if ( maxNumOfItems < 3 ) { - shapItem.remove(); - return; - } + maxNumOfItems = secondCharacterSet ? maxNumOfItems - 2 : maxNumOfItems; - omitInfo = self._omit( numOfItems, maxNumOfItems ); + if ( maxNumOfItems < 3 ) { + shapItem.remove(); + return; + } - for ( i = 0; i < primaryCharacterSet.length; i++ ) { - indexChar = primaryCharacterSet.charAt( i ); - shortcutItem = $( '
  • ' + indexChar + '
  • ' ); + omitInfo = self._omit( numOfItems, maxNumOfItems ); - self._focusItem( shortcutItem ); - dividers.each( matchToDivider ); + for ( i = 0; i < primaryCharacterSet.length; i++ ) { + indexChar = primaryCharacterSet.charAt( i ); + shortcutItem = $( '
  • ' + indexChar + '
  • ' ); - if ( typeof omitInfo !== "undefined" && omitInfo[ omitIndex ] > 1 ) { - shortcutItem = $( '
  • .
  • ' ); - i += omitInfo[ omitIndex ] - 1; - } + self._focusItem( shortcutItem ); - shapItem.before( shortcutItem ); - omitIndex++; + if ( typeof omitInfo !== "undefined" && omitInfo[ omitIndex ] > 1 ) { + shortcutItem = $( '
  • .
  • ' ); + shortcutItem.data( "omitSet", makeOmitSet( i, omitInfo[ omitIndex ] ) ); + i += omitInfo[ omitIndex ] - 1; + } else { + shortcutItem.bind( 'vclick', itemHandler ); } - if ( secondCharacterSet !== null ) { - lastIndex = secondCharacterSet.length - 1; - seconds = []; - - seconds.push( secondCharacterSet.charAt( 0 ) ); - seconds.push( secondCharacterSet.charAt( lastIndex ) ); + shapItem.before( shortcutItem ); + omitIndex++; + } - for ( i = 0; i < seconds.length; i++ ) { - indexChar = seconds[ i ]; - shortcutItem = $( '
  • ' + indexChar + '
  • ' ); + if ( secondCharacterSet !== null ) { + lastIndex = secondCharacterSet.length - 1; + seconds = []; - self._focusItem( shortcutItem ); - dividers.each( matchToDivider ); + seconds.push( secondCharacterSet.charAt( 0 ) ); + seconds.push( secondCharacterSet.charAt( lastIndex ) ); - shapItem.before( shortcutItem ); - } - } - } else { - dividers.each( function ( index, divider ) { - indexChar = $( divider ).text(); + for ( i = 0; i < seconds.length; i++ ) { + indexChar = seconds[ i ]; shortcutItem = $( '
  • ' + indexChar + '
  • ' ); - shortcutItem.data( 'divider', divider ); self._focusItem( shortcutItem ); + shortcutItem.bind( 'vclick', itemHandler ); shapItem.before( shortcutItem ); - } ); + } } containerHeight = self.shortcutsContainer.outerHeight(); @@ -490,6 +640,9 @@ // make the scrollview clip tall enough to show the whole of the shortcutslist minClipHeight = shortcutsTop + self.shortcutsContainer.outerHeight() + 'px'; self.scrollview.css( 'min-height', minClipHeight ); + + self._setTimer( false ); + self._setTimer( true ); } } ); diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.gallery.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.gallery.js index ae841f4..a654532 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.gallery.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.gallery.js @@ -209,6 +209,7 @@ processing = function () { self._resize( index ); self._align( index, obj ); + }, loading = function () { if ( self.images[index] === undefined ) { @@ -240,6 +241,7 @@ } obj.css( "display", "block" ); + obj.css( "visibility", "hidden" ); obj.append( this.images[index] ); loading(); }, @@ -294,7 +296,7 @@ coord_x = _x - this.org_x; - this._moveLeft( this.cur_img , coord_x + 'px'); + this._moveLeft( this.cur_img , coord_x + 'px' ); if ( this.next_img.length ) { this._moveLeft( this.next_img , coord_x + this.window_width + 'px' ); } @@ -448,7 +450,8 @@ }, _setTranslateposition : function ( $ele, value ) { var translate, - cssArray = null; + cssArray = null, + self = this; if ( $.support.cssTransform3d ) { translate = "translate3d(" + value + ", 0px, 0px)"; @@ -464,10 +467,28 @@ $ele.css(cssArray); return $ele; }, - _moveLeft : function ( $ele , value , duration) { + _hidePrevNext : function() { + var self = this; + + if( self.next_img ) { + self.next_img.css( "visibility", "hidden" ); + } + if( self.prev_img ) { + self.prev_img.css( "visibility", "hidden" ); + } + + }, + _hideCur : function() { + var self = this; + if( self.cur_img ) { + self.cur_img.css( "visibility", "hidden" ); + } + }, + _moveLeft : function ( $ele , value , duration ) { var translate, transition = "", - cssArray = null; + cssArray = null, + self = this; if ( $.support.cssTransform3d ) { translate = "translate3d(" + value + ", 0px, 0px)"; @@ -484,6 +505,14 @@ "transform": translate}; if( transition !== "" ) { cssArray["-webkit-transition"] = transition ; + if( value == "0px" ) { + $ele.one( 'webkitTransitionEnd', self._hidePrevNext ); + } else { + $ele.one( 'webkitTransitionEnd', self._hideCur ); + } + } + if( value == "0px" ) { + $ele.css( "visibility", "visible" ); } $ele.css(cssArray); @@ -504,6 +533,7 @@ this._attach( this.index, this.cur_img ); this._attach( this.index + 1, this.next_img ); + this.cur_img.css( 'visibility', 'visible' ); if ( this.prev_img.length ) { this._setTranslateposition( this.prev_img, -this.window_width + 'px'); } diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.slider.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.slider.js index 6a3eb5c..088e3a4 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.slider.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.slider.js @@ -421,8 +421,14 @@ // initialise sliders with our own slider $( document ).bind( "pagecreate create", function ( e ) { var jqmSliderInitSelector = $.data( window, "jqmSliderInitSelector" ); - $( e.target ).find(jqmSliderInitSelector).not('select').tizenslider(); - $( e.target ).find(jqmSliderInitSelector).filter('select').slider(); + $( e.target ).find(jqmSliderInitSelector).each(function () { + var $this = $( this ); + if ( $this.is("select") ) { + $this.slider(); + } else { + $this.tizenslider(); + } + }); }); }( jQuery, this )); diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.tokentextarea.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.tokentextarea.js index 0096e22..3a1c06a 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.tokentextarea.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.tokentextarea.js @@ -302,8 +302,7 @@ $view = self.element, option = self.options, inputbox = $view.find( ".ui-tokentextarea-input" ), - moreBlock = $view.find( ".ui-tokentextarea-link-base" ), - isSeparator = false; + moreBlock = $view.find( ".ui-tokentextarea-link-base" ); // delegate a event to HTMLDivElement(each block). $view.delegate( "div", "click", function ( event ) { @@ -328,7 +327,8 @@ var keyValue = event.keyCode, valueString = $( inputbox ).val(), valueStrings = [], - index; + index, + isSeparator = false; if ( keyValue === 8 ) { if ( valueString.length === 0 ) { @@ -371,7 +371,7 @@ if ( $view.innerWidth() === 0 ) { return ; } - self._modifyInputBoxWidth(); + self.refresh(); $( inputbox ).removeClass( "ui-tokentextarea-input-invisible" ).addClass( "ui-tokentextarea-input-visible" ); }); @@ -750,9 +750,11 @@ refresh : function () { var self = this, - $view = this.element; + viewWidth = this.element.innerWidth(); - self._viewWidth = $view.innerWidth(); + if ( viewWidth && self._viewWidth !== viewWidth ) { + self._viewWidth = viewWidth; + } self._resizeBlocks(); self._modifyInputBoxWidth(); }, diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.virtuallistview.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.virtuallistview.js index 1a80ffa..9df9088 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.virtuallistview.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/jquery.mobile.tizen.virtuallistview.js @@ -242,9 +242,11 @@ $( o.id ).height( t._numItemData * t._line_h ); }, + // Resize each listitem's width _resize: function ( event ) { - var o, + var o, // 'ul' t = this, + li, padding, margin; @@ -253,13 +255,14 @@ } else { o = event; } + li = $( o ).children( o.childSelector ) - t._container_w = $( o.id ).innerWidth(); + t._container_w = $( o ).width(); - padding = parseInt( $( o.id + o.childSelector ).css( "padding-left" ), 10 ) - + parseInt( $( o.id + o.childSelector ).css( "padding-right" ), 10 ); + padding = parseInt( li.css( "padding-left" ), 10 ) + + parseInt( li.css( "padding-right" ), 10 ); - $( o.id + o.childSelector ).each( function (index) { + li.each( function ( index, obj ) { margin = parseInt( $( this ).css( "margin-left" ), 10 ) + parseInt( $( this ).css( "margin-right" ), 10 ); $( this ).css( "width", t._container_w - padding - margin ); @@ -529,8 +532,8 @@ // Bind _scrollmove() at 'scrollstart.virtuallist' event $( document ).bind( "scrollstart.virtuallist scrollstop.vrituallist", t, t._scrollmove ); - // Bind _resize() at 'resize.virtuallist' - $( window ).bind( "resize.virtuallist", t._resize ); + // Bind _resize() + $( window ).on( "throttledresize", $( o.id ), t._resize ); // when ul is a childselector, assume that this is also a swipelist, // and run swipelist constructor @@ -681,7 +684,7 @@ $( document ).unbind( "scrollstop" ); - $( window ).unbind( "resize.virtuallist" ); + $( window ).off( "throttledresize", this._resize ); $( o.id ).empty(); diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/page.sections.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/page.sections.js index 44e3883..31bcfd5 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/page.sections.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/src/widgets/page.sections.js @@ -47,7 +47,7 @@ $.mobile.$document.bind( "pagecreate", function( e ) { if ( role === "header") { // Right,left buttons - $headeranchors = $this.children( "a, button" ); + $headeranchors = $this.children( "a, div.naviframe-button, a.naviframe-button, button" ); leftbtn = $headeranchors.hasClass( "ui-btn-left" ); rightbtn = $headeranchors.hasClass( "ui-btn-right" ); diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js index 3f8a528..cabc9e6 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js @@ -687,7 +687,7 @@ jQuery.extend( jQuery.easing, } })( jQuery ); /* -* jQuery Mobile Framework Git Build: SHA1: 2da2929a17d23b83302498d63c38780321449f44 <> Date: Wed Apr 10 23:44:06 2013 +0900 +* jQuery Mobile Framework Git Build: SHA1: d54e7e91132799352f4353a8a1e960deb631cbfd <> Date: Tue Apr 16 13:45:35 2013 +0900 * http://jquerymobile.com * * Copyright 2012 jQuery Foundation and other contributors @@ -5564,7 +5564,7 @@ $.mobile.$document.bind( "pagecreate", function( e ) { if ( role === "header") { // Right,left buttons - $headeranchors = $this.children( "a, button" ); + $headeranchors = $this.children( "a, div.naviframe-button, a.naviframe-button, button" ); leftbtn = $headeranchors.hasClass( "ui-btn-left" ); rightbtn = $headeranchors.hasClass( "ui-btn-right" ); diff --git a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.min.js b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.min.js index dc70eb0..e1b28c5 100644 --- a/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.min.js +++ b/org.tizen.common.verrari/templates/cli/tizenwebuifw-common-resources/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.min.js @@ -45,7 +45,7 @@ jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeO * http://jquery.org/license */(function(a,b){function m(b,c,d,e){var h={data:e||e===0||e===!1?e:c?c.data:{},_wrap:c?c._wrap:null,tmpl:null,parent:c||null,nodes:[],calls:u,nest:v,wrap:w,html:x,update:y};return b&&a.extend(h,b,{nodes:[],parent:c}),d&&(h.tmpl=d,h._ctnt=h._ctnt||h.tmpl(a,h),h.key=++j,(l.length?g:f)[j]=h),h}function n(b,c,e){var f,g=e?a.map(e,function(a){return typeof a=="string"?b.key?a.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d+'="'+b.key+'" $2'):a:n(a,b,a._ctnt)}):b;return c?g:(g=g.join(""),g.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(b,c,d,e){f=a(d).get(),t(f),c&&(f=o(c).concat(f)),e&&(f=f.concat(o(e)))}),f?f:o(g))}function o(b){var c=document.createElement("div");return c.innerHTML=b,a.makeArray(c.childNodes)}function p(b){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+a.trim(b).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(b,c,d,e,f,g,h){var i=a.tmpl.tag[d],j,k,l;if(!i)throw"Unknown template tag: "+d;return j=i._default||[],g&&!/\w$/.test(f)&&(f+=g,g=""),f?(f=r(f),h=h?","+r(h)+")":g?")":"",k=g?f.indexOf(".")>-1?f+r(g):"("+f+").call($item"+h:f,l=g?k:"(typeof("+f+")==='function'?("+f+").call($item):("+f+"))"):l=k=j.$1||"null",e=r(e),"');"+i[c?"close":"open"].split("$notnull_1").join(f?"typeof("+f+")!=='undefined' && ("+f+")!=null":"true").split("$1a").join(l).split("$1").join(k).split("$2").join(e||j.$2||"")+"__.push('"})+"');}return __;")}function q(b,c){b._wrap=n(b,!0,a.isArray(c)?c:[e.test(c)?c:a(c).html()]).join("")}function r(a){return a?a.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function s(a){var b=document.createElement("div");return b.appendChild(a.cloneNode(!0)),b.innerHTML}function t(b){function p(b){function p(a){a+=c,n=i[a]=i[a]||m(n,f[n.parent.key+c]||n.parent)}var e,h=b,l,n,o;if(o=b.getAttribute(d)){while(h.parentNode&&(h=h.parentNode).nodeType===1&&!(e=h.getAttribute(d)));e!==o&&(h=h.parentNode?h.nodeType===11?0:h.getAttribute(d)||0:0,(n=f[o])||(n=g[o],n=m(n,f[h]||g[h]),n.key=++j,f[j]=n),k&&p(o)),b.removeAttribute(d)}else k&&(n=a.data(b,"tmplItem"))&&(p(n.key),f[n.key]=n,h=a.data(b.parentNode,"tmplItem"),h=h?h.key:0);if(n){l=n;while(l&&l.key!=h)l.nodes.push(b),l=l.parent;delete n._ctnt,delete n._wrap,a.data(b,"tmplItem",n)}}var c="_"+k,e,h,i={},l,n,o;for(l=0,n=b.length;l=0;o--)p(h[o]);p(e)}}function u(a,b,c,d){if(!a)return l.pop();l.push({_:a,tmpl:b,item:this,data:c,options:d})}function v(b,c,d){return a.tmpl(a.template(b),c,d,this)}function w(b,c){var d=b.options||{};return d.wrapped=c,a.tmpl(a.template(b.tmpl),b.data,d,b.item)}function x(b,c){var d=this._wrap;return a.map(a(a.isArray(d)?d.join(""):d).filter(b||"*"),function(a){return c?a.innerText||a.textContent:a.outerHTML||s(a)})}function y(){var b=this.nodes;a.tmpl(null,null,null,this).insertBefore(b[0]),a(b).remove()}var c=a.fn.domManip,d="_tmplitem",e=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,f={},g={},h,i={key:0,data:{}},j=0,k=0,l=[];a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(b,c){a.fn[b]=function(d){var e=[],g=a(d),i,j,l,m,n=this.length===1&&this[0].parentNode;h=f||{};if(n&&n.nodeType===11&&n.childNodes.length===1&&g.length===1)g[c](this[0]),e=this;else{for(j=0,l=g.length;j0?this.clone(!0):this).get(),a(g[j])[c](i),e=e.concat(i);k=0,e=this.pushStack(e,b,g.selector)}return m=h,h=null,a.tmpl.complete(m),e}}),a.fn.extend({tmpl:function(b,c,d){return a.tmpl(this[0],b,c,d)},tmplItem:function(){return a.tmplItem(this[0])},template:function(b){return a.template(b,this[0])},domManip:function(b,d,e,g){if(b[0]&&a.isArray(b[0])){var i=a.makeArray(arguments),j=b[0],l=j.length,m=0,n;while(m").join(">").split('"').join(""").split("'").join("'")}}),a.extend(a.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(a){f={}},afterManip:function(c,d,e){var f=d.nodeType===11?a.makeArray(d.childNodes):d.nodeType===1?[d]:[];e.call(c,d),t(f),k++}})})(jQuery); /* -* jQuery Mobile Framework Git Build: SHA1: 2da2929a17d23b83302498d63c38780321449f44 <> Date: Wed Apr 10 23:44:06 2013 +0900 +* jQuery Mobile Framework Git Build: SHA1: d54e7e91132799352f4353a8a1e960deb631cbfd <> Date: Tue Apr 16 13:45:35 2013 +0900 * http://jquerymobile.com * * Copyright 2012 jQuery Foundation and other contributors @@ -53,9 +53,9 @@ jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeO * http://jquery.org/license * */(function(a,b,c){typeof define=="function"&&define.amd?define(["jquery"],function(d){return c(d,a,b),d.mobile}):c(a.jQuery,a,b)})(this,document,function(a,b,c,d){(function(a,b,d){var e={};a.mobile=a.extend({},{version:"1.2.0",ns:"",subPageUrlKey:"ui-page",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",focusClass:"ui-focus",ajaxEnabled:!0,hashListeningEnabled:!0,linkBindingEnabled:!0,defaultPageTransition:"fade",maxTransitionWidth:!1,minScrollBack:250,touchOverflowEnabled:!1,defaultDialogTransition:"pop",pageLoadErrorMessage:"Error Loading Page",pageLoadErrorMessageTheme:"e",phonegapNavigationEnabled:!1,autoInitializePage:!0,pushStateEnabled:!0,ignoreContentEnabled:!1,orientationChangeEnabled:!0,buttonMarkup:{hoverDelay:200},$window:a(b),$document:a(c),getAttrFixed:function(a,b){var c=a.getAttribute(b);return c==="true"?!0:c==="false"?!1:c===null?d:c},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(c){a.type(c)!=="number"&&(c=a.mobile.defaultHomeScroll),a.event.special.scrollstart.enabled=!1,setTimeout(function(){b.scrollTo(0,c),a.mobile.$document.trigger("silentscroll",{x:0,y:c})},20),setTimeout(function(){a.event.special.scrollstart.enabled=!0},150)},nsNormalizeDict:e,nsNormalize:function(b){if(!b)return;return e[b]||(e[b]=a.camelCase(a.mobile.ns+b))},getInheritedTheme:function(a,b){var c=a[0],d="",e=/ui-(bar|body|overlay)-([a-z])\b/,f,g;while(c){f=c.className||"";if(f&&(g=e.exec(f))&&(d=g[2]))break;c=c.parentNode}return d||b||"a"},closestPageData:function(a){return a.closest(':jqmData(role="page"), :jqmData(role="dialog")').data("page")},enhanceable:function(a){return this.haveParents(a,"enhance")},hijackable:function(a){return this.haveParents(a,"ajax")},haveParents:function(b,c){if(!a.mobile.ignoreContentEnabled)return b;var d=b.length,e=a(),f,g,h;for(var i=0;i").text(a(this).text()).html()},a.fn.jqmEnhanceable=function(){return a.mobile.enhanceable(this)},a.fn.jqmHijackable=function(){return a.mobile.hijackable(this)};var f=a.find,g=/:jqmData\(([^)]*)\)/g;a.find=function(b,c,d,e){return b=b.replace(g,"[data-"+(a.mobile.ns||"")+"$1]"),f.call(this,b,c,d,e)},a.extend(a.find,f),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},a.extend({creatorDict:{},delegateSelfInitWithSingleSelector:function(b,c){if(typeof b!="function")return!1;var d=b.prototype.options.initSelector,e=/:jqmData\(role='[A-z\-]+'\)$/;if(e.test(d)){var f=d.indexOf("'")+1,g=d.lastIndexOf("'"),h=d.substring(f,g);if(!a.creatorDict.hasOwnProperty(h))return a.creatorDict[h]={},a.creatorDict[h].target=b,c===!0&&(a.creatorDict[h].useKeepNative=c),!0}return!1}}),a(c).bind("pagecreate create",function(b){var c="*[data-"+a.mobile.ns+"role]";a(c,b.target).each(function(){dataRoleValue=this.getAttribute("data-role"),matchedObj=a.creatorDict[dataRoleValue],matchedObj&&matchedObj.target.prototype.enhance(this,matchedObj.useKeepNative)})})})(a,this),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var c=0,d;(d=b[c])!=null;c++)try{a(d).triggerHandler("remove")}catch(f){}e(b)},a.widget=function(b,c,d){var e,f,g,h,i=b.split(".")[0];b=b.split(".")[1],e=i+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e]=function(b){return!!a.data(b,e)},a[i]=a[i]||{},f=a[i][b],g=a[i][b]=function(a,b){if(!this._createWidget)return new g(a,b);arguments.length&&this._createWidget(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,e){a.isFunction(e)&&(d[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},d=function(a){return c.prototype[b].apply(this,a)};return function(){var b=this._super,c=this._superApply,f;return this._super=a,this._superApply=d,f=e.apply(this,arguments),this._super=b,this._superApply=c,f}}())}),g.prototype=a.widget.extend(h,{widgetEventPrefix:b},d,{constructor:g,namespace:i,widgetName:b,widgetBaseClass:e,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g)},a.widget.extend=function(c){var e=d.call(arguments,1),f=0,g=e.length,h,i;for(;f",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetName,this),a.data(d,this.widgetFullName,this),this._on({remove:"destroy"}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var e=c,f,g,h;if(arguments.length===0)return a.widget.extend({},this.options);if(typeof c=="string"){e={},f=c.split("."),c=f.shift();if(f.length){g=e[c]=a.widget.extend({},this.options[c]);for(h=0;h"+""+"

    "+"
    ",fakeFixLoader:function(){var b=a("."+a.mobile.activeBtnClass).first();this.element.css({top:a.support.scrollTop&&f.scrollTop()+f.height()/2||b.length&&b.offset().top||100})},checkLoaderPosition:function(){var b=this.element.offset(),c=f.scrollTop(),d=a.mobile.getScreenHeight();if(b.topd)this.element.addClass("ui-loader-fakefix"),this.fakeFixLoader(),f.unbind("scroll",this.checkLoaderPosition).bind("scroll",this.fakeFixLoader)},resetHtml:function(){this.element.html(a(this.defaultHtml).html())},show:function(b,g,h){var i,j,k,l;this.resetHtml(),a.type(b)==="object"?(l=a.extend({},this.options,b),b=l.theme||a.mobile.loadingMessageTheme):(l=this.options,b=b||a.mobile.loadingMessageTheme||l.theme),j=g||a.mobile.loadingMessage||l.text,e.addClass("ui-loading");if(a.mobile.loadingMessage!==!1||l.html)a.mobile.loadingMessageTextVisible!==d?i=a.mobile.loadingMessageTextVisible:i=l.textVisible,this.element.attr("class",c+" ui-corner-all ui-body-"+b+" ui-loader-"+(i||g||b.text?"verbose":"default")+(l.textonly||h?" ui-loader-textonly":"")),l.html?this.element.html(l.html):this.element.find("h1").text(j),this.element.appendTo(a.mobile.pageContainer),this.checkLoaderPosition(),f.bind("scroll",a.proxy(this.checkLoaderPosition,this))},hide:function(){e.removeClass("ui-loading"),a.mobile.loadingMessage&&this.element.removeClass("ui-loader-fakefix"),a.mobile.$window.unbind("scroll",a.proxy(this.fakeFixLoader,this)),a.mobile.$window.unbind("scroll",a.proxy(this.checkLoaderPosition,this))}}),f.bind("pagecontainercreate",function(){a.mobile.loaderWidget=a.mobile.loaderWidget||a(a.mobile.loader.prototype.defaultHtml).loader()})}(a,this),function(a,b,c,d){function x(a){while(a&&typeof a.originalEvent!="undefined")a=a.originalEvent;return a}function y(b,c){var e=b.type,f,g,i,k,l,m,n,o,p;b=a.Event(b),b.type=c,f=b.originalEvent,g=a.event.props,e.search(/^(mouse|click)/)>-1&&(g=j);if(f)for(n=g.length,k;n;)k=g[--n],b[k]=f[k];e.search(/mouse(down|up)|click/)>-1&&!b.which&&(b.which=1);if(e.search(/^touch/)!==-1){i=x(f),e=i.touches,l=i.changedTouches,m=e&&e.length?e[0]:l&&l.length?l[0]:d;if(m)for(o=0,p=h.length;oe||Math.abs(c.pageY-n)>e,o&&!d&&H("vmousecancel",b,f),H("vmousemove",b,f),F()}function M(a){if(r)return;C();var b=z(a.target),c;H("vmouseup",a,b);if(!o){var d=H("vclick",a,b);d&&d.isDefaultPrevented()&&(c=x(a).changedTouches[0],p.push({touchID:v,target:a.target,x:c.clientX,y:c.clientY}),q=!0)}H("vmouseout",a,b),o=!1,F()}function N(b){var c=a.data(b,e),d;if(c)for(d in c)if(c[d])return!0;return!1}function O(){}function P(b){var c=b.substr(1);return{setup:function(d,f){N(this)||a.data(this,e,{});var g=a.data(this,e);g[b]=!0,k[b]=(k[b]||0)+1,k[b]===1&&t.bind(c,I),a(this).bind(c,O),s&&(k.touchstart=(k.touchstart||0)+1,k.touchstart===1&&t.bind("touchstart",J).bind("touchend",M).bind("touchmove",L).bind("scroll",K))},teardown:function(d,f){--k[b],k[b]||t.unbind(c,I),s&&(--k.touchstart,k.touchstart||t.unbind("touchstart",J).unbind("touchmove",L).unbind("touchend",M).unbind("scroll",K));var g=a(this),h=a.data(this,e);h&&(h[b]=!1),g.unbind(c,O),N(this)||g.removeData(e)}}}var e="virtualMouseBindings",f="virtualTouchID",g="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),h="clientX clientY pageX pageY screenX screenY".split(" "),i=a.event.mouseHooks?a.event.mouseHooks.props:[],j=a.event.props.concat(i),k={},l=0,m=0,n=0,o=!1,p=[],q=!1,r=!1,s="addEventListener"in c,t=a.mobile.$document,u=1,v=0,w;a.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500};for(var Q=0;Qa.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}var e=b.originalEvent.touches?b.originalEvent.touches[0]:b,f={time:(new Date).getTime(),coords:[e.pageX,e.pageY],origin:a(b.target)},i;d.bind(h,j).one(g,function(b){d.unbind(h,j),f&&i&&i.time-f.timea.event.special.swipe.horizontalDistanceThreshold&&Math.abs(f.coords[1]-i.coords[1])i.coords[0]?"swipeleft":"swiperight"),f=i=c})})}},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)}}})}(a,this),function(a,c){a.extend(a.support,{orientation:"orientation"in b&&"onorientationchange"in b})}(a),function(a){a.event.special.throttledresize={setup:function(){a(this).bind("resize",c)},teardown:function(){a(this).unbind("resize",c)}};var b=250,c=function(){f=(new Date).getTime(),g=f-d,g>=b?(d=f,a(this).trigger("throttledresize")):(e&&clearTimeout(e),e=setTimeout(c,b-g))},d=0,e,f,g}(a),function(a,b){function o(){var a=g();a!==h&&(h=a,d.trigger(e))}var d=a.mobile.$window,e="orientationchange",f,g,h,i,j,k={0:!0,180:!0};if(a.support.orientation){var l=b.innerWidth||a.mobile.$window.width(),m=b.innerHeight||a.mobile.$window.height(),n=50;i=l>m&&l-m>n,j=k[b.orientation];if(i&&j||!i&&!j)k={"-90":!0,90:!0}}a.event.special.orientationchange=a.extend({},a.event.special.orientationchange,{setup:function(){if(a.support.orientation&&a.event.special.orientationchange.disabled===!1)return!1;h=g(),d.bind("throttledresize",o)},teardown:function(){if(a.support.orientation&&!a.event.special.orientationchange.disabled)return!1;d.unbind("throttledresize",o)},add:function(a){var b=a.handler;a.handler=function(a){return a.orientation=g(),b.apply(this,arguments)}}}),a.event.special.orientationchange.orientation=g=function(){var d=!0,e=c.documentElement;return a.support.orientation?d=k[b.orientation]:d=e&&e.clientWidth/e.clientHeight<1.1,d?"portrait":"landscape"},a.fn[e]=function(a){return a?this.bind(e,a):this.trigger(e)},a.attrFn&&(a.attrFn[e]=!0)}(a,this),function(a,b){var d=a.mobile.$window,e=a("html");a.mobile.media=function(){var b={},d=a("
    "),f=a("").append(d);return function(a){if(!(a in b)){var g=c.createElement("style"),h="@media "+a+" { #jquery-mediatest { position:absolute; } }";g.type="text/css",g.styleSheet?g.styleSheet.cssText=h:g.appendChild(c.createTextNode(h)),e.prepend(f).prepend(g),b[a]=d.css("position")==="absolute",f.add(g).remove()}return b[a]}}()}(a),function(a,d){function e(a){var b=a.charAt(0).toUpperCase()+a.substr(1),c=(a+" "+h.join(b+" ")+b).split(" ");for(var e in c)if(g[c[e]]!==d)return!0}function m(a,b,d){var e=c.createElement("div"),f=function(a){return a.charAt(0).toUpperCase()+a.substr(1)},g=function(a){return"-"+a.charAt(0).toLowerCase()+a.substr(1)+"-"},i=function(c){var d=g(c)+a+": "+b+";",h=f(c),i=h+f(a);e.setAttribute("style",d),!e.style[i]||(k=!0)},j=d?[d]:h,k;for(var l=0;l",{href:b}).appendTo("head"),g=a("").prependTo(f),h=g[0].href,c[0].href=e||location.pathname,d&&d.remove(),h.indexOf(b)===0}function p(){var a=c.createElement("x"),d=c.documentElement,e=b.getComputedStyle,f;return"pointerEvents"in a.style?(a.style.pointerEvents="auto",a.style.pointerEvents="x",d.appendChild(a),f=e&&e(a,"").pointerEvents==="auto",d.removeChild(a),!!f):!1}function q(){var a=c.createElement("div");return typeof a.getBoundingClientRect!="undefined"}var f=a("").prependTo("html"),g=f[0].style,h=["Webkit","Moz","O"],i="palmGetResource"in b,j=b.opera,k=b.operamini&&{}.toString.call(b.operamini)==="[object OperaMini]",l=b.blackberry&&!e("-webkit-transform");a.extend(a.mobile,{browser:{}}),a.mobile.browser.ie=function(){var a=3,b=c.createElement("div"),d=b.all||[];do b.innerHTML="";while(d[0]);return a>4?a:!a}(),a.extend(a.support,{cssTransitions:"WebKitTransitionEvent"in b||m("transition","height 100ms linear")&&!j,pushState:"pushState"in history&&"replaceState"in history,mediaquery:a.mobile.media("only all"),cssPseudoElement:!!e("content"),touchOverflow:!!e("overflowScrolling"),cssTransform3d:n(),boxShadow:!!e("boxShadow")&&!l,scrollTop:("pageXOffset"in b||"scrollTop"in c.documentElement||"scrollTop"in f[0])&&!i&&!k,dynamicBaseTag:o(),cssPointerEvents:p(),boundingRect:q()}),f.remove();var r=function(){var a=b.navigator.userAgent;return a.indexOf("Nokia")>-1&&(a.indexOf("Symbian/3")>-1||a.indexOf("Series60/5")>-1)&&a.indexOf("AppleWebKit")>-1&&a.match(/(BrowserNG|NokiaBrowser)\/7\.[0-3]/)}();a.mobile.gradeA=function(){return(a.support.mediaquery||a.mobile.browser.ie&&a.mobile.browser.ie>=7)&&(a.support.boundingRect||a.fn.jquery.match(/1\.[0-7+]\.[0-9+]?/)!==null)},a.mobile.ajaxBlacklist=b.blackberry&&!b.WebKitPoint||k||r,r&&a(function(){a("head link[rel='stylesheet']").attr("rel","alternate stylesheet").attr("rel","stylesheet")}),a.support.boxShadow||a("html").addClass("ui-mobile-nosupport-boxshadow")}(a),function(a,b){a.widget("mobile.page",a.mobile.widget,{options:{theme:"c",domCache:!1,keepNativeDefault:":jqmData(role='none'), :jqmData(role='nojs')"},_create:function(){var a=this;if(a._trigger("beforecreate")===!1)return!1;a.element.addClass("ui-page ui-body-"+a.options.theme).bind("pagebeforehide",function(){a.removeContainerBackground()}).bind("pagebeforeshow",function(){a.setContainerBackground()})},refresh:function(){a(this.element).children(".ui-content").trigger("updatelayout",["external"])},setToolbar:function(){a(this.element).trigger("pagebeforeshow")},removeContainerBackground:function(){a.mobile.pageContainer.removeClass("ui-overlay-"+a.mobile.getInheritedTheme(this.element.parent()))},setContainerBackground:function(b){this.options.theme&&a.mobile.pageContainer.addClass("ui-overlay-"+(b||this.options.theme))},addBackBtn:function(b){var c=a(".ui-page-active .ui-footer");b=="header"&&(c=a(".ui-page-active .ui-header")),backBtn=a("").buttonMarkup({icon:"header-back-btn",theme:"s"}),c.find(".ui-btn-back").length||backBtn.prependTo(c)},keepNativeSelector:function(){var b=this.options,c=b.keepNative&&a.trim(b.keepNative);return c&&b.keepNative!==b.keepNativeDefault?[b.keepNative,b.keepNativeDefault].join(", "):b.keepNativeDefault}})}(a),function(a,b,d){function k(a){return a=a||location.href,"#"+a.replace(/^[^#]*#?(.*)$/,"$1")}var e="hashchange",f=c,g,h=a.event.special,i=f.documentMode,j="on"+e in b&&(i===d||i>7);a.fn[e]=function(a){return a?this.bind(e,a):this.trigger(e)},a.fn[e].delay=50,h[e]=a.extend(h[e],{setup:function(){if(j)return!1;a(g.start)},teardown:function(){if(j)return!1;a(g.stop)}}),g=function(){function n(){var c=k(),d=m(h);c!==h?(l(h=c,d),a(b).trigger(e)):d!==h&&(location.href=location.href.replace(/#.*/,"")+d),g=setTimeout(n,a.fn[e].delay)}var c={},g,h=k(),i=function(a){return a},l=i,m=i;return c.start=function(){g||n()},c.stop=function(){g&&clearTimeout(g),g=d},a.browser.msie&&!j&&function(){var b,d;c.start=function(){b||(d=a.fn[e].src,d=d&&d+k(),b=a('