From 2e64cb961ec6da05377b13decac93d38680cb0dd Mon Sep 17 00:00:00 2001 From: "ECAILLE Fabrice (externe)" Date: Wed, 3 May 2017 16:46:01 +0200 Subject: [PATCH] Initial commit --- demo/filebrowser-durandal-widget/.bowerrc | 4 + demo/filebrowser-durandal-widget/.gitignore | 2 + .../MIT-LICENCE.txt | 7 + demo/filebrowser-durandal-widget/README.md | 19 + demo/filebrowser-durandal-widget/app/main.js | 44 + .../app/shell.html | 34 + demo/filebrowser-durandal-widget/app/shell.js | 26 + .../app/widgets/filebrowser/newItemModal.html | 31 + .../app/widgets/filebrowser/newItemModal.js | 34 + .../app/widgets/filebrowser/renameModal.html | 18 + .../app/widgets/filebrowser/renameModal.js | 34 + .../app/widgets/filebrowser/view.html | 56 + .../app/widgets/filebrowser/viewmodel.js | 147 ++ demo/filebrowser-durandal-widget/bower.json | 15 + .../data/filesystem.json | 154 ++ demo/filebrowser-durandal-widget/index.html | 45 + .../style/filebrowser.less | 56 + .../style/global.less | 9 + .../style/starterkit.css | 52 + demo/pacman/MIT-LICENCE.txt | 7 + demo/pacman/README.md | 31 + demo/pacman/css/hack/csshover3.htc | 12 + demo/pacman/css/pacman.css | 267 +++ demo/pacman/img/banner.png | Bin 0 -> 4598 bytes demo/pacman/img/font-red.png | Bin 0 -> 5257 bytes demo/pacman/img/font-yellow.png | Bin 0 -> 4292 bytes demo/pacman/img/font.png | Bin 0 -> 4032 bytes demo/pacman/img/sprite.png | Bin 0 -> 10872 bytes demo/pacman/index.html | 44 + demo/pacman/js/pacman-core.js | 1009 +++++++++ demo/pacman/js/pacman-data.js | 13 + demo/pacman/js/pacman-ui.js | 255 +++ demo/pacman/js/scoreboard.js | 54 + demo/pacman/js/utils.js | 55 + demo/pacman/lib/gamequery-0.7.0.js | 1738 ++++++++++++++++ .../gamequery-soundwrapper-soundmanager.js | 80 + demo/pacman/lib/jquery-1.8.3.min.js | 2 + .../pacman/lib/jquery-ui-1.8.23.custom.min.js | 125 ++ demo/pacman/lib/soundmanager2.min.js | 106 + demo/pacman/sound/dies.mp3 | Bin 0 -> 27611 bytes demo/pacman/sound/eatingfruit.mp3 | Bin 0 -> 10057 bytes demo/pacman/sound/eatingghost.mp3 | Bin 0 -> 11728 bytes demo/pacman/sound/opening.mp3 | Bin 0 -> 70217 bytes demo/pacman/sound/siren.mp3 | Bin 0 -> 29283 bytes demo/pacman/sound/wakawaka.mp3 | Bin 0 -> 12538 bytes demo/pacman/swf/soundmanager2.swf | Bin 0 -> 2934 bytes demo/pacman/swf/soundmanager2_debug.swf | Bin 0 -> 3310 bytes demo/pacman/swf/soundmanager2_flash9.swf | Bin 0 -> 8696 bytes .../pacman/swf/soundmanager2_flash9_debug.swf | Bin 0 -> 17093 bytes demo/pyramid/MIT-LICENCE.txt | 7 + demo/pyramid/README.md | 23 + demo/pyramid/css/cards.css | 184 ++ demo/pyramid/images/cards.png | Bin 0 -> 313274 bytes demo/pyramid/index.html | 35 + demo/pyramid/js/cards.js | 59 + demo/pyramid/js/pyramid.js | 185 ++ demo/pyramid/lib/jquery-1.7.1.min.js | 4 + demo/sis/.gitignore | 1 + demo/sis/MIT-LICENCE.txt | 7 + demo/sis/css/countdown.css | 63 + demo/sis/css/scoreboard.css | 64 + demo/sis/css/spaceinvaders.css | 129 ++ demo/sis/images/aliensprite.png | Bin 0 -> 13803 bytes demo/sis/images/background.png | Bin 0 -> 5854 bytes demo/sis/images/background2.png | Bin 0 -> 15885 bytes demo/sis/images/explosion_big.png | Bin 0 -> 369002 bytes demo/sis/images/explosion_small.png | Bin 0 -> 21031 bytes demo/sis/images/farm.png | Bin 0 -> 4592 bytes demo/sis/images/font.png | Bin 0 -> 4032 bytes demo/sis/images/invader.png | Bin 0 -> 2607 bytes demo/sis/images/ufo.png | Bin 0 -> 1887 bytes demo/sis/index.html | 60 + demo/sis/js/animations/aliens.js | 55 + demo/sis/js/animations/animations.js | 11 + demo/sis/js/animations/explosions.js | 127 ++ demo/sis/js/animations/worlds.js | 131 ++ demo/sis/js/countdown.js | 94 + demo/sis/js/lettering.js | 78 + demo/sis/js/models/aliens.js | 91 + demo/sis/js/models/models.js | 234 +++ demo/sis/js/models/waves.js | 183 ++ demo/sis/js/models/weapons.js | 140 ++ demo/sis/js/scoreboard.js | 54 + demo/sis/js/spaceinvaders-core.js | 318 +++ demo/sis/js/spaceinvaders-ui.js | 226 ++ demo/sis/js/tools.js | 83 + demo/sis/lib/gamequery-0.7.1.js | 1849 +++++++++++++++++ demo/sis/lib/jquery-1.7.1.min.js | 4 + demo/sis/lib/jquery-ui-1.8.23.custom.min.js | 125 ++ demo/yahtzee/LICENSE.md | 7 + demo/yahtzee/README.md | 31 + demo/yahtzee/css/yahtzee.css | 65 + demo/yahtzee/images/dices.png | Bin 0 -> 6963 bytes demo/yahtzee/images/red_dices.png | Bin 0 -> 6846 bytes demo/yahtzee/index.html | 394 ++++ demo/yahtzee/js/yahtzee.js | 310 +++ demo/yahtzee/lib/jquery-1.7.1.min.js | 4 + docs/development/cloudbudget.md | 53 + docs/development/cloudbudget_angularjs.md | 35 + .../filebrowser_durandal_widget.md | 33 + docs/development/project_deployer.md | 25 + docs/development/springboot_react_webpack.md | 155 ++ docs/docker/docker_apache_log_generator.md | 34 + docs/docker/docker_gocd.md | 23 + docs/docker/docker_log_centralizer.md | 41 + docs/extra/css/extra.css | 68 + docs/extra/css/sis.css | 26 + docs/extra/js/pacman.js | 12 + docs/extra/js/pyramid.js | 11 + docs/extra/js/sis.js | 23 + docs/extra/js/yahtzee.js | 10 + docs/games/Space_invaders_stories.md | 45 + docs/games/pacman.md | 46 + docs/games/pyramid.md | 34 + docs/games/yahtzee.md | 40 + docs/index.md | 27 + mkdocs.yml | 4 + 117 files changed, 10765 insertions(+) create mode 100644 demo/filebrowser-durandal-widget/.bowerrc create mode 100644 demo/filebrowser-durandal-widget/.gitignore create mode 100644 demo/filebrowser-durandal-widget/MIT-LICENCE.txt create mode 100644 demo/filebrowser-durandal-widget/README.md create mode 100644 demo/filebrowser-durandal-widget/app/main.js create mode 100644 demo/filebrowser-durandal-widget/app/shell.html create mode 100644 demo/filebrowser-durandal-widget/app/shell.js create mode 100644 demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.html create mode 100644 demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.js create mode 100644 demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.html create mode 100644 demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.js create mode 100644 demo/filebrowser-durandal-widget/app/widgets/filebrowser/view.html create mode 100644 demo/filebrowser-durandal-widget/app/widgets/filebrowser/viewmodel.js create mode 100644 demo/filebrowser-durandal-widget/bower.json create mode 100644 demo/filebrowser-durandal-widget/data/filesystem.json create mode 100644 demo/filebrowser-durandal-widget/index.html create mode 100644 demo/filebrowser-durandal-widget/style/filebrowser.less create mode 100644 demo/filebrowser-durandal-widget/style/global.less create mode 100644 demo/filebrowser-durandal-widget/style/starterkit.css create mode 100644 demo/pacman/MIT-LICENCE.txt create mode 100644 demo/pacman/README.md create mode 100644 demo/pacman/css/hack/csshover3.htc create mode 100644 demo/pacman/css/pacman.css create mode 100644 demo/pacman/img/banner.png create mode 100644 demo/pacman/img/font-red.png create mode 100644 demo/pacman/img/font-yellow.png create mode 100644 demo/pacman/img/font.png create mode 100644 demo/pacman/img/sprite.png create mode 100644 demo/pacman/index.html create mode 100644 demo/pacman/js/pacman-core.js create mode 100644 demo/pacman/js/pacman-data.js create mode 100644 demo/pacman/js/pacman-ui.js create mode 100644 demo/pacman/js/scoreboard.js create mode 100644 demo/pacman/js/utils.js create mode 100644 demo/pacman/lib/gamequery-0.7.0.js create mode 100644 demo/pacman/lib/gamequery-soundwrapper-soundmanager.js create mode 100644 demo/pacman/lib/jquery-1.8.3.min.js create mode 100644 demo/pacman/lib/jquery-ui-1.8.23.custom.min.js create mode 100644 demo/pacman/lib/soundmanager2.min.js create mode 100644 demo/pacman/sound/dies.mp3 create mode 100644 demo/pacman/sound/eatingfruit.mp3 create mode 100644 demo/pacman/sound/eatingghost.mp3 create mode 100644 demo/pacman/sound/opening.mp3 create mode 100644 demo/pacman/sound/siren.mp3 create mode 100644 demo/pacman/sound/wakawaka.mp3 create mode 100644 demo/pacman/swf/soundmanager2.swf create mode 100644 demo/pacman/swf/soundmanager2_debug.swf create mode 100644 demo/pacman/swf/soundmanager2_flash9.swf create mode 100644 demo/pacman/swf/soundmanager2_flash9_debug.swf create mode 100644 demo/pyramid/MIT-LICENCE.txt create mode 100644 demo/pyramid/README.md create mode 100644 demo/pyramid/css/cards.css create mode 100644 demo/pyramid/images/cards.png create mode 100644 demo/pyramid/index.html create mode 100644 demo/pyramid/js/cards.js create mode 100644 demo/pyramid/js/pyramid.js create mode 100644 demo/pyramid/lib/jquery-1.7.1.min.js create mode 100644 demo/sis/.gitignore create mode 100644 demo/sis/MIT-LICENCE.txt create mode 100644 demo/sis/css/countdown.css create mode 100644 demo/sis/css/scoreboard.css create mode 100644 demo/sis/css/spaceinvaders.css create mode 100644 demo/sis/images/aliensprite.png create mode 100644 demo/sis/images/background.png create mode 100644 demo/sis/images/background2.png create mode 100644 demo/sis/images/explosion_big.png create mode 100644 demo/sis/images/explosion_small.png create mode 100644 demo/sis/images/farm.png create mode 100644 demo/sis/images/font.png create mode 100644 demo/sis/images/invader.png create mode 100644 demo/sis/images/ufo.png create mode 100644 demo/sis/index.html create mode 100644 demo/sis/js/animations/aliens.js create mode 100644 demo/sis/js/animations/animations.js create mode 100644 demo/sis/js/animations/explosions.js create mode 100644 demo/sis/js/animations/worlds.js create mode 100644 demo/sis/js/countdown.js create mode 100644 demo/sis/js/lettering.js create mode 100644 demo/sis/js/models/aliens.js create mode 100644 demo/sis/js/models/models.js create mode 100644 demo/sis/js/models/waves.js create mode 100644 demo/sis/js/models/weapons.js create mode 100644 demo/sis/js/scoreboard.js create mode 100644 demo/sis/js/spaceinvaders-core.js create mode 100644 demo/sis/js/spaceinvaders-ui.js create mode 100644 demo/sis/js/tools.js create mode 100644 demo/sis/lib/gamequery-0.7.1.js create mode 100644 demo/sis/lib/jquery-1.7.1.min.js create mode 100644 demo/sis/lib/jquery-ui-1.8.23.custom.min.js create mode 100644 demo/yahtzee/LICENSE.md create mode 100644 demo/yahtzee/README.md create mode 100644 demo/yahtzee/css/yahtzee.css create mode 100644 demo/yahtzee/images/dices.png create mode 100644 demo/yahtzee/images/red_dices.png create mode 100644 demo/yahtzee/index.html create mode 100644 demo/yahtzee/js/yahtzee.js create mode 100644 demo/yahtzee/lib/jquery-1.7.1.min.js create mode 100644 docs/development/cloudbudget.md create mode 100644 docs/development/cloudbudget_angularjs.md create mode 100644 docs/development/filebrowser_durandal_widget.md create mode 100644 docs/development/project_deployer.md create mode 100644 docs/development/springboot_react_webpack.md create mode 100644 docs/docker/docker_apache_log_generator.md create mode 100644 docs/docker/docker_gocd.md create mode 100644 docs/docker/docker_log_centralizer.md create mode 100644 docs/extra/css/extra.css create mode 100644 docs/extra/css/sis.css create mode 100644 docs/extra/js/pacman.js create mode 100644 docs/extra/js/pyramid.js create mode 100644 docs/extra/js/sis.js create mode 100644 docs/extra/js/yahtzee.js create mode 100644 docs/games/Space_invaders_stories.md create mode 100644 docs/games/pacman.md create mode 100644 docs/games/pyramid.md create mode 100644 docs/games/yahtzee.md create mode 100644 docs/index.md create mode 100644 mkdocs.yml diff --git a/demo/filebrowser-durandal-widget/.bowerrc b/demo/filebrowser-durandal-widget/.bowerrc new file mode 100644 index 0000000..7905fb7 --- /dev/null +++ b/demo/filebrowser-durandal-widget/.bowerrc @@ -0,0 +1,4 @@ +{ + "directory" : "lib", + "json" : "bower.json" +} \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/.gitignore b/demo/filebrowser-durandal-widget/.gitignore new file mode 100644 index 0000000..078170f --- /dev/null +++ b/demo/filebrowser-durandal-widget/.gitignore @@ -0,0 +1,2 @@ +lib +.codenvy \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/MIT-LICENCE.txt b/demo/filebrowser-durandal-widget/MIT-LICENCE.txt new file mode 100644 index 0000000..df4e3fc --- /dev/null +++ b/demo/filebrowser-durandal-widget/MIT-LICENCE.txt @@ -0,0 +1,7 @@ +Copyright (c) 2015 Fabrice ECAILLE aka Febbweiss + +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. \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/README.md b/demo/filebrowser-durandal-widget/README.md new file mode 100644 index 0000000..cfd3f8c --- /dev/null +++ b/demo/filebrowser-durandal-widget/README.md @@ -0,0 +1,19 @@ +# Durandal Filebrowser widget + +## What's this widget ? + +This [Durandal](http://durandaljs.com/) widget allows to display a folder tree and add some actions to manipulate this items : +* A clic on a file or folder selects it +* A double-clic opens / closes a folder +* A double-clic displays the file content in the editor +* A right-clic opens a context menu with different options : + * Rename the item + * Copy the selected item(s) + * Paste the selected item(s) + * Create an item (in a folder) + * Delete an item (and its components) + + +#Licence + +Source code is under [MIT Licence](http://opensource.org/licenses/mit-license.php) \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/main.js b/demo/filebrowser-durandal-widget/app/main.js new file mode 100644 index 0000000..a358874 --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/main.js @@ -0,0 +1,44 @@ +requirejs.config({ + paths: { + 'text' : '../lib/requirejs-text/text', + 'durandal' : '../lib/durandal/js', + 'plugins' : '../lib/durandal/js/plugins', + 'transitions' : '../lib/durandal/js/transitions', + 'knockout' : '../lib/knockout.js/knockout', + 'knockout.mapping' : '../lib/bower-knockout-mapping/dist/knockout.mapping.min', + 'knockout.validation' : '../lib/knockout-validation/dist/knockout.validation.min', + 'jquery' : '../lib/jquery/jquery.min', + 'perfect.scrollbar' : '../lib/perfect-scrollbar/js/perfect-scrollbar.jquery', + 'highlightjs' : '../lib/highlightjs/highlight.pack' + }, + shim: { + 'knockout.mapping': { + deps: ['knockout'], + exports: 'knockout.mapping' + }, + 'knockout.validation': { + deps: ['knockout'], + exports: 'knockout.validation' + } + } +}); + +define(['durandal/system', 'durandal/app'], function (system, app) { + system.debug(true); + + app.title = 'File browser Durandal Widget'; + + app.configurePlugins({ + router : true, + dialog : true, + widget : { + kinds: [ + 'filebrowser' + ] + } + }); + + app.start().then(function() { + app.setRoot('shell'); + }); +}); diff --git a/demo/filebrowser-durandal-widget/app/shell.html b/demo/filebrowser-durandal-widget/app/shell.html new file mode 100644 index 0000000..82327c5 --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/shell.html @@ -0,0 +1,34 @@ +
+ + +
+
+			
+		
+ Open file to view it. +
+ + +
\ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/shell.js b/demo/filebrowser-durandal-widget/app/shell.js new file mode 100644 index 0000000..7c43e0f --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/shell.js @@ -0,0 +1,26 @@ +define(['durandal/app', 'knockout', 'highlightjs'], function (app, ko) { + var type = ko.observable(), + content = ko.observable(); + + var sub = app.on('filebrowser:open_file').then(function(message) { + type(message.type); + if( message.type === "json" ) { + content(ko.utils.stringifyJson(message.content)); + } else { + content(message.content); + } + hljs.highlightBlock($('#editor')[0]); + }, this); + + + return { + attached: function () { + hljs.configure({ + tabReplace: ' ' + }); + hljs.initHighlighting(); + }, + type: type, + content: content + }; +}); \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.html b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.html new file mode 100644 index 0000000..4ea7936 --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.html @@ -0,0 +1,31 @@ + \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.js b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.js new file mode 100644 index 0000000..47fe31f --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/newItemModal.js @@ -0,0 +1,34 @@ +define(['plugins/dialog', 'knockout', 'knockout.validation'], function (dialog, ko, ko_validation) { + + ko.validation = ko_validation; + + var NewItemModal = function() { + var self = this; + self.input = ko.observable('').extend({ + required: true, + pattern: { + message : 'The name must not contain a \'/\'', + params : '^[^/]+$' + } + }); + self.typeItem = ko.observable('file'); + self.form = ko.validatedObservable( {input: self.input} ); + self.isValid = ko.computed(function() { + return self.form.isValid(); + }); + }; + + NewItemModal.prototype.ok = function() { + dialog.close(this, { name: this.input(), type: this.typeItem()}); + }; + + NewItemModal.prototype.close = function() { + dialog.close(this); + }; + + NewItemModal.show = function(defaultValue){ + return dialog.show(new NewItemModal(defaultValue)); + }; + + return NewItemModal; +}); \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.html b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.html new file mode 100644 index 0000000..35ee67a --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.html @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.js b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.js new file mode 100644 index 0000000..4948874 --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/renameModal.js @@ -0,0 +1,34 @@ +define(['plugins/dialog', 'knockout', , 'knockout.validation'], function (dialog, ko, ko_validation) { + + ko.validation = ko_validation; + + var RenameModal = function(defaultValue) { + var self = this; + self.previousName = defaultValue; + self.input = ko.observable(defaultValue).extend({ + required: true, + pattern: { + message : 'The name must not contain a \'/\'', + params : '^[^/]+$' + } + }); + self.form = ko.validatedObservable( {input: self.input} ); + self.isValid = ko.computed(function() { + return self.form.isValid() && self.input() != self.previousName; + }); + }; + + RenameModal.prototype.ok = function() { + dialog.close(this, this.input()); + }; + + RenameModal.prototype.close = function() { + dialog.close(this); + }; + + RenameModal.show = function(defaultValue){ + return dialog.show(new RenameModal(defaultValue)); + }; + + return RenameModal; +}); \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/widgets/filebrowser/view.html b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/view.html new file mode 100644 index 0000000..5099563 --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/view.html @@ -0,0 +1,56 @@ +
+ + + + + + + + + + + + +
\ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/app/widgets/filebrowser/viewmodel.js b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/viewmodel.js new file mode 100644 index 0000000..8bac7c7 --- /dev/null +++ b/demo/filebrowser-durandal-widget/app/widgets/filebrowser/viewmodel.js @@ -0,0 +1,147 @@ +define(['durandal/app', 'durandal/composition', 'plugins/http', + 'jquery', 'knockout', 'knockout.mapping', + 'perfect.scrollbar', + './renameModal', './newItemModal'], + function(app, composition,http, $, ko, ko_mapping, perfectScrollbar, RenameModal, NewItemModal) { + + ko.mapping = ko_mapping; + + ko.bindingHandlers['let'] = { + 'init': function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) { + // Make a modified binding context, with extra properties, and apply it to descendant elements + var innerContext = bindingContext.extend(valueAccessor()); + ko.applyBindingsToDescendants(innerContext, element); + + return { controlsDescendantBindings: true }; + } + }; + ko.virtualElements.allowedBindings['let'] = true; + + var ctor = function() {}, + selected = ko.observable(), + showContextMenu = ko.observable(), + copied = ko.observable(undefined), + folder = ko.observable(ko.mapping.fromJS({children: []})), + scrollable = $('#filebrowser'); + + ctor.prototype.attached = function() { + showContextMenu(false); + $('#filebrowser').perfectScrollbar(); + }; + + ctor.prototype.activate = function(settings) { + this.settings = settings; + this.selected = selected; + this.folder = folder; + this.showContextMenu = showContextMenu; + this.hasSelectedFolder = ko.computed(function() { + return selected() != undefined && selected().type === 'folder'; + }); + this.hasCopied = ko.computed( function() { + return copied() !== undefined; + }); + }; + + ctor.prototype.open = function(object,event) { + console.log('Opening', object); + if( object.type() === 'folder' ) { + var id = object.uuid(), + checkbox = $('input[type=checkbox][id=' + id + ']'); + + checkbox.prop('checked', !checkbox.prop('checked')); + $('#icon_folder_' + id).toggleClass('fa-folder-o').toggleClass('fa-folder-open-o'); + + $('#filebrowser').perfectScrollbar('update'); + } else { + var type = object.extra(); + http.get(object.path()).then(function(response) { + app.trigger('filebrowser:open_file', { + type: type, + content: response + }); + }); + } + }; + + ctor.prototype.select = function(object, event) { + $('li > span.select').removeClass('select'); + $(event.target).toggleClass('select'); + selected( ko.mapping.fromJS(object) ); + }; + + /** Context Menu **/ + + ctor.prototype.openContextMenu = function(object, event) { + // Position du menu, calculer la pos pour eviter sortie du viewport + var posX = event.pageX, + posY = event.pageY, + windowWidth = $(window).width(), + windowHeight = $(window).height(), + contextMenu = $('#fileBrowserContextMenu'), + menuWidth = contextMenu.width(), + menuHeight = contextMenu.height(); + + posX = Math.min(posX, windowWidth - menuWidth - 15); + posY = Math.min(posY, windowHeight - menuHeight - 10); + + // affichage + contextMenu.css({ + left : posX + 'px', + top : posY + 'px' + }); + + + showContextMenu(true); + }; + + ctor.prototype.openRenamePopup = function(ctor, event) { + RenameModal.show(ctor.selected().name()).then(function(response) { + if( response !== undefined ) { + ctor.selected().name(response); + } + }); + }; + + ctor.prototype.openDeletePopup = function(ctor, event) { + app.showMessage( + 'Are you sure you want to delete this ' + + (ctor.selected().is_folder ? ' folder and all its content' : 'file') + '?', + 'Delete ' + ctor.selected().name(), [ { text: "Yes", value: "yes" }, { text: "No", value: "no" }]).then( function( dialogResult ) { + if( dialogResult === 'yes' ) { + console.log('Deleting', ctor.selected().name()); + } + }); + }; + + ctor.prototype.copy = function(ctor, event) { + console.log('Copied', ctor.selected().name()); + copied( ctor.selected() ); + }; + + ctor.prototype.paste = function(ctor, event) { + if( copied() !== undefined ) { + console.log('Paste', copied().name(), 'into', ctor.selected().name()); + copied( undefined ); + } + }; + + ctor.prototype.newItem = function(ctor, event) { + NewItemModal.show().then(function(response) { + if( response !== undefined ) { + console.log('New item : ' + response.type + ' - ' + response.name ); + } + }); + }; + + $(document).on('click', function() { + showContextMenu(false); + }); + /** End of Context Menu */ + + http.get('/data/filesystem.json').then(function(response) { + folder(ko.mapping.fromJS(response)); + $('#filebrowser').perfectScrollbar('update'); + }); + + return ctor; +}); \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/bower.json b/demo/filebrowser-durandal-widget/bower.json new file mode 100644 index 0000000..3324afc --- /dev/null +++ b/demo/filebrowser-durandal-widget/bower.json @@ -0,0 +1,15 @@ +{ + "name": "filebrowser-durandal-widget", + "version": "0.0.1-SNAPSHOT", + "dependencies" : { + "durandal" : "~2.1.0", + "knockout-validation" : "~2.0.2", + "bower-knockout-mapping" : "~2.5.0", + "perfect-scrollbar" : "~0.6.0", + "bootstrap" : "~3.3.4", + "fontawesome" : "~4.3.0", + "less.js" : "~2.4.0", + "lesshat" : "~3.0.2", + "highlightjs" : "~8.4.0" + } +} \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/data/filesystem.json b/demo/filebrowser-durandal-widget/data/filesystem.json new file mode 100644 index 0000000..d5ba135 --- /dev/null +++ b/demo/filebrowser-durandal-widget/data/filesystem.json @@ -0,0 +1,154 @@ +{ + "uuid":"workspace", + "name":"workspace", + "type":"folder", + "children":[ + { + "uuid":"app", + "name":"app", + "type":"folder", + "children":[ + { + "uuid":"widgets", + "name":"widgets", + "type":"folder", + "children":[ + { + "uuid":"filebrowser", + "name":"filebrowser", + "type":"folder", + "children": [ + { + "name":"newItemModal.html", + "uuid":"newItemModalhtml", + "type":"code", + "extra":"html", + "path": "/app/widgets/filebrowser/newItemModal.html" + }, + { + "name":"newItemModal.js", + "uuid":"newItemModaljs", + "type":"code", + "extra":"javascript", + "path": "/app/widgets/filebrowser/newItemModal.js" + }, + { + "name":"renameModal.html", + "uuid":"renameModalhtml", + "type":"code", + "extra":"html", + "path": "/app/widgets/filebrowser/renameModal.html" + }, + { + "name":"renameModal.js", + "uuid":"renameModaljs", + "type":"code", + "extra":"javascript", + "path": "/app/widgets/filebrowser/renameModal.js" + }, + { + "name":"view.html", + "uuid":"viewhtml", + "type":"code", + "extra":"html", + "path": "/app/widgets/filebrowser/view.html" + }, + { + "name":"viewmodel.js", + "uuid":"viewmodeljs", + "type":"code", + "extra":"javascript", + "path": "/app/widgets/filebrowser/viewmodel.js" + } + ] + } + ] + }, + { + "name":"main.js", + "uuid":"mainjs", + "type":"code", + "extra":"javascript", + "path": "/app/main.js" + }, + { + "name":"shell.html", + "uuid":"shellhtml", + "type":"code", + "extra":"html", + "path": "/app/shell.html" + }, + { + "name":"shell.js", + "uuid":"shelljs", + "type":"code", + "extra":"javascript", + "path": "/app/shell.js" + } + ] + }, + { + "uuid":"data", + "name":"data", + "type":"folder", + "children":[ + { + "name":"filesystem.json", + "uuid":"filesystemjson", + "type":"code", + "extra":"json", + "path": "/data/filesystem.json" + } + ] + }, + { + "uuid": "style", + "name": "style", + "type": "folder", + "children": [ + { + "name": "filebrowser.less", + "uuid": "filebrowserless", + "type": "code", + "extra": "less", + "path": "/style/filebrowser.less" + }, + { + "name": "global.less", + "uuid": "globalless", + "type": "code", + "extra": "less", + "path": "/style/global.less" + }, + { + "name": "starterkit.css", + "uuid": "starterkitcss", + "type": "code", + "extra": "less", + "path": "/style/starterkit.css" + } + ] + }, + { + "uuid": "bowerrc", + "name": ".bowerrc", + "type": "code", + "extra": "json", + "path": "/.bowerrc" + }, + { + "uuid": "bowerjson", + "name": "bower.json", + "type": "code", + "extra": "json", + "path": "/bower.json" + }, + { + "uuid": "indexhtml", + "name": "index.html", + "type": "code", + "extra": "html", + "path": "/index.html" + } + ] +} \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/index.html b/demo/filebrowser-durandal-widget/index.html new file mode 100644 index 0000000..0c37a0e --- /dev/null +++ b/demo/filebrowser-durandal-widget/index.html @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + +
+
+

Filebrowser Durandal widget

+ +
+
+ + + + + + + \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/style/filebrowser.less b/demo/filebrowser-durandal-widget/style/filebrowser.less new file mode 100644 index 0000000..94a704a --- /dev/null +++ b/demo/filebrowser-durandal-widget/style/filebrowser.less @@ -0,0 +1,56 @@ +@import "../lib/lesshat/build/lesshat.less"; + +#filebrowser { + max-height: 500px; + + position: relative; + + overflow: hidden; + white-space: nowrap; +} + +.folder { + + & > label { + cursor: pointer; + } + + & input[type=checkbox] { + opacity: 0; + + & + ul > li { + display: none; + } + + &:checked + ul > li { + display: block; + } + } + +} + +ul { + &.tree-file { + list-style-type: none; + padding-left: 0; + } +}; + +.folder > span, +.file > span { + + .user-select(none); + + &.select { + font-weight: bold; + } +}; + +#fileBrowserContextMenu { + position: fixed; + z-index: 9999; +} + +.validationMessage { + color: red; +} \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/style/global.less b/demo/filebrowser-durandal-widget/style/global.less new file mode 100644 index 0000000..95cf96c --- /dev/null +++ b/demo/filebrowser-durandal-widget/style/global.less @@ -0,0 +1,9 @@ +body { + padding-bottom: 100px; +} + +#editor { + position: relative; + + overflow: hidden; +} \ No newline at end of file diff --git a/demo/filebrowser-durandal-widget/style/starterkit.css b/demo/filebrowser-durandal-widget/style/starterkit.css new file mode 100644 index 0000000..06ee2f3 --- /dev/null +++ b/demo/filebrowser-durandal-widget/style/starterkit.css @@ -0,0 +1,52 @@ +/*! + * Durandal 2.1.0 Copyright (c) 2012 Blue Spire Consulting, Inc. All Rights Reserved. + * Available via the MIT license. + * see: http://durandaljs.com or https://github.com/BlueSpire/Durandal for details + */ + +.splash { + text-align: center; + margin: 10% 0 0 0; +} + +.splash .message { + font-size: 3em; + line-height: 1.5em; + -webkit-text-shadow: rgba(0, 0, 0, 0.5) 0 0 15px; + text-shadow: rgba(0, 0, 0, 0.5) 0 0 15px; + text-transform: uppercase; +} + +.splash .fa-spinner { + text-align: center; + display: inline-block; + font-size: 3em; + margin-top: 50px; +} + +.page-host { + position: absolute; + left: 0; + right: 0; + top: 50px; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; +} + +section { + margin: 0 20px; +} + +.navbar-nav li.loader { + margin: 12px 6px 0 6px; + visibility: hidden; +} + +.navbar-nav li.loader.active { + visibility: visible; +} + +.pictureDetail { + max-width: 425px; +} \ No newline at end of file diff --git a/demo/pacman/MIT-LICENCE.txt b/demo/pacman/MIT-LICENCE.txt new file mode 100644 index 0000000..8668d02 --- /dev/null +++ b/demo/pacman/MIT-LICENCE.txt @@ -0,0 +1,7 @@ +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. diff --git a/demo/pacman/README.md b/demo/pacman/README.md new file mode 100644 index 0000000..4a2d89d --- /dev/null +++ b/demo/pacman/README.md @@ -0,0 +1,31 @@ +gq-pacman is a jQuery implementation of the famous Namco's Pacman. + + +How to : +-------- + +Use your keyboard arrows to move Pacman to eat all energizer to complete the level. +Ghosts become frightened when Pacman eats a big energizer. Eat them !!! + +Beware of ghost who haunt the maze !!! Each one has his own personality : + * Blinky tracks Pacman as his shadow. + * Pinky perfoms ambushes to Pacman. + * Inky is the least predictable. + * Clyde pretends ignorance and is one who lags behind. + +A live demo is avalaible [here](http://www.pavnay.fr/gq-pacman/) + +Credits : +--------- + +* Graphics : Fabrice Ecaille aka Febbweiss +* Code : Fabrice Ecaille aka Febbweiss +* Algorithm : Based on the ["Pacman Dossier"](http://home.comcast.net/~jpittman2/pacman/pacmandossier.html) +* Tools : [gameQuery](http://gamequeryjs.com/) +* Sounds : [Sound FX Center](http://soundfxcenter.com/sound_effect/search.php?sfx=Pacman) + +Licences : +---------- + +Source code is under [MIT Licence](http://opensource.org/licenses/mit-license.php) +Sprite is under [CC BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/legalcode) diff --git a/demo/pacman/css/hack/csshover3.htc b/demo/pacman/css/hack/csshover3.htc new file mode 100644 index 0000000..bf68686 --- /dev/null +++ b/demo/pacman/css/hack/csshover3.htc @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/demo/pacman/css/pacman.css b/demo/pacman/css/pacman.css new file mode 100644 index 0000000..8cd0b12 --- /dev/null +++ b/demo/pacman/css/pacman.css @@ -0,0 +1,267 @@ +#playgroundContainer { + width: 448px; + height: 512px; + background-color: black; + margin-left: auto; + margin-right: auto; +} + +.actor { + width: 32px; + height: 32px; + position: relative; + margin-top: -16px; + margin-left: -16px; +} + +/** TILES **/ + +.tile { + width: 16px; + height: 16px; + float: left; + margin: 0px; + padding: 0px; +} + +.corner1 { + background-image: url('../img/sprite.png'); + background-position: -0px -0px; +} + +.corner2 { + background-image: url('../img/sprite.png'); + background-position: -16px -0px; +} + +.corner3 { + background-image: url('../img/sprite.png'); + background-position: -32px 0px; +} + +.corner4 { + background-image: url('../img/sprite.png'); + background-position: -48px 0px; +} + +.horizontalMidUp { + background-image: url('../img/sprite.png'); + background-position: -96px -0px; +} + +.horizontalMidDown { + background-image: url('../img/sprite.png'); + background-position: -112px -0px; +} + +.verticalMidLeft { + background-image: url('../img/sprite.png'); + background-position: -64px -0px; +} + +.verticalMidRight { + background-image: url('../img/sprite.png'); + background-position: -80px -0px; +} + +.squareCornerTopLeft { + background-image: url('../img/sprite.png'); + background-position: -128px -0px; +} + +.squareCornerTopRight { + background-image: url('../img/sprite.png'); + background-position: -144px -0px; +} + +.squareCornerBottomLeft { + background-image: url('../img/sprite.png'); + background-position: -160px -0px; +} + +.squareCornerBottomRight { + background-image: url('../img/sprite.png'); + background-position: -176px -0px; +} + +.gate { + background-image: url('../img/sprite.png'); + background-position: -192px -0px; +} + +.dot { + background-image: url('../img/sprite.png'); + background-position: -208px -0px; +} + +.bigDot { + background-image: url('../img/sprite.png'); + background-position: -208px -16px; +} + +.ghost { + width: 32px; + height: 32px; + float: left; +} + +.blinky { + background-image: url('../img/sprite.png'); + background-position: -160px -48px; +} +.pinky { + background-image: url('../img/sprite.png'); + background-position: -160px -80px; +} +.inky { + background-image: url('../img/sprite.png'); + background-position: -160px -112px; +} +.clyde { + background-image: url('../img/sprite.png'); + background-position: -160px -144px; +} + +.cherries { + background-image: url('../img/sprite.png'); + background-position: -208px -32px; +} + +.strawberry { + background-image: url('../img/sprite.png'); + background-position: -208px -48px; +} + +.peach { + background-image: url('../img/sprite.png'); + background-position: -208px -64px; +} + +.apple { + background-image: url('../img/sprite.png'); + background-position: -208px -80px; +} + +.grapes { + background-image: url('../img/sprite.png'); + background-position: -208px -96px; +} + +.galaxian { + background-image: url('../img/sprite.png'); + background-position: -208px -112px; +} + +.bell { + background-image: url('../img/sprite.png'); + background-position: -208px -128px; +} + +.key { + background-image: url('../img/sprite.png'); + background-position: -208px -144px; +} + +.description { + padding-left: 40px; + line-height: 3em; + vertical-align: middle; +} +/** HUD **/ + +#message { + position : absolute; + left : 50%; + top : 50%; +} + +#level { + position : relative; + top: -10px; + left: 5px; +} + +#levelNumber { + position : relative; + top: -14px; + float: left; + margin-left: 100px; +} + +#lives { + position: absolute; + top: -1px; + right: 10px; +} + +#scoreMessage { + position: absolute; + right: 0px; +} + +.life { + width: 32px; + height: 32px; + float: left; + background-image: url('../img/sprite.png'); + background-position: 0px -16px; +} + +/** SCOREBOARD**/ + +.clock { + background : transparent url("../img/font.png") no-repeat top left; + height:32px; + width:32px; + float:left; +} + +.clock.red { + background : transparent url("../img/font-red.png") no-repeat top left; +} + +.clock.yellow { + background : transparent url("../img/font-yellow.png") no-repeat top left; +} + +.clock.small { + position: relative; + top: 45%; + height: 16px; + width: 16px; +} + +.n0 { + background-position : 0px 0px; +} +.n1 { + background-position : -32px 0px; +} +.n2 { + background-position : -64px 0px; +} +.n3 { + background-position : -96px 0px; +} +.n4 { + background-position : -128px 0px; +} +.n5 { + background-position : -160px 0px; +} +.n6 { + background-position : -192px 0px; +} +.n7 { + background-position : -224px 0px; +} +.n8 { + background-position : -256px 0px; +} +.n9 { + background-position : -288px 0px; +} + +.hiddenDot { + visibility: hidden; +} diff --git a/demo/pacman/img/banner.png b/demo/pacman/img/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..2cabdb72545c40a7c8f8cc60d710e05fd5550422 GIT binary patch literal 4598 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 literal 0 HcmV?d00001 diff --git a/demo/pacman/img/font-red.png b/demo/pacman/img/font-red.png new file mode 100644 index 0000000000000000000000000000000000000000..65d6f9c1fe017667a6a89ee78c02202fc66f59d1 GIT binary patch literal 5257 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 ViAjvr|FCnzIU5J-sx#jA{tL36j6DDV literal 0 HcmV?d00001 diff --git a/demo/pacman/img/sprite.png b/demo/pacman/img/sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..fe94a65a9fe96818161d89d4cb6a6e47a6301c66 GIT binary patch literal 10872 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 literal 0 HcmV?d00001 diff --git a/demo/pacman/index.html b/demo/pacman/index.html new file mode 100644 index 0000000..165f7f7 --- /dev/null +++ b/demo/pacman/index.html @@ -0,0 +1,44 @@ + + + + + Pacman + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+ + + + diff --git a/demo/pacman/js/pacman-core.js b/demo/pacman/js/pacman-core.js new file mode 100644 index 0000000..3326771 --- /dev/null +++ b/demo/pacman/js/pacman-core.js @@ -0,0 +1,1009 @@ +/* +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. +*/ + +var Game = { + id : null, + type : "offline", + player : 1, + + PACMAN_START_X : 14 * TILE_SIZE, + PACMAN_START_Y : 24 * TILE_SIZE, + + GHOST_STATE_CHASE : 1, + GHOST_STATE_SCATTER : 2, + GHOST_STATE_FRIGHTENED : 3, + GHOST_STATE_IN_JAIL : 4, + GHOST_STATE_EATEN : 5, + GHOST_STATE_FRIGHTENED_BLINK : 6, + + + GHOST_EVENT_CHASE : "ghost_event_chase", + GHOST_EVENT_SCATTER : "ghost_event_scatter", + GHOST_EVENT_DOT_EATEN : "ghost_event_dot_eaten", + + DOT_POINTS : 10, + BIG_DOT_POINTS : 50, + totalDots : 0, + + dots : {}, + timer : null, + frightTimer : null, + bonusTimer : null, + level : -1, + levelData : null, + step : 0, + score : 0, + eatenDots : 0, + lives : 3, + running : false, + mode : 2, // Game.GHOST_STATE_SCATTER + frightMode : false, + eaten: 0, + + pacman : null, + miss : null, + hero : null, + blinky : null, + pinky : null, + inky : null, + clyde : null, + ghosts : new Array(), + actors : {}, + heroes : new Array(), + maze : MAZE, + + init : function() { + + GUI.updateMessage("READY"); + + $(".dot.hiddenDot").each( function(incr, elt) { + Game.dots[elt.id] = "dot"; + }); + $(".dot.hiddenDot").removeClass("hiddenDot"); + + $(".bigDot.hiddenDot").each( function(incr, elt) { + Game.dots[elt.id] = "bigDot"; + }); + $(".bigDot.hiddenDot").removeClass("hiddenDot") + + Game.totalDots = $(".dot").length + $(".bigDot").length; + + SCOREBOARD.init(); + SCOREBOARD.set_score( Game.score ); + + Game.level++; + Game.step = 0; + Game.eatenDots = 0; + + GUI.updateLevelNumber( Game.level + 1 ); + + Game.build(LEVELS[Math.min(Game.level, LEVELS.length)]); + }, + + build : function(data) { + Game.levelData = data; + Game.addPacman(); + Game.addGhosts(); + Sound.play("opening"); + setTimeout("Game.start();", 4500); + }, + + start : function() { + //if( $.browser.webkit ) + $(document).keydown( function( event ) { + if( event.which > 36 && event.which < 41 ) + return false; + } ); + // $(document).keypress(scrollPreventFct ); + + GUI.updateMessage(""); + Game.timer = new PausableTimer(Game.timerManager, Game.levelData.mode[Game.step] * 1000); + Game.running = true; + }, + + levelComplete : function() { + Game.running = false; + Game.timer.stop(); + Game.timer = null; + + setTimeout("Game.init();", 3000); + }, + + eat : function(type) { + Game.eatenDots++; + if( type === "bigDot" ) { + Game.score += Game.BIG_DOT_POINTS; +// console.log( "Eating big dot " + Game.score ); + SCOREBOARD.add( Game.BIG_DOT_POINTS ); + } else { + Game.score += Game.DOT_POINTS; +// console.log( "Eating dot " + Game.score ); + SCOREBOARD.add( Game.DOT_POINTS ); + } + + if( Game.eatenDots == 70 || Game.eatenDots == 170 ) { + Game.bonusTimer = setTimeout("Game.hideBonus();", ( 9 + Math.random() ) * 1000 ); + $("#" + Game.maze.bonus_target).addClass( Game.levelData.bonus.type); + } + + if( Game.eatenDots === Game.totalDots ) + Game.levelComplete(); + }, + + eatGhost : function(ghost) { + Sound.play("ghost"); + Game.eaten++; + var points = Game.eaten * 200; + Game.score += points; +// console.log(new Date() + " Eating " + ghost.id + " " + (Game.eaten * 200) + " "+ Game.score ); + SCOREBOARD.add( points ); + }, + + hideBonus : function() { + $("#" + Game.maze.bonus_target).removeClass( Game.levelData.bonus.type); + Game.bonusTimer = null; + }, + + die : function() { + Game.running = false; + $.each( Game.actors, function(index, actor) { + actor.speed = 0; + }) + Game.pacman.die(); + Game.timer.stop(); + Game.step = 0; + Game.timer = null; + $("#life" + Game.lives).effect( "pulsate", {times:3, mode:"hide"}, 500 ); + Game.lives--; + if( Game.lives > 0 ) + setTimeout( "Game.startAfterDie();", 3000); + else { + GUI.drawText( $("#message"), "GAME OVER", true ); + Game.show_game_over(); + } + }, + + show_game_over: function() { + }, + + startAfterDie : function() { + var dotsCounters = new Array(); + $.each(Game.ghosts, function(index, ghost ) { + dotsCounters[index] = ghost.dotsCounter; + }); + + Game.addGhosts(); + Game.addPacman(); + //Game.addMissPacman(); + + $.each(Game.ghosts, function(index, ghost ) { + ghost.dotsCounter = dotsCounters[index]; + if( ghost.dotsCounter >= ghost.dotsLimits[Math.min(Game.level, ghost.dotsLimits.length - 1)] ) { + ghost.speed = ghost.initialSpeed; + ghost.state_to(Game.GHOST_STATE_SCATTER); + } + }); + + Game.running = true; + Game.step = 0; + Game.timer = new PausableTimer(Game.timerManager, Game.levelData.mode[Game.step] * 1000); + }, + + timerManager : function() { + Game.step++; + if( Game.step % 2 == 1 ) { + $(".actor").trigger(Game.GHOST_EVENT_CHASE); + Game.mode = Game.GHOST_STATE_CHASE; + } else { + $(".actor").trigger(Game.GHOST_EVENT_SCATTER); + Game.mode = Game.GHOST_STATE_SCATTER; + } + if( Game.step < Game.levelData.mode.length - 1 && Game.levelData.mode[Game.step] != INFINITY ) + Game.timer = new PausableTimer(Game.timerManager, Game.levelData.mode[Game.step] * 1000); + }, + + addPacman : function() { + if( $("#pacman").length == 0) { + Game.pacman = new Pacman(); + $("#actors").addSprite("pacman", {animation: Game.pacman.animations["right"], posx:Game.pacman.x, posy: Game.pacman.y, width: ACTOR_SIZE, height: ACTOR_SIZE}); + Game.pacman.node = $("#pacman"); + Game.pacman.node.addClass( "actor" ); + Game.actors[ "pacman" ] = Game.pacman; + Game.heroes[ "pacman" ] = Game.pacman; + + Game.hero = Game.pacman; + } + Game.pacman.init(); + Game.pacman.speed = Game.levelData.pacman.speed; + Game.pacman.left(); + }, + + addMissPacman : function() { + if( $("#miss_pacman").length == 0) { + Game.miss = new Pacman(); + Game.miss.animations["right"] = new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 3, offsety: 272, delta: ACTOR_SIZE, rate: 120, type: $.gameQuery.ANIMATION_HORIZONTAL }); + Game.miss.animations["up"] = new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 3, offsetx: 96, offsety: 272, delta: ACTOR_SIZE, rate: 120, type: $.gameQuery.ANIMATION_HORIZONTAL }); + + $("#actors").addSprite("miss_pacman", {animation: Game.miss.animations["right"], posx:Game.miss.x, posy: Game.miss.y, width: ACTOR_SIZE, height: ACTOR_SIZE}); + Game.miss.node = $("#miss_pacman"); + Game.miss.node.addClass( "actor" ); + Game.actors[ "miss_pacman" ] = Game.miss; + Game.heroes[ "miss_pacman" ] = Game.miss; + } + Game.miss.init(); + Game.miss.x = Game.MISS_PACMAN_START_X; + Game.miss.y = Game.MISS_PACMAN_START_Y; + Game.miss.speed = Game.levelData.pacman.speed; + Game.miss.right(true); + Game.miss.left(true); + Game.miss.node.x(Game.miss.x); + Game.miss.node.y(Game.miss.y); + Game.miss.right(); + }, + + addGhosts : function() { + Game.addBlinky(); + Game.addPinky(); + Game.addInky(); + Game.addClyde(); + }, + + addBlinky : function() { + if( $("#blinky").length == 0 ) { + Game.blinky = new Ghost("blinky", 0, {x: 14 * TILE_SIZE, y: 14 * TILE_SIZE}, {x: 25, y: 0 }, function() { + var prey = Game.actors[ "blinky" ].prey; + return {x: prey.getTileX(), y: prey.getTileY()}; + }, [0,0,0], Game.GHOST_STATE_SCATTER); + Game.blinky.center(); + $("#actors").addSprite("blinky", {animation: Game.blinky.animations["right"], posx:Game.blinky.x, posy: Game.blinky.y, width: ACTOR_SIZE, height: ACTOR_SIZE}); + Game.blinky.node = $("#blinky"); + Game.blinky.node.addClass( "actor" ); + Game.actors[ "blinky" ] = Game.blinky; + Game.blinky.loadBindings(); + + Game.blinky.originalTarget = Game.blinky.target; + Game.blinky.target = function() { + var remainingDots = Game.totalDots - Game.eatenDots; + var elroySpecs = Game.levelData.ghost; + if( ( Game.blinky.state == Game.GHOST_STATE_SCATTER || Game.blinky.state == Game.GHOST_STATE_CHASE ) && remainingDots <= elroySpecs.elroy1Dots ) { + if( remainingDots <= elroySpecs.elroy2Dots ) { + Game.blinky.speed = elroySpecs.elroy2Speed; + } + else { + Game.blinky.speed = elroySpecs.elroy1Speed; + } + + return Game.blinky.personnalTarget(); + } + return Game.blinky.originalTarget(); + }; + + Game.ghosts.push( Game.blinky ); + } else { + Game.blinky.init(); + } + Game.blinky.state = Game.GHOST_STATE_SCATTER; + Game.blinky.left(); + Game.blinky.initialSpeed = Game.levelData.ghost.speed; + Game.blinky.speed = Game.blinky.initialSpeed; + }, + + addPinky : function() { + if( $("#pinky").length == 0 ) { + Game.pinky = new Ghost("pinky", 1, {x: 14 * TILE_SIZE, y: 16 * TILE_SIZE}, {x: 2, y: 0 }, function() { + var prey = Game.actors[ "pinky" ].prey; + var direction = this.prey.direction; + if( direction % 2 == 0 ) + return {x: prey.getTileX() + (direction == LEFT ? -4 : 4), y: prey.getTileY()}; + else + return {x: prey.getTileX(), y: prey.getTileY() + (direction == UP ? -4 : 4) }; + }, [0,0,0], Game.GHOST_STATE_IN_JAIL); + Game.pinky.center(); + $("#actors").addSprite("pinky", {animation: Game.pinky.animations["right"], posx: Game.pinky.x, posy: Game.pinky.y, width: ACTOR_SIZE, height: ACTOR_SIZE}); + Game.pinky.node = $("#pinky"); + Game.pinky.node.addClass( "actor" ); + Game.actors[ "pinky" ] = Game.pinky; + Game.pinky.loadBindings(); + + Game.ghosts.push( Game.pinky ); + } else { + Game.pinky.init(); + } + Game.pinky.initialSpeed = Game.levelData.ghost.speed; + Game.pinky.left(); + }, + + addInky : function() { + if( $("#inky").length == 0 ) { + Game.inky = new Ghost("inky", 2, {x: 12 * TILE_SIZE, y: 16 * TILE_SIZE}, {x: 27, y: 34 }, function() { + var prey = Game.actors[ "inky" ].prey; + var direction = prey.direction; + if( direction % 2 == 0 ) + direction = {x: prey.getTileX() + (direction == LEFT ? -2 : 2) - Game.blinky.getTileX(), y: prey.getTileY() - Game.blinky.getTileY()}; + else + direction = {x: prey.getTileX() - Game.blinky.getTileX(), y: prey.getTileY() + (direction == UP ? -2 : 2) - Game.blinky.getTileY()}; + return {x: direction.x * 2, y: direction.y * 2}; + }, [30,0,0], Game.GHOST_STATE_IN_JAIL); + Game.inky.center(); + $("#actors").addSprite("inky", {animation: Game.inky.animations["right"], posx:Game.inky.x, posy: Game.inky.y, width: ACTOR_SIZE, height: ACTOR_SIZE}); + Game.inky.node = $("#inky"); + Game.inky.node.addClass( "actor" ); + Game.actors[ "inky" ] = Game.inky; + Game.inky.loadBindings(); + + Game.ghosts.push( Game.inky ); + } else { + Game.inky.init(); + } + Game.inky.initialSpeed = Game.levelData.ghost.speed; + Game.inky.right(); + }, + + addClyde : function() { + if( $("#clyde").length == 0 ) { + Game.clyde = new Ghost("clyde", 3, {x: 16 * TILE_SIZE, y: 16 * TILE_SIZE}, {x: 0, y: 34 }, function() { + var prey = Game.actors[ "clyde" ].prey; + return distance( {x: this.getTileX(), y: this.getTileY()} , {x: prey.getTileX(), y: prey.getTileY()}) < 8 ? + this.scatterTarget : {x: prey.getTileX(), y: prey.getTileY()}; + }, [60,50,0], Game.GHOST_STATE_IN_JAIL); + Game.clyde.center(); + $("#actors").addSprite("clyde", {animation: Game.clyde.animations["right"], posx:Game.clyde.x, posy: Game.clyde.y, width: ACTOR_SIZE, height: ACTOR_SIZE}); + Game.clyde.node = $("#clyde"); + Game.clyde.node.addClass( "actor" ); + Game.actors[ "clyde" ] = Game.clyde; + Game.clyde.loadBindings(); + + Game.ghosts.push( Game.clyde ); + } else { + Game.clyde.init(); + } + Game.clyde.initialSpeed = Game.levelData.ghost.speed; + Game.clyde.left(); + }, + + moveGhosts : function() { + $.each(Game.ghosts, function(index, ghost ) { + ghost.move(); + }); + }, + + nearEndFright : function() { + $.each(Game.ghosts, function(index, ghost ) { + if( ghost.state != Game.GHOST_STATE_IN_JAIL && ghost.state != Game.GHOST_STATE_EATEN ) + ghost.state_to(Game.GHOST_STATE_FRIGHTENED_BLINK); + }); + + setTimeout( 'Game.endFright();', 160 * 4 * Game.levelData.frightFlashesCount); + }, + + endFright : function() { + if( Game.timer ) + Game.timer.resume(); + Game.frightTimer = null; + Game.eaten = 0; + $('.actor').trigger( Game.mode == Game.GHOST_STATE_CHASE ? Game.GHOST_EVENT_CHASE : Game.GHOST_EVENT_SCATTER ); + } +} + +function distance(currentTile, target) { + return Math.sqrt( (target.x - currentTile.x) * (target.x - currentTile.x) + (target.y - currentTile.y)*(target.y - currentTile.y)); +}; + +//Game objects: +function Actor(){} +Actor.prototype = { + node : null, + animations : null, + x : null, + y : null, + speed : null, + direction : null, // 1: up, 2: left, 3:down, 4: right + directionX : 0, + directionY : 0, + + getX : function() { + return x; + }, + + getY : function() { + return y; + }, + + getTileX : function() { + return Math.floor(this.x / TILE_SIZE); + }, + + getTileY : function() { + return Math.floor(this.y / TILE_SIZE); + }, + + getTile : function() { + return this.getTileX() + this.getTileY() * WIDTH_TILE_COUNT; + }, + + getInsideTileX : function() { + return this.x % TILE_SIZE; + }, + + getInsideTileY : function() { + return this.y % TILE_SIZE; + }, + + move : function() { + if( !Game.running ) + return; + this.x += this.directionX * this.speed * ACTOR_SPEED; + this.y += this.directionY * this.speed * ACTOR_SPEED; + this.node.x(this.x ); + this.node.y(this.y ); + }, + + up : function( force ) { + if( force || this.direction != UP ) { + this.directionX = 0; + this.directionY = -1; + this.direction = UP; + this.node.setAnimation(this.animations["up"]); + this.node.flipv(false); + this.node.fliph(false); + this.center(); + } + }, + + down : function( force ) { + if( force || this.direction != DOWN ) { + this.directionX = 0; + this.directionY = 1; + this.direction = DOWN; + if( this.animations["down"] ) { + this.node.setAnimation(this.animations["down"]); + this.node.fliph( false ); + } else { + this.node.setAnimation(this.animations["up"]); + this.node.flipv( true ); + this.node.fliph( false ); + } + this.center(); + } + }, + + left : function( force ) { + if( force || this.direction != LEFT ) { + this.directionX = -1; + this.directionY = 0; + this.direction = LEFT; + this.node.flipv( false ); + if( this.animations["left"] ) { + this.node.setAnimation(this.animations["left"]); + } else { + this.node.setAnimation(this.animations["right"]); + this.node.fliph( true ); + } + this.center(); + } + }, + + right : function( force ) { + if( force || this.direction != RIGHT ) { + this.directionX = 1; + this.directionY = 0; + this.direction = RIGHT; + this.node.setAnimation(this.animations["right"]); + this.node.fliph( false ); + this.node.flipv( false ); + this.center(); + } + }, + + canLeft : function() { + return Game.maze.structure[this.getTileX() + this.getTileY() * WIDTH_TILE_COUNT - 1] <= 0; + }, + + canRight : function() { + return Game.maze.structure[this.getTileX() + this.getTileY() * WIDTH_TILE_COUNT + 1] <= 0; + }, + + canUp : function() { + return Game.maze.structure[this.getTileX() + (this.getTileY() - 1 ) * WIDTH_TILE_COUNT ] <= 0; + }, + + canDown : function() { + return Game.maze.structure[this.getTileX() + (this.getTileY() + 1 ) * WIDTH_TILE_COUNT ] <= 0; + }, + + isNearMiddleTile : function() { + return Math.abs( HALF_TILE_SIZE - this.getInsideTileX() ) < 4 && Math.abs( HALF_TILE_SIZE - this.getInsideTileY() ) < 4; + }, + + center : function() { + this.x = this.getTileX() * TILE_SIZE + HALF_TILE_SIZE; + this.y = this.getTileY() * TILE_SIZE + HALF_TILE_SIZE; + }, + + isInTunnel : function() { + var tile = this.getTile(); + return $.inArray(tile, Game.maze.tunnel) > -1; + } +}; + +/*********************************************/ +/****************** PACMAN *******************/ +/*********************************************/ +function Pacman() { + this.animations = { + "right": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 3, offsety: 16, delta: ACTOR_SIZE, rate: 120, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "up": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 3, offsetx: 64, offsety: 16, delta: ACTOR_SIZE, rate: 120, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "die": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 7, offsety: 208, delta: ACTOR_SIZE, rate: 120, type: $.gameQuery.ANIMATION_HORIZONTAL | $.gameQuery.ANIMATION_ONCE | $.gameQuery.ANIMATION_CALLBACK }), + "die2": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 4, offsety: 240, delta: ACTOR_SIZE, rate: 120, type: $.gameQuery.ANIMATION_HORIZONTAL | $.gameQuery.ANIMATION_ONCE }) + } +}; +Pacman.prototype = { + x : Game.PACMAN_START_X, + y : Game.PACMAN_START_Y, + speed : null, + directionX : 0, + directionY : 0, + lastEatenGhost : null, + + stop : false, + previousTile : null, + + init : function() { + this.x = Game.PACMAN_START_X; + this.y = Game.PACMAN_START_Y; + this.speed = Game.levelData.pacman.speed; + this.right(true); + this.left(true); + this.node.x(this.x); + this.node.y(this.y); + }, + + left : function() { + if( this.direction != LEFT && this.canLeft() ) { + this.stop = false; + this._super("left", arguments); + } + }, + + right : function() { + if( this.direction != RIGHT && this.canRight() ) { + this.stop = false; + this._super("right", arguments); + } + }, + + up : function() { + if( this.direction != UP && this.canUp() ) { + this.stop = false; + this._super("up", arguments); + } + }, + + down : function() { + if( this.direction != DOWN && this.canDown() ) { + this.stop = false; + this._super("down", arguments); + } + }, + + move : function() { + if( !this.stop ) { + this.previousTile = {x: this.getTileX(), y: this.getTileY()}; + this._super("move", arguments); + var currentTile = {x: this.getTileX(), y: this.getTileY()}; + if( this.previousTile.x !== currentTile.x || this.previousTile.y !== currentTile.y ) { + var id = this.getTile(); + if( Game.dots[ id ] ) + this.eatDot( id ); + if( id == Game.maze.bonus_target ) + this.eatBonus(); + this.eatGhosts(); + } + + var inTunnel = this.isInTunnel(); + if( this.x < 0 ) + this.x += PLAYGROUND_WIDTH; + if( this.x > PLAYGROUND_WIDTH ) + this.x -= PLAYGROUND_WIDTH; + switch( this.direction ) { + case LEFT : + if( !inTunnel && !this.canLeft() ) + this.stop = true; + break; + case RIGHT : + if( !inTunnel && !this.canRight() ) + this.stop = true; + break; + case UP : + if( !this.canUp() ) + this.stop = true; + break; + case DOWN : + if( !this.canDown() ) + this.stop = true; + break; + } + } + }, + + eatDot : function(id) { + Game.eat(Game.dots[id]); + $('.actor').trigger(Game.GHOST_EVENT_DOT_EATEN); + if( Game.dots[id] === "bigDot" ) { + $.each(Game.ghosts, function(index, ghost ) { + if( ghost.state != Game.GHOST_STATE_IN_JAIL && ghost.state != Game.GHOST_STATE_EATEN ) + ghost.state_to(Game.GHOST_STATE_FRIGHTENED) + }); + + Game.timer.pause(); + if( Game.frightTimer ) + clearTimeout( Game.frightTimer ); + Game.frightTimer = setTimeout( 'Game.nearEndFright();', Game.levelData.frightTime * 1000 - 160 * 4 * Game.levelData.frightFlashesCount); + } + + Game.dots[id] = null; + $("#" + id ).addClass("hiddenDot"); + }, + + eatGhosts : function() { + var tile = this.getTile(); + $.each(Game.ghosts, function(index, ghost ) { + if( tile == ghost.getTile() ) { + Game.pacman.eatGhost( ghost ); + } + }); + }, + + eatGhost : function( ghost ) { + if( ghost.state == Game.GHOST_STATE_EATEN ) { +// console.log( ghost.id + " already eaten" ); + return; + } + if( ghost.state != Game.GHOST_STATE_FRIGHTENED && ghost.state != Game.GHOST_STATE_FRIGHTENED_BLINK ) { + Game.die(); + } else if( Game.pacman.lastEatenGhost !== ghost.id ){ + ghost.state_to(Game.GHOST_STATE_EATEN); +// console.log( "Eating " + ghost.id + " " + ghost.state ); + Game.eatGhost(ghost); + } + }, + + eatBonus : function() { + if( !$("#" + Game.maze.bonus_target).hasClass( Game.levelData.bonus.type) && Game.bonusTimer == null ) + return; + + Sound.play("fruit"); + + eatenBonus.push(Game.levelData.bonus.type); + Game.score += Game.levelData.bonus.points; +// console.log( "Eating bonus " + Game.levelData.bonus.points + " " + Game.score ); + SCOREBOARD.add( Game.levelData.bonus.points ); + Game.hideBonus(); + }, + + die : function() { + Sound.play("dies"); + this.node.setAnimation(this.animations["die"], function(node) { + Game.pacman.node.setAnimation(Game.pacman.animations["die2"]); + }); + } +}; + +// Overriding Actor.methods() method +heriter(Pacman.prototype, Actor.prototype); + +function Ghost(id, ghostIndex, start, scatterTarget, personnalTarget, dotsLimits, state ) { + this.animations = { + "normal_up": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 2, offsety: 48 + ghostIndex * 32, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "normal_right": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 2, offsetx: 128, offsety: 48 + ghostIndex * 32, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "normal_down": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 2, offsetx: 64, offsety: 48 + ghostIndex * 32, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "frightened": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 2, offsetx: 0, offsety: 176, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "frightened_blink": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 4, offsetx: 0, offsety: 176, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "eaten_up": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 1, offsetx: 128, offsety: 176, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "eaten_down": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 1, offsetx: 160, offsety: 176, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }), + "eaten_right": new $.gameQuery.Animation({imageURL: "img/sprite.png", numberOfFrame: 1, offsetx: 192, offsety: 176, delta: ACTOR_SIZE, rate: 160, type: $.gameQuery.ANIMATION_HORIZONTAL }) + } + this.animations["up"] = this.animations["normal_up"]; + this.animations["down"] = this.animations["normal_down"]; + this.animations["right"] = this.animations["normal_right"]; + + this.id = id; + this.scatterTarget = scatterTarget; + this.personnalTarget = personnalTarget; + this.x = start.x; + this.y = start.y; + this.startingTileX = start.x; + this.startingTileY = start.y; + + this.state = state; + + this.dotsLimits = dotsLimits; + + this.prey = Game.pacman; +}; + +Ghost.prototype = { + id : null, + startingTileX : 0, + startingTileY : 0, + initialSpeed : 0, + speed : 0, + directionX : 0, + directionY : 0, + + state: null, + scatterTarget : null, + lastDirectionTile : null, + + prey : null, + + dotsCounter : 0, + dotsLimits : [], + + init : function() { + this.dotsCounter = 0; + this.speed = 0; + this.x = this.startingTileX; + this.y = this.startingTileY; + this.right(true); + this.left(true); + this.state = Game.GHOST_STATE_IN_JAIL; + this.node.x(this.x); + this.node.y(this.y); + }, + + target : function() { + switch( this.state ) { + case Game.GHOST_STATE_CHASE : + return this.personnalTarget(); + case Game.GHOST_STATE_SCATTER : + return this.scatterTarget; + case Game.GHOST_STATE_FRIGHTENED : + var currentTile = {x: this.getTileX(), y: this.getTileY()}; + var targets = new Array(); + if( this.canUp() && this.direction != DOWN ) + targets.push( {x:currentTile.x, y:currentTile.y - 1} ); + if( this.canDown() && this.direction != UP ) + targets.push( {x:currentTile.x, y:currentTile.y + 1} ); + if( this.canLeft() && this.direction != RIGHT ) + targets.push( {x:currentTile.x - 1, y:currentTile.y} ); + if( this.canRight() && this.direction != LEFT ) + targets.push( {x:currentTile.x + 1, y:currentTile.y} ); + return targets[ parseInt(Math.random() * targets.length ) ]; + case Game.GHOST_STATE_IN_JAIL : + case Game.GHOST_STATE_EATEN : + return {x: 13, y: 14}; + } + }, + + loadBindings : function() { + this.node.bind(Game.GHOST_EVENT_CHASE, {ghost: this}, function(evt) { + var ghost = evt.data.ghost; + if( ghost.state != Game.GHOST_STATE_IN_JAIL && ghost.state != Game.GHOST_STATE_EATEN ) + ghost.state_to(Game.GHOST_STATE_CHASE); + }); + this.node.bind(Game.GHOST_EVENT_SCATTER, {ghost: this}, function(evt) { + var ghost = evt.data.ghost; + if( ghost.state != Game.GHOST_STATE_IN_JAIL && ghost.state != Game.GHOST_STATE_EATEN ) + ghost.state_to(Game.GHOST_STATE_SCATTER); + }); + this.node.bind(Game.GHOST_EVENT_DOT_EATEN, {ghost: this}, function(evt) { + var ghost = evt.data.ghost; + if( ghost.state == Game.GHOST_STATE_IN_JAIL && ghost.dotsCounter++ >= ghost.dotsLimits[Math.min(Game.level, ghost.dotsLimits.length - 1)] ) { + ghost.speed = ghost.initialSpeed; + ghost.state_to(Game.mode); + } + }); + }, + + personnalTarget : function() { + }, + + state_to : function( state ) { + var up; + var down; + var right; + var reverse = this.state != Game.GHOST_STATE_FRIGHTENED && this.state != Game.GHOST_STATE_IN_JAIL; // previous state + this.state = state; + switch( state ) { + case Game.GHOST_STATE_CHASE : + this.speed = Game.levelData.ghost.speed; + case Game.GHOST_STATE_SCATTER : + this.speed = Game.levelData.ghost.speed; + case Game.GHOST_STATE_IN_JAIL : + up = this.animations["normal_up"]; + down = this.animations["normal_down"]; + right = this.animations["normal_right"]; + break; + case Game.GHOST_STATE_FRIGHTENED : + up = down = right = this.animations["frightened"]; + this.speed = Game.levelData.ghost.frightSpeed; + break; + case Game.GHOST_STATE_FRIGHTENED_BLINK : + up = down = right = this.animations["frightened_blink"]; + this.state = Game.GHOST_STATE_FRIGHTENED; + break; + case Game.GHOST_STATE_EATEN : + up = this.animations["eaten_up"]; + down = this.animations["eaten_down"]; + right = this.animations["eaten_right"]; + this.speed = 1; + break; + } + + + this.animations["up"] = up; + this.animations["down"] = down; + this.animations["right"] = right; + + if( reverse ) + switch( this.direction ) { + case UP: + this.direction = DOWN; + break; + case LEFT: + this.direction = RIGHT; + break; + case DOWN: + this.direction = UP; + break; + case RIGHT: + this.direction = LEFT; + break; + } + + var inTunnel = this.isInTunnel(); + var distances = [ + {direction: UP, distance: this.canUp() && this.direction != DOWN ? 1 : INFINITY}, + {direction: LEFT, distance: (inTunnel && this.direction == LEFT ) || (this.canLeft() && this.direction != RIGHT) ? 1 : INFINITY}, + {direction: DOWN, distance: this.canDown() && this.direction != UP ? 1 : INFINITY}, + {direction: RIGHT, distance: (inTunnel && this.direction == RIGHT ) || (this.canRight() && this.direction != LEFT) ? 1 : INFINITY}, + ]; + distances.sort( function(a, b) { + if( a.distance == b.distance ) + return a.direction - b.direction; + return a.distance - b.distance; + }) + var selected = distances[0]; + + switch( selected.direction ) { + case UP: + this.up(true); + break; + case LEFT: + this.left(true); + break; + case DOWN: + this.down(true); + break; + case RIGHT: + this.right(true); + break; + } + + }, + + canUp : function() { + switch( this.getTile() ) { + case 404: + case 407: + case 684: + case 687: + return false; + case 461: + case 462: + return true; + default: + return Game.maze.structure[ this.getTileX() + (this.getTileY() - 1 ) * WIDTH_TILE_COUNT ] <= 0; + } + }, + + canDown : function() { + switch( this.getTile() ) { + case 405: + case 406: + return false; + default: + return Game.maze.structure[ this.getTileX() + (this.getTileY() + 1 ) * WIDTH_TILE_COUNT ] <= 0; + } + }, + + move : function() { + this._super("move", arguments); + var currentTile = {x: this.getTileX(), y: this.getTileY()}; + var id = this.getTile();; + if( this.lastDirectionTile != id && this.isNearMiddleTile()) { + this.lastDirectionTile = id; + this.eaten(); + + var distances = null; + var target = this.target(); + if( this.state == Game.GHOST_STATE_EATEN && id == Game.maze.ghost_frightened_target ) { + this.state_to(Game.mode); + } + + var inTunnel = this.isInTunnel(); + if( inTunnel ) + this.speed = Game.levelData.ghost.tunnelSpeed; + else if( this.state != Game.GHOST_STATE_IN_JAIL ) + this.speed = this.state == Game.GHOST_STATE_FRIGHTENED ? Game.levelData.ghost.frightSpeed : Game.levelData.ghost.speed; + + if( this.x < 0 ) + this.x += PLAYGROUND_WIDTH; + if( this.x > PLAYGROUND_WIDTH ) + this.x -= PLAYGROUND_WIDTH; + + if( Game.maze.choice_tiles.indexOf( id ) != -1 ) { + distances = [ + {direction: UP, distance: this.canUp() && this.direction != DOWN ? distance({x:currentTile.x, y:currentTile.y - 1}, target ) : INFINITY}, + {direction: LEFT, distance: this.canLeft() && this.direction != RIGHT ? distance( {x:currentTile.x - 1, y:currentTile.y }, target ) : INFINITY}, + {direction: DOWN, distance: this.canDown() && this.direction != UP ? distance({x:currentTile.x, y:currentTile.y + 1}, target ) : INFINITY}, + {direction: RIGHT, distance: this.canRight() && this.direction != LEFT ? distance({x:currentTile.x + 1, y:currentTile.y}, target ) : INFINITY}, + ]; + } else { + distances = [ + {direction: UP, distance: this.canUp() && this.direction != DOWN ? 1 : INFINITY}, + {direction: LEFT, distance: (inTunnel && this.direction == LEFT ) || (this.canLeft() && this.direction != RIGHT) ? 1 : INFINITY}, + {direction: DOWN, distance: this.canDown() && this.direction != UP ? 1 : INFINITY}, + {direction: RIGHT, distance: (inTunnel && this.direction == RIGHT ) || (this.canRight() && this.direction != LEFT) ? 1 : INFINITY}, + ]; + } + distances.sort( function(a, b) { + if( a.distance == b.distance ) + return a.direction - b.direction; + return a.distance - b.distance; + }) + var selected = distances[0]; + + switch( selected.direction ) { + case LEFT : + if( this.direction != LEFT ) + this.left(); + break; + case RIGHT : + if( this.direction != RIGHT ) + this.right(); + break; + case UP : + if( this.direction != UP ) + this.up(); + break; + case DOWN : + if( this.direction != DOWN ) + this.down(); + break; + } + } + + var inTunnel = this.isInTunnel(); + if( this.x < 0 ) + this.x += PLAYGROUND_WIDTH; + if( this.x > PLAYGROUND_WIDTH ) + this.x -= PLAYGROUND_WIDTH; + + }, + + eaten : function(target) { + if( typeof target === "undefined" ) + target = this; + if( target.getTile() == Game.pacman.getTile() ) { +// console.log(" Eaten from ghost" ); + Game.pacman.eatGhost(target); +// if( target.state != Game.GHOST_STATE_FRIGHTENED && target.state != Game.GHOST_STATE_EATEN ) { +// Game.die(); +// } else { +// target.state_to(Game.GHOST_STATE_EATEN); +// Game.eatGhost(this); +// } + } + } +}; + +heriter(Ghost.prototype, Actor.prototype); diff --git a/demo/pacman/js/pacman-data.js b/demo/pacman/js/pacman-data.js new file mode 100644 index 0000000..c41e1d2 --- /dev/null +++ b/demo/pacman/js/pacman-data.js @@ -0,0 +1,13 @@ +/* +/* +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. +*/ + +MAZE = {"structure":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,2,1,9,9,9,9,9,9,9,9,9,9,9,9,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,-1,1,9,9,2,-1,1,9,9,9,2,-1,11,10,-1,1,9,9,9,2,-1,1,9,9,2,-1,10,11,-2,10,0,0,11,-1,11,0,0,0,10,-1,11,10,-1,11,0,0,0,10,-1,11,0,0,10,-2,10,11,-1,3,9,9,4,-1,3,9,9,9,4,-1,3,4,-1,3,9,9,9,4,-1,3,9,9,4,-1,10,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,-1,1,9,9,2,-1,1,2,-1,1,9,9,9,9,9,9,2,-1,1,2,-1,1,9,9,2,-1,10,11,-1,3,9,9,4,-1,10,11,-1,3,9,9,2,1,9,9,4,-1,10,11,-1,3,9,9,4,-1,10,11,-1,-1,-1,-1,-1,-1,10,11,-1,-1,-1,-1,11,10,-1,-1,-1,-1,10,11,-1,-1,-1,-1,-1,-1,10,3,9,9,9,9,2,-1,10,3,9,9,2,0,11,10,0,1,9,9,4,11,-1,1,9,9,9,9,4,0,0,0,0,0,10,-1,10,1,9,9,4,0,3,4,0,3,9,9,2,11,-1,11,0,0,0,0,0,0,0,0,0,0,10,-1,10,11,0,0,0,0,0,0,0,0,0,0,10,11,-1,11,0,0,0,0,0,9,9,9,9,9,4,-1,3,4,0,5,9,9,12,12,9,9,6,0,3,4,-1,3,9,9,9,9,9,0,0,0,0,0,0,-1,0,0,0,11,0,0,0,0,0,0,10,0,0,0,-1,0,0,0,0,0,0,9,9,9,9,9,2,-1,1,2,0,7,9,9,9,9,9,9,8,0,1,2,-1,1,9,9,9,9,9,0,0,0,0,0,10,-1,11,10,0,0,0,0,0,0,0,0,0,0,11,10,-1,11,0,0,0,0,0,0,0,0,0,0,10,-1,11,10,0,1,9,9,9,9,9,9,2,0,11,10,-1,11,0,0,0,0,0,1,9,9,9,9,4,-1,3,4,0,3,9,9,2,1,9,9,4,0,3,4,-1,3,9,9,9,9,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,-1,1,9,9,2,-1,1,9,9,9,2,-1,11,10,-1,1,9,9,9,2,-1,1,9,9,2,-1,10,11,-1,3,9,2,10,-1,3,9,9,9,4,-1,3,4,-1,3,9,9,9,4,-1,11,1,9,4,-1,10,11,-2,-1,-1,10,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,10,-1,-1,-2,10,3,9,2,-1,10,10,-1,1,2,-1,1,9,9,9,9,9,9,2,-1,1,2,-1,11,10,-1,1,9,4,1,9,4,-1,3,4,-1,11,10,-1,3,9,9,2,1,9,9,4,-1,11,10,-1,3,4,-1,3,9,2,11,-1,-1,-1,-1,-1,-1,11,10,-1,-1,-1,-1,11,10,-1,-1,-1,-1,11,10,-1,-1,-1,-1,-1,-1,10,11,-1,1,9,9,9,9,4,3,9,9,2,-1,11,10,-1,1,9,9,4,3,9,9,9,9,2,-1,10,11,-1,3,9,9,9,9,9,9,9,9,4,-1,3,4,-1,3,9,9,9,9,9,9,9,9,4,-1,10,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,3,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4],"bonus_target":518,"tunnel":[448,449,450,451,452,471,472,473,474,475],"ghost_frightened_target":405,"choice_tiles":[118,133,225,230,233,236,239,242,245,250,314,329,404,407,454,457,466,469,513,522,594,597,606,609,678,681,684,687,690,693,759,780,852,855]}; + var LEVELS = [{"pacman":{"speed":0.8,"eating":0.71,"frightSpeed":0.9,"frightSpeedEating":0.79},"ghost":{"speed":0.75,"tunnelSpeed":0.4,"elroy1Speed":0.8,"elroy1Dots":20,"elroy2Speed":0.85,"elroy2Dots":10,"frightSpeed":0.5},"frightTime":6,"frightFlashesCount":5,"mode":[7,20,7,20,5,20,5,1410065407],"bonus":{"type":"cherries","points":100}},{"pacman":{"speed":0.9,"eating":0.79,"frightSpeed":0.95,"frightSpeedEating":0.83},"ghost":{"speed":0.85,"tunnelSpeed":0.45,"elroy1Speed":0.9,"elroy1Dots":30,"elroy2Speed":0.95,"elroy2Dots":15,"frightSpeed":0.55},"frightTime":5,"frightFlashesCount":5,"mode":[7,20,7,20,5,1033,0.0166666667,1410065407],"bonus":{"type":"strawberry","points":300}},{"pacman":{"speed":0.9,"eating":0.79,"frightSpeed":0.95,"frightSpeedEating":0.83},"ghost":{"speed":0.85,"tunnelSpeed":0.45,"elroy1Speed":0.9,"elroy1Dots":40,"elroy2Speed":0.95,"elroy2Dots":20,"frightSpeed":0.55},"frightTime":4,"frightFlashesCount":5,"mode":[7,20,7,20,5,1033,0.0166666667,1410065407],"bonus":{"type":"peach","points":500}},{"pacman":{"speed":0.9,"eating":0.79,"frightSpeed":0.95,"frightSpeedEating":0.83},"ghost":{"speed":0.85,"tunnelSpeed":0.45,"elroy1Speed":0.9,"elroy1Dots":40,"elroy2Speed":0.95,"elroy2Dots":20,"frightSpeed":0.55},"frightTime":3,"frightFlashesCount":5,"mode":[7,20,7,20,5,1033,0.0166666667,1410065407],"bonus":{"type":"peach","points":500}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":40,"elroy2Speed":1.05,"elroy2Dots":20,"frightSpeed":0.6},"frightTime":2,"frightFlashesCount":5,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"apple","points":700}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":50,"elroy2Speed":1.05,"elroy2Dots":25,"frightSpeed":0.6},"frightTime":5,"frightFlashesCount":5,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"apple","points":700}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":50,"elroy2Speed":1.05,"elroy2Dots":25,"frightSpeed":0.6},"frightTime":2,"frightFlashesCount":5,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"grapes","points":1000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":50,"elroy2Speed":1.05,"elroy2Dots":25,"frightSpeed":0.6},"frightTime":2,"frightFlashesCount":5,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"grapes","points":1000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":60,"elroy2Speed":1.05,"elroy2Dots":30,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"galaxian","points":2000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":60,"elroy2Speed":1.05,"elroy2Dots":30,"frightSpeed":0.6},"frightTime":5,"frightFlashesCount":5,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"galaxian","points":2000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":60,"elroy2Speed":1.05,"elroy2Dots":30,"frightSpeed":0.6},"frightTime":2,"frightFlashesCount":5,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"bell","points":3000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":80,"elroy2Speed":1.05,"elroy2Dots":40,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"bell","points":3000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":80,"elroy2Speed":1.05,"elroy2Dots":40,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":80,"elroy2Speed":1.05,"elroy2Dots":40,"frightSpeed":0.6},"frightTime":3,"frightFlashesCount":5,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":100,"elroy2Speed":1.05,"elroy2Dots":50,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":100,"elroy2Speed":1.05,"elroy2Dots":50,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":100,"elroy2Speed":1.05,"elroy2Dots":50,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":100,"elroy2Speed":1.05,"elroy2Dots":50,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":120,"elroy2Speed":1.05,"elroy2Dots":60,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":1,"eating":0.87,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":120,"elroy2Speed":1.05,"elroy2Dots":60,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}},{"pacman":{"speed":0.9,"eating":0.79,"frightSpeed":1,"frightSpeedEating":0.87},"ghost":{"speed":0.95,"tunnelSpeed":0.5,"elroy1Speed":1,"elroy1Dots":120,"elroy2Speed":1.05,"elroy2Dots":60,"frightSpeed":0.6},"frightTime":1,"frightFlashesCount":3,"mode":[7,20,7,20,5,1037,0.0166666667,1410065407],"bonus":{"type":"key","points":5000}}]; diff --git a/demo/pacman/js/pacman-ui.js b/demo/pacman/js/pacman-ui.js new file mode 100644 index 0000000..ed121e3 --- /dev/null +++ b/demo/pacman/js/pacman-ui.js @@ -0,0 +1,255 @@ +/* +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. +*/ +var SOUND_ACTIVATED = false; + +var WIDTH_TILE_COUNT = 28; +var HEIGHT_TILE_COUNT = 34; +var TILE_SIZE = 16; +var HALF_TILE_SIZE = 8; +var ACTOR_SIZE = 32; +var PLAYGROUND_WIDTH = WIDTH_TILE_COUNT * TILE_SIZE; +var PLAYGROUND_HEIGHT = HEIGHT_TILE_COUNT * TILE_SIZE; +var ACTOR_SPEED = 4; +var LOOP_COUNT_REFRESH = 66; +var loopCount = 0; +var REFRESH_RATE = 15; +//1: up, 2: left, 3:down, 4: right +var UP = 1; +var LEFT = 2; +var DOWN = 3; +var RIGHT = 4; + +var BONUS_TILE = 77; + +var eatenBonus = new Array(); + +var INFINITY = 9999999999; + +$(function(){ + + //Playground Sprites + $("#playground").playground({height: PLAYGROUND_HEIGHT, width: PLAYGROUND_WIDTH, keyTracker: true}); + + $.playground({refreshRate: 60}).addGroup("background", {posx: 0, posy: 0, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT}) + .end() + .addGroup("dots", {width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT}) + .end() + .addGroup("actors", {width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT}) + .end() + .addGroup( "hud", {width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT}) + .end(); + + var hud = $("#hud"); + hud.append("
"); + hud.append("
"); + hud.append("
"); + hud.append("
'"); + hud.append("
'"); + hud.append("
'"); + + GUI.updateLevel( "Level" ); + + var background = $("#background"); + var dotsGroup = $("#dots"); + var maze = Game.maze.structure; + + for( var i = 0; i < maze.length; i++ ) { + var clazz = ""; + switch( maze[i]) { + case -2: + clazz = "bigDot"; + Game.dots[i] = "bigDot"; + break; + case -1: + clazz = "dot"; + Game.dots[i] = "dot"; + break; + case 1: + clazz = "corner1"; + break; + case 2: + clazz = "corner2"; + break; + case 3: + clazz = "corner3"; + break; + case 4: + clazz = "corner4"; + break; + case 5: + clazz = "squareCornerTopLeft"; + break; + case 6: + clazz = "squareCornerTopRight"; + break; + case 7: + clazz = "squareCornerBottomLeft"; + break; + case 8: + clazz = "squareCornerBottomRight"; + break; + case 9: + clazz = "horizontalMidDown"; + break; + case 10: + clazz = "verticalMidLeft"; + break; + case 11: + clazz = "verticalMidRight"; + break; + case 12: + clazz = "gate"; + break; + } + background.append('
'); + + if(i % 28 == 27 ) { + background.append('
'); + } + } + + // this is the function that control most of the game logic + $.playground().registerCallback(function(){ + if(jQuery.gameQuery.keyTracker[37]){ //this is left! (a) + Game.hero.left(); + } + if(jQuery.gameQuery.keyTracker[38]){ //this is up! (w) + Game.hero.up(); + } + if(jQuery.gameQuery.keyTracker[39]){ //this is right! (d) + Game.hero.right(); + } + if(jQuery.gameQuery.keyTracker[40]){ //this is down! (s) + Game.hero.down(); + } + + $.each(Game.actors, function(index, actor ) { + actor.move(); + }); + + for( var i = Math.max(0, eatenBonus.length - 6), j = 0; i < eatenBonus.length; i++, j++) { + $("#" +( BONUS_TILE + j)).removeClass().addClass("tile").addClass( eatenBonus[i] ); + } + + }, REFRESH_RATE); + + Sound.init(function(){ + $.playground().startGame( function() { + // Game.init(); + }); + }); + +}); + +var Sound = { + soundList : [], + + init : function(callback) { + if( SOUND_ACTIVATED ) { + soundManager.setup({ + url: 'swf/' + }); + + Sound.soundList = { + opening : new $.gameQuery.SoundWrapper('sound/opening.mp3', false), + waka : new $.gameQuery.SoundWrapper('sound/wakawaka.mp3', false), + fruit : new $.gameQuery.SoundWrapper('sound/eatingfruit.mp3', false), + ghost : new $.gameQuery.SoundWrapper('sound/eatingghost.mp3', false), + dies : new $.gameQuery.SoundWrapper('sound/dies.mp3', false) + }; + soundManager.onready( callback ); + } else + callback(); + }, + + play: function( sound ) { + if( SOUND_ACTIVATED ) + Sound.soundList[sound].play(); + }, + + stop: function( sound ) { + if( SOUND_ACTIVATED ) + Sound.soundList[sound].stop(); + }, +} + +var GUI = { + updateMessage : function( message ) { + GUI.drawText( $("#message"), message, true ); + }, + + updateScoreMessage : function( message ) { + GUI.drawText( $("#scoreMessage"), message, false, "red" ); + }, + + updateLevel : function( message ) { + GUI.drawText( $("#level"), message, false ); + }, + + updateLevelNumber: function( message ) { + GUI.drawText( $("#levelNumber"), message + "", false, "", true ); + }, + + drawText : function( divHTML, message, center, customClazz, forceSmall) { + var html = ""; + var clazz = "clock"; + var letterSize = 32; + if( typeof customClazz !== "undefined" ) { + clazz = " clock " + customClazz; + } + + + var count = 0; + var width = 0; + var height = 0; + for( var i = 0; i < message.length; i++ ) { + var letter = message[i]; + var iLetter = (message.charCodeAt(i) - 97); + if( letter == " " ) { + html += "
"; + width += 16; + count++; + } else if( letter.charCodeAt(0) > 47 && letter.charCodeAt(0) < 58 ) { + var letterSize = 32; + if( forceSmall ) { + letterSize = 16; + } + html += "
"; + count++; + } else if( ( letter.charCodeAt(0) >= 'a'.charCodeAt(0) && letter.charCodeAt(0) <= 'z'.charCodeAt(0)) ) { + if( height < 16 ) + height = 16; + width += 16; + var lineSize = 20; + var x = (iLetter % lineSize) * 16; + var y = Math.floor(iLetter / lineSize) * 16 + 144; + html += "
"; + count++; + } else if( letter.charCodeAt(0) >= 'A'.charCodeAt(0) && letter.charCodeAt(0) <= 'Z'.charCodeAt(0)) { + iLetter = letter.charCodeAt(0) - 'A'.charCodeAt(0); + if( height < 32 ) + height = 32; + width += 32; + var lineSize = 10; + var x = (iLetter % lineSize) * 32; + var y = Math.floor(iLetter / lineSize) * 32 + 32; + html += "
"; + count++; + } + } + + divHTML.empty(); + divHTML.css( "width", width + "px"); + divHTML.css( "height", height + "px"); + if( center ) + divHTML.css( "margin-left", "-" + (message.length * letterSize / 2) + "px"); + divHTML.append( html ); + } +} diff --git a/demo/pacman/js/scoreboard.js b/demo/pacman/js/scoreboard.js new file mode 100644 index 0000000..db45d2c --- /dev/null +++ b/demo/pacman/js/scoreboard.js @@ -0,0 +1,54 @@ +/* +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. +*/ + +var SCOREBOARD = { + score: 0, + scoreLength: 6, + + init: function(size) { + if( typeof size !== "undefined" ) + SCOREBOARD.scoreLength = size; + SCOREBOARD.score = 0; + SCOREBOARD.set_score( 0 ); + }, + + add: function(addToScore, div) { + SCOREBOARD.set_score( SCOREBOARD.score + addToScore, div); + }, + + set_score: function( score, div ) { + var currentScore = ""; + var imageScore = ""; + + SCOREBOARD.score = score; + currentScore = SCOREBOARD.pad(); + + for(i = 0; i < String(currentScore).length; i++) { + imageScore += "
"; + } + + if( typeof div === "undefined" ) + div = $(".subScoreboard"); + div.empty(); + div.append( imageScore ); + }, + + pad: function() { + var str = '' + SCOREBOARD.score; + while (str.length < SCOREBOARD.scoreLength) { + str = '0' + str; + } + return str; + }, + + callback: function() { + console.log( "SCOREBOARD.callback" ); + } +}; diff --git a/demo/pacman/js/utils.js b/demo/pacman/js/utils.js new file mode 100644 index 0000000..e4a903b --- /dev/null +++ b/demo/pacman/js/utils.js @@ -0,0 +1,55 @@ +function heriter(destination, source) { + function initClassIfNecessary(obj) { + if( typeof obj["_super"] == "undefined" ) { + obj["_super"] = function() { + var methodName = arguments[0]; + var parameters = arguments[1]; + this["__parent_methods"][methodName].apply(this, parameters); + } + } + + if( typeof obj["__parent_methods"] == "undefined" ) { + obj["__parent_methods"] = {} + } + } + + for (var element in source) { + if( typeof destination[element] != "undefined" ) { + initClassIfNecessary(destination); + destination["__parent_methods"][element] = source[element]; + } else { + destination[element] = source[element]; + } + } +} + + +/** PausableTimer **/ + +function PausableTimer(func, millisec) { + this.func = func; + this.stTime = new Date().valueOf(); + this.timeout = setTimeout(func, millisec); + this.timeLeft = millisec; +} + +PausableTimer.prototype.stop = function() { + clearTimeout(this.timeout); +}; + +PausableTimer.prototype.pause = function() { + clearTimeout(this.timeout); + var timeRan = new Date().valueOf()-this.stTime; + this.timeLeft -= timeRan; +}; + +PausableTimer.prototype.resume = function() { + this.timeout = setTimeout(this.func, this.timeLeft); + this.stTime = new Date().valueOf(); +}; + +//Usage: +//var myTimer = new PausableTimer(function(){alert("It works!");}, 2000); +//myTimer.pause(); +//myTimer.unpause(); + diff --git a/demo/pacman/lib/gamequery-0.7.0.js b/demo/pacman/lib/gamequery-0.7.0.js new file mode 100644 index 0000000..3c74fc3 --- /dev/null +++ b/demo/pacman/lib/gamequery-0.7.0.js @@ -0,0 +1,1738 @@ +/* + * gameQuery rev. 0.7.0 + * + * Copyright (c) 2012 Selim Arsever (http://gamequeryjs.com) + * licensed under the MIT-License + */ + +// This allows use of the convenient $ notation in a plugin +(function($) { + + // This prefix can be use whenever needed to namespace CSS classes, .data() inputs aso. + var gQprefix = "gQ_"; + + // Those are the possible states of the engine + var STATE_NEW = 0; // Not yet started for the first time + var STATE_RUNNING = 1; // Started and running + var STATE_PAUSED = 2; // Paused + + /** + * Utility function that returns the radius for a geometry. + * + * @param {object} elem DOM element + * @param {float} angle the angle in degrees + * @return {object} .x, .y radius of geometry + */ + var proj = function (elem, angle) { + switch (elem.geometry){ + case $.gameQuery.GEOMETRY_RECTANGLE : + var b = angle*Math.PI*2/360; + var Rx = Math.abs(Math.cos(b)*elem.width/2*elem.factor)+Math.abs(Math.sin(b)*elem.height/2*elem.factor); + var Ry = Math.abs(Math.cos(b)*elem.height/2*elem.factor)+Math.abs(Math.sin(b)*elem.width/2*elem.factor); + + return {x: Rx, y: Ry}; + } + }; + + /** + * Utility function that checks for collision between two elements. + * + * @param {object} elem1 DOM for the first element + * @param {float} offset1 offset of the first element + * @param {object} elem2 DOM for the second element + * @param {float} offset2 offset of the second element + * @return {boolean} if the two elements collide or not + */ + var collide = function(elem1, offset1, elem2, offset2) { + // test real collision (only for two rectangles...) + if((elem1.geometry == $.gameQuery.GEOMETRY_RECTANGLE && elem2.geometry == $.gameQuery.GEOMETRY_RECTANGLE)){ + + var dx = offset2.x + elem2.boundingCircle.x - elem1.boundingCircle.x - offset1.x; + var dy = offset2.y + elem2.boundingCircle.y - elem1.boundingCircle.y - offset1.y; + var a = Math.atan(dy/dx); + + var Dx = Math.abs(Math.cos(a-elem1.angle*Math.PI*2/360)/Math.cos(a)*dx); + var Dy = Math.abs(Math.sin(a-elem1.angle*Math.PI*2/360)/Math.sin(a)*dy); + + var R = proj(elem2, elem2.angle-elem1.angle); + + if((elem1.width/2*elem1.factor+R.x <= Dx) || (elem1.height/2*elem1.factor+R.y <= Dy)) { + return false; + } else { + var Dx = Math.abs(Math.cos(a-elem2.angle*Math.PI*2/360)/Math.cos(a)*-dx); + var Dy = Math.abs(Math.sin(a-elem2.angle*Math.PI*2/360)/Math.sin(a)*-dy); + + var R = proj(elem1, elem1.angle-elem2.angle); + + if((elem2.width/2*elem2.factor+R.x <= Dx) || (elem2.height/2*elem2.factor+R.y <= Dy)) { + return false; + } else { + return true; + } + } + } else { + return false; + } + }; + + /** + * Utility function computes the offset relative to the playground of a gameQuery element without using DOM's position. + * This should be faster than the standand .offset() function. + * + * Warning: No non-gameQuery elements should be present between this element and the playground div! + * + * @param {jQuery} element the jQuery wrapped DOM element representing the gameQuery object. + * @return {object} an object {x:, y: } containing the x and y offset. (Not top and left like jQuery's .offset()) + */ + var offset = function(element) { + // Get the tileSet offset (relative to the playground) + var offset = {x: 0, y: 0}; + var parent = element[0]; + + while(parent !== $.gameQuery.playground[0] && parent.gameQuery !== undefined) { + offset.x += parent.gameQuery.posx; + offset.y += parent.gameQuery.posy; + parent = parent.parentNode; + } + + return offset + } + + /** + * Utility function computes the index range of the tiles for a tilemap. + * + * @param {jQuery} element the jQuery wrapped DOM element representing the tilemap. + * @param {object} offset an object holding the x and y offset of the tilemap, this is optional and will be computed if not provided. + * @return {object} an object {firstColumn: , lastColumn: , fristRow: , lastRow: } + */ + var visibleTilemapIndexes = function (element, elementOffset) { + if (elementOffset === undefined) { + elementOffset = offset(element); + } + + var gameQuery = element[0].gameQuery; + // Activate the visible tiles + return { + firstRow: Math.max(Math.min(Math.floor(-elementOffset.y/gameQuery.height), gameQuery.sizey), 0), + lastRow: Math.max(Math.min(Math.ceil(($.gameQuery.playground[0].height-elementOffset.y)/gameQuery.height), gameQuery.sizey), 0), + firstColumn: Math.max(Math.min(Math.floor(-elementOffset.x/gameQuery.width), gameQuery.sizex), 0), + lastColumn: Math.max(Math.min(Math.ceil(($.gameQuery.playground[0].width-elementOffset.x)/gameQuery.width), gameQuery.sizex), 0) + } + } + + /** + * Utility function thast computes the buffered zone of a tilemap + * + * @param {jQuery} element the jQuery wrapped DOM element representing the tilemap. + * @param {object} visible an object describing the visible zone + * @return {object} an object {firstColumn: , lastColumn: , fristRow: , lastRow: } + */ + var bufferedTilemapIndexes = function (element, visible) { + var gameQuery = element[0].gameQuery; + + return { + firstRow: Math.max(Math.min(visible.firstRow - gameQuery.buffer, gameQuery.sizey), 0), + lastRow: Math.max(Math.min(visible.lastRow + gameQuery.buffer, gameQuery.sizey), 0), + firstColumn: Math.max(Math.min(visible.firstColumn - gameQuery.buffer, gameQuery.sizex), 0), + lastColumn: Math.max(Math.min(visible.lastColumn + gameQuery.buffer, gameQuery.sizex), 0) + } + } + + /** + * Utility function that creates a tile in the given tilemap + * + * @param {jQuery} tileSet the jQuery element representing the tile map + * @param {integer} row the row index of the tile in the tile map + * @param {integer} column the column index of the tile in the tile map + */ + var addTile = function(tileSet, row, column) { + var gameQuery = tileSet[0].gameQuery; + var name = tileSet.attr("id"); + + var tileDescription; + if(gameQuery.func) { + tileDescription = gameQuery.tiles(row,column)-1; + } else { + tileDescription = gameQuery.tiles[row][column]-1; + } + + var animation; + if(gameQuery.multi) { + animation = gameQuery.animations; + } else { + animation = gameQuery.animations[tileDescription]; + } + + if(tileDescription >= 0){ + tileSet.addSprite($.gameQuery.tileIdPrefix+name+"_"+row+"_"+column, + {width: gameQuery.width, + height: gameQuery.height, + posx: column*gameQuery.width, + posy: row*gameQuery.height, + animation: animation}); + + var newTile = tileSet.find("#"+$.gameQuery.tileIdPrefix+name+"_"+row+"_"+column); + if (gameQuery.multi) { + newTile.setAnimation(tileDescription); + } else { + newTile[0].gameQuery.animationNumber = tileDescription; + } + newTile.removeClass($.gameQuery.spriteCssClass); + newTile.addClass($.gameQuery.tileCssClass); + newTile.addClass($.gameQuery.tileTypePrefix+tileDescription); + } + } + + // Define the list of object/function accessible through $. + $.extend({ gameQuery: { + /** + * This is the Animation Object + */ + Animation: function (options, imediateCallback) { + // private default values + var defaults = { + imageURL: "", + numberOfFrame: 1, + delta: 0, + rate: 30, + type: 0, + distance: 0, + offsetx: 0, + offsety: 0 + }; + + // options extends defaults + options = $.extend(defaults, options); + + // "public" attributes: + this.imageURL = options.imageURL; // The url of the image to be used as an animation or sprite + this.numberOfFrame = options.numberOfFrame; // The number of frames to be displayed when playing the animation + this.delta = options.delta; // The distance in pixels between two frames + this.rate = options.rate; // The rate at which the frames change in miliseconds + this.type = options.type; // The type of the animation.This is a bitwise OR of the properties. + this.distance = options.distance; // The distance in pixels between two animations + this.offsetx = options.offsetx; // The x coordinate where the first sprite begins + this.offsety = options.offsety; // The y coordinate where the first sprite begins + + // Whenever a new animation is created we add it to the ResourceManager animation list + $.gameQuery.resourceManager.addAnimation(this, imediateCallback); + + return true; + }, + + /** + * "constants" for the different types of an animation + */ + ANIMATION_VERTICAL: 1, // Generated by a vertical offset of the background + ANIMATION_HORIZONTAL: 2, // Generated by a horizontal offset of the background + ANIMATION_ONCE: 4, // Played only once (else looping indefinitely) + ANIMATION_CALLBACK: 8, // A callback is exectued at the end of a cycle + ANIMATION_MULTI: 16, // The image file contains many animations + ANIMATION_PINGPONG: 32, // At the last frame of the animation it reverses (if used in conjunction with ONCE it will have no effect) + + // "constants" for the different type of geometry for a sprite + GEOMETRY_RECTANGLE: 1, + GEOMETRY_DISC: 2, + + // basic values + refreshRate: 30, + + /** + * An object to manage resource loading + */ + resourceManager: { + animations: [], // List of animations / images used in the game + sounds: [], // List of sounds used in the game + callbacks: [], // List of the functions called at each refresh + loadedAnimationsPointer: 0, // Keep track of the last loaded animation + loadedSoundsPointer: 0, // Keep track of the last loaded sound + + /** + * Load resources before starting the game. + */ + preload: function() { + // Start loading the images + for (var i = this.animations.length-1 ; i >= this.loadedAnimationsPointer; i --){ + this.animations[i].domO = new Image(); + this.animations[i].domO.src = this.animations[i].imageURL; + } + + // Start loading the sounds + for (var i = this.sounds.length-1 ; i >= this.loadedSoundsPointer; i --){ + this.sounds[i].load(); + } + + $.gameQuery.resourceManager.waitForResources(); + }, + + /** + * Wait for all the resources called for in preload() to finish loading. + */ + waitForResources: function() { + // Check the images + var imageCount = 0; + for(var i=this.loadedAnimationsPointer; i < this.animations.length; i++){ + if(this.animations[i].domO.complete){ + imageCount++; + } + } + // Check the sounds + var soundCount = 0; + for(var i=this.loadedSoundsPointer; i < this.sounds.length; i++){ + var temp = this.sounds[i].ready(); + if(temp){ + soundCount++; + } + } + // Call the load callback with the current progress + if($.gameQuery.resourceManager.loadCallback){ + var percent = (imageCount + soundCount)/(this.animations.length + this.sounds.length - this.loadedAnimationsPointer - this.loadedSoundsPointer)*100; + $.gameQuery.resourceManager.loadCallback(percent); + } + if(imageCount + soundCount < (this.animations.length + this.sounds.length - this.loadedAnimationsPointer - this.loadedSoundsPointer)){ + imgWait=setTimeout(function () { + $.gameQuery.resourceManager.waitForResources(); + }, 100); + } else { + this.loadedAnimationsPointer = this.animations.length; + this.loadedSoundsPointer = this.sounds.length; + + // All the resources are loaded! We can now associate the animation's images to their corresponding sprites + $.gameQuery.scenegraph.children().each(function(){ + // recursive call on the children: + $(this).children().each(arguments.callee); + // add the image as a background + if(this.gameQuery && this.gameQuery.animation){ + $(this).css("background-image", "url("+this.gameQuery.animation.imageURL+")"); + // we set the correct kind of repeat + if(this.gameQuery.animation.type & $.gameQuery.ANIMATION_VERTICAL) { + $(this).css("background-repeat", "repeat-x"); + } else if(this.gameQuery.animation.type & $.gameQuery.ANIMATION_HORIZONTAL) { + $(this).css("background-repeat", "repeat-y"); + } else { + $(this).css("background-repeat", "no-repeat"); + } + } + }); + + // Launch the refresh loop + if($.gameQuery.state === STATE_NEW){ + setInterval(function () { + $.gameQuery.resourceManager.refresh(); + },($.gameQuery.refreshRate)); + } + $.gameQuery.state = STATE_RUNNING; + if($.gameQuery.startCallback){ + $.gameQuery.startCallback(); + } + // Make the scenegraph visible + $.gameQuery.scenegraph.css("visibility","visible"); + } + }, + + /** + * This function refresh a unique sprite here 'this' represent a dom object + */ + refreshSprite: function() { + // Check if 'this' is a gameQuery element + if(this.gameQuery != undefined){ + var gameQuery = this.gameQuery; + // Does 'this' has an animation ? + if(gameQuery.animation){ + // Do we have anything to do? + if ( (gameQuery.idleCounter == gameQuery.animation.rate-1) && gameQuery.playing){ + + // Does 'this' loops? + if(gameQuery.animation.type & $.gameQuery.ANIMATION_ONCE){ + if(gameQuery.currentFrame < gameQuery.animation.numberOfFrame-1){ + gameQuery.currentFrame += gameQuery.frameIncrement; + } else if(gameQuery.currentFrame == gameQuery.animation.numberOfFrame-1) { + // Does 'this' has a callback ? + if(gameQuery.animation.type & $.gameQuery.ANIMATION_CALLBACK){ + if($.isFunction(gameQuery.callback)){ + gameQuery.callback(this); + } + } + } + } else { + if(gameQuery.animation.type & $.gameQuery.ANIMATION_PINGPONG){ + if(gameQuery.currentFrame == gameQuery.animation.numberOfFrame-1 && gameQuery.frameIncrement == 1) { + gameQuery.frameIncrement = -1; + } else if (gameQuery.currentFrame == 0 && gameQuery.frameIncrement == -1) { + gameQuery.frameIncrement = 1; + } + } + + gameQuery.currentFrame = (gameQuery.currentFrame+gameQuery.frameIncrement)%gameQuery.animation.numberOfFrame; + if(gameQuery.currentFrame == 0){ + // Does 'this' has a callback ? + if(gameQuery.animation.type & $.gameQuery.ANIMATION_CALLBACK){ + if($.isFunction(gameQuery.callback)){ + gameQuery.callback(this); + } + } + } + } + // Update the background + if((gameQuery.animation.type & $.gameQuery.ANIMATION_VERTICAL) && (gameQuery.animation.numberOfFrame > 1)){ + if(gameQuery.multi){ + $(this).css("background-position",""+(-gameQuery.animation.offsetx-gameQuery.multi)+"px "+(-gameQuery.animation.offsety-gameQuery.animation.delta*gameQuery.currentFrame)+"px"); + } else { + $(this).css("background-position",""+(-gameQuery.animation.offsetx)+"px "+(-gameQuery.animation.offsety-gameQuery.animation.delta*gameQuery.currentFrame)+"px"); + } + } else if((gameQuery.animation.type & $.gameQuery.ANIMATION_HORIZONTAL) && (gameQuery.animation.numberOfFrame > 1)) { + if(gameQuery.multi){ + $(this).css("background-position",""+(-gameQuery.animation.offsetx-gameQuery.animation.delta*gameQuery.currentFrame)+"px "+(-gameQuery.animation.offsety-gameQuery.multi)+"px"); + } else { + $(this).css("background-position",""+(-gameQuery.animation.offsetx-gameQuery.animation.delta*gameQuery.currentFrame)+"px "+(-gameQuery.animation.offsety)+"px"); + } + } + } + gameQuery.idleCounter = (gameQuery.idleCounter+1)%gameQuery.animation.rate; + } + } + return true; + }, + + /** + * This function refresh a unique tile-map, here 'this' represent a dom object + */ + refreshTilemap: function() { + // Check if 'this' is a gameQuery element + if(this.gameQuery != undefined){ + var gameQuery = this.gameQuery; + if($.isArray(gameQuery.frameTracker)){ + for(var i=0; i 1)){ + $(this).css("background-position",""+(-gameQuery.animations[animationNumber].offsetx)+"px "+(-gameQuery.animations[animationNumber].offsety-gameQuery.animations[animationNumber].delta*gameQuery.frameTracker[animationNumber])+"px"); + } else if((gameQuery.animations[animationNumber].type & $.gameQuery.ANIMATION_HORIZONTAL) && (gameQuery.animations[animationNumber].numberOfFrame > 1)) { + $(this).css("background-position",""+(-gameQuery.animations[animationNumber].offsetx-gameQuery.animations[animationNumber].delta*gameQuery.frameTracker[animationNumber])+"px "+(-gameQuery.animations[animationNumber].offsety)+"px"); + } + } else { + if((gameQuery.animations.type & $.gameQuery.ANIMATION_VERTICAL) && (gameQuery.animations.numberOfFrame > 1)){ + $(this).css("background-position",""+(-gameQuery.animations.offsetx-this.gameQuery.multi)+"px "+(-gameQuery.animations.offsety-gameQuery.animations.delta*gameQuery.frameTracker)+"px"); + } else if((gameQuery.animations.type & $.gameQuery.ANIMATION_HORIZONTAL) && (gameQuery.animations.numberOfFrame > 1)) { + $(this).css("background-position",""+(-gameQuery.animations.offsetx-gameQuery.animations.delta*gameQuery.frameTracker)+"px "+(-gameQuery.animations.offsety-this.gameQuery.multi)+"px"); + } + } + }); + } + return true; + }, + + /** + * Called periodically to refresh the state of the game. + */ + refresh: function() { + if($.gameQuery.state === STATE_RUNNING) { + $.gameQuery.playground.find("."+$.gameQuery.spriteCssClass).each(this.refreshSprite); + $.gameQuery.playground.find("."+$.gameQuery.tilemapCssClass).each(this.refreshTilemap); + var deadCallback= new Array(); + for (var i = this.callbacks.length-1; i >= 0; i--){ + if(this.callbacks[i].idleCounter == this.callbacks[i].rate-1){ + var returnedValue = this.callbacks[i].fn(); + if(typeof returnedValue == 'boolean'){ + // If we have a boolean: 'true' means 'no more execution', 'false' means 'keep on executing' + if(returnedValue){ + deadCallback.push(i); + } + } else if(typeof returnedValue == 'number') { + // If we have a number it re-defines the time to the next call + this.callbacks[i].rate = Math.round(returnedValue/$.gameQuery.refreshRate); + this.callbacks[i].idleCounter = 0; + } + } + this.callbacks[i].idleCounter = (this.callbacks[i].idleCounter+1)%this.callbacks[i].rate; + } + for(var i = deadCallback.length-1; i >= 0; i--){ + this.callbacks.splice(deadCallback[i],1); + } + } + }, + + /** + * Add an animation to the resource Manager + */ + addAnimation: function(animation, callback) { + if($.inArray(animation,this.animations)<0){ + //normalize the animation rate: + animation.rate = Math.round(animation.rate/$.gameQuery.refreshRate); + if(animation.rate==0){ + animation.rate = 1; + } + this.animations.push(animation); + switch ($.gameQuery.state){ + case STATE_NEW: + case STATE_PAUSED: + // Nothing to do for now + break; + case STATE_RUNNING: + // immediatly load the animation and call the callback if any + this.animations[this.loadedAnimationsPointer].domO = new Image(); + this.animations[this.loadedAnimationsPointer].domO.src = animation.imageURL; + if (callback !== undefined){ + this.animations[this.loadedAnimationsPointer].domO.onload = callback; + } + this.loadedAnimationsPointer++; + break; + } + } + }, + + /** + * Add a sound to the resource Manager + */ + addSound: function(sound, callback){ + if($.inArray(sound,this.sounds)<0){ + this.sounds.push(sound); + switch ($.gameQuery.state){ + case STATE_NEW: + case STATE_PAUSED: + // Nothing to do for now + break; + case STATE_RUNNING: + // immediatly load the sound and call the callback if any + sound.load(); + // TODO callback.... + this.loadedSoundsPointer++; + break; + } + } + }, + + /** + * Register a callback + * + * @param {function} fn the callback + * @param {integer} rate the rate in ms at which the callback should be called (should be a multiple of the playground rate or will be rounded) + */ + registerCallback: function(fn, rate){ + rate = Math.round(rate/$.gameQuery.refreshRate); + if(rate==0){ + rate = 1; + } + this.callbacks.push({fn: fn, rate: rate, idleCounter: 0}); + }, + + /** + * Clear the animations and sounds + */ + clear: function(callbacksToo){ + this.animations = []; + this.loadedAnimationsPointer = 0; + this.sounds = []; + this.loadedSoundsPointer = 0; + if(callbacksToo) { + this.callbacks = []; + } + } + }, + + /** + * This is a single place to update the underlying data of sprites/groups/tiles after a position or dimesion modification. + */ + update: function(descriptor, transformation) { + // Did we really receive a descriptor or a jQuery object instead? + if(!$.isPlainObject(descriptor)){ + // Then we must get real descriptor + if(descriptor.length > 0){ + var gameQuery = descriptor[0].gameQuery; + } else { + var gameQuery = descriptor.gameQuery; + } + } else { + var gameQuery = descriptor; + } + // If we couldn't find one we return + if(!gameQuery) return; + if(gameQuery.tileSet === true){ + // We have a tilemap + + var visible = visibleTilemapIndexes(descriptor); + var buffered = gameQuery.buffered; + + // Test what kind of transformation we have and react accordingly + for(property in transformation){ + switch(property){ + case "x": + + if(visible.lastColumn > buffered.lastColumn) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var i = gameQuery.buffered.firstRow; i < gameQuery.buffered.lastRow; i++){ + // Remove the newly invisible tiles + for(var j = gameQuery.buffered.firstColumn; j < Math.min(newBuffered.firstColumn, gameQuery.buffered.lastColumn); j++) { + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var j = Math.max(gameQuery.buffered.lastColumn,newBuffered.firstColumn); j < newBuffered.lastColumn ; j++) { + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstColumn = newBuffered.firstColumn; + gameQuery.buffered.lastColumn = newBuffered.lastColumn; + + // Attach the tilemap back + tilemap.appendTo(parent); + + } + + if(visible.firstColumn < buffered.firstColumn) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var i = gameQuery.buffered.firstRow; i < gameQuery.buffered.lastRow; i++){ + // Remove the newly invisible tiles + for(var j = Math.max(newBuffered.lastColumn,gameQuery.buffered.firstColumn); j < gameQuery.buffered.lastColumn ; j++) { + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var j = newBuffered.firstColumn; j < Math.min(gameQuery.buffered.firstColumn,newBuffered.lastColumn); j++) { + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstColumn = newBuffered.firstColumn; + gameQuery.buffered.lastColumn = newBuffered.lastColumn; + + // Attach the tilemap back + tilemap.appendTo(parent); + } + break; + + case "y": + + if(visible.lastRow > buffered.lastRow) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var j = gameQuery.buffered.firstColumn; j < gameQuery.buffered.lastColumn ; j++) { + // Remove the newly invisible tiles + for(var i = gameQuery.buffered.firstRow; i < Math.min(newBuffered.firstRow, gameQuery.buffered.lastRow); i++){ + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var i = Math.max(gameQuery.buffered.lastRow, newBuffered.firstRow); i < newBuffered.lastRow; i++){ + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstRow = newBuffered.firstRow; + gameQuery.buffered.lastRow = newBuffered.lastRow; + + // Attach the tilemap back + tilemap.appendTo(parent); + + } + + if(visible.firstRow < buffered.firstRow) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var j = gameQuery.buffered.firstColumn; j < gameQuery.buffered.lastColumn ; j++) { + // Remove the newly invisible tiles + for(var i = Math.max(newBuffered.lastRow, gameQuery.buffered.firstRow); i < gameQuery.buffered.lastRow; i++){ + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var i = newBuffered.firstRow; i < Math.min(gameQuery.buffered.firstRow, newBuffered.lastRow); i++){ + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstRow = newBuffered.firstRow; + gameQuery.buffered.lastRow = newBuffered.lastRow; + + // Attach the tilemap back + tilemap.appendTo(parent); + } + break; + + case "angle": + //TODO + break; + + case "factor": + //TODO + break; + } + } + + } else { + var refreshBoundingCircle = $.gameQuery.playground && !$.gameQuery.playground.disableCollision; + + // Update the descriptor + for(property in transformation){ + switch(property){ + case "x": + if(refreshBoundingCircle){ + gameQuery.boundingCircle.x = gameQuery.posx+gameQuery.width/2; + } + break; + case "y": + if(refreshBoundingCircle){ + gameQuery.boundingCircle.y = gameQuery.posy+gameQuery.height/2; + } + break; + case "w": + case "h": + gameQuery.boundingCircle.originalRadius = Math.sqrt(Math.pow(gameQuery.width,2) + Math.pow(gameQuery.height,2))/2 + gameQuery.boundingCircle.radius = gameQuery.factor*gameQuery.boundingCircle.originalRadius; + break; + case "angle": //(in degrees) + gameQuery.angle = parseFloat(transformation.angle); + break; + case "factor": + gameQuery.factor = parseFloat(transformation.factor); + if(refreshBoundingCircle){ + gameQuery.boundingCircle.radius = gameQuery.factor*gameQuery.boundingCircle.originalRadius; + } + break; + } + } + } + }, + // State of the engine + state: STATE_NEW, + + // CSS classes used to mark game element + spriteCssClass: gQprefix + "sprite", + groupCssClass: gQprefix + "group", + tilemapCssClass: gQprefix + "tilemap", + tileCssClass: gQprefix + "tile", + // Prefix for CSS Ids or Classes + tileTypePrefix: gQprefix + "tileType_", + tileIdPrefix: gQprefix + "tile_" + }, + + /** + * Mute (or unmute) all the sounds. + */ + muteSound: function(muted){ + for (var i = $.gameQuery.resourceManager.sounds.length-1 ; i >= 0; i --) { + $.gameQuery.resourceManager.sounds[i].muted(muted); + } + }, + + /** + * Accessor for the currently defined playground as a jQuery object + */ + playground: function() { + return $.gameQuery.playground + }, + + /** + * Define a callback called during the loading of the game's resources. + * + * The function will recieve as unique parameter + * a number representing the progess percentage. + */ + loadCallback: function(callback){ + $.gameQuery.resourceManager.loadCallback = callback; + } + }); // end of the extensio of $ + + + // fragments used to create DOM element + var spriteFragment = $("
"); + var groupFragment = $("
"); + var tilemapFragment = $("
"); + + + // Define the list of object/function accessible through $("selector"). + $.fn.extend({ + /** + * Defines the currently selected div to which contains the game and initialize it. + * + * This is a non-destructive call + */ + playground: function(options) { + if(this.length == 1){ + if(this[0] == document){ + // Old usage detected, this is not supported anymore + throw "Old playground usage, use $.playground() to retreive the playground and $('mydiv').playground(options) to set the div!"; + } + options = $.extend({ + height: 320, + width: 480, + refreshRate: 30, + position: "absolute", + keyTracker: false, + mouseTracker: false, + disableCollision: false + }, options); + // We save the playground node and set some variable for this node: + $.gameQuery.playground = this; + $.gameQuery.refreshRate = options.refreshRate; + $.gameQuery.playground[0].height = options.height; + $.gameQuery.playground[0].width = options.width; + + // We initialize the display of the div + $.gameQuery.playground.css({ + position: options.position, + display: "block", + overflow: "hidden", + height: options.height+"px", + width: options.width+"px" + }) + .append(""+(g[0]>0&&N==g[1]-1?'
':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='
',m="";if(f||!i)m+=''+g[b]+"";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='"}k||(l+=m+(f||!i||!j?" ":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+=''+c+"";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?" ":"")+m),l+="
",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&bd?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.23",window["DP_jQuery_"+dpuuid]=$})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.progressbar.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("
").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){return a===b?this._value():(this._setOption("value",a),this)},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;return typeof a!="number"&&(a=0),Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +jQuery.effects||function(a,b){function c(b){var c;return b&&b.constructor==Array&&b.length==3?b:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))?[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)]:(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))?[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))?[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]:(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))?[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]:(c=/rgba\(0, 0, 0, 0\)/.exec(b))?e.transparent:e[a.trim(b).toLowerCase()]}function d(b,d){var e;do{e=(a.curCSS||a.css)(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};return a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete,[b,c,d,e]}function l(b){return!b||typeof b=="number"||a.fx.speeds[b]?!0:typeof b=="string"&&!a.effects[b]?!0:!1}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){return a.isFunction(d)&&(e=d,d=null),this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class")||"";a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.23",save:function(a,b){for(var c=0;c
").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;try{e.id}catch(f){e=document.body}return b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(),c):b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];return a.fx.off||!i?h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)}):i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="show",this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="hide",this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);return c[1].mode="toggle",this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}});var m={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,b){m[b]=function(b){return Math.pow(b,a+2)}}),a.extend(m,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return a===0||a===1?a:-Math.pow(2,8*(a-1))*Math.sin(((a-1)*80-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){var b,c=4;while(a<((b=Math.pow(2,--c))-1)/11);return 1/Math.pow(4,3-c)-7.5625*Math.pow((b*3-2)/22-a,2)}}),a.each(m,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(a*2)/2:c(a*-2+2)/-2+1}})}(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.blind.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.bounce.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight(!0)/3:c.outerWidth(!0)/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m
").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.fade.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.fold.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.highlight.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.pulsate.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show"),e=(b.options.times||5)*2-1,f=b.duration?b.duration/2:a.fx.speeds._default/2,g=c.is(":visible"),h=0;g||(c.css("opacity",0).show(),h=1),(d=="hide"&&g||d=="show"&&!g)&&e--;for(var i=0;i
').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);; \ No newline at end of file diff --git a/demo/pacman/lib/soundmanager2.min.js b/demo/pacman/lib/soundmanager2.min.js new file mode 100644 index 0000000..c7987c1 --- /dev/null +++ b/demo/pacman/lib/soundmanager2.min.js @@ -0,0 +1,106 @@ +/** @license + + + SoundManager 2: JavaScript Sound for the Web + ---------------------------------------------- + http://schillmania.com/projects/soundmanager2/ + + Copyright (c) 2007, Scott Schiller. All rights reserved. + Code provided under the BSD License: + http://schillmania.com/projects/soundmanager2/license.txt + + V2.97a.20130101 +*/ +(function(j,g){function aa(aa,pa){function ba(a){return c.preferFlash&&z&&!c.ignoreFlash&&c.flash[a]!==g&&c.flash[a]}function q(a){return function(d){var e=this._s;!e||!e._a?(e&&e.id?c._wD(e.id+": Ignoring "+d.type):c._wD(pb+"Ignoring "+d.type),d=null):d=a.call(this,d);return d}}this.setupOptions={url:aa||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:"#ffffff",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1E3, +wmode:null,allowScriptAccess:"always",useFlashBlock:!1,useHTML5Audio:!0,html5Test:/^(probably|maybe)$/i,preferFlash:!0,noSWFCache:!1};this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null,usePolicyFile:!1,volume:100};this.flash9Options={isMovieStar:null,usePeakData:!1, +useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null};this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null};this.audioFormats={mp3:{type:['audio/mpeg; codecs="mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1},ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},wav:{type:['audio/wav; codecs="1"', +"audio/wav","audio/wave","audio/x-wav"],required:!1}};this.movieID="sm2-container";this.id=pa||"sm2movie";this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.versionNumber="V2.97a.20130101";this.altURL=this.movieURL=this.version=null;this.enabled=this.swfLoaded=!1;this.oMC=null;this.sounds={};this.soundIDs=[];this.didFlashBlock=this.muted=!1;this.filePattern=null;this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.features={buffering:!1,peakData:!1,waveformData:!1, +eqData:!1,movieStar:!1};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null};this.html5={usingFlash:null};this.flash={};this.ignoreFlash=this.html5Only=!1;var Pa,c=this,Qa=null,i=null,pb="HTML5::",A,s=navigator.userAgent,R=j.location.href.toString(), +h=document,qa,Ra,ra,l,C=[],sa=!0,x,S=!1,T=!1,n=!1,r=!1,ca=!1,k,qb=0,U,v,ta,K,ua,I,L,M,Sa,va,da,F,ea,wa,N,xa,V,fa,ga,O,Ta,ya,Ua=["log","info","warn","error"],Va,za,Wa,W=null,Aa=null,p,Ba,P,Xa,ha,ia,Q,t,X=!1,Ca=!1,Ya,Za,$a,ja=0,Y=null,ka,J=[],B=null,ab,la,Z,G,Da,Ea,bb,u,cb=Array.prototype.slice,D=!1,Fa,z,Ga,db,E,eb,Ha,ma=s.match(/(ipad|iphone|ipod)/i),fb=s.match(/android/i),H=s.match(/msie/i),rb=s.match(/webkit/i),Ia=s.match(/safari/i)&&!s.match(/chrome/i),Ja=s.match(/opera/i),Ka=s.match(/(mobile|pre\/|xoom)/i)|| +ma||fb,La=!R.match(/usehtml5audio/i)&&!R.match(/sm2\-ignorebadua/i)&&Ia&&!s.match(/silk/i)&&s.match(/OS X 10_6_([3-7])/i),gb=j.console!==g&&console.log!==g,Ma=h.hasFocus!==g?h.hasFocus():null,na=Ia&&(h.hasFocus===g||!h.hasFocus()),hb=!na,ib=/(mp3|mp4|mpa|m4a|m4b)/i,$=h.location?h.location.protocol.match(/http/i):null,jb=!$?"http://":"",kb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,lb="mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),sb=RegExp("\\.("+ +lb.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.useAltURL=!$;var Na;try{Na=Audio!==g&&(Ja&&opera!==g&&10>opera.version()?new Audio(null):new Audio).canPlayType!==g}catch(ub){Na=!1}this.hasHTML5=Na;this.setup=function(a){var d=!c.url;a!==g&&(n&&B&&c.ok()&&(a.flashVersion!==g||a.url!==g||a.html5Test!==g))&&Q(p("setupLate"));ta(a);d&&(V&&a.url!==g)&&c.beginDelayedInit();!V&&(a.url!==g&&"complete"===h.readyState)&&setTimeout(N,1);return c};this.supported= +this.ok=function(){return B?n&&!r:c.useHTML5Audio&&c.hasHTML5};this.getMovie=function(c){return A(c)||h[c]||j[c]};this.createSound=function(a,d){function e(){f=ha(f);c.sounds[f.id]=new Pa(f);c.soundIDs.push(f.id);return c.sounds[f.id]}var b,f;b=null;b="soundManager.createSound(): "+p(!n?"notReady":"notOK");if(!n||!c.ok())return Q(b),!1;d!==g&&(a={id:a,url:d});f=v(a);f.url=ka(f.url);f.id.toString().charAt(0).match(/^[0-9]$/)&&c._wD("soundManager.createSound(): "+p("badID",f.id),2);c._wD("soundManager.createSound(): "+ +f.id+" ("+f.url+")",1);if(t(f.id,!0))return c._wD("soundManager.createSound(): "+f.id+" exists",1),c.sounds[f.id];la(f)?(b=e(),c._wD(f.id+": Using HTML5"),b._setup_html5(f)):(8=a)return!1;for(a-=1;0<=a;a--)c=y[a],!c.fired&&b.position>=c.position&&(c.fired=!0,s++,c.method.apply(c.scope,[c.position]));return!0};this._resetOnPosition=function(b){var a,c;a=y.length;if(!a)return!1;for(a-=1;0<=a;a--)c=y[a],c.fired&&b<=c.position&&(c.fired=!1,s--);return!0};u=function(){var a=b._iO,d=a.from,e=a.to,f,g;g=function(){c._wD(b.id+': "To" time of '+e+" reached.");b.clearOnPosition(e,g);b.stop()};f=function(){c._wD(b.id+': Playing "from" '+d);if(null!== +e&&!isNaN(e))b.onPosition(e,g)};null!==d&&!isNaN(d)&&(a.position=d,a.multiShot=!1,f());return a};n=function(){var a,c=b._iO.onposition;if(c)for(a in c)if(c.hasOwnProperty(a))b.onPosition(parseInt(a,10),c[a])};Oa=function(){var a,c=b._iO.onposition;if(c)for(a in c)c.hasOwnProperty(a)&&b.clearOnPosition(parseInt(a,10))};h=function(){b.isHTML5&&Ya(b)};m=function(){b.isHTML5&&Za(b)};f=function(a){a||(y=[],s=0);q=!1;b._hasTimer=null;b._a=null;b._html5_canplay=!1;b.bytesLoaded=null;b.bytesTotal=null;b.duration= +b._iO&&b._iO.duration?b._iO.duration:null;b.durationEstimate=null;b.buffered=[];b.eqData=[];b.eqData.left=[];b.eqData.right=[];b.failures=0;b.isBuffering=!1;b.instanceOptions={};b.instanceCount=0;b.loaded=!1;b.metadata={};b.readyState=0;b.muted=!1;b.paused=!1;b.peakData={left:0,right:0};b.waveformData={left:[],right:[]};b.playState=0;b.position=null;b.id3={}};f();this._onTimer=function(a){var c,f=!1,g={};if(b._hasTimer||a){if(b._a&&(a||(0opera.version()?new Audio(null):new Audio,d=b._a,d._called_load=!1,D&&(Qa=d);b.isHTML5=!0;b._a=d;d._s=b;j();b._apply_loop(d,a.loops);a.autoLoad||a.autoPlay?b.load():(d.autobuffer=!1,d.preload="auto");return d};j=function(){if(b._a._added_events)return!1; +var a;b._a._added_events=!0;for(a in E)E.hasOwnProperty(a)&&b._a&&b._a.addEventListener(a,E[a],!1);return!0};mb=function(){var a;c._wD(b.id+": Removing event listeners");b._a._added_events=!1;for(a in E)E.hasOwnProperty(a)&&b._a&&b._a.removeEventListener(a,E[a],!1)};this._onload=function(a){var d=!!a||!b.isHTML5&&8===l&&b.duration,a=b.id+": ";c._wD(a+(d?"onload()":"Failed to load? - "+b.url),d?1:2);!d&&!b.isHTML5&&(!0===c.sandbox.noRemote&&c._wD(a+p("noNet"),1),!0===c.sandbox.noLocal&&c._wD(a+p("noLocal"), +1));b.loaded=d;b.readyState=d?3:2;b._onbufferchange(0);b._iO.onload&&b._iO.onload.apply(b,[d]);return!0};this._onbufferchange=function(a){if(0===b.playState||a&&b.isBuffering||!a&&!b.isBuffering)return!1;b.isBuffering=1===a;b._iO.onbufferchange&&(c._wD(b.id+": Buffer state change: "+a),b._iO.onbufferchange.apply(b));return!0};this._onsuspend=function(){b._iO.onsuspend&&(c._wD(b.id+": Playback suspended"),b._iO.onsuspend.apply(b));return!0};this._onfailure=function(a,d,e){b.failures++;c._wD(b.id+": Failures = "+ +b.failures);if(b._iO.onfailure&&1===b.failures)b._iO.onfailure(b,a,d,e);else c._wD(b.id+": Ignoring failure")};this._onfinish=function(){var a=b._iO.onfinish;b._onbufferchange(0);b._resetOnPosition(0);if(b.instanceCount&&(b.instanceCount--,b.instanceCount||(Oa(),b.playState=0,b.paused=!1,b.instanceCount=0,b.instanceOptions={},b._iO={},m(),b.isHTML5&&(b.position=0)),(!b.instanceCount||b._iO.multiShotEvents)&&a))c._wD(b.id+": onfinish()"),a.apply(b)};this._whileloading=function(a,c,d,e){var f=b._iO; +b.bytesLoaded=a;b.bytesTotal=c;b.duration=Math.floor(d);b.bufferLength=e;b.durationEstimate=!b.isHTML5&&!f.isMovieStar?f.duration?b.duration>f.duration?b.duration:f.duration:parseInt(b.bytesTotal/b.bytesLoaded*b.duration,10):b.duration;b.isHTML5||(b.buffered=[{start:0,end:b.duration}]);(3!==b.readyState||b.isHTML5)&&f.whileloading&&f.whileloading.apply(b)};this._whileplaying=function(a,c,d,e,f){var m=b._iO;if(isNaN(a)||null===a)return!1;b.position=Math.max(0,a);b._processOnPosition();!b.isHTML5&& +8opera.version()?new Audio(null):new Audio:null,e,b,f={},h;h=c.audioFormats;for(e in h)if(h.hasOwnProperty(e)&&(b="audio/"+e,f[e]=a(h[e].type),f[b]=f[e],e.match(ib)?(c.flash[e]=!0,c.flash[b]=!0):(c.flash[e]=!1,c.flash[b]=!1),h[e]&&h[e].related))for(b=h[e].related.length-1;0<=b;b--)f["audio/"+h[e].related[b]]=f[e],c.html5[h[e].related[b]]=f[e],c.flash[h[e].related[b]]=f[e];f.canPlayType=d?a:null;c.html5= +v(c.html5,f);return!0};F={notReady:"Unavailable - wait until onready() has fired.",notOK:"Audio support is not available.",domError:"soundManagerexception caught while appending SWF to DOM.",spcWmode:"Removing wmode, preventing known SWF loading issue(s)",swf404:"soundManager: Verify that %s is a valid path.",tryDebug:"Try soundManager.debugFlash = true for more security details (output goes to SWF.)",checkSWF:"See SWF output for more debug info.",localFail:"soundManager: Non-HTTP page ("+h.location.protocol+ +" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, eg. c:/sm2/ or /users/me/sm2/",waitFocus:"soundManager: Special case: Waiting for SWF to load with window focus...",waitForever:"soundManager: Waiting indefinitely for Flash (will recover if unblocked)...",waitSWF:"soundManager: Waiting for 100% SWF load...",needFunction:"soundManager: Function object expected for %s", +badID:'Warning: Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:"soundManager: _debug(): Current sound objects",waitOnload:"soundManager: Waiting for window.onload()",docLoaded:"soundManager: Document already loaded",onload:"soundManager: initComplete(): calling soundManager.onload()",onloadOK:"soundManager.onload() complete",didInit:"soundManager: init(): Already called?",secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html", +badRemove:"soundManager: Failed to remove Flash node.",shutdown:"soundManager.disable(): Shutting down",queue:"soundManager: Queueing %s handler",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying .swf_timedout CSS...",fbLoaded:"Flash loaded",flRemoved:"soundManager: Flash movie removed.",fbHandler:"soundManager: flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:"soundManager.load(): current URL already assigned.", +badFV:'soundManager.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout = 0 (infinite) for off-screen, mobile flash case",needFlash:"soundManager: Fatal error: Flash is needed to play some required formats, but is not available.",gotFocus:"soundManager: Got window focus.", +policy:"Enabling usePolicyFile for data access",setup:"soundManager.setup(): allowed parameters: %s",setupError:'soundManager.setup(): "%s" cannot be assigned with this method.',setupUndef:'soundManager.setup(): Could not find option "%s"',setupLate:"soundManager.setup(): url, flashVersion and html5Test property changes will not take effect until reboot().",noURL:"soundManager: Flash URL required. Call soundManager.setup({url:...}) to get started.",sm2Loaded:"SoundManager 2: Ready.",reset:"soundManager.reset(): Removing event callbacks", +mobileUA:"Mobile UA detected, preferring HTML5 by default.",globalHTML5:"Using singleton HTML5 Audio() pattern for this device."};p=function(){var a=cb.call(arguments),c=a.shift(),c=F&&F[c]?F[c]:"",e,b;if(c&&a&&a.length){e=0;for(b=a.length;el)&&(c._wD(p("needfl9")),c.flashVersion=l=9);c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)":9===l?" (AS3/Flash 9)":" (AS2/Flash 8)");8'}if(S&&T)return!1;if(c.html5Only)return va(),e(),c.oMC=A(c.movieID),ra(),T=S=!0,!1;var f=d||c.url,j=c.altURL||f,i=fa(),m=P(),l=null,l=h.getElementsByTagName("html")[0],k,q,n,l=l&&l.dir&&l.dir.match(/rtl/i),a=a===g?c.id:a;va();c.url=Wa($?f:j);d=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;if(null!==c.wmode&&(s.match(/msie 8/i)||!H&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i))J.push(F.spcWmode),c.wmode=null;i= +{name:a,id:a,src:d,quality:"high",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:jb+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)",type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};c.debugFlash&&(i.FlashVars="debug=1");c.wmode||delete i.wmode;if(H)f=h.createElement("div"),q=['', +b("movie",d),b("AllowScriptAccess",c.allowScriptAccess),b("quality",i.quality),c.wmode?b("wmode",c.wmode):"",b("bgcolor",c.bgColor),b("hasPriority","true"),c.debugFlash?b("FlashVars",i.FlashVars):"",""].join("");else for(k in f=h.createElement("embed"),i)i.hasOwnProperty(k)&&f.setAttribute(k,i[k]);ya();m=P();if(i=fa())if(c.oMC=A(c.movieID)||h.createElement("div"),c.oMC.id)n=c.oMC.className,c.oMC.className=(n?n+" ":"movieContainer")+(m?" "+m:""),c.oMC.appendChild(f),H&&(k=c.oMC.appendChild(h.createElement("div")), +k.className="sm2-object-box",k.innerHTML=q),T=!0;else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+m;k=m=null;c.useFlashBlock||(c.useHighPerformance?m={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(m={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},l&&(m.left=Math.abs(parseInt(m.left,10))+"px")));rb&&(c.oMC.style.zIndex=1E4);if(!c.debugFlash)for(n in m)m.hasOwnProperty(n)&&(c.oMC.style[n]=m[n]);try{H||c.oMC.appendChild(f), +i.appendChild(c.oMC),H&&(k=c.oMC.appendChild(h.createElement("div")),k.className="sm2-object-box",k.innerHTML=q),T=!0}catch(r){throw Error(p("domError")+" \n"+r.toString());}}S=!0;e();return!0};ea=function(){if(c.html5Only)return ga(),!1;if(i)return!1;if(!c.url)return k("noURL"),!1;i=c.getMovie(c.id);i||(W?(H?c.oMC.innerHTML=Aa:c.oMC.appendChild(W),W=null,S=!0):ga(c.id,c.url),i=c.getMovie(c.id));"function"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);Ha();return!0};M=function(){setTimeout(Sa, +1E3)};Sa=function(){var a,d=!1;if(!c.url||X)return!1;X=!0;u.remove(j,"load",M);if(na&&!Ma)return k("waitFocus"),!1;n||(a=c.getMoviePercent(),0a&&(d=!0));setTimeout(function(){a=c.getMoviePercent();if(d)return X=!1,c._wD(p("waitSWF")),j.setTimeout(M,1),!1;n||(c._wD("soundManager: No Flash response within expected time. Likely causes: "+(0===a?"SWF load failed, ":"")+"Flash blocked or JS-Flash security error."+(c.debugFlash?" "+p("checkSWF"):""),2),!$&&a&&(k("localFail",2),c.debugFlash||k("tryDebug", +2)),0===a&&c._wD(p("swf404",c.url),1),x("flashtojs",!1,": Timed out"+$?" (Check flash security or flash blockers)":" (No plugin/missing SWF?)"));!n&&hb&&(null===a?c.useFlashBlock||0===c.flashLoadTimeout?(c.useFlashBlock&&Ba(),k("waitForever")):(k("waitForever"),I({type:"ontimeout",ignoreInit:!0})):0===c.flashLoadTimeout?k("waitForever"):za(!0))},c.flashLoadTimeout)};da=function(){if(Ma||!na)return u.remove(j,"focus",da),!0;Ma=hb=!0;k("gotFocus");X=!1;M();u.remove(j,"focus",da);return!0};Ha=function(){J.length&& +(c._wD("SoundManager 2: "+J.join(" "),1),J=[])};eb=function(){Ha();var a,d=[];if(c.useHTML5Audio&&c.hasHTML5){for(a in c.audioFormats)c.audioFormats.hasOwnProperty(a)&&d.push(a+" = "+c.html5[a]+(!c.html5[a]&&z&&c.flash[a]?" (using flash)":c.preferFlash&&c.flash[a]&&z?" (preferring flash)":!c.html5[a]?" ("+(c.audioFormats[a].required?"required, ":"")+"and no flash support)":""));c._wD("SoundManager 2 HTML5 support: "+d.join(", "),1)}};U=function(a){if(n)return!1;if(c.html5Only)return k("sm2Loaded"), +n=!0,L(),x("onload",!0),!0;var d=!0,e;if(!c.useFlashBlock||!c.flashLoadTimeout||c.getMoviePercent())n=!0,r&&(e={type:!z&&B?"NO_FLASH":"INIT_TIMEOUT"});c._wD("SoundManager 2 "+(r?"failed to load":"loaded")+" ("+(r?"Flash security/load error":"OK")+")",r?2:1);r||a?(c.useFlashBlock&&c.oMC&&(c.oMC.className=P()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error")),I({type:"ontimeout",error:e,ignoreInit:!0}),x("onload",!1),O(e),d=!1):x("onload",!0);r||(c.waitForWindowLoad&&!ca?(k("waitOnload"), +u.add(j,"load",L)):(c.waitForWindowLoad&&ca&&k("docLoaded"),L()));return d};Ra=function(){var a,d=c.setupOptions;for(a in d)d.hasOwnProperty(a)&&(c[a]===g?c[a]=d[a]:c[a]!==d[a]&&(c.setupOptions[a]=c[a]))};ra=function(){if(n)return k("didInit"),!1;if(c.html5Only)return n||(u.remove(j,"load",c.beginDelayedInit),c.enabled=!0,U()),!0;ea();try{i._externalInterfaceTest(!1),Ta(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||i._disableDebug(),c.enabled=!0,x("jstoflash",!0),c.html5Only|| +u.add(j,"unload",qa)}catch(a){return c._wD("js/flash exception: "+a.toString()),x("jstoflash",!1),O({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),za(!0),U(),!1}U();u.remove(j,"load",c.beginDelayedInit);return!0};N=function(){if(V)return!1;V=!0;Ra();ya();var a=null,a=null,d=j.console!==g&&"function"===typeof console.log,e=R.toLowerCase();-1!==e.indexOf("sm2-usehtml5audio=")&&(a="1"===e.charAt(e.indexOf("sm2-usehtml5audio=")+18),d&&console.log((a?"Enabling ":"Disabling ")+"useHTML5Audio via URL parameter"), +c.setup({useHTML5Audio:a}));-1!==e.indexOf("sm2-preferflash=")&&(a="1"===e.charAt(e.indexOf("sm2-preferflash=")+16),d&&console.log((a?"Enabling ":"Disabling ")+"preferFlash via URL parameter"),c.setup({preferFlash:a}));!z&&c.hasHTML5&&(c._wD("SoundManager: No Flash detected"+(!c.useHTML5Audio?", enabling HTML5.":". Trying HTML5-only mode."),1),c.setup({useHTML5Audio:!0,preferFlash:!1}));bb();c.html5.usingFlash=ab();B=c.html5.usingFlash;!z&&B&&(J.push(F.needFlash),c.setup({flashLoadTimeout:1}));h.removeEventListener&& +h.removeEventListener("DOMContentLoaded",N,!1);ea();return!0};Ea=function(){"complete"===h.readyState&&(N(),h.detachEvent("onreadystatechange",Ea));return!0};xa=function(){ca=!0;u.remove(j,"load",xa)};wa=function(){if(Ka&&((!c.setupOptions.useHTML5Audio||c.setupOptions.preferFlash)&&J.push(F.mobileUA),c.setupOptions.useHTML5Audio=!0,c.setupOptions.preferFlash=!1,ma||fb&&!s.match(/android\s2\.3/i)))J.push(F.globalHTML5),ma&&(c.ignoreFlash=!0),D=!0};wa();Ga();u.add(j,"focus",da);u.add(j,"load",M);u.add(j, +"load",xa);h.addEventListener?h.addEventListener("DOMContentLoaded",N,!1):h.attachEvent?h.attachEvent("onreadystatechange",Ea):(x("onload",!1),O({type:"NO_DOM2_EVENTS",fatal:!0}))}var pa=null;if(void 0===j.SM2_DEFER||!SM2_DEFER)pa=new aa;j.SoundManager=aa;j.soundManager=pa})(window); \ No newline at end of file diff --git a/demo/pacman/sound/dies.mp3 b/demo/pacman/sound/dies.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..14c76bc9a0bcce40e38dc526e95ed22493ac59a2 GIT binary patch literal 27611 zcmeIbc~leIw&-1zjt~L_2oNA(fPeuJDUtzy(1^S9<) zbI!HO!`T7}{5S{!PHTM@e`6MZ)^3lAOj?+bN?(ox2WnHu;Ia3>f*xWL0OaidjJ@rH zBP>8GKnrBEf*m*5u)?})0m31G1fot{i&oQ%+=VZE3IfS8a|Z_lkN1uF*5pShgfD!J z!r$oRS^=})e;JwQ{eC((#&0!m40C&7;YHhK7^XRVel~iw?C`Zi8_xPgYCR^MEqb4O zU}2$kDSFxHO}=L3KtQf6)|oABR21&M9@kI2EW6>hbYWqkAFho8g(#RnQ36 zz(%eZ>x$u4hZ0G~HeSSd`?TI;lDxn5URZd=N8f(4QOls2d2!Q$YlnsF4)w^^In;Nj znhT3vKlXeKXNNik^o#c3w+Y63IZS-^b+hYc2V^NuM>@ywG6N*s#nr-Zaenvr$1N;; zKXLz#v07s46-N_d>5Ykb4WrUG;`A(!%-N;lOgUcxw3b8%s?t);#3uau3;?g?(9#*O zjJ>pj*;Tm=Z-hwgOjQ%wci}s)ER!wmpmssagiF&{9rqQkE&hw|Pc3Ge7v`}EN1+aU zvHZ|Vh=vSDRvIq@sNKX-f5v37<+{Ig*s=_-kJ$$s=0!0-Ay=9*K7@u*LT!%-%7F(t z7%@kSk3*w7I!+=!WagDjD5l?oIOb5EJ}WSRM8d&&luI&dh6T*JzSMtN>%p=WYb?9( zIgL0v6gaR%`ddL(t(q|{8-YVLs zy}=zJDBpf5f^S>Z?|NFNqGc+wS}TW*DfA@04&>D~h}{G#C=!Yq%1KPkJHjP6z6|MU z-S0JVuqo2aKZTaYhasu<8Gc?oS%C~{hMpZXO_Cwt@D6my_w(t9G=+2LN*;d8j;Z)$ zJ$>tAum?W4)gVgw#vd;&OP{Opb%SuOmycNn9_sKZ)v0a|(C|K@aW~@Wff-6{!Dxl{ zSqHEDdZ)Q9=RAv5tUm;PU;VMw(pxKc(D8VE%PQV))IcY%-Ayn23I4w98wKn;e@Q`p zHvXp)K#=sz3aOnPHwN(eaUu05F^P!Nkv^KRoaAib+-5NZG}m=`PNSg!bAX@oxjK_W zAlg)ohxpLjUP0!1mcPGQ$=$h1dJrnv&SZtsBP{g*H`d2?XuBMQ!m1)QcIydH%lWPA z2vRH#D68|A2djYo9ci$bgH{DF=}FwF&N)ukG?8CzF+*ReQh}7uf-AN%B|Ph^Q{DY= zm{tz5BL|oz1w)Wpgh`-0VzlbruHhJr3J~)MPk;WB__pSJ7ykSRi(-xzYar7FnaFu! zHpqAWtb)jNgaJAve{RjYOZTErBAyN?yl)*ZJEsZSWx&l`)g_xHw&))WNk1*@j^jlD z_fp3c0YoNrs&epsaeLHprLb8pH(QxKmuu$`$UYU ze0Dcw=tb0xsW!`)lT_j%1N8;%9F**#3xQngyCXL$`ku5PX0Xpvl7r#8<7&_#1TAf zBHym`6&tbYkJvW}Fz4G@k_P!DY1dRYH??z{Rzxi3&$=&Il>L&Wv92K6l_pAKOx>CK zc+Uj?+`97FH0pU<#KYnvGBsjf;`S&#Baq*b2J$Q2NmOT-jIA}5uEo(LcDTO`w4mpAjez8$idgzNxR!;h?N}JEF428Kz$*ZGS3J=e zBzL?PfzXJMHZwD@5Npwc13_)&x;?8)&W-ABg;u%#U?}VD!v3#eQDE>akkQf&;5sd+ zD@iyMX|*=VOo4QaLArz?1(=Gnsp7Be%HdxsfM3eZ%*E!^@@9+j{RJfL1LBX%v~X@> zU>9)gwxy2+C4FA4XP!LZZ$6+#bw97$<1a7$K*5s$BOTKaqx#cZ%8pI&SvbZ!&687h zQiUtrC?XlTrjkQ&louccSl9txCOmE|&!6TvLn}~#M-c3}bof%wOV=$|f1OJ;YTaEm zW{{sV66JSMpki}>OV8`HK+eMTqqd&k0}8wjTD^7D@4mh@?oH_>m8}zcr$4V*8+&j0 z@o3-r(UX?T_5>As9Au4ZPQROHCp?v$HN4ZG^?~r#VK{Evj5w_#mlu+>^`DNrKO6jy z5^z*o2?Sx5$EOyVM39E#i<^U{|A+`tWIc$+p!blOC_E1AZwVzJG*B482_qey$AJ`) zLl+(E$N<$ad{=es4F9n48fM)YU3vVmTWlG|XO)dyE+Juc@cpyW8(IfDnmITP`Aohj z0f7Nj8!pq`6t}GEd9WfOA%=>nP7vy1GG>U_UZ1kpIjf{FJS2^3v`ZMnhZ5|Dyc1Z#qW4sd}nOSF89HNMKaluq%q zka7U}+@P-GGZGW40CIMJ&_Y(^ol7^UOtZU0c$K{KMtsllhD#~imi%BSZ+c-rF=abg zJ`1=R;R$IHBu1c$!eHSHsclRaNXHVnQ6Ztb?r#13E7zS#Ws}knVxEF!1!n3`@um!eHB~gsvAU|V*K?XGGChMpv*-4qx+G)b>6HuR>8zxx z69Z+E4bBsUuGc-cRXlpOZMpEfn1E=Am>6)wiSDRVPv(5$4y4>YqM`gLeC=ggpmEqy zMiBe7Z6GQul0EUq+q@JPw^hNr>KL(W7Q9`|n@sjy`|gGc$#FNi{nO9;AG!D|XUk08 zUnmlAqyc9Ft5TiT{f9@A%Tz>DixO1-=!fQWFv;NyZTQpYi~d2 zaq~s=5R%{947Np`6>oJYao&*c(4Qeayje+3u&79R)-TeRLzVcZYM4Q&^WzwKWJnYF zun6l8L0Sw{KO;^J%J65rQMcZA4RSeZG5v|IRby?t5n`p#okJ(E4XEs}fR1qdGuf$c)P}MF289xYb zOS|dYoGwUb%hq3>CJGD=UjF*k=B-imtZY+TYwwQD%gkGMGll~lTHp-IjEdy1 z-oNnGCZ)+CVU@kd4WFIMZ8gKU@6;D3P8>kMAPng5HkGV=YLq9TNUF;Zk<0(HzRiEN z{>D0-3QsUPMAg!g z$1er&u#Y#HB%7=#*n(qg=i;xWc)#A9e`zT`Lao?=vNMd~l&RGOBRQw3zIWp}m$GA0SPmRH;SV950A!XC5uzxi_F zD;gE%`^!&m6A!A1Q*^|B24Yj70AN)DQi53rfh`@fY?7?B@U%=nWbOp8I)4|_lmuW- z;}td%n+41x;buZW0|qDtr2$Hi4FRHIIIhReJWTEzxAwXjeiq|x-6p%c_xX)ED~qG(rRZWpS+ZM+q03;g zL2olbfI*^I?hqPh3{Rq>T<5g1At}c%jG=S(ROansstiqk-tch;0 zp{(SCt>T}JiU`d)n39+&H6<*!dVEL1f7*NQq1QRdxxq-~NomEKjxq3l&#M-Wr;78BFC6UUetEN*?cnWVVQy>jKWoR&EB_G*F!+cmLIA5y3H?xS^=X#t zTi;)X}-QI)zU#1{}qSiH;G0X7J3xNHSsl?_mCEF^$1#PcWh zz0SLNCp+9P`jX9eA}s3F>)S|NxM5y1OzuU@jvB>4tquRC{ku#Y}`8tBM<>gGI=} zWs7sAvaoSaIP=mbEuA(hAi4Bm>$V4BAp98<7$U7i5eQ;cW%_UAoi|`E1aZeP=?S&h z_TCmQ#tK6W-0I@?j(TrxoZ~`7G)4M@p>>>veR~(@LyHVy2~dPG)DlboxSl?12PLdS zVtBhWd9ctGK=$I{a7qwu2_#!bp!3|7LF6z$)Tx3S_&J=x^TOQ;AN(-Zd+d#x()*{F_l%;xnu5{pT z2+6BmR$u>V8vYpfy&13P=I^eQPe0>m9T(C&?e{s__? z>7?F$tpgqAmZC=i3{Wg5VddnnioR=QZ5jAoNrNOFd&Y)ctv+-grYukL%0P6oxEZL; z?lUB0olf5~fJJO@I|j&Y{0 z#6BOcnoZU98x^=%p}LA1-t7rYw%J?JIUhJTgug1Eoeyx-ks_F=KqAPAKmh{ap@0O# z)tRlOS+O_z+TMP&;SwlZ7*#F7=klxzjXesDV>Ei*6a^Lv0%b8Twt(lQC0HUi%;W-g7ep!x`#=h_$4B-kEb`#^{z(=z{$W24?jWA}9w4_5yZSQ&LRdl~9%s~a{ zMZhx%zA*;ulukjtGG$~pz!5=Q8^lLEjApS(XnEu~H}b4zIkK3FLx8X`b^O|C(^J=8 zZa%6|4JJK!WaZ+@xbb4z>?Ul{`iE%ns}FO$UctK;6C3yKPyUjEfhFr5&NsZgRU$jJ zie>i4>Q8GfPc1=RGWWI*&P{2xKXd3=j<~M9y{-1qH@_{4YtD;Ky!hnqIHl2iHTK&f zXG7(ZC3yW+9GIm}Oxaj`|Jy~;%1BpdO(m3<^B--e=$V#nCQX(i0LP^uHj`{Wm&Dxr zN3Q7Q{~4cr?PP z#%y5HXsj#Gd_Iyo85CYzv^jbG@a-i|NMgE?&mPdcX76n))0W}Ld4eDxSIBTD^>tIAVYHMYaz|&Mxg*K4x+4*z zs0%zKJSM>)y`Uiv^a4v)3hkyXvlevh_oGEQw<|wQGxK(sQZO zr8}Myg!Z~$@skQXj2KQtlh5a)47HXP8fgcS}2v4U`)Wq zyz`Hrv3sAj11-ZM2#D+OY?MsTHGa^@eC4vrNF296lt{d*_V-ZSPmKPv0{|X=ndwsX zeqBcv!S`l_1;^j`WVblzCb#!x@av|cI>Z}&{pG|f067CN>?lvGjLvq<$?FO|LDhnB z(RG~R!I$*e;2w&Ylh@E4`zI%K4<}|XHxAevBZFf`PR2%45)EZ>su@wkEN-(+MWv{_b11-O z83q_qNS!sx<=J?uHWCJQn>(YKWz8&f8VJE9L8}O$0MAbYoTZe-$$zbs!o(vW*rpR0 zPv{8r7%%#|>_)4$1A{9w^8reiid$Als)efLzZD3QXiYj_3#4(_nVzo&j2F*7UjTLxY zm`kFaiM{sjl%osHpmcbb+VsXvhek9`j*QH&oc-g=xzZBZXg{uGe&sd2_*|q>K-BxD zxxW1CCRI%{SMhgF6r8Vr_**>ZQLB=BT~kij#n zzR7v)n@>wwb#)wogaUv%F$0l-m;r%afNuaZg7_?WTwc_^>^I0yCC#a_FomL_Mi&JH z&>8b+1Iw+3rQ1|JExJOT=L`E+Js|W>#$;Rn`hy|2kcB-TW8#2YDPtDq-{_YonThns z^jm$<@BZfswS(6BJrIw7wjq*Sc>*q6>Dvb2`yb@{j@{FgHIr><-5qT5c9N75_%WLV4 zAKCI*e+O%sg!1)r^4(D8xr&`Gi8qYcK6KE(i=AuU^mxzmffvS0*0K!~_ z1bDo3UhZmecDLBGv9nSu`AXBvViq2UcM0fi+_4vqjok`8`l005D&(0vUMAtB`%yXWw>m|$MHxmGTnB+j)f_e=O% zg~DCUnEu=@mE+T3HYJ;2Kwqp)112D>SlzYOH=?n<(NCWy1>~LC1e8z%3Bn`}1VLyc zRGuqdPAVNKB7%4YP@&}*R`@~%0Z>#yB;cx!l3mGgWZWOad*L5@c|$ZIX9pwj{fqwd zO8108U!V=|@6Q`N5R4{>%j|bXKU*mv)1Cut6y61ax z=ZK|+`mU6%|Fc0V^b0~s0z60ExVF{XN7TJ z#yRVSBx4omtTNfjE`So+VE|2paRbN92%G#B)yxZ{Riv&6eGnoL5-u6FoZR8FVEjjO z%e|LY-$(3TNP9MKHPDI|W$fAbrt{b_vsaBfPQN+(V!PwArFp$|AJ$i$y!NiUX<;X& zS32eNi_voCSjw(HFMR8KR{!U-6(!e-KNdZxt1a|xrEfZYYEzD#x83R*DS^ddO!@@9 z@`d$(S07%Hz@au{vj)CDn%0a~4mWV?fGOh{zq3EpUazLFf6(4~?#}5?EA)16nK6F# zsJ8L$D^KbUt$zfv|B9CUZ2P~H0NQNDI7cNugKs)C7rSXwdiJ%08_jWNRP9HC>yZ+ zxn-a`fNG3#1pt9Oz!pL)Q7{b(rKE*nQ4ya9V{<(tSFYwJ$44^0N1wkGrOJ-QHYOH| zwifk8LFSRPyErwOnmii?3RM9dTu4yO$%i29r1a9%+D8oD1dJf#06z-1HLpa@rjJwcrtlIqe43EUG;63XaB=ut^fkCKe1}$rnlVbL zd^;-a+z*Dd`xf@S{{KP><#_?Fx7TU6G)As#Z{cTwTXYhwKo2dE@h{Io_^zbKP~2w2 z1RzniyY`{+AsS6>rG8B0gaY50MZD?cav`M5-39@XOb+AuZm>iXAem7e<@bx0V}(>A z0V!pDN^RG*-Y?)cT43B?wwmByrH%K!T6W^jeBxcxRc3g?_to!osNPoJDt#`Q`b}Mb z)}MUmy`k4HWlkU8J~J!o)5ScNTzd+=7`&IJJ^4=Kvd^n)$tzldBfk|tsk^G1ZJL@W zanZwE7q$)^iH+*TEUwdV0$lpt=g!{^$8LYOoZ^lpBR2WGmSrv1|e7~tua*!r~RD!w9_lhoxLMxOc{ZE=fkPv zMFd%OWyeIqX#MPU_m4M42?L?R4hpF|iPA?P^rlh8LL}N11Ltr&2^he8)2}|NQd%fL zR!7LF>iiylF|EIrW>RxcLGC03KeEjLEtCgTHmz`i{h9$H;?Syt z%jTry&Y`be1a41_`y(P>%yLZusGme%9!Gl=65kl@w5knIsDFUV`CJFT*|HV$AL)Is}xa-QFH(8rZq?Jg_`@{sNFH_spBSU%@}4BDwwYnk!QOzARtDgAla#VN?*!{X|VfD6lb1@@1{#K4ai z*6WpA^@&{B_Lbhc24M6@?7G*qB=(o9hO{k&*ND%ax}SJMLM-5l5!{&TIdII)2IMSk=Re!m+-S_&=N_QnxWSi}++jj?ew@5Vr5@NG2(XgCq@ zGyOF?Fr$aKu9ExSox-f8F_?Qv#=}jmGWTbe}Qv@7DAux6Yw%LauSKpR_44rh~2T-8B3ebH`D8dJ7 zQNW|q#yzsSqYt4sh|>G>yEo)H`W}u-JTzHe771qG<~hP7SJ%kEvnTS54>**Mx$>sw zF8;7XK5rKGQ+ZLq)6}thyu&8t#NLPzdH6ael__uNH$~|TWl>1+C>$XzBYj2*o3U7U zaSJ<67MamBA$L+E{_gDvDIY0^LLlE#8&KmS_W;Z#64kzCw8wAhoqJ`EM*2iY#HKH% zMUU1xU*Q!>STf44@X(|&tDu&xWZJ1WLhQF?J>1xj2Z=I|iO9SWnL*HRvM0r7QeI9= z&#xWLzms&lOcf4$Otr|T1o5sGAJE$G!eWglWUG=CH>?#V*0WyS*{kuIg*8pTR}^@a zWALhRP-8>FT>+|#P$rerj$~KM8!I7?C!HKo9ua<*DHn9Un^=q?ReXD zt7Sd$@6iOypGf?53Ft+sD}_0TxjpG&`Vyg`W#AlvniuGXHx1hBHPG~m&|#7xhk^2h z7?jY)2;b+NZ=Ndb+=K7a91O@}Ki(*;T*^*Xz-yzhtY+zFEQo|DQ8Y!wx(}it3ppvB zWJW|udn!e7;ryTo0&gph5qpUd`rt^!q#2ha2+g&Lo~3dp5DC8VarfI|Sa!U6To{K$ z#VgC!UaU?5L1|mah zBPH771>lUT919>is*`42Nn=zL!dL?*$bi($y?x$UR(zG#)fg+X`?{D_Q$v&79}E@s zEgXnjWN0zP3YGMwt2s93_r7M>5eKoibr|?!9eQj@4{j1saJLzI=wN!T8 zM`FUxulQ4ZD_LA7{<$XU;k0ww#oP_P|KSR ztgH>?#MyuaNo$T&CIaJ4UfJ?$5=M`9`-1#G{u`fN34d**}agD0oW z`?qaOjrR!NHIeC_Htu{!7XV=n&eTi1v2yZ6l78mm8WYnblQD_M(tTXpi!;_?zS@Vc z<^Eij_rD7r{4ei80Evtfcp@bL>d+XTxo=2@1vkfVZ@W8ZbfEg_v?HbpNIafgWSuE} zzoaHFx2vMZDg4;^z=QM3ay2@OD-${$3EQPoKq}fEMUVrhC|Fp284|Chd;^5CBQ2aC zflFN72mx>2D2&@C(m=?ijZ+wk2tF7E6S06$ z1Ic*@|d99^vM|q9~pANJ}Ky6G&n^6|ub`klhIfbr;t56=ldQ zoNuU1bXtv1`*}xta&+2mvbGgA)#vMI0kPXI@RG=*zq9^31Sp7 z#qYCOjm*OyvPTAm5v2`d8}fU+$6rXU4BqM7BvIIW$Xb2mYOtYd@DTE~to%2Fp&X`7 zlGU?IdEa_tTU4wr5^~#?Tj?Z49`q(p{bIaJt0*AruA>zKCRV)>=qx*-c)sn_L{2Y? zz$9~F+;4YxYW-<17**8k=ty%8cQ9#UPBa;Z+%FG;P+~eG4N>}W-e>3L2iH?*BYX<} z34M8q*GZX6{WEiB;oYQjt)K(RVW{Udc>}V^Aj9A5=q_j6$F|XfQz|P?jE=>>ezhgb zTxRuvDv1igW+fWW!OzKG1 z=m?iXJE^8GR`n!10JjZZcR7Dn3l5!M?VN1yL7!;Q74QjCn^daz#3KUS4eys&H%diBX*1fn zn6+41ByFbDYl*-aT@dLY0`vf6H!GSiHTmWCS@~s_8}STa09lE34}IXrdp{O~{T$=) zHtfp~*P|k~V>FEOBz7^O6*U`5ImZLOM-Y4>vMa+l_Gxs^UPxy-$U#8_B}k}%Rc2HF zwiLY7bYZvi<_O?j(&HdH4pZ@BVjlvvPiv%fG3E|(vGi4XpB`kI{c`#yffRyzeL(Bfg*-D`Ht(=d>5I)v?Q{2#Dyh$>hjY|W0z;u~PpQT4@!(|> z_?R*Eu9n%lvsUss=~y+iLmA6c9`(mk#+SXp2#}9J*Qi|Zj#gpkH!Me|Hm89Budju( z8vDBEJ$E!-dmX*6uJcV*>~`k+-UQw39Upg|+AK-g{Q0uLJoUj5X1FgNzTuy^XP!~Fh%fYh@321a~ua+Ds z+moyEg3kh;CGA1LU5?GHh~D(`x`?xD1Pest zO;mbViz1H5D5`xloLn6;_-2*0pP7v$jGsExTw)fQ00gP7Qxjt;ra$b^SLcPj5n&;~ zJH}&E4Xo+eG*Lh@YqX6SsOp}O>>7SLJVIdKqD$>u+_fZKa>?fG107|-P>-aI<~PNd zxr$5L7t0xC-1yy@x3NC1sXc`l-0IHAT7gv{oRTDl**|1 zz;7)}Ek`AX50~9o^83Ups|kszxN*Z>zY{(a-;d-!P8)yjacSkv+FyBP=S#Xz^_dP0 zyVhARaocL5xIyQs;ek!}chg?3%$Y|>=Q&2qm`$EKhvsz4VZtYHCkhf zKPC;2P=_i@uqJfu=iX-)3^iGj9$Ja5N&@6$A>ML|vS21IU(s&06+ZipY4Op;I_1+A zW(AP*TDs_(1?voyJ;dB_-R9x>l`&`R5NoVvzW@Y`o22*L@m{o0qN(co{SHPlc;cRu z@#Wisf}=A!nyyjDj3t`A4p`UB!)|Wa>j%e-A4g#-EM{)x&)BC+_AKqq<(KIEcNIx=5zjnJ!a(&ZWX<5x z5tJh+3lc!eN6(;u%s-$}bqI?`@r^$C2W&vgEtX$PkO))M7rO5chJHy|*iBw!=y}59 zO4VI9qxH@hKC2qmnho{zd$4htdj7A$SThhRkkW1_m1koxPo)r;tq#gI$w-Q$sTc2_EG1;i~dEeZd zLuuvD<2B)a22Y)qLuSAs6BfLZyWDw?c&Zf8@Gr!NuNeBeU%v;V<@8(+SjtO_q~PE!Bu|Abfap<*irh| zZC0F8Cf*+6Z(wRmm@5jIZZS3{Uu>Lhp)2c|A?X%{42IazLU#wVn_~Ge#2ztYYqFQw zVhL@}vtZ9#G@hc9*E8a}=ttr#`BPToGgQ+8F^g_C^0zvLiNS@v)R>?j`5~ACCL;r= z#!KnX!qGr@br%m$yxg&90TFPmi=ndzKK-SIdiwE~G8G_6@KW+Y@LSV>_C#*Fz?CJR z_V`e{=*@ITOhfUST}C%|Jlr?wK2pW4%s@8xy#J%K(fx3cVqNozKaK_7f4t*kg_AV2 zD|#u)OZ>7OE)NKk+cG%c53Vkhn{(68_-)gBpS3mTq~X)wyvGTJ6x<WLWQQ@U3JOJ|Pm<4yT_5G9Gv zQcmdS<{bs1cbaV_&XMY+9O-?)HBobw0zmgQj63~Bz`|1zfo&%N?5mVNybdLTsb5SO*0AV z?(GW4pjfV5U~YG&1BgUsN*%bq1nILO4z{zB04&zAao?M82uF=|5w#P}Vj8w{c-EaF zk0`{-0447cZacq&X5fZIq<2;#WF)5cCN7K8!HV?c5*A}$?v8{dRD=rPh;c>W#YC-T z^k)H!JMO8cvp;TP?2<}rlG1k_$}u)0H>NK$^ln{l8(?-HoL_SU9#EqR`03%gV%%Vj z!eq_cgE84Qn&kKKHR`C_D3>k+ zu#0`EIB$+X0&0dKcQ!Cf!8cfs2u)FP8N6CjY)-pQjd4Qt|v#_h6lJYqb5>kDJF% zZeqU}uUm2IQNDRnL-{EVdew63n|R}&n*|giH z!)eT+47!UyecfqhACJ*}$a*W%x<#_;@b{HN6U=py+77a0AMbr3vPVYj4_^7gbfti1 zrH7{qX#V&FypX6Zlv?1$MtBqrpMsP1+sgv2z?&vzljQ>E#5|U0T*(ZP4Hr^EC`1ef zt}2m=pdhk;CRYXUMQ3v%EE{o|EkB$((tJg6ZaW@@QV?V0G{8INBiSGVGtQNWvrDPP$$V|tyst5t*tdOGYIV} zF!R3Dd{=VWODsuqokm4h98+EJ)GXHo{6vb|xw$W6b7*%;8q9`m=vVR`D?&zqf+#? zHFfHj``hm->Dj^hpywW5lwI?uS;Q^suFDRL9GAeJwZT2&jhXn~rMiMo9`XbDSkcP2 zzrwJrr1kZa=tudU)80?Mr5*^dIsJ2MtpB*_`R`j|1ALR7@C(>tGsJ4HgHzQ^oLS#MVUKeJ5zNsOD#|wqm0enI_y=^5PCyO!ZsF!c&^q)^}m&7Mt zd>MMg@NCW$zbIm^*q}oc%fCi1>@*oJ&TsDzXz$9>%B`c<^7v(5G@D-NO_$yMh&7w3 ztGv7|Q)=nbXWITZck3v|tq_{fyfw-cRZG`4No9f-rRL27R*fD%+*+;1B?oDo%TlT2 zeirjWKSzB?h)yDeQvxFsn|X9{7>0MIXr5_CKkN6Q%2m+oaje#sGMURYNRaV?P8tgKAV3gi| z(j{%J;K3XB-+$erh`b7n9?yPi!tMEE$0X#OV&8SleMgg}Rp+~g&}@K0H8$7GOkxe1 z?8eumWEF1N@cMlL z)&_yaxRORGG4d@Z9*9FGk}L%04s|)q8)5*{7*AZInuCv36n7kPl*=Jy8+gK4B`&-; z%EPeMbBLn@AS7y_F*-+}k|8iXC{RLoAReR}^Xq3rGd%mx_m}5nJUdiJKWOAzl%Z9S z)(4!k?0IYZ{e%6n_jZAhl(;H82DyZzKtX35z05*RTgPd;sgpE zhxt<5^k>moHS&V-7!?v;_Xk4;j~8~<@`8Ts&`63?Ciy64q52_lKHa|bWittdq+HQU zb35ubsyHR8RDIQQt6bQ`9{KX?4o=DC;~#bRZT@Y}bm!(z<7dqst6sXzq?FomUT1PE zjW)4vv~P^J8d%+Ry!4Dt%ENH8GDe3;7g5N;%U${9%}P)4X3=Y&)~5AZkDff%ns}XJ zjcmVq*2{Vo^1;^n3bD81x7-1$_Z4N8j9*FXPfS^Zs|nrJ2MdIbuEPYMG6%r))Y`zb zmn$1D9X)Ne`ElCPdfrCe<=KZXd>g(*(6#eihNUU^Tvv^e%NsDETw>QxDINLsYRgYx z{v}BMNhc=;P&p289wkiO9g+4nyLXKP+3FU3#`K}C6~h8bRr>g%d(n|e1^I@TTpImR zEQ~2|@;WXJOIyJvuy6{|3MCMbXQ~7wNDUx55(ad{@?fP6Zp+>W{@StGo*NY>ySc6) z27ryZM3iK)WQT-G(Lvr)P33;x_A$Yo2#ap%Z}OS%v1vOn;s zFK!NAQ?EVny*tb&4@{)2S$Lvi?tS+k*`a@;9Y1gXMM)LN32!WQVL#|di>qUXu?X5`{6Y0ekTp~0vzt0b)RZe?$_|*9!ihMRP zleI`t$EVhU)00iFS^L8$GDfO=eN}^OG9IY&O^r`RwDT(wl^AVuSOf-TPBv(9X4&7} zcz4r+syQN~yxvz#Ew_;8i?#aRhs$T`i+?aQH@1*!A4mX?-3K83BjR*dHp#39>+ddg zAdtrb)Mr040lm5XzyJ6o!T1ylTd|r{>9v+l;L?DE{-fFgQbkgZFr!#WR9ti&i{zV!=;t!&!5)JfPefC6IB zmVzLnP(@J`YHPx#2-XF)*rG+SwD?-Zr53F=Kkcu-Ki)szzQ6zKbIzQ5=A8N7bME)t z&%Mv{Ot8O*0^S8X(r?A`w;8tJ&_ack6TI~z(2Z!TaVm>t|9x7hRY>GC^ ze$O|OJubW?+mPQwOvuZL^Kj_f@3c>Unm`WEF5WzMm&zEJVYGToWlwI$=7M_60YqS4 zL`i|V5Vt0M@n8+~PN3B`jdi+?m|r}XuxkC!!}`0INLZVUCHjPilEV*2Ibu_#hxl`p z$G1gke4SD?9jB9lxFN8^h3dD<{xg0T{{B(cizxhul*g+(iCo26qKy25I3)jrh?2vE zhzuuILVUstwCh1q9L|PEqeKV@<&q*LO|7ql$6+P7ibx*W@`tW1?dr+K`33a+`}~H6SBA%)ArOG9A&L?K zrWDwBfNg@YZD>4wmbf7Tqbcn;40GT^il++|%^YaoDK-Tu9gYna6rY0Wx(aoD7O*TT z8Hlu_P?N)~R7$?NA+A#PPFh=6E6+s;9TOjxpA(Qoj%-* zvuyzIO5Yo>N_SCQGZVsGW3Qk#>~*2_Y{pQ7x}J|{CwkP`gm&wVwVR+j;}A?(=JQ)p zdVP^-F11zkV2xW-?E}-e88)L=++iR`-6?cx>lcZj-}GtxJ}1-wCnWe*u?`HzkQ=e* zJ~Wl&$}W+X3`B~SKJpu%Y}BNUh9$8(4XxKW*~4)13C7)n6?a3a`~tE^Z1@#=ymIo` z=_6HvW$I;vkBba$2iqR?5T$2ruAXUX*fG-Hk$(GWZBfI*b<+!TPNb@goSyIN^c?S7 zbugDhWq;LQWI3B&V|zm|n6oiWXP0KUuKBm_By!Kv)`Rhey$DQU}DK#(e!t4~A?TUA! zeL>Iow4%T~s-;bd>O#{&O_QeFmu6$E;GZ$i>MHHv<;UT0|sXiVq<06jeVZ!qrTI8Vfzzd*+S%fZja5{kdLXU|go`Tq|H~ z*Yq@*8NpbJJJAjmFlc~LL><;Mw=%0@DN)KCosNarIsC`v8W9U|=cH3BT3V19Wt7{n_|Eas_qA%SvbXr9S6q8J{ zpB97_2g$$ipU3yV1SNc#cIla?uES><#vdCiZNTY6jqKf?VRa`zY4V%xnAjV0Q7s=Z zqy!)G+7YA97a{oIvgRbCb)%`gQCT|Y#KppWx~GlS%}3hWsE*vRHh9D=**Nv~`aPpf zLxYUEIA;$*WUimtz`&gYNly_3nZIt0i_(md^Fv7P?Cb7P57Dh#O7n}AhJ%$ok(r+j zG@QBjaQ4RV^U{a~>C0QM-b>>4zuLTN{xzpPA(Px!75%$b+~^v~S<`JA8xk~Z=Km<@ z-dVHEmmAJ>A_}46-m7iXe;vNLE8oZ8cK}a?Cw0c7@RfQUz=tMix9puaiHSV*Db@z3 zMRQylMb9?k^?ngv69U10eGx|;ESTbTu*tKyj;@Aphg%^L46z-L(I77Ksy0wQbj$CB zT0~a&o*8th7V3|%)bat9m594&5| z1XIU(YKZ+KATnr+tB#&+meFZ@16j8pPZ^vMT<2-){Z-tr`Ba7sFvFrJ_ME<2>Cj!6 z^ewbpPrh|g`!?S!&KsZFr%}SCkcZ)G_}1L0PK|Nm7ZvRR`3GuT7iNEZkg?~?6|1KU zdaeAH#+zXJ-c`i6reQb%?sQn;!o z-F}LRh@gZByxEl?t3N-r(VH<{gr*l<$?HzIT?0TjS1$@j&k zrFe=)4h>p{je{AI(MvA#l<|=Oml@(^d3C;yqCn}+w&$;D?~T`_R#Ht`d`Q+V7SsOPt)Q*^0vDvSM|(-y5CS?cM5ho?$vx-_K%WpB6_RnEuXb0~%9W5D5Rt zke+rMFPV7D&=|&kwS;f}5!Eqhw(7N5_!DYU)Oj&0l$S>|Sqa5Md%A{JNu*q6)R(S?nGEdqA2#U$;`L2Fs)4dNVpM$rf5o9b@p%umgd z1~%$6Y4UgF-f=HY+gG=SldAi1c9xtJ)_^*l`Zt4jj34Ccukzd!7*}xrYsZsYz6u;E z2#vgLGj_V8v-8T&KYV8_yI9d0f^v(?sH0m9S6WqBxQ!54+d@$0V9GaTw~ktNdm3J@P+=Z-_xvVflx7%0}ozjqyV zFFbqyk)?xx8AgUNd!D)F+{`>$&oZp3BrF#~{!bsDN!Iu5GY$VEv&v*jzPdyDVcpbO z^}NLJp(Eih)JGj(w~UatI8T}bOtZbDt5%*oQuUes`q<^CVnSqIyIu6IKZ;IvM%!(_ zM_2fvTOFuvHSRp*Y|B%X^X7F<$-lIf-QM1ENYCKhJ=dQ?Jy$s`nm2fOu+CWLN>-fP z`0SbVC_Xh8I#YIO-2$>!X}~S}I`VqU_vhV`zl&$4In-tj?*I3+{{7qEbU=^G@s|y3P)hW#}4!_*iTl?F|IW!IAOZJrgrrq3%O`+ z`11|PPo_jgFfbYJmVV+EFYfQZb`b2j(GO;hurI~uVO)uY3Dv=WcOcIgvk5ff!V=nC zH}N4-tlaZlT9onA*fze3J>R8kaPnqJigV!pMwn8(+6oQk}oDI9B{x&rG0y(rldZ6 z?YRnroxz;FH>T+Sez=xRaJ@&gxS(|S6t%RC}+c^uzjdv{K zrH+;R-twAPn0hyL`ekDG#`pkH)!2iDPmV54I^NOL=DT`@;(%*iu$x(JWf$v~?daH} z7Mq3NeZTH}FstjsoVsll+da$e4`8y$Q*8AnRpvwWVC0nO4hhu^`&RW&995x<4Tn+nke*L&&he5M9MYfv&{; zZGRIe)E;?ilfv;mCF&H$XY)~s9z-R%eD5COY;S$BnjP2M9+~3J27y#4kp8xh&4^}j zA(W0#$rB76;9fjDeV0QPNX_3dBs-_w<{zH}t@#hSvXq`8%+#jEC82|qftIlkPPcjoxRt5-28?D*wj*BQSEcHdUk zTHVX2x!o%3>cy>t3ARW5dpA8STw+l=uN&M+nd=$56&o5Git)O8$tEb?9O)>owmTJG zzM5ax%HJ}(d&b+)@az-&w3+Z4_{-WH`l8W?zk1`ZqmRIMy7-@ycYhpTSDbsOvpwBE z+va7zuxs1ttoOyx{}1|Z8h4Sp2QO`07&gc4)OI`{6nstIZ z;mx%S_Bf6eC44ZQnA3~^cLJvr0yS^-3Bbh+^FX`d5W)w9 zDGU)*oB=w3+EDCP+ZEup|Ct?2)+2KQG$7Hj6z<^xoMj7b|eVu2R6%L(jX6RGl14C_$8&<^y2C8MMGY#X;azTzPfzH)|0fi zp8c2QjM(b@6MA(Hh;2=pq)1&4>4Bnqxx&_~++JtHqvz`P8JXOGZ^@4QtUO%y{bxU9 zcC7vBH}px@UdeBT(uvslSr;m9YG*GWc<$P&tJS7kM7IBR5hef4MCQHhsON`ho)v|# zXG|hbd;!=RWTI2mRn!uS9m#J{Fa%C!!2*OT(j)HT%V0Gjx@dOf8ryEe;sVkxH^J0D zNMT$^)gJ;jzmHi_{aJVf5?wG?abOw`1P zMOgLGKa|@Uf?~;KXwpeHG?3$*!t+mfDp!RDjfJoTnM+)>FA{qaTZ*b3~$41q93HRxAmfogmky_E{cM=BuU zDIU^nHNCVsV|889zFR}x&*0*|1kSST~*Sb`R zL)w>IRa@lNu+#Rxr~TiJ^d5-6?S3r)lpshAz~6E3z2=|pzAw%;(Ci8It^2NJR;F0Hm2FA*?VFcgDsdLQT z^|m!u15@}k0*JbuLZ2S5^ZV<)D`FPt0lkB^Ie2@}cl@sTHiF0nj5a#HxDlSWwAJ=& z&084RiFTnQGP&3EolbsR@U0Kg?QF_V8jUHyhtaiQFbe}=__zZjGUHrB(pcVjV{&;w zIp=J?MpFxtSO|d6mLh7DRN#^M52o8M@#kHqt#_>XX})KLC^5!rtw!_lOw;7k-+n#Y zp7BVv&A1^kFK#E7OP`Ngo}2h&)jUs8r1@meeTX36taeB6@+}`85Pw@y|jp{A~FewhnDAxPLd5-}txx}W zw^WDfrWLHHPI1jByDNSzikOht6?c~Svm~dnX;;M(Sn#-fwEbYIi43qhYMn)x&aZJ zl1eeX!XBzMt-Yn8p4xEi@7eo(Yt0S}&Axc^xlllzY-3Oe6Ev=Mqz$%6vC=En6FOz= zbDJF9KA4)-iE2;-u~Pa#d;y^n^yaf724|6&8nruv5rCq+HPVqNSE4s>xAjQ2xuNFh zkwCQ{9U!o=T2x&!R$Xfb@U=_grc2?AE&{=uExI_wsXe#)^9ep$_FSR?kK2L87uFyV zng;{2ib733VRy^c!_xrU5*P0mtX&1x=N$0b_AZuHRqT5#JX$#K{?_Mq)at8h1$rFj z`W!>W#|bhPN$AT`4u>w|E+_OUXrU+&fk3m$j36gdE=S^uLTDGU+C1mWQ8r>6A)v__ zy?X!eI>$M5FnG=2VF$`Ap2$D=WPuf&73#~YBuBw%J4m(7t7E@OkxML%7e{5%U1P(8 zK>zEEY{TDHzYWUY7zZilDt|!YIGei4BuClKV`2KGY{!F@8u-U;1s>1tUWy3m0PB2% z`tJ$(+g^E~!XC%Wx4Xw3$A!*y+WFg$&KNwsop1GaCgFYky+_=y{U3lmP)k;R-Q0!Ux7HdE+&Yt1dbUj@ufYW}BaQ zhAWOE9mbnC`Br(B#RU`NI2_1Rf>;iCF2l3D(egOt06;gzAe~C}F7!IfYF5QCUS>Ki z!#J1_jIOknpD}SA&YY<*E??dl3)UJp22R1Ll+&@ceq+)dGt&p3(*pR$U>&>3^@1&B z%$vlG47=xFF5NOQR9HM*!YYso9KBXCu@{OX-l9*5rzQzEEeJl$W`zr^Kh&nDx z$4yM<;F$p4fIvprkD`;yLT-fK)>&`Pa>U~da7h~`UY@)6W`~Ued7GRjB56al+EV+t zj@(=b0@6aGqknK5-w7Q}zaOCeldtI!t|trjCj#pYIP$#KLzkb^Ewv4WeFAA`yjRY< z-0#}LGllYmE{9gFKHVpddWZAxqdQJdE|n}F=s!`!SRb+Y^}a~2=oYV{z8s&^D?JaM zU3TI9i3Dca%qe417JRpM8WD|*Z>a3()~cVgRhFEvDnJw0+V9G z;Py59SkGegHvT4FxaneNc|EzW@cM=!Gp7#AkvRs7SIB2^8VY5PIaOFZ3zrvqHt;$x zMU28}AqX~95IO3B1J;SLhVXNgENb zgu8)zHT?j_4{a*kpA5p;1PEr*q*vx0oxf98tY`RJ+F)6gD1##`S#__zXZe}wS`}iE z0*nA65{O`#%MwFSz(JPp0~qT=yPZI47GvA-loLuEW|O56m7czvb0HwpT&mapnW2posM+GOg}t8O8aRZCtB|tSRp!4P~KWIJ`wV;{rJ(~?|_~zygo5rutl)y zket%a?#hg?_WNMJ;C8lObo#hbb|%(}=ya&?FT0apbsIBnGou5RU%$A~kM&zeXQF(N zkI16zEtz1?1~AFhrpV0cM>}FSbD#Qx&7v-UTAq&E=`f=4H*m;rF41cOKUSb~Ey!K9 z<>)_ldLznEh}7)1LEl|&i3@jRO->J!DzB6-^o_cZOI35a_0sX# zB}y75B~r@m!uG(({-4@k^z&TD7$)W*N1VqM39F|C; zAb#PgJ6ygiFPq5`tBqkL`&PdmB+%wnb&|OPc^P>A%H!;?nas}&wIyrvvl6p``&oA^ z$}Vu?Uy^j3@atRk{8xS2G_}f>^J%5N!jk5hdYBMGY@#H@RF>JDFJV$R#c}mp)9G`5prrDA6y@Nm*r|nN4e$S%uBhs)qv1C+)<0&nY_*jlL)-^lpai{yBo zS>uG4Ip!g~d9j4fcySPwDl;a^gx09eY_rLC4lTC}1kH6hLI<97b0M#%Q-tt>18OHR ztq6#vik)RBpJ^FcP&YGoYd^l5p*7;)RMVf>x}y3DCXGck8m7L1{W-GPP&blL+RG)s z+HmGuByIPa*Dl+#di&GrY&vBIhL+0a%MB$Lejq#@clC2>lpork-!0320Jm*ac7(nw8ScS<&J)A3svFK4zFkv=8bGnRTLzI{KsXj4 zbLEyS8`S1_BpKBJEHpC?>Il{$G1dBePyf*8A2&xsc(up6#|~kLUPMt02p}r?l;&JV zfJG|RhOWx@;~|a(aKrsbqQAc>F1A1}=j`^^M+Uy>;)VwHy}UKl`J6jSIN!YS7&+wa zcE7fhx3(*l(%oUo8XU@+f-ux28zaEZXVFl1@W+BjE%uD}*;TI;EH*LC&Y0uC#}%oc z+k{7b7yNztt%_mOem&{AKVwrcXYZcbx3w`ApR%GMeWda4?V-PT|4#*U9Vq(FI6YrO zlum=N2TN0`#Z66w0n1oKDBOcw1~9-G{&WwNmg{P9ex;3|9I(UX90cP~@&^ElK!xx+ zARnnC=fbaI7sNdJlVtfh-qcuJi+E>HPipR5^7*#y4g1oApKN<~HT`PXH_g-AW`Pt> z4{r9ec%n^g$-Q|0C%lCXyktKK2q+4V&>dcl>RDdex!EY0{a~$Gb?>@dY*u`EcSfRd zg`3Vm#I(H&I{(y=XNSKYsqq}V#eSiW*F9M8Sh&!Ca7E0qd$EHE!-956b>Kyyg`_$S z4xZU%+mtx}^6`{N*Z)|1V%6*H9kAe_kxYK9LYWy9aqlxj;gOo$tdy+J^Uzig<^eeU zgwm4lI2KtMk9;`%5C)ALXM8{%TpGPK8n{n4u!v?pYNj%emgx={&KB?ZMaqBZIuSZC zkwM*myG(ZNaprlW5{D#^QH*Q}D8N4LRAfYqqiyV7ru#qG@r-GKiJZmLXv}Mz9`oR3 zD?*%TS8U1L1O<~rpQc~q*@O}BTvU-C@dygmwuk3HU?PpI!;Hw`(5}j`eHK3FRXkFg z9fy5>f4W9=IM8naz{Y!ZkV+^-@@A8Y;fK#ljjwSGXUyw1=WR4E-8g>E_S6TV@wJTl ztds3THxUMdkid$Ax>Nr(=ZyW&aQO1{Zzy2kZHXWXk92ev76{gfkNZSM`ii%uj;mO- zxFR%bN+8td<3Qh%KTwFE>u)q2mgEBh8Ksbm^-j1!L0qloRuZ@+96O>Gxuu!dBjTo6 z$HHsSWU(blf#}=tHIh-R@S5>1j!=Yf6fr9&b`=+7#bvHL*186*Ua7pPM!kA=@$lGMhrH_F*2f>; zII5FbGjnT4=&zfXCcSPr8r#?NmJ%sp)US9OzB+ZsP}L|Dv^nnO?}svY4H>^@YbzTA zy6?!qjt9R=fGDJa8@~wZU=)95i0z=+D^5uR?(e>{tTA|)ClJ>f8JU-rLG+vwiHS-2 z$$BW%sNcNM)CgNzg)xCf44>Ogu6~m{sq$in^|SVF7qcuULSmd|9y-CSR;nF?&+jp+ zI@C~dO9Vi$G;JD7pcAWX-eyHMgl0cI{qRTnh2zgIt1}oy3$@`^^vWcM`fG6;e*c-> z|K|(I+HO^FZS_FsgPzM>VqG-{b@kT3{M6mI~mM8?} zB;EmG?7!X5?#pT1zrJYuC!W?Z+kJ(4wOFmK&7FKhD)zbSpb@BU|0v|_Rlyf%K%(Wk~`Sh6#UK*8~9mVwz zpC#zDlldy#{&{_r%BR>bs1~CIw%0?}USRvho2uvb^D{9?;pF+EcrESG<(6Ch&UYqx z+)2#gw~q(-y|q^2a#~u>3P5>vLJ7(Nw%ZI-P2gv?`g#N^YQL1rq0uo#0E>vFfkD;p zApnH~9HLa4Glx-SlfemZ7SDC!4FM5Ac`Y!4r}MH~M+wE{;QKTr&=GNmD*?M#F7Vnr z2-d)7hIn(D{MwY{&kW_HG9TS@R`AqwK~?ifIwK!K=Cs2XY)cSs!2S|<$B3XwTwTC9d+#Pr?*!-n9TBd*_}OXW)?j2HScoA(pdSCZkU zKUd6T-3uv~POHn;PZ$2oE`P_rk0v~fzv0Iw)c)*y%dObl#L=^hiZO-)R@4?rI9G`t z*~udVYI-Cws2?H@PdO4qDT+6%kH=0LpEu5Pj{YG&VNF7%-k&B%3T`iI^oy5u8!)J% z^ZH%8Q6jo!O>aA?WZGh(nc0_ zIPuJf(>$_ao^+(5pxqHy3?^beMK_%0uAG8d1`9oVP(NMSHpcsP9}p&+hGadicu)u| z62MAM8n@Db+hM@t6S>dXH`R8a*htG4(}zGPNSFeQUmsrKXsq(~9Gmr>LgxM)xB9!q z41K*^UcnOYP+7xbM0|ntz(hs(VopG7O3|#R+HnnHS|}Uf4qv9xWxV%8X>^V|!`};T z)3*UdT7}cx_wuW?#y~YvC>x%p>!P(-QV#KmoR2WD$=1c}`BV4jsDq=?b&u%DL8r{a z5d??N4E62Q?5mAU1s?6b>*%~;SKNMu&F+K03RT*kBdLS;^KPSpD}w{?e%<-HAl@GL zA+WBx*XHQOUGSl#y8A|%wNr8AGHcmu&yAUK;HxET;{(GRVdhI4uzudUrz5^$8z;66 zlu3cK9)YyWIDl7CZnO=sB#bV-vSne|Q(Vd((_zc@8jCSPC$B}{eejJ|+s)2CMP+eT z?GctKjKmYEY3o5^qH}KC15tL*cC4tjExAbK?-3Jf?Lc4Q@S=o(BZ|-xBDc~)aXHB< z%X#_iyS5)!17j{)D+<Y->8;Yy>a=iV&lk(5MuC6F}_t9ghm1yOf>D_n4?RxJ7l2fK*7N+vwl3cQZ=oYWu zpnj$1bgMV9<2{mHllx1W03k~DSV&9e-eEgPtcemEbSW?^6$k(pfLOUeH-TLNFBw*s zOD98G)qtNC07ywjm-&L-{(N?zz!lOlrKss>0v@b{xUdsJi;YLCDH!o8l$fgL>6KH6 z@Dvs_ln%^D9yV7kcpmF$E)8txUYB!{oYOhcdH&d~3+vDJ9IqNf2r3u>bw_2~_M{hf zfdP^^ER;);I8h;IoWyU5!4|5Ggo#99gtRk&cKf)HrcI>dy@7b^Q|*V#@Ry&$e>Rs~ z{>+fiDNU|V;-|G-)*Z;U2Ic7c$7sarrA=AZGws3T{F~<=x{pRqtgLiCVd?z4$GGjw zNmxS?`+j4O`vVYj+{u`+8<4`clx=oHrAX z;ooGzCRL)3yD>SDlQ~azcHx!VeSWE?2@zFjIId;^0r-Xe;z*73w@I*u{@6MObUKc!Xckod)&1x~XY5S9`RN`4u>^ZyvBa8U_ePWj$sU)WlcT# z7)yBAtu&Oa?YZ99(ZS8} zpGU@*FaN3n?ha3!A7(jk>TtHNbo!O3Wv9|NoNqLnPsO#H5)(HWSO*fCS<{2Tm8zG} z;B%R5Mm^HflzkfR*~*ae7!fO|Xt4>NU{4gU(h@YgmBccNY0^S{cq)Jan^~XTE{~h*VJ&f|LSZ^$ zP&S?OeOs@PHbczfaob}#Av7(u4W3O!dx1o(6AvQtBIXk4&^Enl%pUcFEm!8a>O4`! zI$y#hcYPp}Z9yZva2M0{3E%1pXu*ZkX*6>*+LqmofZ3K>pokz8053i>v`((cXD4#N z=mmgg%DqbN(Y}?(qNm5;3V$8iWTzh-%DkDttwbXoZ=Sk6*!{yzhG*^Bw$5&CLvgoF z&yewiLs5@`HodyDD>`TCQHSiUQz?h(=cBinB}Q*|PVj5$-u>13RZ9Yn2A!L*=k^ZW zdM9ltSsn8IuJ+N0tkeD8Rmlk>vG&gre!X&VZOEf{MoDg$dLtebINwOD&q661-jTOV zqRmN}QAqc^U+|43d;$4rBN>8ipt4TUdj=38Q3IFp|Gq!#sk0%V;ZFjRc@A zYZoH|yWAtTk)(v!IaJI|@@z0FY_&o%)ePriRa2b&Lka+G9J9ybr1mf!`Q#k3=menNw& zWCW6z1&cfJP;>1pHh4D@VC9EzJDC5;`)%Ebw-H-XRs7b)NYcQo-$)Otb@`6`L3`PXnnbLe?w2l ztW9pzvLehya#yx0|34ekydQ|z!mivemhtV>k)@O?BW9lliVGw3Q|y~d`sER!Y;l=* zlrz9KDheB>6{-_Zdu3-pJ=RZ36)Rn}y%v|g*gH+`+MbIF$Sk5a={wDwZDi`Xv?X#sND>~W}hOBq}tHbXX kzkew3|9npWoO0@DqyYe=KPUr$FJbXTfxoT5|8s=?18dF(`2YX_ literal 0 HcmV?d00001 diff --git a/demo/pacman/sound/opening.mp3 b/demo/pacman/sound/opening.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7aac980622a764cabf212ac300734f7e066e2d22 GIT binary patch literal 70217 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 z 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 F{vRdqf!zQA literal 0 HcmV?d00001 diff --git a/demo/pacman/sound/siren.mp3 b/demo/pacman/sound/siren.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cbe9c4a8ffcc910d1e60dabd20d8cf8ac8703437 GIT binary patch literal 29283 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 EAMR(gWB>pF literal 0 HcmV?d00001 diff --git a/demo/pacman/sound/wakawaka.mp3 b/demo/pacman/sound/wakawaka.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..69791d39a0a0af79820f315de3ec4d1daa95215f GIT binary patch literal 12538 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 A3jhEB literal 0 HcmV?d00001 diff --git a/demo/pyramid/MIT-LICENCE.txt b/demo/pyramid/MIT-LICENCE.txt new file mode 100644 index 0000000..8668d02 --- /dev/null +++ b/demo/pyramid/MIT-LICENCE.txt @@ -0,0 +1,7 @@ +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. diff --git a/demo/pyramid/README.md b/demo/pyramid/README.md new file mode 100644 index 0000000..82fc1e1 --- /dev/null +++ b/demo/pyramid/README.md @@ -0,0 +1,23 @@ +Pyramid is a jQuery implementation of the famous Pyramid solitaire game card. + + +How to : +-------- + +The goal is to remove all Pyramid's cards. +To remove a card, it must be associated with an other one and their sum must be equals to 13. +Each card has is numeric value and Kings' value is 13 (no need to be associated with an other card), Queens' value is 12 and Jake' value is 11. + +A live demo is avalaible [here](http://www.viadeo-playground.com/pyramid/index) + +Credits : +--------- + +* Graphics : [Byron Knoll](http://code.google.com/p/vector-playing-cards) +* Code : Fabrice Ecaille aka Febbweiss + +Licences : +---------- + +Source code is under [MIT Licence](http://opensource.org/licenses/mit-license.php) +Cards sprite is under [Public domain](http://creativecommons.org/publicdomain/zero/1.0/) diff --git a/demo/pyramid/css/cards.css b/demo/pyramid/css/cards.css new file mode 100644 index 0000000..2f0013a --- /dev/null +++ b/demo/pyramid/css/cards.css @@ -0,0 +1,184 @@ +.card { + position: absolute; + width: 80px; + height: 124px; + background-image: url('../images/cards.png'); + float: left; +} + +.card.selected { + border: 2px solid yellow; +} + +.clubs_1 { + background-position: 0px 0px; +} +.clubs_2 { + background-position: -80px 0px; +} +.clubs_3 { + background-position: -160px 0px; +} +.clubs_4 { + background-position: -240px 0px; +} +.clubs_5 { + background-position: -320px 0px; +} +.clubs_6 { + background-position: -400px 0px; +} +.clubs_7 { + background-position: -480px 0px; +} +.clubs_8 { + background-position: -560px 0px; +} +.clubs_9 { + background-position: -640px 0px; +} +.clubs_10 { + background-position: -720px 0px; +} +.clubs_11 { + background-position: -800px 0px; +} +.clubs_12 { + background-position: -880px 0px; +} +.clubs_13 { + background-position: -960px 0px; +} + +.diamonds_1 { + background-position: 0px -125px; +} +.diamonds_2 { + background-position: -80px -125px; +} +.diamonds_3 { + background-position: -160px -125px; +} +.diamonds_4 { + background-position: -240px -125px; +} +.diamonds_5 { + background-position: -320px -125px; +} +.diamonds_6 { + background-position: -400px -125px; +} +.diamonds_7 { + background-position: -480px -125px; +} +.diamonds_8 { + background-position: -560px -125px; +} +.diamonds_9 { + background-position: -640px -125px; +} +.diamonds_10 { + background-position: -720px -125px; +} +.diamonds_11 { + background-position: -800px -125px; +} +.diamonds_12 { + background-position: -880px -125px; +} +.diamonds_13 { + background-position: -960px -125px; +} + +.hearts_1 { + background-position: 0px -249px; +} +.hearts_2 { + background-position: -80px -249px; +} +.hearts_3 { + background-position: -160px -249px; +} +.hearts_4 { + background-position: -240px -249px; +} +.hearts_5 { + background-position: -320px -249px; +} +.hearts_6 { + background-position: -400px -249px; +} +.hearts_7 { + background-position: -480px -249px; +} +.hearts_8 { + background-position: -560px -249px; +} +.hearts_9 { + background-position: -640px -249px; +} +.hearts_10 { + background-position: -720px -249px; +} +.hearts_11 { + background-position: -800px -249px; +} +.hearts_12 { + background-position: -880px -249px; +} +.hearts_13 { + background-position: -960px -249px; +} + +.spades_1 { + background-position: 0px -374px; +} +.spades_2 { + background-position: -80px -374px; +} +.spades_3 { + background-position: -160px -374px; +} +.spades_4 { + background-position: -240px -374px; +} +.spades_5 { + background-position: -320px -374px; +} +.spades_6 { + background-position: -400px -374px; +} +.spades_7 { + background-position: -480px -374px; +} +.spades_8 { + background-position: -560px -374px; +} +.spades_9 { + background-position: -640px -374px; +} +.spades_10 { + background-position: -720px -374px; +} +.spades_11 { + background-position: -800px -374px; +} +.spades_12 { + background-position: -880px -374px; +} +.spades_13 { + background-position: -960px -374px; +} + +.joker_black { + background-position: 0px -498px; +} +.joker_red { + background-position: -80px -498px; +} +.background { + background-position: -160px -498px; +} +.none { + background-position: -240px -498px; +} diff --git a/demo/pyramid/images/cards.png b/demo/pyramid/images/cards.png new file mode 100644 index 0000000000000000000000000000000000000000..669c8d5a9cbb3f3541b9bc86fc1b0b625157292e GIT binary patch literal 313274 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 z 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 + + + Pyramid.js + + + + + + + + + +
+
+ +
+
+ +
+ + + diff --git a/demo/pyramid/js/cards.js b/demo/pyramid/js/cards.js new file mode 100644 index 0000000..0c9f60d --- /dev/null +++ b/demo/pyramid/js/cards.js @@ -0,0 +1,59 @@ +/* +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. +*/ + +var CARD_WIDTH = 80; +var CARD_HEIGHT = 124; + +var Deck = { + cards: [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 + ], + + values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], + + value: function(card) { + return card % Deck.values.length + 1; + }, + + familly: function( card ) { + if( card < 14 ) + return "clubs"; + else if( card < 27 ) + return "diamonds"; + else if( card < 40 ) + return "hearts"; + else + return "spades"; + }, + + point: function(card) { + return Deck.values[Deck.value(card) - 1]; + }, + + shuffle: function() { + for (var i = 0; i < Deck.cards.length; ++i) { + var x = parseInt(Math.random() * Deck.cards.length); + var y = parseInt(Math.random() * Deck.cards.length); + if (x == y) + continue; + var tmp = Deck.cards[x]; + Deck.cards[x] = Deck.cards[y]; + Deck.cards[y] = tmp; + } + return Deck.cards; + }, + + pop: function() { + return Deck.cards.pop(); + } +} diff --git a/demo/pyramid/js/pyramid.js b/demo/pyramid/js/pyramid.js new file mode 100644 index 0000000..8e3e88f --- /dev/null +++ b/demo/pyramid/js/pyramid.js @@ -0,0 +1,185 @@ +/* +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. +*/ + +var Pyramid = { + initial_set: [1, 2, 3, 4, 5, 6, 7], + + pyramid: new Array(7), + + selected: null, + drawn: new Array(), + drawn_count: 0, + + init: function() { + Pyramid.pyramid = new Array(7); + Pyramid.selected = null; + Pyramid.drawn = new Array(); + Pyramid.drawn_count = 0; + + var maxCard = Pyramid.initial_set[ Pyramid.initial_set.length - 1]; + var initial_x = (maxCard * CARD_WIDTH) / 2; + + var initial_y = 0; + var playground = $("#playground"); + playground.width( maxCard * CARD_WIDTH); + playground.height( Pyramid.initial_set.lentgh * CARD_HEIGHT); + + + Deck.shuffle(); + + for( var i = 0; i < Pyramid.initial_set.length; i++) { + var cards = Pyramid.initial_set[i]; + var offsetx = initial_x - cards * CARD_WIDTH / 2; + Pyramid.pyramid[i] = new Array(cards); + for( var j = 0; j < cards; j++ ) { + var value = Deck.pop(); + Pyramid.pyramid[i][j] = value; + $("",{ + id:"card" + i +j, + class: "card " + Deck.familly( value ) + "_" + Deck.value(value), + style: "left: " + offsetx + "px; top: " + ( i * CARD_HEIGHT / 3 ) + "px;" + }).appendTo(playground); + + offsetx += CARD_WIDTH; + } + } + + $("#stock").width( CARD_WIDTH ).height( CARD_HEIGHT ); + $("#drawn").width( CARD_WIDTH ).height( CARD_HEIGHT ); + $("#control").width( CARD_WIDTH ).height( 2 * CARD_HEIGHT ); + + $(".card").click( Pyramid.click ); + }, + + click: function(e) { + var elt = $(this); + var id = elt.attr('id'); + + if( id === "stock" ) { + Pyramid.draw(); + return false; + } + + var card = Pyramid.card(elt); + + if( !card ) + return false; + + var point = Deck.point(card); + + if( point == 13 ) { + Pyramid.remove(elt); + Pyramid.win(); + return true; + } + + if( elt.hasClass("selected") ) { + elt.removeClass("selected"); + Pyramid.selected = null; + return false; + } + + var selected = Pyramid.selected; + if( selected ) { + var card = Pyramid.card(Pyramid.selected); + + if( (point + Deck.point(card)) == 13 ) { + Pyramid.remove(elt); + Pyramid.remove( selected ); + Pyramid.win(); + } else { + selected.removeClass("selected"); + } + + Pyramid.selected = null; + } else { + elt.addClass("selected"); + Pyramid.selected = elt; + } + }, + + next: function() { + var card = Deck.pop(); + Pyramid.drawn.push( card ); + $("#drawn").removeClass().addClass("card").addClass("card " + Deck.familly( card ) + "_" + Deck.value(card)); + if( Deck.cards.length == 0 ) { + $("#stock").removeClass(); + return false; + } + }, + + card: function(elt) { + var id = elt.attr('id'); + + if( id === "drawn" ) { + if( Pyramid.drawn.length > 0 ) { + return Pyramid.drawn[Pyramid.drawn.length - 1]; + } else + return false; + } else { + var i = parseInt(id.charAt(4)); + var j = parseInt(id.charAt(5)); + + if( typeof Pyramid.pyramid[i + 1] != "undefined" + && ( typeof Pyramid.pyramid[i + 1][ j ] != "undefined" || typeof Pyramid.pyramid[i + 1][ j + 1] != "undefined") ) + return false; + + return Pyramid.pyramid[i][j]; + } + }, + + remove: function(elt) { + var id = elt.attr('id'); + + if( id === "drawn" ) { + Pyramid.drawn.pop(); + $("#drawn").removeClass(); + if( Pyramid.drawn.length > 0 ) { + card = Pyramid.drawn[Pyramid.drawn.length - 1]; + $("#drawn").addClass("card").addClass("card " + Deck.familly( card ) + "_" + Deck.value(card)); + } + } else { + var i = parseInt(id.charAt(4)); + var j = parseInt(id.charAt(5)); + Pyramid.pyramid[i][j] = undefined; + elt.remove(); + } + }, + + draw: function() { + if( Deck.cards.length > 0 ) { + Pyramid.drawn_count++; + Pyramid.next(); + return false; + } + + Deck.cards = Pyramid.drawn.reverse(); + Pyramid.drawn = new Array(); + $("#drawn").removeClass(); + $("#stock").addClass("card").addClass("background"); + $("#") + }, + + win: function() { + var win = true; + $.each($(".card"), function(index, elt) { + var id = $(elt).attr('id'); + if( id !== "stock" && id !== "drawn") + win = false; + }); + if( win ) + Pyramid.show_win(); + return win; + }, + + show_win: function() { + alert( "Win in " + Pyramid.drawn_count + " draws !!!"); + } +} diff --git a/demo/pyramid/lib/jquery-1.7.1.min.js b/demo/pyramid/lib/jquery-1.7.1.min.js new file mode 100644 index 0000000..ee02337 --- /dev/null +++ b/demo/pyramid/lib/jquery-1.7.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/demo/sis/.gitignore b/demo/sis/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/demo/sis/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/demo/sis/MIT-LICENCE.txt b/demo/sis/MIT-LICENCE.txt new file mode 100644 index 0000000..8668d02 --- /dev/null +++ b/demo/sis/MIT-LICENCE.txt @@ -0,0 +1,7 @@ +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. diff --git a/demo/sis/css/countdown.css b/demo/sis/css/countdown.css new file mode 100644 index 0000000..e057a24 --- /dev/null +++ b/demo/sis/css/countdown.css @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +#countdown { + float: left; + margin-top:12px; + margin-left:12px; + width:210px; + padding: 3px; + color: white; + background-color: black; + font-family: Tahoma; + font-size: 50px; +} + +.clock { + background : transparent url("../images/hours.png") no-repeat top left; + height:40px; + width:30px; + float:left; +} + +.separator { + background-position : -30px -220px; +} + +.n0 { + background-position : 0 -7px; +} +.n1 { + background-position : 0 -49px; +} +.n2 { + background-position : 0 -91px; +} +.n3 { + background-position : 0 -133px; +} +.n4 { + background-position : 0 -176px; +} +.n5 { + background-position : -30px -7px; +} +.n6 { + background-position : -30px -50px; +} +.n7 { + background-position : -30px -91px; +} +.n8 { + background-position : -30px -133px; +} +.n9 { + background-position : -30px -176px; +} diff --git a/demo/sis/css/scoreboard.css b/demo/sis/css/scoreboard.css new file mode 100644 index 0000000..a5a15cd --- /dev/null +++ b/demo/sis/css/scoreboard.css @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +.scoreboard { + float: left; +/* margin-top:12px; + margin-left:12px; +*/ width: 180px; + height: 40px; + padding: 3px; + color: white; + background-color: black; + font-family: Tahoma; + font-size: 50px; +} + +.clock { + background : transparent url("../images/hours.png") no-repeat top left; + height:40px; + width:30px; + float:left; +} + +.separator { + background-position : -30px -220px; +} + +.n0 { + background-position : 0 -7px; +} +.n1 { + background-position : 0 -49px; +} +.n2 { + background-position : 0 -91px; +} +.n3 { + background-position : 0 -133px; +} +.n4 { + background-position : 0 -176px; +} +.n5 { + background-position : -30px -7px; +} +.n6 { + background-position : -30px -50px; +} +.n7 { + background-position : -30px -91px; +} +.n8 { + background-position : -30px -133px; +} +.n9 { + background-position : -30px -176px; +} diff --git a/demo/sis/css/spaceinvaders.css b/demo/sis/css/spaceinvaders.css new file mode 100644 index 0000000..69fb333 --- /dev/null +++ b/demo/sis/css/spaceinvaders.css @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +#playground { + background-color: black; +} + +.alien { +} + +.shipShot { + background-color: green; +} + +.shipShot.carot { + background-color: orange; +} + +.shipShot.shotgun { + background-color: grey; +} + +.shipShot.shotCorn { + background-color: white; +} + +.alienShot { + background-color: red; +} + +.weapon_bar { + height: 10px; + width: 100px; + position: absolute; + top: 5px; + background-color: black; +} + +.weapon_level { + height: 8px; + position: relative; + margin: 1px; +} +.weapon_level.good { + background-color: green; +} +.weapon_level.middle { + background-color: yellow; +} +.weapon_level.bad { + background-color: red; +} + +.life { + width: 32px; + height: 32px; + float: left; + background-image: url('../images/sprite.png'); + background-position: 0px -16px; +} + +/** SCOREBOARD**/ + +.clock { + background : transparent url("../images/font.png") no-repeat top left; + height:32px; + width:32px; + float:left; +} + +.clock.red { + background : transparent url("images/font-red.png") no-repeat top left; +} + +.clock.yellow { + background : transparent url("images/font-yellow.png") no-repeat top left; +} + +.clock.small { + position: relative; + top: 45%; + height: 16px; + width: 16px; +} + +.n0 { + background-position : 0px 0px; +} +.n1 { + background-position : -32px 0px; +} +.n2 { + background-position : -64px 0px; +} +.n3 { + background-position : -96px 0px; +} +.n4 { + background-position : -128px 0px; +} +.n5 { + background-position : -160px 0px; +} +.n6 { + background-position : -192px 0px; +} +.n7 { + background-position : -224px 0px; +} +.n8 { + background-position : -256px 0px; +} +.n9 { + background-position : -288px 0px; +} +/** Scoreboard end **/ + + +/** Modal **/ +.modal { + background-color: yellow; +/** Modal - end **/ diff --git a/demo/sis/images/aliensprite.png b/demo/sis/images/aliensprite.png new file mode 100644 index 0000000000000000000000000000000000000000..0b03048f1d473be034ab02b93a777a2413dc8939 GIT binary patch literal 13803 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 Rvj2+)4D?KNpPfM6{2$26pj`j} literal 0 HcmV?d00001 diff --git a/demo/sis/images/background2.png b/demo/sis/images/background2.png new file mode 100644 index 0000000000000000000000000000000000000000..e66b9db4339c656c031dd5e5258788b4267d6894 GIT binary patch literal 15885 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

kF6$V18z-Yx=o=gm|sx6*5}FmT6f0o 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

FPA1L)%~KoGbg2D}*+3`2!5048yO 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 Unw84W!~g&Q07*qoM6N<$f*hrF9RL6T literal 0 HcmV?d00001 diff --git a/demo/sis/images/explosion_small.png b/demo/sis/images/explosion_small.png new file mode 100644 index 0000000000000000000000000000000000000000..61588d5855c397c38971497ad5fa30f9eb7948ce GIT binary patch literal 21031 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 literal 0 HcmV?d00001 diff --git a/demo/sis/images/farm.png b/demo/sis/images/farm.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3cc1b4c4a78303251d512322cee670eafa5923 GIT binary patch literal 4592 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 aAO9clwZtn;b8Ec-0000A&Oc6 literal 0 HcmV?d00001 diff --git a/demo/sis/images/font.png b/demo/sis/images/font.png new file mode 100644 index 0000000000000000000000000000000000000000..d22022b91ca01a9fcc444830cf4c7d65ae7372eb GIT binary patch literal 4032 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 ViAjvr|FCnzIU5J-sx#jA{tL36j6DDV literal 0 HcmV?d00001 diff --git a/demo/sis/images/invader.png b/demo/sis/images/invader.png new file mode 100644 index 0000000000000000000000000000000000000000..b48e58a061c7060947d88a75d0afa7117836c5a1 GIT binary patch literal 2607 zcmV+~3efe5P)VmCM%aDR#uia1VAz79_yb(fuxz6#NTOT$)f5W- zg>320?smKLj(^-cvv1zao1NK(1RKA}B=gQa_ndp)efQjR&b^|l1TmbH^(x$i@^B)p zZB&3vQWlD^6Cg2416y#hiVxHP-RhLTA!^%$52wXBU~=Z9Sv!{IoRe@BH+Ca zDVm8j@C1yDIZKqg0Ak@z4R`9Rz^g;9 zv;a$h!%=TQm6;+e5oK4yCVd8gO`*3W%mpq~!F*!3sy_{S>`T}HoQ=b_C><#03(P{< zFs(~_a^#vU)79a^l15}wvfS}mhH$zi)ek3SeJS|@3ydCS=6D*8v99czxJ_cid%4{T zm~E+T!%3N2l3$o+|E(HMN~`bC)7Yht1zC!WaD0}ja8rO(7kVy*6LUNRu)Z0hjo3|0 zYeVvsOI5gZ0v#(=!0`bnZN!KxOMN&gFa!Hg`Vi`XAx5fxtlDKjccA)Dq8;MCnmDjBqwEH$ul_C`S>N04*wqK}QlT;06KQQj z>9eGjK)1jhIi6UiLuOHn2-JoKSeIENEsQZU(gvkAvqoCtaFQQtb6`ehjkFZW4WLG8 z8fcg1+S+KI*fFLLw980se0&Cr#*s-f0@Ot@yaRX=j2C&ga9nJ5c_UP~It%lWu&1vQ z%Hk}{2mWd)JM44El;jrUxh%}j!u+5Sdzw7$7oY!3Me^t|UTE^PA0cB&LrtFctMJ;C zhFpx1CQtjDJnb*qCj!{1%Ek%>&KBXj_)m zML3vii#9^p)0oz+l_)sk%DfuN8`03Idx5PsicK38JW@pz+lH`6;Q2&oTruDtAg(_9 z01*BT+%3YPOj1?{nMZ~08J-@_BxND6Fh_TU1aLP%b1kC)s{B!4AMh-|@HH~W&vJ>x zadNyhQu(JV!V?MuDvV~5vRZ_L2~Qt|5>ag4a#z|gn_nJTnBU}S|Bx%|fLjAihZCMQ zmm5STCCf$m9dI<^X?>-GFOuWR%>v&8`VyYDLYdD=g(Hr#D@cp`90d?K1mkTAZ%?GW zMj2Gtr5G8Lg(z=|u*-+tN0+`(l?GR?1-=!ajNs|q zs$@)na{ELaIH7=|)J#IhG+jmd}V;0>W;B{aIaAt`ASxgb&G+-uhA|29-FoxO} z;^Y^9Kc?LC0bou*h5|e6{{=t-IE4;rMLEP~eX&|29DJU_p%+tQssnz8r^_&5MP2B( z+O|DzpFe{`FTy=I^jbNl#3HQ4gaw;JI!E!e)wbo_^$j@mQe#UwRU2^}K=hr-vHO8} z@4$HO$I~mT?Q~qsL=1-u7z-HV@D*Sc@DzTiQfF$Wr=Z-9@@Rmb#i0=ZpWgtDz)d*p zK)DJn$ghv#@CnPi8RI1G#Nk&c2bct6bn1=*ipiird5c_;I0sj9<;jzU-j7InGIMyJbBT5OK}Jn$iu zj~8;&joHAKqI?8l7to6k$L9-{>t2LW9G)gvP%Z^mE&@(KSd7nE2!FxTA608a4CO(f z4u^~A)E<(u9-$lMVZvv2uJi+EqO_CNuaS}zN;k@Lq;;X?830Z|`6Qtdd+!Td|CE$75WX70`!Ndh@NpQTvU~-DEka9S~{)*wS6%*YW)NnFBZdqxiAbc^Rr4O)1v>dB!VQ?v46{7lZGnTT3Ixit|Zx(Jpi z)2|x5FM{q+ScEPM(Iin<Ef_k!l?^?pi6h-N;u9r94RM^c4>~j$-y2x-EK3*(okL?U8t)# z6i>;;DCc3qfK@;SwQnVyV>>LgmG3veo_W8;4|qVcManzmR2)8s`R;RvmRkxc9KtAO zy*Vh;3;GKyfzvT->@jQby-<2hTn1bpcpfBo`*GaGex9^$BPA)|QeZabL=zg>02CWh z!f42yfHv_FZF`1wVjeYhb z0bYPw&ZR?w9_KYS>1$*ez@ZQ0$ClZ=p%44N=nWpOALn@mhw9A zD)7%7ODPw-7Ed=YS(w^X&=uZRkaL(dQJDG)*U+V15%NsVo`Z4+$K$=&{{rZhS_PHG RGUNaN002ovPDHLkV1kPzuDbvL literal 0 HcmV?d00001 diff --git a/demo/sis/images/ufo.png b/demo/sis/images/ufo.png new file mode 100644 index 0000000000000000000000000000000000000000..25c73907879d2cea4e0ee83ca958bd170f88f6c3 GIT binary patch literal 1887 zcmV-l2cY2h3#KdgUXk@MZz=y_|#t%(uVroQVQ;b1vsN#aVDp_$c%5A%JIfGmr z1cw6*!#w?P&P)duaJV)5B>%kUJm-1O`~RQ!_Pj@l2uo>7DJx(BJ_LSZA{1x`+DyCz zYGo-J7m+0a5C{Afa03zm?gN>NZg&X<{2@T%{`kjY+YMTD7yi$B7EtH)VjERUF$|Sb zK|m&u3w#PB0`Vr|fEB3)dA82{e@&wyb- zHxZ06k;6@K+kj;AweNuMf&Z9z1$+g3DI%Ul3s6dZ1QY_FnAi}Q+(nxmcnW+0To#eu z8KY*IkRM@8%5Q*4=07=?8iT-JfZXX^r}TiihM&dw;=zCiql<@444LJK`QkurCQ`Hc z!+{t-d;mlPK^T+XCL)h~oV@~+Qh9(4I0&pY$qoWzfD2=MyMc*W%Gs_b&Bj*%E6p-^ z+P(LBrJv7x9c+q6h;_-Oo&Ye3` z>YO`wPIO(D!NEZ(D=YK)BO)TCwzgJWE|*kRR!*sN`0!z|+wD?US0^bcDevRe4p0?{ zfU8%piq|e*zU=cKKYm>Nt)QU5_w2=s7e4>(+qZrG($Z3&e{ynCHg4P~fCL8zOGihC z@7akHC*H@aDhT)tsNp?US62ssh)`Qw>+|2edzXQM0RTEWI(YQRw?NR^+6sWjYQpJs0?^RVKv!260231vQ|dQ0HO)n-2Kdao?uP=u16t-%Y_V7*D=X^<{;aGl zIeGG=tXsEkia$I&T*}MKW#7JiqLiBQZ2kK6vVZ@6iHwY#;*X4slmiD2h}CMHjYo^g zHS`DBD8_Pk2qV?~F|A4-lhYv}Xx5F)-;`3jfnQ=Qv)Mq@T>ZHWHVnML$Of*9$i10@ z0!rqTQV|$gW)AREv&;lSmWb>)#wqQ&i58&2yHU-_ZK3J3QYr@6h_TK4Bg(Jz_S*DR zWM~?`6_K|K;;|3`M~)ncPfJVNu4&qLmo8m;cIM2P($v({sL|2U)#c^oe+HMBY|aRsHtZv16NcU4J7Yj^^g(e|uwIy?W&o5s!#?o;-QdDI(Zxw(TO) zCn9~Vt*tLJGBQH0T)Fal5$U~n@#4|{%aPJ%v#qsQEIZoT+S)E$xbXKKJ9ZR=g@yG1 zn%nK}_r|&1ZXIK6k55cYI00NPmj@%y*EVn7Ja+Kl!ClqW)wi5Zr?zFwmOVWT3Y_u+1WXin3$M_aXi#qE|*V$N%|e|&gF8w1JHGS(i;nCIXO95 zH*el-s;{qa%FoYNr%#{WzpMhbZrvK4mzVc3V6UsIYb-1*j7v*P`@ke*A0Hnd@Wzgf zjlIQ4#~ov1V?zMr9Q6RjajR>i-29bcIEHcv*$a&e(&DBZ&OlI!V(e^ zz;8%691h>yP1?MzM#R9(ozQ*{Yu?iR!k@mUj Z{TC11<8@|tasB`R002ovPDHLkV1k_=iV6S# literal 0 HcmV?d00001 diff --git a/demo/sis/index.html b/demo/sis/index.html new file mode 100644 index 0000000..5a30074 --- /dev/null +++ b/demo/sis/index.html @@ -0,0 +1,60 @@ + + + + + Space invaders - Story + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +
+ +
+ + diff --git a/demo/sis/js/animations/aliens.js b/demo/sis/js/animations/aliens.js new file mode 100644 index 0000000..c4439c1 --- /dev/null +++ b/demo/sis/js/animations/aliens.js @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var ALIENS_WIDTH = 25, + ALIENS_WIDTH_2 = 18, + ALIENS_HEIGHT = 17, + ALIENS_SPRITE = IMAGES_PREFIX + "invader.png", + ALIENS_RATE = 400; + +var ALIENS_TYPE = [ + { + animation : new $.gQ.Animation({ + imageURL : ALIENS_SPRITE, + numberOfFrame : 2, + delta : 24, + rate : ALIENS_RATE, + type : $.gQ.ANIMATION_HORIZONTAL + }), + width : 24, + height: 18 + }, + { + animation : new $.gQ.Animation({ + imageURL : ALIENS_SPRITE, + numberOfFrame : 2, + delta : ALIENS_WIDTH_2, + offsety : 20, + rate : ALIENS_RATE, + type : $.gQ.ANIMATION_HORIZONTAL + }), + width : ALIENS_WIDTH_2, + height: 17 + }, + { + animation : new $.gQ.Animation({ + imageURL : ALIENS_SPRITE, + numberOfFrame : 2, + delta : ALIENS_WIDTH, + offsety : 40, + rate : ALIENS_RATE, + type : $.gQ.ANIMATION_HORIZONTAL + }), + width : ALIENS_WIDTH, + height: 18 + } +] + + diff --git a/demo/sis/js/animations/animations.js b/demo/sis/js/animations/animations.js new file mode 100644 index 0000000..fd34eb0 --- /dev/null +++ b/demo/sis/js/animations/animations.js @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var IMAGES_PREFIX = "images/"; \ No newline at end of file diff --git a/demo/sis/js/animations/explosions.js b/demo/sis/js/animations/explosions.js new file mode 100644 index 0000000..aadd1b0 --- /dev/null +++ b/demo/sis/js/animations/explosions.js @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var EXPLOSION_BIG = IMAGES_PREFIX + "explosion_big.png", + EXPLOSION_BIG_RATE = 50, + EXPLOSION_SMALL = IMAGES_PREFIX + "explosion_small.png", + EXPLOSION_SMALL_RATE = 50; + +var EXPLOSIONS = { + BIG : [ + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK + }), + width : 128, + height: 128 + }, + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + offsety : 128, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK + }), + width : 128, + height: 128 + }, + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + offsety : 256, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK + }), + width : 128, + height: 128 + }, + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + offsety : 384, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK + }), + width : 128, + height: 128 + }, + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + offsety : 512, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK + }), + width : 128, + height: 128 + }, + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + offsety : 640, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK + }), + width : 128, + height: 128 + }, + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + offsety : 768, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK | $.gQ.ANIMATION_ONCE + }), + width : 128, + height: 128 + }, + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_BIG, + offsety : 896, + numberOfFrame : 8, + delta : 128, + rate : EXPLOSION_BIG_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK | $.gQ.ANIMATION_ONCE + }), + width : 128, + height: 128 + } + ], + SMALL : [ + { + animation : new $.gQ.Animation({ + imageURL : EXPLOSION_SMALL, + numberOfFrame : 10, + delta : 64, + rate : EXPLOSION_SMALL_RATE, + type : $.gQ.ANIMATION_HORIZONTAL | $.gQ.ANIMATION_CALLBACK | $.gQ.ANIMATION_ONCE + }), + width : 64, + height: 64 + } + ] +} diff --git a/demo/sis/js/animations/worlds.js b/demo/sis/js/animations/worlds.js new file mode 100644 index 0000000..efb336d --- /dev/null +++ b/demo/sis/js/animations/worlds.js @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var FARM_SPRITE = IMAGES_PREFIX + "farm.png", + FARM_BACKGROUND_1 = IMAGES_PREFIX + "background.png", + FARM_BACKGROUND_2 = IMAGES_PREFIX + "background2.png"; + +var WORLD = { + farm : { + hero : { + ship : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE + }), + width : 48, + height : 24, + posx : 0, + posy : 17 + }, + /*cockpit : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE, + offsety : 24, + offsetx : 20 + }), + width : 20, + height : 33, + posx : 28, + posy : 3 + },*/ + smallWheel : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE, + offsetx : 0, + offsety : 24 + }), + posx : 4, + posy : 30, + width: 14, + height: 14 + }, + bigWheel : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE, + offsetx : 0, + offsety : 38 + }), + width : 19, + height : 19, + posx : 25, + posy : 27 + } + }, + alien : { + animation : new $.gQ.Animation({ + imageURL : IMAGES_PREFIX + "invader.png", + numberOfFrame : 2, + delta : ALIENS_WIDTH, + rate : 400, + type : $.gQ.ANIMATION_HORIZONTAL + }), + width : ALIENS_WIDTH, + height : ALIENS_HEIGHT + }, + ufo : { + animation: new $.gQ.Animation({imageURL: IMAGES_PREFIX + "ufo.png"}), + width: 48, + height: 32, + posy: 10 + }, + life : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE, + offsetx : 14, + offsety : 24 + }), + width: 32, + height: 16 + }, + weapons : { + corn : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE, + offsetx : 19, + offsety : 37 + }), + width: 19, + height: 19 + }, + carot : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE, + offsetx : 38, + offsety : 37 + }), + width: 19, + height: 19 + }, + gun : { + animation : new $.gameQuery.Animation({ + imageURL : FARM_SPRITE, + offsetx : 57, + offsety : 37 + }), + width: 19, + height: 19 + } + }, + backgrounds : { + farm: { + background1 : { + animation : new $.gQ.Animation({ + imageURL : FARM_BACKGROUND_1 + }) + }, + background2 : { + animation : new $.gQ.Animation({ + imageURL : FARM_BACKGROUND_2 + }) + } + } + } + } +}; diff --git a/demo/sis/js/countdown.js b/demo/sis/js/countdown.js new file mode 100644 index 0000000..f925fd9 --- /dev/null +++ b/demo/sis/js/countdown.js @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var COUNTDOWN = { + mustStop: false, + + init: function( minutes, seconds ) { + COUNTDOWN.minutes = minutes; + COUNTDOWN.seconds = seconds; + COUNTDOWN.mustStop = false; +// $( "#countdown" ).width( ( minutes > 0 ? 90 : 0 ) + 90); +// $( "#countdown" ).css( "background-color", "black" ); + }, + + start: function() { + if( COUNTDOWN.mustStop ) + return; + + COUNTDOWN.running = true; + + var currentMinutes = ""; + var currentSeconds = ""; + var imageMinutes = ""; + var imageSeconds = ""; + + currentMinutes = COUNTDOWN.minutes; + currentSeconds = COUNTDOWN.seconds; + + var nextMinutes = COUNTDOWN.minutes; + var nextSeconds = COUNTDOWN.seconds - 1; + + if( nextSeconds < 0 && nextMinutes > 0 ) { + nextSeconds = 59; + nextMinutes = Math.min(0, nextMinutes -1); + } + + COUNTDOWN.minutes = nextMinutes; + COUNTDOWN.seconds = nextSeconds; + + if( currentMinutes <= 0 && currentSeconds < 10 ) + $( "#countdown" ).css( "background-color", "red" ); + + if(parseInt(currentMinutes) < 10 ) currentMinutes = "0" + currentMinutes; + if(parseInt(currentSeconds) < 10 ) currentSeconds = "0" + currentSeconds; + + for(i = 0; i < String(currentMinutes).length; i++) { + imageMinutes += "
"; + } + + for(i = 0; i < String(currentSeconds).length; i++) { + imageSeconds += "
"; + } + + if( COUNTDOWN.minutes > 0) { + $("#subMinutes").empty().removeClass( "hide" ).append( imageMinutes );; + $(".clock.clock.separator").removeClass( "hide" ); + } else { + $("#subMinutes").empty().addClass( "hide" ); + $(".clock.clock.separator").addClass( "hide" ); + } + + $("#subSeconds").empty().append( imageSeconds ); + + if( nextMinutes >= 0 && nextSeconds >= 0 ) + setTimeout( "COUNTDOWN.start()", 1000 ); + else + COUNTDOWN.callback(); + }, + + add: function(seconds) { + console.log( "Adding " + seconds + " seconds to countdown" ); + COUNTDOWN.seconds = COUNTDOWN.seconds + seconds; + }, + + setTime: function( seconds ) { + console.log( "Setting " + seconds + " seconds to countdown" ); + COUNTDOWN.seconds = seconds; + }, + + stop: function() { + COUNTDOWN.mustStop = true; + }, + + callback: function() { + console.log( "COUNTDOWN.callback" ); + } +}; diff --git a/demo/sis/js/lettering.js b/demo/sis/js/lettering.js new file mode 100644 index 0000000..6eee851 --- /dev/null +++ b/demo/sis/js/lettering.js @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +(function($) { + function injector(t, splitter, forceSmallParam) { + var a = t.text().split(splitter); + var html = "", + clazz = "clock", + letterSize = 32, + count = 0, + width = 0, + height = 0, + lineSize, + letter, iLetter, + i, x, y + forceSmall = false;//forceSmallParam ? forceSmallParam : false; + if( typeof customClazz != "undefined" ) { + clazz = " clock " + customClazz; + } + if (a.length) { + $(a).each( + function(i, letter) { + iLetter = (letter.charCodeAt(0) - 97); + if( letter === " " ) { + html += ""; + width += 16; + count = count + 1; + } else { + if( letter.charCodeAt(0) > 47 && letter.charCodeAt(0) < 58 ) { // Numbers + letterSize = 32; + if( forceSmall ) { + letterSize = 16; + } + html += ""; + count = count + 1; + } else { // Letters + if( ( letter.charCodeAt(0) >= 'a'.charCodeAt(0) && letter.charCodeAt(0) <= 'z'.charCodeAt(0)) ) { + if( height < 16 ) { + height = 16; + } + width += 16; + lineSize = 20; + x = (iLetter % lineSize) * 16; + y = Math.floor(iLetter / lineSize) * 16 + 144; + html += ""; + count = count + 1; + } else { + if( letter.charCodeAt(0) >= 'A'.charCodeAt(0) && letter.charCodeAt(0) <= 'Z'.charCodeAt(0)) { + iLetter = letter.charCodeAt(0) - 'A'.charCodeAt(0); + if( height < 32 ) { + height = 32; + } + width += 32; + lineSize = 10; + x = (iLetter % lineSize) * 32; + y = Math.floor(iLetter / lineSize) * 32 + 32; + html += ""; + count = count + 1; + } + } + } + } + }); + t.empty().append(html); + } + } + + $.fn.lettering = function() { + return injector( $(this), '', 'char', '' ); // always pass an array + }; +})(jQuery); diff --git a/demo/sis/js/models/aliens.js b/demo/sis/js/models/aliens.js new file mode 100644 index 0000000..a731f33 --- /dev/null +++ b/demo/sis/js/models/aliens.js @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var ALIENS = { + alien1 : { + health : 1, + weapon : WEAPONS.ALIEN, + score : 5, + aggression : 0.0005, + animation : ALIENS_TYPE[0] + }, + alien2 : { + health : 2, + weapon : WEAPONS.ALIEN, + score : 10, + aggression : 0.001, + animation : ALIENS_TYPE[1] + }, + alien3 : { + health : 3, + weapon : WEAPONS.ALIEN, + score : 20, + aggression : 0.0015, + animation : ALIENS_TYPE[2] + } +} + + +/*** Actors - Aliens ***/ +function Alien(id, start, move, type) { + "use strict"; + + this.id = id; + this.x = start.x; + this.y = start.y; + this.moveFct = move; + + this.weapon = new Weapon(type.weapon); + this.fireDirectionY = 1; + + this.originX = this.x; + this.originY = this.y; + this.directionX = -1; + this.speed = 0.5; + this.animation = type.animation; + this.width = type.animation.width; + this.height = type.animation.height; + this.health = type.health; + this.aggression = type.aggression; + this.score = type.score; +} + +Alien.prototype = { + moveFct : null, + width : 0, + height : 0, + aggression : 0, + animation : null, + score : 0, + + init : function() { + "use strict"; + this.speed = 0; + this.node.x(this.x); + this.node.y(this.y); + }, + + move : function() { + "use strict"; + this._super("move", arguments); + if (typeof this.moveFct !== undefined) { + this.moveFct(); + } + }, + + destroy : function() { + this._super("destroy", arguments); + Game.addToScore( this.score ); + } +}; + +heriter(Alien.prototype, Actor.prototype); + +/*** Actors - Aliens - END ***/ diff --git a/demo/sis/js/models/models.js b/demo/sis/js/models/models.js new file mode 100644 index 0000000..ed2b9d3 --- /dev/null +++ b/demo/sis/js/models/models.js @@ -0,0 +1,234 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +function getAliensMidHeight() { + var higherAlien = Math.max.apply( null, + $(".alien").map(function() { + return $(this).y(); + }).get() ), + lowerAlien = Math.min.apply( null, + $(".alien").map(function() { + return $(this).y(); + }).get() ); + + return (higherAlien + lowerAlien) / 2; +} + +WORLD.farm.bonus = [ + { + type: "weapon", + clazz: WEAPONS.CAROT, + animation: WORLD.farm.weapons.carot + }, + { + type: "weapon", + clazz: WEAPONS.CORN, + animation: WORLD.farm.weapons.corn + } +]; + +/*** Actors ***/ +function Actor() { + "use strict"; +} +Actor.prototype = { + id : null, + node : null, + x : null, + y : null, + originX : 0, + originY : 0, + speed : 0, + health : 1, + directionX : 0, + directionY : 0, + fireDirectionX : 0, + fireDirectionY : 0, + weapon : null, + animations : {}, + + getX : function() { + "use strict"; + return this.x; + }, + + getY : function() { + "use strict"; + return this.y; + }, + + move : function() { + "use strict"; + if (!Game.running) { + return; + } + this.x += this.directionX * this.speed; + this.y += this.directionY * this.speed; + this.x = Math.min(this.x, PLAYGROUND_WIDTH - this.node.w()); + this.x = Math.max(this.x, 0); + this.node.x(this.x); + this.node.y(this.y); + }, + + getOriginX : function() { + return this.originX; + }, + + getOriginY : function() { + return this.originY; + }, + + up : function(active) { + "use strict"; + this.directionY = active ? -1 : 0; + }, + + down : function(active) { + "use strict"; + this.directionY = active ? 1 : 0; + }, + + left : function(active) { + "use strict"; + this.directionX = active ? -1 : 0; + }, + + right : function(active) { + "use strict"; + this.directionX = active ? 1 : 0; + }, + + fire : function(layout, clazz) { + var name = "shot" + Math.ceil(Math.random() * 1000); + if (this.weapon.fire(layout)) { + layout.addSprite(name, $.extend({ posx : this.x + this.node.w() / 2, posy : this.y + this.fireDirectionY * this.node.h()}, this.weapon)); + $("#" + name).addClass(clazz).addClass(this.weapon.clazz); + $("#" + name)[0].weapon = this.weapon; + return true; + } + return false; + }, + + hit : function() { + this.health = this.health - 1; + if( this.health == 0 ) { + this.destroy(); + } + + return this.health; + }, + + destroy : function() { + $("#" + this.id).remove(); + } +}; + + +/*** Actors - Heroes - END ***/ +function Ship(id, start, speed, animation) { + "use strict"; + this.id = id; + this.x = start.x; + this.y = start.y; + + this.weapon = new Weapon(WEAPONS.SHOTGUN); + this.fireDirectionY = -1; + + this.originX = this.x; + this.originY = this.y; + this.speed = speed; + + this.animation = animation; + + /*this.bigWheel = $("#bigWheel"); + this.smallWheel = $("#smallWheel"); + var bigWheelRadius = bigWheel.h() / 2, + smallWheelRadius = smallWheel.h() / 2; + this.bigWheelAngle = this.speed * 360 / ( 2 * Math.PI * bigWheelRadius ); + this.smallWheelAngle = this.speed * 360 / ( 2 * Math.PI * smallWheelRadius );*/ + +} + +Ship.prototype = { + speed : 0, + directionX : 0, + directionY : 0, + lives : 3, + animation : null, + /*bigWheel : null, + bigWheelAngle : 0, + smallWheel : null, + smallWheelAngle : 0,*/ + + init : function() { + "use strict"; + this.speed = 0; + this.node.x(this.x); + this.node.y(this.y); + }, + + /** + * Arc = (2* Pi * R) / (360) * alpha + * + */ + move : function() { + "use strict"; + this._super("move", arguments); + }, + + up : function(active) { + if (this.y < (PLAYGROUND_HEIGHT - 2 * HUD_HEIGHT)) { + return false; + } + this._super("up", arguments); + }, + + destroy : function() { + var _this = this, + _hero = $("#hero"), + explosion = EXPLOSIONS.BIG; + + $("#life" + this.lives).remove(); + this.lives = this.lives - 1; + + $("#actors").addSprite("heroExplosion", + { + width: explosion[0].width, + height: explosion[0].height, + posx: _hero.x() - explosion[0].width / 2 + _hero.w(), + posy: _hero.y() - explosion[0].height / 2 - _hero.h() /4 + } + ); + explosionBig($("#heroExplosion"), function() {$("#heroExplosion").remove()}); + _hero.children().hide(); + }, + + respawn : function() { + $("#heroExplosion").remove(); + $("#hero").children().show(); + }, + + fire : function() { + if(this._super("fire", arguments)) { + Game.shots.total = Game.shots.total + 1; + this.weapon.stock--; + if( this.weapon.stock == 0 ) { + this.weapon = new Weapon(WEAPONS.SHOTGUN); + $("#current_weapon").setAnimation(this.weapon.animation); + } + } + } + +}; + +heriter(Ship.prototype, Actor.prototype); +/*** Actors - Heroes - END ***/ + +/*** Actors - END ***/ diff --git a/demo/sis/js/models/waves.js b/demo/sis/js/models/waves.js new file mode 100644 index 0000000..2cf68a4 --- /dev/null +++ b/demo/sis/js/models/waves.js @@ -0,0 +1,183 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +/*** Move ***/ + +var MOVE = { + translation : { + init : function (x, y) { + return {directionX : 1, directionY : 0}; + }, + move : function() { + var offset = (PLAYGROUND_WIDTH - 16 * this.width) / 2; + if (Math.abs((this.getOriginX() - this.getX())) >= offset) { + this.directionX *= -1; + this.y = (this.y + this.height / 4); + } + }, + }, + mirror : { + init : function(x, y) { + if( x < PLAYGROUND_WIDTH / 2 ) { + return {directionX: -1, directionY: 0}; + } + return {directionX: 1, directionY: 0}; + }, + move : function() { + var offset = this.width / 2; + if (Math.abs((this.getOriginX() - this.getX())) >= offset) { + this.directionX *= -1; + this.y = (this.y + this.height / 4); + } + }, + }, + half_part_rotation : { + init : function (x, y) { + return {directionX:0, directionY:0}; + }, + move : function () { + var _this = $(this)[0], + mid = PLAYGROUND_WIDTH / 2, + center = _this.center, + width = _this.width; + + if( this.directionX == 0 && this.directionY == 0 ) { + center = {x: ( this.getOriginX() < mid ? PLAYGROUND_WIDTH / 4 : 3 * PLAYGROUND_WIDTH / 4), y: getAliensMidHeight() }; + width = distance(center, {x: this.x, y: this.y}); + var xAxis = {x: width, y: 0}, + current = {x: center.x - this.getOriginX(), y: center.y - this.getOriginY()}, + alpha = angle( xAxis, current ); + this.directionX = 0.01; + this.directionY = alpha; + $(this)[0].center = center; + $(this)[0].width = width; + } + + if( this.getOriginX() < mid ) { + this.directionY = this.directionY + this.directionX; + } else { + this.directionY = this.directionY - this.directionX; + } + if( Math.abs(this.directionY) > 2 * Math.PI ) { + this.directionY = 0; + } + center.y = center.y + 0.1; + _this.center = center; + this.x = center.x + width * Math.cos(this.directionY); + this.y = center.y + width * Math.sin(this.directionY); + } + }, + + rotation : { + init : function (x, y) { + return {directionX:0, directionY:0}; + }, + move : function () { + var _this = $(this)[0], + mid = PLAYGROUND_WIDTH / 2, + center = _this.center, + width = _this.width; + + if( this.directionX == 0 && this.directionY == 0 ) { + center = {x: mid, y: getAliensMidHeight() }; + width = distance(center, {x: this.x, y: this.y}); + var xAxis = {x: width, y: 0}, + current = {x: center.x - this.getOriginX(), y: center.y - this.getOriginY()}, + alpha = angle( xAxis, current ); + this.directionX = 0.01; + this.directionY = alpha; + $(this)[0].center = center; + $(this)[0].width = width; + } + + this.directionY = this.directionY - this.directionX; + if( Math.abs(this.directionY) > 2 * Math.PI ) { + this.directionY = 0; + } + center.y = center.y + 0.1; + _this.center = center; + this.x = center.x + width * Math.cos(this.directionY); + this.y = center.y + width * Math.sin(this.directionY); + } + }, + + sinusoid : { + init : function (x, y) { + return {directionX : 1, directionY : 1}; + }, + move : function () { + var offset = this.width / 2; + if (Math.abs((this.getOriginX() - this.getX())) >= offset) { + this.directionX *= -1; + } + + if( Math.abs(this.getOriginY() - this.getY()) >= 3 * this.height ) { + this.directionY *= -1; + } + } + } +}; + +/*** Move - end ***/ + + +/*** Waves ***/ + +var WAVES = [ + { + wave : [ + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ] + ], + move : MOVE.translation, + bonus : [40, 20] + }, + { + wave : [ [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ] + ], + move : MOVE.mirror, + bonus : [30, 15] + }, + { + wave : [ [ undefined, undefined, ALIENS.alien1, undefined, undefined, undefined, undefined, undefined, ALIENS.alien1, undefined, undefined ], + [ undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, undefined, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined ], + [ ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1 ], + [ undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined ], + [ undefined, undefined, ALIENS.alien1, undefined, undefined, undefined, undefined, undefined, ALIENS.alien1, undefined, undefined ] + ], + move : MOVE.half_part_rotation, + bonus : [20, 10] + }, + { + wave : [ + [ undefined, undefined, undefined, undefined, ALIENS.alien1, undefined, undefined, undefined, undefined ], + [ undefined, undefined, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, undefined, undefined ], + [ undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined ], + [ undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined ], + [ ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, undefined, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1 ], + [ undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined ], + [ undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined ], + [ undefined, undefined, undefined, ALIENS.alien1, ALIENS.alien1, ALIENS.alien1, undefined, undefined, undefined ], + [ undefined, undefined, undefined, undefined, ALIENS.alien1, undefined, undefined, undefined, undefined ] + ], + move : MOVE.rotation, + bonus : [25, 12] + } + ]; + + +/*** Waves - end ***/ diff --git a/demo/sis/js/models/weapons.js b/demo/sis/js/models/weapons.js new file mode 100644 index 0000000..1460b95 --- /dev/null +++ b/demo/sis/js/models/weapons.js @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var WEAPONS = { + SHOTGUN : { + directionY : -1, + rof : 200, + ror : 1500, + load : 2, + max_load : 2, + width : 3, + height : 3, + clazz : "Shotgun" + }, + CAROT : { + directionY : -1, + stock : 10, + clazz : "carot", + load : 5, + max_load : 5, + width : 5, + height : 10 + }, + CORN : { + directionY : -1, + stock : 3, + clazz : "corn", + load : 1, + max_load : 1, + callback : function(shot) { + var mediumAlien = getAliensMidHeight(); + + if( shot.y() < mediumAlien ) { + var x = shot.x(), + y = shot.y(), + explosion = EXPLOSIONS.SMALL[0]; + $("#shipShots").addSprite("cornExplosion", {width: explosion.width, height: explosion.height, posx: x - explosion.width / 2, posy: y - explosion.height / 2}); + explosionSmall($("#cornExplosion"), function() {$("#cornExplosion").remove()}); + shot.remove(); + + var shipShots = $("#shipShots"); + for( var i = 0; i < 8; i++) { + var cos = Math.cos( (Math.PI / 4) * i ), + sin = Math.sin( (Math.PI / 4) * i); + if( Math.abs(cos) < 0.01 ) { + cos = 0; + } + if( Math.abs(sin) < 0.01) { + sin = 0; + } + shipShots.addSprite( "shotCorn" + i, { posx : x + 5 * cos, posy : y + 5 * sin, width: 2, height: 2}); + var shotCorn = $("#shotCorn" + i); + shotCorn.addClass("shipShot").addClass("shotCorn"); + $("#shotCorn" + i)[0].weapon = $.extend({ + directionX : cos < 0 ? -1 : cos > 0 ? 1 : 0, + directionY : sin < 0 ? -1 : sin > 0 ? 1 : 0, + speed : 1 + }, shot.weapon); + } + } + } + }, + ALIEN : { + directionY : 1, + width : 5, + height : 10 + } +} + +function Weapon(type) { + "use strict"; + this.directionY = type.directionY || 1; + this.directionX = type.directionX || 0; + this.width = type.width; + this.height = type.height; + this.speed = type.speed || 5; + this.strenght = type.strength || 10; + this.stock = type.stock || Infinity; + this.rof = type.rof || 300; + this.ror = type.ror || 1500; + this.load = type.load || 1; + this.max_load = type.max_load || 1; + this.animation = type.animation; + this.clazz = type.clazz || "default"; + this.callback = type.callback; + +} + +Weapon.prototype = { + speed : 5, + strength : 10, + stock: Infinity, + rof : 300, + ror : 1500, + load : 1, + max_load : 1, + width : 5, + height : 5, + shot_timer : false, + reload_timer : false, + directionX : 0, + directionY : 1, + animation : null, + clazz : "default", + callback : undefined, + + fire : function() { + if (this.shot_timer || this.load <= 0) { + return false; + } + + var _this = this; + this.load = Math.max(0,this.load - 1); + this.shot_timer = setInterval(function() { + if (_this.load > 0) { + clearTimeout(_this.shot_timer); + _this.shot_timer = false; + } + }, this.rof); + + if( !this.reload_timer) { + this.reload_timer = setInterval( function() { + _this.load = Math.min(_this.load + 1, Math.min(_this.max_load, _this.stock)); + if( _this.load == _this.max_load ) { + clearInterval(_this.reload_timer); + _this.reload_timer = false; + } + }, this.ror); + } + return true; + } + +} \ No newline at end of file diff --git a/demo/sis/js/scoreboard.js b/demo/sis/js/scoreboard.js new file mode 100644 index 0000000..56ccdac --- /dev/null +++ b/demo/sis/js/scoreboard.js @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +var SCOREBOARD = { + score: 0, + scoreLength: 6, + + init: function(size) { + if( typeof size !== "undefined" ) + SCOREBOARD.scoreLength = size; + SCOREBOARD.score = 0; + SCOREBOARD.set_score( 0 ); + }, + + add: function(addToScore, div) { + SCOREBOARD.set_score( SCOREBOARD.score + addToScore, div); + }, + + set_score: function( score, div ) { + var currentScore = ""; + var imageScore = ""; + + SCOREBOARD.score = score; + currentScore = SCOREBOARD.pad(); + + for(i = 0; i < String(currentScore).length; i++) { + imageScore += "
"; + } + + if( typeof div === "undefined" ) + div = $(".subScoreboard"); + div.empty(); + div.append( imageScore ); + }, + + pad: function() { + var str = '' + SCOREBOARD.score; + while (str.length < SCOREBOARD.scoreLength) { + str = '0' + str; + } + return str; + }, + + callback: function() { + console.log( "SCOREBOARD.callback" ); + } +}; diff --git a/demo/sis/js/spaceinvaders-core.js b/demo/sis/js/spaceinvaders-core.js new file mode 100644 index 0000000..b6c0083 --- /dev/null +++ b/demo/sis/js/spaceinvaders-core.js @@ -0,0 +1,318 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +Game = { + running : false, + wave_index : -1, + wave : undefined, + aliens : [], + ship : null, + score : 0, + shots : { + total : 0, + lost : 0 + }, + + init : function() { + "use strict"; + animations = WORLD.farm; + Game.wave_index = Game.wave_index + 1; + Game.wave = WAVES[Math.min(Game.wave_index, WAVES.length - 1)]; + Game.wave.score = 0; + + var row, col, wave = Game.wave.wave; + + for (row = 0; row < wave.length; row = row + 1) { + var alien_width_avg = 0, + aliens_row = wave[row], + offset = 0; + + for (col = 0; col < aliens_row.length; col = col + 1) { + var current_width = typeof aliens_row[col] !== "undefined" ? aliens_row[col].animation.width : ALIENS_TYPE[2].width; + alien_width_avg = alien_width_avg + current_width; + } + + alien_width_avg = alien_width_avg / aliens_row.length; + offset = (PLAYGROUND_WIDTH - (aliens_row.length * 1.5 - 0.5) * alien_width_avg) / 2; + + for (col = 0; col < aliens_row.length; col = col + 1) { + Game.setAlien(col, row, offset, alien_width_avg, aliens_row[col], Game.wave.move); + } + } + + SCOREBOARD.init(); + SCOREBOARD.set_score( Game.score ); + + updateLevel(Game.wave_index + 1); + + Game.setShip(); + + hideModal(); + Game.running = true; + }, + + game_over : function() { + displayModal( { + end: "Loose", + score: Game.score + }); + }, + + levelComplete : function() { + "use strict"; + Game.running = false; + var bonus = Math.round(((Game.shots.total - Game.shots.lost) / Game.shots.total) * Game.wave.score), + wave_score = Game.wave.score; + Game.addToScore(bonus); + + displayModal( { + bonus: bonus, + wave_score: wave_score, + score: Game.score, + }); + + setTimeout(function() { + Game.init(); + }, 5000); + }, + + hit : function() { + "use strict"; + if( !Game.running ) { + return false; + } + + var health = Game.ship.hit(); + $(".alienShot").remove(); + $(".shipShot").remove(); + $("#life" + Game.ship.lives).remove(); + Game.running = false; + $("#hero").children().hide(); + + if( Game.ship.lives > 0 ) { + var _this = Game.ship; + setTimeout(function() { + Game.ship.respawn(); + Game.running = true; + }, 5000); + } + else { + Game.game_over(); + } + }, + + setAlien : function(x, y, offset, width, type, move) { + "use strict"; + if( typeof type === "undefined" ) { + return; + } + var id = Game.aliens.length + 1, + alien = new Alien("alien" + id, { + x : offset + x * width * 1.5, + y : START_Y + (y * 1.25 * type.animation.height) + }, move.move, type), + directions = move.init( alien.x, alien.y ); + alien.directionX = directions.directionX; + alien.directionY = directions.directionY; + $("#actors").addSprite("alien" + id, $.extend({posx : alien.x, posy : alien.y}, alien.animation)); + alien.node = $("#alien" + id); + alien.node.addClass("alien"); + $("#alien" + id)[0].alien = alien; + Game.aliens.push(alien); + }, + + setShip : function() { + Game.ship = new Ship("ship", { + x : $("#hero").x(), + y : $("#hero").y() + }, 3, animations.hero.ship.animation); + var hero = $("#hero"); + $.each(animations.hero, + function(id, obj){ + hero.addSprite(id, obj); + }); + Game.ship.node = $("#hero"); + }, + + addToScore : function( toAdd ) { + Game.score = Game.score + toAdd; + Game.wave.score = Game.wave.score + toAdd; + SCOREBOARD.add( toAdd ); + }, + + control : function() { + if( !Game.running ) { + return false; + } + + $(document).keyup(function(e){ + switch(e.keyCode) { + case 37: + e.preventDefault(); + Game.ship.left(false); + break; + case 39: + e.preventDefault(); + Game.ship.right(false); + break; + } + }); + $(document).keydown(function(e){ + switch(e.keyCode) { + case 37: + e.preventDefault(); + Game.ship.left(true); + break; + case 39: + e.preventDefault(); + Game.ship.right(true); + break; + case 32: + e.preventDefault(); + Game.ship.fire($("#shipShots"), "shipShot"); + return false; + } + }); + }, + + alienControl : function() { + if( !Game.running ) { + return false; + } + + $.each(Game.aliens, function(index, alien ) { + alien.move(); + var node = alien.node; + if( (node.y() + node.h()) > $("#hero").y() ) { + Game.running = false; + Game.game_over(); + return false; + } + if( alien.health > 0 && Math.random() < (alien.aggression * (Game.wave_index + 1)) ) { + alien.fire($("#aliensShots"), "alienShot"); + } + }); + }, + + heroShotCollision : function() { + if( !Game.running ) { + return false; + } + + var shots = $(".shipShot"); + if( shots.length == 0 ) { + return false; + } + + shots.each(function(i,e) { + var posy = $(this).y(), + posx = $(this).x(), + weapon = $(this)[0].weapon; + + // Lost shots + if( posy < -$(this).height() || posy > PLAYGROUND_HEIGHT || posx < -$(this).width() || posx > PLAYGROUND_WIDTH ) { + Game.shots.lost = Game.shots.lost + 1; + this.remove(); + return; + } + $(this).y(weapon.directionY * weapon.speed, true); + $(this).x(weapon.directionX * weapon.speed, true); + + if( weapon.callback ) { + weapon.callback($(this)); + } else { + // Shots collisions + var collisions = $(this).collision(".alien,."+$.gQ.groupCssClass); + collisions.each( function() { + var alien = $(this)[0], + alienX = alien.alien.x, + alienY = alien.alien.y, + alienWidth = alien.alien.width, + alienHeight = alien.alien.height; + + alien.alien.hit(); + Game.aliens = $.grep( Game.aliens, function( elementOfArray, index) { + return elementOfArray.health == 0 && elementOfArray.id == alien.id; + }, true); + var remainingAliens = $(".alien").length; + if( remainingAliens == Game.wave.bonus[0] || remainingAliens == Game.wave.bonus[1] ) { + Game.bonus(alienX, alienY, alienWidth, alienHeight); + } + }); + if( collisions.length > 0 ) { + this.remove() + } + + if( Game.aliens.length == 0 ) { + Game.running = false; + Game.levelComplete(); + } + } + }); + }, + + bonusCollision : function() { + if( !Game.running ) { + return false; + } + + $(".bonus").each(function(i,e) { + var collisions = $(this).collision("#ship,."+$.gQ.groupCssClass); + var bonus = $(this)[0].bonus; + if( collisions.length > 0 ) { + if( bonus.type === "weapon" ) { + Game.ship.weapon = new Weapon(bonus.clazz); + $("#current_weapon").setAnimation(bonus.animation.animation); + this.remove(); + } + } + }); + }, + + + bonus : function(alienX, alienY, alienWidth, alienHeight) { + var bonus = animations.bonus[Math.round(Math.random() * (animations.bonus.length - 1)) ]; + var id = Math.round(Math.random() * 10000); + $("#actors").addSprite("bonus" + id, + $.extend( + { + posx: alienX + (alienWidth - bonus.animation.width) / 2, + posy: alienY + }, bonus.animation)); + $("#bonus" + id).addClass("bonus"); + $("#bonus" + id)[0].bonus = bonus; + }, + + alienShotCollision : function() { + if( !Game.running ) { + return false; + } + + $(".alienShot").each(function(i,e) { + var posy = $(this).y(); + if( posy > PLAYGROUND_HEIGHT ) { + this.remove(); + return; + } + var weapon = $(this)[0].weapon; + $(this).y(weapon.directionY * weapon.speed, true); + $(this).x(weapon.directionX * weapon.speed, true); +// var collisions = $(this).collision("#ship,."+$.gQ.groupCssClass); + try { + var collisions = $(this).collision("#actors,#hero,#ship"); + if( collisions.length > 0 ) { + Game.hit(); + this.remove(); + } + }catch(e) { + } + }); + } +}; diff --git a/demo/sis/js/spaceinvaders-ui.js b/demo/sis/js/spaceinvaders-ui.js new file mode 100644 index 0000000..dd58f39 --- /dev/null +++ b/demo/sis/js/spaceinvaders-ui.js @@ -0,0 +1,226 @@ +/* + * Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + * + * 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. +*/ + +/*global jQuery */ + +var PLAYGROUND_WIDTH = 448, + PLAYGROUND_HEIGHT = 544, + MODAL_WIDTH = 300, + REFRESH_RATE = 15, + HUD_HEIGHT = 70, + + ROWS = 5, + ALIENS = 11, + + ALIENS_WIDTH = 24, + ALIENS_HEIGHT = 17, + + START_Y = 40; + +var animations = WORLD.farm; + + +function explose( div, explosion, step, callback ) { + if( step < explosion.length - 2 ) { + div.setAnimation( explosion[step].animation, function() { + explose( div, explosion, step + 1, callback ); + }); + } else { + div.setAnimation( explosion[step].animation, callback); + } +}; + +function explosionBig( div, callback ) { + explose(div, EXPLOSIONS.BIG, 0, callback ); +}; + +function explosionSmall( div, callback ) { + explose(div, EXPLOSIONS.SMALL, 0, callback ); +}; + +function displayModal(data) { + var score = data.score.toString(); + $.playground() + .addGroup( "modal_pane", {width: MODAL_WIDTH, height: data.end ? 190 : 140, posx: (PLAYGROUND_WIDTH - MODAL_WIDTH ) /2, posy: (PLAYGROUND_HEIGHT - (140 ))/2}) + .addSprite("scoreLbl", {width: 180, height: 32, posx: 10, posy: data.end ? 50 : 10}) + .addSprite("scoreNbr", {width: score.length * 32, height: 32, posx: (MODAL_WIDTH - 10 - score.length * 32), posy: data.end ? 50 : 10}) + .end(); + if( data.end ) { + var width = (data.end.length - 1 ) * 16 + 32; + $("#modal_pane").addSprite("gameSt", {width: width, height: 32, posx: (MODAL_WIDTH - width) / 2, posy: 10}); + $("#gameSt").append(data.end).lettering(); + } + + if( data.bonus ) { + var bonus = data.bonus.toString(), + total = data.wave_score.toString(); + $("#modal_pane") + .addSprite("totalLbl", {width: 180, height: 32, posx: 10, posy: data.end ? 130 : 90}) + .addSprite("totalNbr", {width: total.length * 32, height: 32, posx: (MODAL_WIDTH - 10 - total.length * 32), posy: data.end ? 130 : 90}) + .addSprite("bonusLbl", {width: 180, height: 32, posx: 10, posy: data.end ? 90 : 50}) + .addSprite("bonusNbr", {width: bonus.length * 32, height: 32, posx: (MODAL_WIDTH - 10 - bonus.length * 32), posy: data.end ? 90 : 50}) + ; + $("#totalLbl").append("Wave").lettering(); + $("#totalNbr").append(total).lettering(); + $("#bonusLbl").append("Bonus").lettering(); + $("#bonusNbr").append(bonus).lettering(); + } + + $("#modal_pane").addClass( "modal" ); + $("#scoreLbl").append("Score").lettering(); + $("#scoreNbr").append(score).lettering(); +} + +function hideModal() { + $("#modal_pane").remove(); +} + +function updateWeaponLoad( load ) { + "use strict"; + var HTMLDiv = $("#weapon_load"); + HTMLDiv.removeClass().addClass("weapon_level"); + if( load > 2/3) { + HTMLDiv.addClass("good"); + } else { + if( load > 1/3) { + HTMLDiv.addClass("middle"); + } else { + HTMLDiv.addClass("bad"); + } + } + HTMLDiv.width( (load * 100) + "%" ); +} + +function updateLevel(level) { + var strLevel = level.toString(); + var div = $("#level"); + div.w(strLevel.length * 32); + div.x( PLAYGROUND_WIDTH / 2 - 10 - strLevel.length * 32); + div.empty().append(strLevel).lettering(); +} + +$(function(){ + "use strict"; + + //Playground Sprites + $("#playground").playground({height: PLAYGROUND_HEIGHT, width: PLAYGROUND_WIDTH, keyTracker: true}); + + $.playground({refreshRate: 60}) + .addGroup("background", {posx: 0, posy: HUD_HEIGHT, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT - HUD_HEIGHT}) + .addSprite( "background1", {animation: animations.backgrounds.farm.background1.animation, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT - HUD_HEIGHT}) + .addSprite( "background2", {animation: animations.backgrounds.farm.background2.animation, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT - HUD_HEIGHT}) + .addSprite("ground", {posx: 0, posy : PLAYGROUND_HEIGHT - HUD_HEIGHT - 20, width: PLAYGROUND_WIDTH, height: 20}) + .end() + .addGroup("actors", {posx: 0, posy: HUD_HEIGHT, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT - HUD_HEIGHT}) + .addGroup("hero", { + width: 48, + height: 60, + posx: (PLAYGROUND_WIDTH - 48) / 2, + posy: PLAYGROUND_HEIGHT - HUD_HEIGHT - 50 + }) + .end() +/* .addSprite("alienA", $.extend({posx : 50, posy : 300}, ALIENS[0])) + .addSprite("alienB", $.extend({posx : 50, posy : 400}, ALIENS[1])) + .addSprite("alienC", $.extend({posx : 50, posy : 500}, ALIENS[2])) +*/ .addSprite("explosion", { + width: 64, + height: 64, + posx: 100, + posy: 100 + }) + .end() + .addGroup( "shipShots", {posx: 0, posy: HUD_HEIGHT, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT - HUD_HEIGHT}) + .end() + .addGroup( "aliensShots", {posx: 0, posy: HUD_HEIGHT, width: PLAYGROUND_WIDTH, height: PLAYGROUND_HEIGHT - HUD_HEIGHT}) + .end() + .addGroup( "hud", {width: PLAYGROUND_WIDTH, height: HUD_HEIGHT, posx: 0, posy: 0}) + .addSprite( "current_weapon", $.extend({posx: 10, posy: 40}, animations.weapons.gun)) + .addGroup("weapon_bar", { + posx : 50, + posy : 40, + width : 100, + height : 10 + }) + .addSprite("weapon_load", { + width : 100, + height : 10 + }) + .end() + .addGroup("scoreboard", { + posx: 10, + posy: 2, + width: 6 * 32, + height: 32 + }) + .addSprite( "subScoreboard", { + width: 6 * 32, + height: 32 + }) + .end() + .addGroup("lives", { + posx: PLAYGROUND_WIDTH - 100, + posy: 32, + width: 100, + height: 32 + }) + .addSprite("life2", animations.life) + .addSprite("life1", $.extend({posx: 32}, animations.life)) + .addSprite("life0", $.extend({posx: 64}, animations.life)) + .end() + .addGroup("levelGrp", { + posx: PLAYGROUND_WIDTH / 2, + posy: 2, + width: PLAYGROUND_WIDTH / 2, + height: 16 + }) + .addSprite("levelLbl", { + width: 32 + 5 * 16, + posx: 10 + }) + .addSprite("level", { + width : 64, + posx: 32 + 7 * 16, + height: 32 + }) + .end() + .end() + ; + + $("#ground").css("background-color", "brown"); + $("#levelLbl").append("Level").lettering(); + $("#level").append("0").lettering(); + $("#scoreboard").addClass("scoreboard"); + $("#subScoreboard").addClass("subScoreboard"); + var hud = $("#hud"); + + // Controls + $.playground().registerCallback(Game.control, REFRESH_RATE); + $.playground().registerCallback(Game.alienControl, REFRESH_RATE); + + // Collisions management + $.playground().registerCallback(Game.bonusCollision, REFRESH_RATE); + $.playground().registerCallback(Game.heroShotCollision, REFRESH_RATE); + $.playground().registerCallback(Game.alienShotCollision, REFRESH_RATE); + + // Refresh playground + $.playground().registerCallback(function(){ + updateWeaponLoad(Game.ship.weapon.load / Game.ship.weapon.max_load); + if( Game.running ) { + Game.ship.move(); + $(".bonus").each( function(index, bonus) { + var posy = $(this).y(); + if( posy < Game.ship.y + 10 ) { + $(this).y(3, true); + return; + } + }); + } + }, REFRESH_RATE); +}); diff --git a/demo/sis/js/tools.js b/demo/sis/js/tools.js new file mode 100644 index 0000000..68e8763 --- /dev/null +++ b/demo/sis/js/tools.js @@ -0,0 +1,83 @@ +function heriter(destination, source) { + function initClassIfNecessary(obj) { + if( typeof obj["_super"] == "undefined" ) { + obj["_super"] = function() { + var methodName = arguments[0]; + var parameters = arguments[1]; + return this["__parent_methods"][methodName].apply(this, parameters); + } + } + + if( typeof obj["__parent_methods"] == "undefined" ) { + obj["__parent_methods"] = {}; + } + } + + for (var element in source) { + if( typeof destination[element] != "undefined" ) { + initClassIfNecessary(destination); + destination["__parent_methods"][element] = source[element]; + } else { + destination[element] = source[element]; + } + } +} + +function distance(point1, point2) { + return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2)); +} + +function normalize(vector) { + var norm = Math.sqrt(vector.x * vector.x + vector.y * vector.y); + if (norm == 0) + return { + x : 0, + y : 0 + }; + + var x = vector.x / norm; + var y = vector.y / norm; + return { + x : x, + y : y + } +} + +function angle(vector1, vector2) { + if ((vector1.x == 0 && vector1.y == 0) + && (vector1.x == 0 && vector1.y == 0)) { + return 0; + } + + if (vector1.x == 0 && vector1.y == 0) { + return Math.acos(vector2.x + / Math.sqrt(vector2.x * vector2.x + vector2.y * vector2.y)); + } + + if (vector2.x == 0 && vector2.y == 0) { + return Math.acos(vector1.x + / Math.sqrt(vector1.x * vector1.x + vector1.y * vector1.y)); + } + + var product = vector1.x * vector2.x + vector1.y * vector2.y, + alpha = Math.acos(product + / (Math.sqrt(vector1.x * vector1.x + vector1.y * vector1.y) * Math + .sqrt(vector2.x * vector2.x + vector2.y * vector2.y))), + sign = normalize(vector1).y > normalize(vector2).y ? -1 : 1; + + return sign * alpha; +} + + +function getAliensMidHeight() { + var higherAlien = Math.max.apply( null, + $(".alien").map(function() { + return $(this).y(); + }).get() ), + lowerAlien = Math.min.apply( null, + $(".alien").map(function() { + return $(this).y(); + }).get() ); + + return (higherAlien + lowerAlien) / 2; +} \ No newline at end of file diff --git a/demo/sis/lib/gamequery-0.7.1.js b/demo/sis/lib/gamequery-0.7.1.js new file mode 100644 index 0000000..b9f6416 --- /dev/null +++ b/demo/sis/lib/gamequery-0.7.1.js @@ -0,0 +1,1849 @@ +/* + * gameQuery rev. 0.7.1 + * + * Copyright (c) 2012 Selim Arsever (http://gamequeryjs.com) + * licensed under the MIT-License + */ + +// This allows use of the convenient $ notation in a plugin +(function($) { + + // CSS Feature detection from: Craig Buckler (http://www.sitepoint.com/detect-css3-property-browser-support/) + var cssTransform = false; + + var detectElement = document.createElement("detect"), + CSSprefix = "Webkit,Moz,O,ms,Khtml".split(","), + All = ("transform," + CSSprefix.join("Transform,") + "Transform").split(","); + for (var i = 0, l = All.length; i < l; i++) { + if (detectElement.style[All[i]] === "") { + cssTransform = All[i]; + } + } + + // This prefix can be use whenever needed to namespace CSS classes, .data() inputs aso. + var gQprefix = "gQ_"; + + // Those are the possible states of the engine + var STATE_NEW = 0; // Not yet started for the first time + var STATE_RUNNING = 1; // Started and running + var STATE_PAUSED = 2; // Paused + + /** + * Utility function that returns the radius for a geometry. + * + * @param {object} elem DOM element + * @param {float} angle the angle in degrees + * @return {object} .x, .y radius of geometry + */ + var proj = function (elem, angle) { + switch (elem.geometry){ + case $.gameQuery.GEOMETRY_RECTANGLE : + var b = angle*Math.PI*2/360; + var Rx = Math.abs(Math.cos(b)*elem.width/2*elem.factor)+Math.abs(Math.sin(b)*elem.height/2*elem.factor); + var Ry = Math.abs(Math.cos(b)*elem.height/2*elem.factor)+Math.abs(Math.sin(b)*elem.width/2*elem.factor); + + return {x: Rx, y: Ry}; + } + }; + + /** + * Utility function that checks for collision between two elements. + * + * @param {object} elem1 DOM for the first element + * @param {float} offset1 offset of the first element + * @param {object} elem2 DOM for the second element + * @param {float} offset2 offset of the second element + * @return {boolean} if the two elements collide or not + */ + var collide = function(elem1, offset1, elem2, offset2) { + // test real collision (only for two rectangles...) + if((elem1.geometry == $.gameQuery.GEOMETRY_RECTANGLE && elem2.geometry == $.gameQuery.GEOMETRY_RECTANGLE)){ + + var dx = offset2.x + elem2.boundingCircle.x - elem1.boundingCircle.x - offset1.x; + var dy = offset2.y + elem2.boundingCircle.y - elem1.boundingCircle.y - offset1.y; + var a = Math.atan(dy/dx); + + var Dx = Math.abs(Math.cos(a-elem1.angle*Math.PI*2/360)/Math.cos(a)*dx); + var Dy = Math.abs(Math.sin(a-elem1.angle*Math.PI*2/360)/Math.sin(a)*dy); + + var R = proj(elem2, elem2.angle-elem1.angle); + + if((elem1.width/2*elem1.factor+R.x <= Dx) || (elem1.height/2*elem1.factor+R.y <= Dy)) { + return false; + } else { + var Dx = Math.abs(Math.cos(a-elem2.angle*Math.PI*2/360)/Math.cos(a)*-dx); + var Dy = Math.abs(Math.sin(a-elem2.angle*Math.PI*2/360)/Math.sin(a)*-dy); + + var R = proj(elem1, elem1.angle-elem2.angle); + + if((elem2.width/2*elem2.factor+R.x <= Dx) || (elem2.height/2*elem2.factor+R.y <= Dy)) { + return false; + } else { + return true; + } + } + } else { + return false; + } + }; + + /** + * Utility function computes the offset relative to the playground of a gameQuery element without using DOM's position. + * This should be faster than the standand .offset() function. + * + * Warning: No non-gameQuery elements should be present between this element and the playground div! + * + * @param {jQuery} element the jQuery wrapped DOM element representing the gameQuery object. + * @return {object} an object {x:, y: } containing the x and y offset. (Not top and left like jQuery's .offset()) + */ + var offset = function(element) { + // Get the tileSet offset (relative to the playground) + var offset = {x: 0, y: 0}; + var parent = element[0]; + + while(parent !== $.gameQuery.playground[0] && parent.gameQuery !== undefined) { + offset.x += parent.gameQuery.posx; + offset.y += parent.gameQuery.posy; + parent = parent.parentNode; + } + + return offset + } + + /** + * Utility function computes the index range of the tiles for a tilemap. + * + * @param {jQuery} element the jQuery wrapped DOM element representing the tilemap. + * @param {object} offset an object holding the x and y offset of the tilemap, this is optional and will be computed if not provided. + * @return {object} an object {firstColumn: , lastColumn: , fristRow: , lastRow: } + */ + var visibleTilemapIndexes = function (element, elementOffset) { + if (elementOffset === undefined) { + elementOffset = offset(element); + } + + var gameQuery = element[0].gameQuery; + // Activate the visible tiles + return { + firstRow: Math.max(Math.min(Math.floor(-elementOffset.y/gameQuery.height), gameQuery.sizey), 0), + lastRow: Math.max(Math.min(Math.ceil(($.gameQuery.playground[0].height-elementOffset.y)/gameQuery.height), gameQuery.sizey), 0), + firstColumn: Math.max(Math.min(Math.floor(-elementOffset.x/gameQuery.width), gameQuery.sizex), 0), + lastColumn: Math.max(Math.min(Math.ceil(($.gameQuery.playground[0].width-elementOffset.x)/gameQuery.width), gameQuery.sizex), 0) + } + } + + /** + * Utility function thast computes the buffered zone of a tilemap + * + * @param {jQuery} element the jQuery wrapped DOM element representing the tilemap. + * @param {object} visible an object describing the visible zone + * @return {object} an object {firstColumn: , lastColumn: , fristRow: , lastRow: } + */ + var bufferedTilemapIndexes = function (element, visible) { + var gameQuery = element[0].gameQuery; + + return { + firstRow: Math.max(Math.min(visible.firstRow - gameQuery.buffer, gameQuery.sizey), 0), + lastRow: Math.max(Math.min(visible.lastRow + gameQuery.buffer, gameQuery.sizey), 0), + firstColumn: Math.max(Math.min(visible.firstColumn - gameQuery.buffer, gameQuery.sizex), 0), + lastColumn: Math.max(Math.min(visible.lastColumn + gameQuery.buffer, gameQuery.sizex), 0) + } + } + + /** + * Utility function that creates a tile in the given tilemap + * + * @param {jQuery} tileSet the jQuery element representing the tile map + * @param {integer} row the row index of the tile in the tile map + * @param {integer} column the column index of the tile in the tile map + */ + var addTile = function(tileSet, row, column) { + var gameQuery = tileSet[0].gameQuery; + var name = tileSet.attr("id"); + + var tileDescription; + if(gameQuery.func) { + tileDescription = gameQuery.tiles(row,column)-1; + } else { + tileDescription = gameQuery.tiles[row][column]-1; + } + + var animation; + if(gameQuery.multi) { + animation = gameQuery.animations; + } else { + animation = gameQuery.animations[tileDescription]; + } + + if(tileDescription >= 0){ + tileSet.addSprite($.gameQuery.tileIdPrefix+name+"_"+row+"_"+column, + {width: gameQuery.width, + height: gameQuery.height, + posx: column*gameQuery.width, + posy: row*gameQuery.height, + animation: animation}); + + var newTile = tileSet.find("#"+$.gameQuery.tileIdPrefix+name+"_"+row+"_"+column); + if (gameQuery.multi) { + newTile.setAnimation(tileDescription); + } else { + newTile[0].gameQuery.animationNumber = tileDescription; + } + newTile.removeClass($.gameQuery.spriteCssClass); + newTile.addClass($.gameQuery.tileCssClass); + newTile.addClass($.gameQuery.tileTypePrefix+tileDescription); + } + } + + // Define the list of object/function accessible through $. + $.extend({ gameQuery: { + /** + * This is the Animation Object + */ + Animation: function (options, imediateCallback) { + // private default values + var defaults = { + imageURL: "", + numberOfFrame: 1, + delta: 0, + rate: 30, + type: 0, + distance: 0, + offsetx: 0, + offsety: 0 + }; + + // options extends defaults + options = $.extend(defaults, options); + + // "public" attributes: + this.imageURL = options.imageURL; // The url of the image to be used as an animation or sprite + this.numberOfFrame = options.numberOfFrame; // The number of frames to be displayed when playing the animation + this.delta = options.delta; // The distance in pixels between two frames + this.rate = options.rate; // The rate at which the frames change in miliseconds + this.type = options.type; // The type of the animation.This is a bitwise OR of the properties. + this.distance = options.distance; // The distance in pixels between two animations + this.offsetx = options.offsetx; // The x coordinate where the first sprite begins + this.offsety = options.offsety; // The y coordinate where the first sprite begins + + // Whenever a new animation is created we add it to the ResourceManager animation list + $.gameQuery.resourceManager.addAnimation(this, imediateCallback); + + return true; + }, + + /** + * "constants" for the different types of an animation + */ + ANIMATION_VERTICAL: 1, // Generated by a vertical offset of the background + ANIMATION_HORIZONTAL: 2, // Generated by a horizontal offset of the background + ANIMATION_ONCE: 4, // Played only once (else looping indefinitely) + ANIMATION_CALLBACK: 8, // A callback is exectued at the end of a cycle + ANIMATION_MULTI: 16, // The image file contains many animations + ANIMATION_PINGPONG: 32, // At the last frame of the animation it reverses (if used in conjunction with ONCE it will have no effect) + + // "constants" for the different type of geometry for a sprite + GEOMETRY_RECTANGLE: 1, + GEOMETRY_DISC: 2, + + // basic values + refreshRate: 30, + + /** + * An object to manage resource loading + */ + resourceManager: { + animations: [], // List of animations / images used in the game + sounds: [], // List of sounds used in the game + callbacks: [], // List of the functions called at each refresh + loadedAnimationsPointer: 0, // Keep track of the last loaded animation + loadedSoundsPointer: 0, // Keep track of the last loaded sound + + /** + * Load resources before starting the game. + */ + preload: function() { + // Start loading the images + for (var i = this.animations.length-1 ; i >= this.loadedAnimationsPointer; i --){ + this.animations[i].domO = new Image(); + this.animations[i].domO.src = this.animations[i].imageURL; + } + + // Start loading the sounds + for (var i = this.sounds.length-1 ; i >= this.loadedSoundsPointer; i --){ + this.sounds[i].load(); + } + + $.gameQuery.resourceManager.waitForResources(); + }, + + /** + * Wait for all the resources called for in preload() to finish loading. + */ + waitForResources: function() { + // Check the images + var imageCount = 0; + for(var i=this.loadedAnimationsPointer; i < this.animations.length; i++){ + if(this.animations[i].domO.complete){ + imageCount++; + } + } + // Check the sounds + var soundCount = 0; + for(var i=this.loadedSoundsPointer; i < this.sounds.length; i++){ + var temp = this.sounds[i].ready(); + if(temp){ + soundCount++; + } + } + // Call the load callback with the current progress + if($.gameQuery.resourceManager.loadCallback){ + var percent = (imageCount + soundCount)/(this.animations.length + this.sounds.length - this.loadedAnimationsPointer - this.loadedSoundsPointer)*100; + $.gameQuery.resourceManager.loadCallback(percent); + } + if(imageCount + soundCount < (this.animations.length + this.sounds.length - this.loadedAnimationsPointer - this.loadedSoundsPointer)){ + imgWait=setTimeout(function () { + $.gameQuery.resourceManager.waitForResources(); + }, 100); + } else { + this.loadedAnimationsPointer = this.animations.length; + this.loadedSoundsPointer = this.sounds.length; + + // All the resources are loaded! We can now associate the animation's images to their corresponding sprites + $.gameQuery.scenegraph.children().each(function(){ + // recursive call on the children: + $(this).children().each(arguments.callee); + // add the image as a background + if(this.gameQuery && this.gameQuery.animation){ + $(this).css("background-image", "url("+this.gameQuery.animation.imageURL+")"); + // we set the correct kind of repeat + if(this.gameQuery.animation.type & $.gameQuery.ANIMATION_VERTICAL) { + $(this).css("background-repeat", "repeat-x"); + } else if(this.gameQuery.animation.type & $.gameQuery.ANIMATION_HORIZONTAL) { + $(this).css("background-repeat", "repeat-y"); + } else { + $(this).css("background-repeat", "no-repeat"); + } + } + }); + + // Launch the refresh loop + if($.gameQuery.state === STATE_NEW){ + setInterval(function () { + $.gameQuery.resourceManager.refresh(); + },($.gameQuery.refreshRate)); + } + $.gameQuery.state = STATE_RUNNING; + if($.gameQuery.startCallback){ + $.gameQuery.startCallback(); + } + // Make the scenegraph visible + $.gameQuery.scenegraph.css("visibility","visible"); + } + }, + + /** + * This function refresh a unique sprite here 'this' represent a dom object + */ + refreshSprite: function() { + // Check if 'this' is a gameQuery element + if(this.gameQuery != undefined){ + var gameQuery = this.gameQuery; + // Does 'this' has an animation ? + if(gameQuery.animation){ + // Do we have anything to do? + if ( (gameQuery.idleCounter == gameQuery.animation.rate-1) && gameQuery.playing){ + + // Does 'this' loops? + if(gameQuery.animation.type & $.gameQuery.ANIMATION_ONCE){ + if(gameQuery.currentFrame < gameQuery.animation.numberOfFrame-1){ + gameQuery.currentFrame += gameQuery.frameIncrement; + } else if(gameQuery.currentFrame == gameQuery.animation.numberOfFrame-1) { + // Does 'this' has a callback ? + if(gameQuery.animation.type & $.gameQuery.ANIMATION_CALLBACK){ + if($.isFunction(gameQuery.callback)){ + gameQuery.callback(this); + gameQuery.callback = false; + } + } + } + } else { + if(gameQuery.animation.type & $.gameQuery.ANIMATION_PINGPONG){ + if(gameQuery.currentFrame == gameQuery.animation.numberOfFrame-1 && gameQuery.frameIncrement == 1) { + gameQuery.frameIncrement = -1; + } else if (gameQuery.currentFrame == 0 && gameQuery.frameIncrement == -1) { + gameQuery.frameIncrement = 1; + } + } + + gameQuery.currentFrame = (gameQuery.currentFrame+gameQuery.frameIncrement)%gameQuery.animation.numberOfFrame; + if(gameQuery.currentFrame == 0){ + // Does 'this' has a callback ? + if(gameQuery.animation.type & $.gameQuery.ANIMATION_CALLBACK){ + if($.isFunction(gameQuery.callback)){ + gameQuery.callback(this); + } + } + } + } + // Update the background + if((gameQuery.animation.type & $.gameQuery.ANIMATION_VERTICAL) && (gameQuery.animation.numberOfFrame > 1)){ + if(gameQuery.multi){ + $(this).css("background-position",""+(-gameQuery.animation.offsetx-gameQuery.multi)+"px "+(-gameQuery.animation.offsety-gameQuery.animation.delta*gameQuery.currentFrame)+"px"); + } else { + $(this).css("background-position",""+(-gameQuery.animation.offsetx)+"px "+(-gameQuery.animation.offsety-gameQuery.animation.delta*gameQuery.currentFrame)+"px"); + } + } else if((gameQuery.animation.type & $.gameQuery.ANIMATION_HORIZONTAL) && (gameQuery.animation.numberOfFrame > 1)) { + if(gameQuery.multi){ + $(this).css("background-position",""+(-gameQuery.animation.offsetx-gameQuery.animation.delta*gameQuery.currentFrame)+"px "+(-gameQuery.animation.offsety-gameQuery.multi)+"px"); + } else { + $(this).css("background-position",""+(-gameQuery.animation.offsetx-gameQuery.animation.delta*gameQuery.currentFrame)+"px "+(-gameQuery.animation.offsety)+"px"); + } + } + } + gameQuery.idleCounter = (gameQuery.idleCounter+1)%gameQuery.animation.rate; + } + } + return true; + }, + + /** + * This function refresh a unique tile-map, here 'this' represent a dom object + */ + refreshTilemap: function() { + // Check if 'this' is a gameQuery element + if(this.gameQuery != undefined){ + var gameQuery = this.gameQuery; + if($.isArray(gameQuery.frameTracker)){ + for(var i=0; i 1)){ + $(this).css("background-position",""+(-gameQuery.animations[animationNumber].offsetx)+"px "+(-gameQuery.animations[animationNumber].offsety-gameQuery.animations[animationNumber].delta*gameQuery.frameTracker[animationNumber])+"px"); + } else if((gameQuery.animations[animationNumber].type & $.gameQuery.ANIMATION_HORIZONTAL) && (gameQuery.animations[animationNumber].numberOfFrame > 1)) { + $(this).css("background-position",""+(-gameQuery.animations[animationNumber].offsetx-gameQuery.animations[animationNumber].delta*gameQuery.frameTracker[animationNumber])+"px "+(-gameQuery.animations[animationNumber].offsety)+"px"); + } + } else { + if((gameQuery.animations.type & $.gameQuery.ANIMATION_VERTICAL) && (gameQuery.animations.numberOfFrame > 1)){ + $(this).css("background-position",""+(-gameQuery.animations.offsetx-this.gameQuery.multi)+"px "+(-gameQuery.animations.offsety-gameQuery.animations.delta*gameQuery.frameTracker)+"px"); + } else if((gameQuery.animations.type & $.gameQuery.ANIMATION_HORIZONTAL) && (gameQuery.animations.numberOfFrame > 1)) { + $(this).css("background-position",""+(-gameQuery.animations.offsetx-gameQuery.animations.delta*gameQuery.frameTracker)+"px "+(-gameQuery.animations.offsety-this.gameQuery.multi)+"px"); + } + } + }); + } + return true; + }, + + /** + * Called periodically to refresh the state of the game. + */ + refresh: function() { + if($.gameQuery.state === STATE_RUNNING) { + $.gameQuery.playground.find("."+$.gameQuery.spriteCssClass).each(this.refreshSprite); + $.gameQuery.playground.find("."+$.gameQuery.tilemapCssClass).each(this.refreshTilemap); + var deadCallback= new Array(); + for (var i = this.callbacks.length-1; i >= 0; i--){ + if(this.callbacks[i].idleCounter == this.callbacks[i].rate-1){ + var returnedValue = this.callbacks[i].fn(); + if(typeof returnedValue == 'boolean'){ + // If we have a boolean: 'true' means 'no more execution', 'false' means 'keep on executing' + if(returnedValue){ + deadCallback.push(i); + } + } else if(typeof returnedValue == 'number') { + // If we have a number it re-defines the time to the next call + this.callbacks[i].rate = Math.round(returnedValue/$.gameQuery.refreshRate); + this.callbacks[i].idleCounter = 0; + } + } + this.callbacks[i].idleCounter = (this.callbacks[i].idleCounter+1)%this.callbacks[i].rate; + } + for(var i = deadCallback.length-1; i >= 0; i--){ + this.callbacks.splice(deadCallback[i],1); + } + } + }, + + /** + * Add an animation to the resource Manager + */ + addAnimation: function(animation, callback) { + if($.inArray(animation,this.animations)<0){ + //normalize the animation rate: + animation.rate = Math.round(animation.rate/$.gameQuery.refreshRate); + if(animation.rate==0){ + animation.rate = 1; + } + this.animations.push(animation); + switch ($.gameQuery.state){ + case STATE_NEW: + case STATE_PAUSED: + // Nothing to do for now + break; + case STATE_RUNNING: + // immediatly load the animation and call the callback if any + this.animations[this.loadedAnimationsPointer].domO = new Image(); + this.animations[this.loadedAnimationsPointer].domO.src = animation.imageURL; + if (callback !== undefined){ + this.animations[this.loadedAnimationsPointer].domO.onload = callback; + } + this.loadedAnimationsPointer++; + break; + } + } + }, + + /** + * Add a sound to the resource Manager + */ + addSound: function(sound, callback){ + if($.inArray(sound,this.sounds)<0){ + this.sounds.push(sound); + switch ($.gameQuery.state){ + case STATE_NEW: + case STATE_PAUSED: + // Nothing to do for now + break; + case STATE_RUNNING: + // immediatly load the sound and call the callback if any + sound.load(); + // TODO callback.... + this.loadedSoundsPointer++; + break; + } + } + }, + + /** + * Register a callback + * + * @param {function} fn the callback + * @param {integer} rate the rate in ms at which the callback should be called (should be a multiple of the playground rate or will be rounded) + */ + registerCallback: function(fn, rate){ + rate = Math.round(rate/$.gameQuery.refreshRate); + if(rate==0){ + rate = 1; + } + this.callbacks.push({fn: fn, rate: rate, idleCounter: 0}); + }, + + /** + * Clear the animations and sounds + */ + clear: function(callbacksToo){ + this.animations = []; + this.loadedAnimationsPointer = 0; + this.sounds = []; + this.loadedSoundsPointer = 0; + if(callbacksToo) { + this.callbacks = []; + } + } + }, + + /** + * This is a single place to update the underlying data of sprites/groups/tiles after a position or dimesion modification. + */ + update: function(descriptor, transformation) { + // Did we really receive a descriptor or a jQuery object instead? + if(!$.isPlainObject(descriptor)){ + // Then we must get real descriptor + if(descriptor.length > 0){ + var gameQuery = descriptor[0].gameQuery; + } else { + var gameQuery = descriptor.gameQuery; + } + } else { + var gameQuery = descriptor; + } + // If we couldn't find one we return + if(!gameQuery) return; + if(gameQuery.tileSet === true){ + // We have a tilemap + + var visible = visibleTilemapIndexes(descriptor); + var buffered = gameQuery.buffered; + + // Test what kind of transformation we have and react accordingly + for(property in transformation){ + switch(property){ + case "x": + + if(visible.lastColumn > buffered.lastColumn) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var i = gameQuery.buffered.firstRow; i < gameQuery.buffered.lastRow; i++){ + // Remove the newly invisible tiles + for(var j = gameQuery.buffered.firstColumn; j < Math.min(newBuffered.firstColumn, gameQuery.buffered.lastColumn); j++) { + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var j = Math.max(gameQuery.buffered.lastColumn,newBuffered.firstColumn); j < newBuffered.lastColumn ; j++) { + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstColumn = newBuffered.firstColumn; + gameQuery.buffered.lastColumn = newBuffered.lastColumn; + + // Attach the tilemap back + tilemap.appendTo(parent); + + } + + if(visible.firstColumn < buffered.firstColumn) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var i = gameQuery.buffered.firstRow; i < gameQuery.buffered.lastRow; i++){ + // Remove the newly invisible tiles + for(var j = Math.max(newBuffered.lastColumn,gameQuery.buffered.firstColumn); j < gameQuery.buffered.lastColumn ; j++) { + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var j = newBuffered.firstColumn; j < Math.min(gameQuery.buffered.firstColumn,newBuffered.lastColumn); j++) { + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstColumn = newBuffered.firstColumn; + gameQuery.buffered.lastColumn = newBuffered.lastColumn; + + // Attach the tilemap back + tilemap.appendTo(parent); + } + break; + + case "y": + + if(visible.lastRow > buffered.lastRow) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var j = gameQuery.buffered.firstColumn; j < gameQuery.buffered.lastColumn ; j++) { + // Remove the newly invisible tiles + for(var i = gameQuery.buffered.firstRow; i < Math.min(newBuffered.firstRow, gameQuery.buffered.lastRow); i++){ + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var i = Math.max(gameQuery.buffered.lastRow, newBuffered.firstRow); i < newBuffered.lastRow; i++){ + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstRow = newBuffered.firstRow; + gameQuery.buffered.lastRow = newBuffered.lastRow; + + // Attach the tilemap back + tilemap.appendTo(parent); + + } + + if(visible.firstRow < buffered.firstRow) { + + // Detach the tilemap + var parent = descriptor[0].parentNode; + var tilemap = descriptor.detach(); + + var newBuffered = bufferedTilemapIndexes(descriptor, visible); + for(var j = gameQuery.buffered.firstColumn; j < gameQuery.buffered.lastColumn ; j++) { + // Remove the newly invisible tiles + for(var i = Math.max(newBuffered.lastRow, gameQuery.buffered.firstRow); i < gameQuery.buffered.lastRow; i++){ + tilemap.find("#"+$.gameQuery.tileIdPrefix+descriptor.attr("id")+"_"+i+"_"+j).remove(); + } + // And add the newly visible tiles + for(var i = newBuffered.firstRow; i < Math.min(gameQuery.buffered.firstRow, newBuffered.lastRow); i++){ + addTile(tilemap,i,j); + } + } + + gameQuery.buffered.firstRow = newBuffered.firstRow; + gameQuery.buffered.lastRow = newBuffered.lastRow; + + // Attach the tilemap back + tilemap.appendTo(parent); + } + break; + + case "angle": + //TODO + break; + + case "factor": + //TODO + break; + } + } + + } else { + var refreshBoundingCircle = $.gameQuery.playground && !$.gameQuery.playground.disableCollision; + + // Update the descriptor + for(property in transformation){ + switch(property){ + case "x": + if(refreshBoundingCircle){ + gameQuery.boundingCircle.x = gameQuery.posx+gameQuery.width/2; + } + break; + case "y": + if(refreshBoundingCircle){ + gameQuery.boundingCircle.y = gameQuery.posy+gameQuery.height/2; + } + break; + case "w": + case "h": + gameQuery.boundingCircle.originalRadius = Math.sqrt(Math.pow(gameQuery.width,2) + Math.pow(gameQuery.height,2))/2 + gameQuery.boundingCircle.radius = gameQuery.factor*gameQuery.boundingCircle.originalRadius; + break; + case "angle": //(in degrees) + gameQuery.angle = parseFloat(transformation.angle); + break; + case "factor": + gameQuery.factor = parseFloat(transformation.factor); + if(refreshBoundingCircle){ + gameQuery.boundingCircle.radius = gameQuery.factor*gameQuery.boundingCircle.originalRadius; + } + break; + } + } + } + }, + // State of the engine + state: STATE_NEW, + + // CSS classes used to mark game element + spriteCssClass: gQprefix + "sprite", + groupCssClass: gQprefix + "group", + tilemapCssClass: gQprefix + "tilemap", + tileCssClass: gQprefix + "tile", + // Prefix for CSS Ids or Classes + tileTypePrefix: gQprefix + "tileType_", + tileIdPrefix: gQprefix + "tile_" + }, + + /** + * Mute (or unmute) all the sounds. + */ + muteSound: function(muted){ + for (var i = $.gameQuery.resourceManager.sounds.length-1 ; i >= 0; i --) { + $.gameQuery.resourceManager.sounds[i].muted(muted); + } + }, + + /** + * Accessor for the currently defined playground as a jQuery object + */ + playground: function() { + return $.gameQuery.playground + }, + + /** + * Define a callback called during the loading of the game's resources. + * + * The function will recieve as unique parameter + * a number representing the progess percentage. + */ + loadCallback: function(callback){ + $.gameQuery.resourceManager.loadCallback = callback; + } + }); // end of the extensio of $ + + + // fragments used to create DOM element + var spriteFragment = $("
"); + var groupFragment = $("
"); + var tilemapFragment = $("
"); + + + // Define the list of object/function accessible through $("selector"). + $.fn.extend({ + /** + * Defines the currently selected div to which contains the game and initialize it. + * + * This is a non-destructive call + */ + playground: function(options) { + if(this.length == 1){ + if(this[0] == document){ + // Old usage detected, this is not supported anymore + throw "Old playground usage, use $.playground() to retreive the playground and $('mydiv').playground(options) to set the div!"; + } + options = $.extend({ + height: 320, + width: 480, + refreshRate: 30, + position: "absolute", + keyTracker: false, + mouseTracker: false, + disableCollision: false + }, options); + // We save the playground node and set some variable for this node: + $.gameQuery.playground = this; + $.gameQuery.refreshRate = options.refreshRate; + $.gameQuery.playground[0].height = options.height; + $.gameQuery.playground[0].width = options.width; + + // We initialize the display of the div + $.gameQuery.playground.css({ + position: options.position, + display: "block", + overflow: "hidden", + height: options.height+"px", + width: options.width+"px" + }) + .append("
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/demo/sis/lib/jquery-ui-1.8.23.custom.min.js b/demo/sis/lib/jquery-ui-1.8.23.custom.min.js new file mode 100644 index 0000000..7835454 --- /dev/null +++ b/demo/sis/lib/jquery-ui-1.8.23.custom.min.js @@ -0,0 +1,125 @@ +/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.23",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}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a("").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.position.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),a.curCSS||(a.curCSS=a.css),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.draggable.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!this.element.data("draggable"))return;return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(b),this.handle?(c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";return a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);var d=this.element[0],e=!1;while(d&&(d=d.parentNode))d==document&&(e=!0);if(!e&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var f=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){f._trigger("stop",b)!==!1&&f._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){return this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;return a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)}),c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.lefth[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.toph[3]?j-this.offset.click.toph[2]?k-this.offset.click.left=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f=k&&g<=l||h>=k&&h<=l||gl)&&(e>=i&&e<=j||f>=i&&f<=j||ej);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();g:for(var h=0;h
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e');h.css({zIndex:c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){if(c.disabled)return;a(this).removeClass("ui-resizable-autohide"),b._handles.show()},function(){if(c.disabled)return;b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}return this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement),this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");return a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);return l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui()),!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}return a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),ea.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;return p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null),a},_proportionallyResize:function(){var b=this.options;if(!this._proportionallyResizeElements.length)return;var c=this.helper||this.element;for(var d=0;d');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.23"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!i)return;e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/d.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*d.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.selectable.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("
")},destroy:function(){return this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy(),this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(this.options.disabled)return;var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");return d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element}),!1}})},_mouseDrag:function(b){var c=this;this.dragged=!0;if(this.options.disabled)return;var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}return this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!i||i.element==c.element[0])return;var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.righth||i.bottome&&i.rightf&&i.bottom *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+jf&&b+ka[this.floating?"width":"height"]?l:f0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.containers[d].floating?this.items[i].item.offset().left:this.items[i].item.offset().top;Math.abs(j-h)0?"down":"up")}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;return d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.leftthis.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.topthis.containment[3]?h-this.offset.click.topthis.containment[2]?i-this.offset.click.left=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");return(b.autoHeight||b.fillHeight)&&c.css("height",""),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(this.options.disabled||b.altKey||b.ctrlKey)return;var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}return f?(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),!1):!0},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];return this._clickHandler({target:b},b),this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(d.disabled)return;if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!g)return;return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(this.running)return;this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data)}}),a.extend(a.ui.accordion,{version:"1.8.23",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size()){b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);return}if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.autocomplete.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("
    ").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length").data("item.autocomplete",c).append(a("
    ").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend(""),d.secondary&&b.append(""),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.dialog.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||" ",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("
    ")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){return b.close(a),!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;return a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle),a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1===c._trigger("beforeClose",b))return;return c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d),c},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;return e.modal&&!b||!e.stack&&!e.modal?d._trigger("focus",c):(e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c),d)},open:function(){if(this._isOpen)return;var b=this,c=b.options,d=b.uiDialog;return b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode!==a.ui.keyCode.TAB)return;var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey)return d.focus(1),!1;if(b.target===d[0]&&b.shiftKey)return e.focus(1),!1}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open"),b},_createButtons:function(b){var c=this,d=!1,e=a("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),f=a("
    ").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(f);a.each(d,function(a,b){if(a==="click")return;a in e?e[a](b):e.attr(a,b)}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||" "))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.23",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");return b||(this.uuid+=1,b=this.uuid),"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});return a.fn.bgiframe&&c.bgiframe(),this.instances.push(c),c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;return a.browser.msie&&a.browser.version<7?(b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),b").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;ic&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.tabs.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
    ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.23"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.23"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('
    ')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$(''+c+""),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('').addClass(this._triggerClass).html(g==""?f:$("").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;db&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$(''),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a)),this._attachHandlers(a);var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+(c?0:$(document).scrollLeft()),i=document.documentElement.clientHeight+(c?0:$(document).scrollTop());return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+112?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(a){var b=this._get(a,"stepMonths"),c="#"+a.id.replace(/\\\\/g,"\\");a.dpDiv.find("[data-handler]").map(function(){var a={prev:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,-b,"M")},next:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,+b,"M")},hide:function(){window["DP_jQuery_"+dpuuid].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+dpuuid].datepicker._gotoToday(c)},selectDay:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectDay(c,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"Y"),!1}};$(this).bind(this.getAttribute("data-event"),a[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&pp)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?''+q+"":e?"":''+q+"",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?''+s+"":e?"":''+s+"",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'",x=d?'
    '+(c?w:"")+(this._isInRange(a,v)?'":"")+(c?"":w)+"
    ":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='
    '+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'
    '+"";var R=z?'":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="=5?' class="ui-datepicker-week-end"':"")+">"+''+C[T]+""}Q+=R+"";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z";var _=z?'":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Ym;_+='",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+""}n++,n>11&&(n=0,o++),Q+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(Y)+""+(bb&&!G?" ":bc?''+Y.getDate()+"":''+Y.getDate()+"")+"
    "+(j?""+(g[0]>0&&N==g[1]-1?'
    ':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='
    ',m="";if(f||!i)m+=''+g[b]+"";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='"}k||(l+=m+(f||!i||!j?" ":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+=''+c+"";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?" ":"")+m),l+="
    ",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&bd?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.23",window["DP_jQuery_"+dpuuid]=$})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.progressbar.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("
    ").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){return a===b?this._value():(this._setOption("value",a),this)},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;return typeof a!="number"&&(a=0),Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +jQuery.effects||function(a,b){function c(b){var c;return b&&b.constructor==Array&&b.length==3?b:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))?[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)]:(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))?[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))?[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]:(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))?[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]:(c=/rgba\(0, 0, 0, 0\)/.exec(b))?e.transparent:e[a.trim(b).toLowerCase()]}function d(b,d){var e;do{e=(a.curCSS||a.css)(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};return a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete,[b,c,d,e]}function l(b){return!b||typeof b=="number"||a.fx.speeds[b]?!0:typeof b=="string"&&!a.effects[b]?!0:!1}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){return a.isFunction(d)&&(e=d,d=null),this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class")||"";a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.23",save:function(a,b){for(var c=0;c").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;try{e.id}catch(f){e=document.body}return b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(),c):b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];return a.fx.off||!i?h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)}):i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="show",this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="hide",this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);return c[1].mode="toggle",this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}});var m={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,b){m[b]=function(b){return Math.pow(b,a+2)}}),a.extend(m,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return a===0||a===1?a:-Math.pow(2,8*(a-1))*Math.sin(((a-1)*80-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){var b,c=4;while(a<((b=Math.pow(2,--c))-1)/11);return 1/Math.pow(4,3-c)-7.5625*Math.pow((b*3-2)/22-a,2)}}),a.each(m,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(a*2)/2:c(a*-2+2)/-2+1}})}(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.blind.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.bounce.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight(!0)/3:c.outerWidth(!0)/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.fade.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.fold.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.highlight.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.pulsate.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show"),e=(b.options.times||5)*2-1,f=b.duration?b.duration/2:a.fx.speeds._default/2,g=c.is(":visible"),h=0;g||(c.css("opacity",0).show(),h=1),(d=="hide"&&g||d=="show"&&!g)&&e--;for(var i=0;i').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);; \ No newline at end of file diff --git a/demo/yahtzee/LICENSE.md b/demo/yahtzee/LICENSE.md new file mode 100644 index 0000000..8668d02 --- /dev/null +++ b/demo/yahtzee/LICENSE.md @@ -0,0 +1,7 @@ +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. diff --git a/demo/yahtzee/README.md b/demo/yahtzee/README.md new file mode 100644 index 0000000..a447b37 --- /dev/null +++ b/demo/yahtzee/README.md @@ -0,0 +1,31 @@ +The classical dice game Yahtzee + + +How to : +-------- + +The goal is to complete the two combinaisons grids with five dice + +Each player can launch three times the dice to have a combinaison. After each launch, the player chooses to keep or not some dice. Each combinaison has a score. + +When both grids are completed, their scores are added and the player with the higher score wins. If the upper grid has a score higher than 63 points, the player wins a bonus of 35 points. + +A live demo is avalaible [here](http://www.viadeo-playground.com/yahtzee/index) + +Credits : +--------- + +* Graphics : Fabrice Ecaille aka Febbweiss +* Code : Fabrice Ecaille aka Febbweiss + +Licences : +---------- + +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. + diff --git a/demo/yahtzee/css/yahtzee.css b/demo/yahtzee/css/yahtzee.css new file mode 100644 index 0000000..f14eef2 --- /dev/null +++ b/demo/yahtzee/css/yahtzee.css @@ -0,0 +1,65 @@ +.possibility { +} + +.dice { + float: left; + margin: 4px; + width: 50px; + height: 50px; + background-image: url('../images/dices.png'); +} + +.dice.face6 { + background-position: 0 0; +} + +.dice.face5 { + background-position: -50px 0; +} + +.dice.face4 { + background-position: -100px 0; +} + +.dice.face3 { + background-position: -149px 0; +} + +.dice.face2 { + background-position: -199px 0; +} + +.dice.face1 { + background-position: -249px 0; +} + +.dice.empty { + visibility: hidden; +} + +.dice.selected { + background-image: url('../images/red_dices.png'); +} + +.keep { + visibility: hidden; +} + +.trash { + visibility: hidden; +} + +.score { + font-family: "Zeyada", verdana, arial, helvetica, cursive; + color: blue; + font-size: 2em; + font-weight: bold; + text-align: center; +} +.score.trashed { + color: red; +} + +.progress { + margin-bottom: 0; +} diff --git a/demo/yahtzee/images/dices.png b/demo/yahtzee/images/dices.png new file mode 100644 index 0000000000000000000000000000000000000000..266932482c8977a8a2ffec7aba0c51c22c3d3d99 GIT binary patch literal 6963 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 literal 0 HcmV?d00001 diff --git a/demo/yahtzee/images/red_dices.png b/demo/yahtzee/images/red_dices.png new file mode 100644 index 0000000000000000000000000000000000000000..44b52cd763424dade820bd4173a7c7fcd19f138d GIT binary patch literal 6846 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 + + + + + Yahtzee + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + Launch + +
    + Launch +
    +
    +
    Three of a kind
    +
    Three dice showing the same face
    +
    Sum of all dice
    +
    Four of a kind
    +
    Four dice showing the same face
    +
    Sum of all dice
    +
    Full
    +
    A three-of-a-kind and a pair
    +
    25 points
    +
    Small straight
    +
    Four sequential dice
    +
    30 points
    +
    Large straight
    +
    Five sequential dice
    +
    40 points
    +
    Yahtzee
    +
    Five dice showing the same face
    +
    50 points
    +
    Chance
    +
    Sum of all dice
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Combinaison + Score +
    + + One + + +   + + Keep + Trash +
    + + Two + + +   + + Keep + Trash +
    + + Three + + +   + + Keep + Trash +
    + + Four + + +   + + Keep + Trash +
    + + Five + + +   + + Keep + Trash +
    + + Six + + +   + + Keep + Trash +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CombinaisonProbability + Score +
    + + Three of a kind + + +
    +
    +   +
    +
    +   + + Keep + Trash +
    + + Four of a kind + + +
    +
    +   +
    +
    +   + + Keep + Trash +
    + + Full + + +
    +
    +   +
    +
    +   + + Keep + Trash +
    + + Small straight + + +
    +
    +   +
    +
    +   + + Keep + Trash +
    + + Large straight + + +
    +
    +   +
    +
    +   + + Keep + Trash +
    + + Yahtzee + + +
    +
    +   +
    +
    +   + + Keep + Trash +
    + + Chance + + +
    +
    +   +
    +
    +   + + Keep + Trash +
    + +
    + + + +
    + +
    + + + + diff --git a/demo/yahtzee/js/yahtzee.js b/demo/yahtzee/js/yahtzee.js new file mode 100644 index 0000000..c2af0e9 --- /dev/null +++ b/demo/yahtzee/js/yahtzee.js @@ -0,0 +1,310 @@ +/* +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. + +*/ +var SMALL_STRAIGHT_MASK1 = (1 << 0) + (1 << 1) + (1 << 2) + (1 << 3); +var SMALL_STRAIGHT_MASK2 = (1 << 1) + (1 << 2) + (1 << 3) + (1 << 4); +var SMALL_STRAIGHT_MASK3 = (1 << 2) + (1 << 3) + (1 << 4) + (1 << 5); +var LARGE_STRAIGHT_MASK1 = (1 << 0) + (1 << 1) + (1 << 2) + (1 << 3) + (1 << 4); +var LARGE_STRAIGHT_MASK2 = (1 << 1) + (1 << 2) + (1 << 3) + (1 << 4) + (1 << 5); +var INCOMPLETE_STRAIGHT_MASK1 = (1 << 0) + (1 << 1) + (1 << 2); +var INCOMPLETE_STRAIGHT_MASK2 = (1 << 1) + (1 << 2) + (1 << 3); +var INCOMPLETE_STRAIGHT_MASK3 = (1 << 2) + (1 << 3) + (1 << 4); +var INCOMPLETE_STRAIGHT_MASK4 = (1 << 3) + (1 << 4) + (1 << 5); + +Yahtzee = { + + launch : 0, + dices : [], + combinaisons : [], + pair : false, + doublePair : false, + three_of_a_kind : false, + four_of_a_kind : false, + full : false, + yahtzee : false, + small_straight : false, + large_straight : false, + straight : 0, + + scoreUp : 0, + scoreDown: 0, + keptCombinaisons: [], + + clear: function(all) { + if( all ) + Yahtzee.launch = 0; + + Yahtzee.pair = false; + Yahtzee.doublePair = false; + Yahtzee.three_of_a_kind = false; + Yahtzee.four_of_a_kind = false; + Yahtzee.full = false; + Yahtzee.yahtzee = false; + Yahtzee.small_straight = false; + Yahtzee.large_straight = false; + Yahtzee.straight = 0; + + if( all ) + for( var i = 0; i < 5; i++ ) { + Yahtzee.dices[i] = 0; + $("#dice" + (i+1)).removeClass().addClass("dice").addClass("empty"); + } + + for( var i = 0; i < 6; i++ ) { + Yahtzee.combinaisons[i] = 0; + } + + $(".possibility").each(function(incr, elt) { + $(elt).removeClass("possibility"); + $(elt).empty(); + }); + + $(".keep").each(function(incr, elt) { + $(elt).attr('style', 'visibility:hidden;'); + }) + $(".trash").each(function(incr, elt) { + $(elt).attr('style', 'visibility:hidden;'); + }) + }, + + shuffle: function() { + if($("#launchBtn").hasClass("disabled") ) + return false; + + if( Yahtzee.launch == 3 ) + Yahtzee.clear(true); + else + Yahtzee.clear(false); + + Yahtzee.launch++; + + for( var i = 0; i < 5; i++ ) { + var html = $("#dice" + (i+1)); + if( !html.hasClass("selected") ) { + var value = Math.round(5 * Math.random()); + Yahtzee.dices[i] = value; + html.removeClass().addClass("dice").addClass("face" + (value + 1)); + } + } + + $("#launch").html(Yahtzee.launch); + if( Yahtzee.launch == 3 ) + $("#launchBtn").addClass("disabled"); + }, + + findCombinaisons: function() { + for( var i = 0; i < 5; i++) { + Yahtzee.combinaisons[Yahtzee.dices[i]]++; + Yahtzee.straight = Yahtzee.straight | (1 << Yahtzee.dices[i]); + } + + for( var i = 0; i < 6; i++ ) { + var value = Yahtzee.combinaisons[i]; + switch( value ) { + case 2: + if( Yahtzee.pair ) + Yahtzee.doublePair = true; + Yahtzee.pair = true; + break; + case 5: + Yahtzee.yahtzee = true; + case 4: + Yahtzee.four_of_a_kind = true; + case 3: + Yahtzee.three_of_a_kind = true; + break; + } + + } + + Yahtzee.full = Yahtzee.pair && Yahtzee.three_of_a_kind && !Yahtzee.doublePair; + + if( (Yahtzee.straight & LARGE_STRAIGHT_MASK1) == LARGE_STRAIGHT_MASK1 ) { + Yahtzee.large_straight = true; + Yahtzee.small_straight = true; + } else if( (Yahtzee.straight & LARGE_STRAIGHT_MASK2) == LARGE_STRAIGHT_MASK2 ) { + Yahtzee.large_straight = true; + Yahtzee.small_straight = true; + } else if( (Yahtzee.straight & SMALL_STRAIGHT_MASK1) == SMALL_STRAIGHT_MASK1 ) { + Yahtzee.small_straight = true; + } else if( (Yahtzee.straight & SMALL_STRAIGHT_MASK2) == SMALL_STRAIGHT_MASK2 ) { + Yahtzee.small_straight = true; + } else if( (Yahtzee.straight & SMALL_STRAIGHT_MASK3) == SMALL_STRAIGHT_MASK3 ) { + Yahtzee.small_straight = true; + } + + if( Yahtzee.three_of_a_kind && Yahtzee.keptCombinaisons.indexOf("threeOfAKind") == -1 ) + $("#threeOfAKindKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.four_of_a_kind && Yahtzee.keptCombinaisons.indexOf("fourOfAKind") == -1 ) + $("#fourOfAKindKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.full && Yahtzee.keptCombinaisons.indexOf("full") == -1 ) + $("#fullKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.yahtzee && Yahtzee.keptCombinaisons.indexOf("yahtzee") == -1 ) + $("#yahtzeeKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.small_straight && Yahtzee.keptCombinaisons.indexOf("smallStraight") == -1 ) + $("#smallStraightKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.large_straight && Yahtzee.keptCombinaisons.indexOf("largeStraight") == -1 ) + $("#largeStraightKeep").attr('style', 'visibility:visible;'); + + if( Yahtzee.combinaisons[0] > 0 && Yahtzee.keptCombinaisons.indexOf("one") == -1 ) + $("#oneKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.combinaisons[1] > 0 && Yahtzee.keptCombinaisons.indexOf("two") == -1 ) + $("#twoKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.combinaisons[2] > 0 && Yahtzee.keptCombinaisons.indexOf("three") == -1 ) + $("#threeKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.combinaisons[3] > 0 && Yahtzee.keptCombinaisons.indexOf("four") == -1 ) + $("#fourKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.combinaisons[4] > 0 && Yahtzee.keptCombinaisons.indexOf("five") == -1 ) + $("#fiveKeep").attr('style', 'visibility:visible;'); + if( Yahtzee.combinaisons[5] > 0 && Yahtzee.keptCombinaisons.indexOf("six") == -1 ) + $("#sixKeep").attr('style', 'visibility:visible;'); + + if( Yahtzee.keptCombinaisons.indexOf("luck") == -1 ) + $("#luckKeep").attr('style', 'visibility:visible;'); + + $(".trash").each(function(incr, elt){ + var html = $(elt) + if( Yahtzee.keptCombinaisons.indexOf(html.attr('data-id')) == -1 ) + html.attr('style', 'visibility:visible;'); + }); + }, + + findPossibilities: function() { + var possibilities = { + "threeOfAKind" : 0, + "fourOfAKind" : 0, + "full" : 0, + "yahtzee" : 0, + "smallStraight" : 0, + "largeStraight" : 0 + }; + + if( Yahtzee.three_of_a_kind && !Yahtzee.full) { + possibilities["full"] = Math.max( possibilities["full"], 17 ); + possibilities["fourOfAKind"] = Math.max( possibilities["fourOfAKind"], 31); + possibilities["yahtzee"] = Math.max( possibilities["yahtzee"], 3); + } + if( Yahtzee.pair ) { + if( !Yahtzee.three_of_a_kind ) + possibilities["threeOfAKind"] = Math.max( possibilities["threeOfAKind"], 42); + possibilities["fourOfAKind"] = Math.max( possibilities["fourOfAKind"], 7); + if( !Yahtzee.full ) + possibilities["full"] = Math.max( possibilities["full"], 10); + possibilities["yahtzee"] = Math.max( possibilities["yahtzee"], 7); + } + if( Yahtzee.four_of_a_kind ) { + possibilities["yahtzee"] = Math.max( possibilities["yahtzee"], 17); + } + if( Yahtzee.doublePair ) { + possibilities["full"] = Math.max( possibilities["full"], 33); + } + if( !Yahtzee.large_straight && + ((Yahtzee.straight & SMALL_STRAIGHT_MASK1) == SMALL_STRAIGHT_MASK1 || (Yahtzee.straight & SMALL_STRAIGHT_MASK3) == SMALL_STRAIGHT_MASK3) ) { + possibilities["largeStraight"] = Math.max( possibilities["largeStraight"], 17); + } else if( !Yahtzee.large_straight && (Yahtzee.straight & SMALL_STRAIGHT_MASK2) == SMALL_STRAIGHT_MASK2 ) { + possibilities["largeStraight"] = Math.max( possibilities["largeStraight"], 33); + } + + $.each(possibilities, function(key, value) { + var html = $("#" + key + "Probability"); + html.empty().addClass("possibility"); + if( value > 0 && Yahtzee.keptCombinaisons.indexOf(key) == -1 ) { + html.append(value + "%"); + } else + html.append(" "); + }); + }, + + keep: function(id) { + var score = 0; + switch(id) { + case "one" : + score = Yahtzee.combinaisons[0] * 1; + Yahtzee.scoreUp += score; + break; + case "two" : + score = Yahtzee.combinaisons[1] * 2; + Yahtzee.scoreUp += score; + break; + case "three" : + score = Yahtzee.combinaisons[2] * 3; + Yahtzee.scoreUp += score; + break; + case "four" : + score = Yahtzee.combinaisons[3] * 4; + Yahtzee.scoreUp += score; + break; + case "five" : + score = Yahtzee.combinaisons[4] * 5; + Yahtzee.scoreUp += score; + break; + case "six" : + score = Yahtzee.combinaisons[5] * 6; + Yahtzee.scoreUp += score; + break; + case "threeOfAKind" : + case "fourOfAKind" : + case "luck" : + $.each(Yahtzee.dices, function(index, elt){score += (elt + 1)}); + Yahtzee.scoreDown += score; + break; + case "full" : + score = 25; + Yahtzee.scoreDown += score; + break; + case "smallStraight" : + score = 30; + Yahtzee.scoreDown += score; + break; + case "largeStraight" : + score = 40; + Yahtzee.scoreDown += score; + break; + case "yahtzee" : + score = 50; + Yahtzee.scoreDown += score; + break; + } + + $("#" + id + "Score").html(score); + + Yahtzee.keptCombinaisons.push(id); + Yahtzee.clear(true); + + if( Yahtzee.keptCombinaisons.length < 13 ) + $("#launchBtn").removeClass("disabled"); + else + Yahtzee.show_game_over(); + }, + + trash : function(id) { + $("#" + id + "Score").html(0).addClass('trashed'); + $("#" + id + "Label").attr('style', 'text-decoration:line-through;'); + Yahtzee.keptCombinaisons.push(id); + Yahtzee.clear(true); + if( Yahtzee.keptCombinaisons.length < 13 ) + $("#launchBtn").removeClass("disabled"); + else + Yahtzee.show_game_over(); + }, + + show_game_over: function() { + $("#upperScore").append(Yahtzee.scoreUp); + if( Yahtzee.scoreUp > 63 ) { + $("#bonus").append(35); + Yahtzee.scoreUp += 35; + } else + $("#bonus").append(0); + $("#lowerScore").append(Yahtzee.scoreDown); + $("#totalScore").append(Yahtzee.scoreDown + Yahtzee.upperScore); + + $("#scorePanel").show(); + } +} diff --git a/demo/yahtzee/lib/jquery-1.7.1.min.js b/demo/yahtzee/lib/jquery-1.7.1.min.js new file mode 100644 index 0000000..ee02337 --- /dev/null +++ b/demo/yahtzee/lib/jquery-1.7.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
    "+""+"
    ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
    t
    ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
    ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/docs/development/cloudbudget.md b/docs/development/cloudbudget.md new file mode 100644 index 0000000..f940e52 --- /dev/null +++ b/docs/development/cloudbudget.md @@ -0,0 +1,53 @@ +#Introduction [![Build Status][build-image]][build-url] [![Coverage Status][coverage-image]][coverage-url] +Cloudbudget is a work-in-progress online Money-like application. + +It's written using ExpressJS and provided only REST services. The web interface is in a different project [CloudBugdet-AngularJS](/development/cloudbudget_angularjs). + +##Requirements +CloudBudget needs a Mongo database. Database configuration is done in the _config/db.js_ file. + +The environment mode is defined by the environment variable NODE_ENV. + +##Features +The following features are developed: + +* API security done with JWT +* API documentation +* User log on / log in +* User deregistration +* Bank account CRUD +* Bank accounts listing +* Deposit / Bill entry CRUD +* Deposit / Bill entries listing + +##Usage +To initialize the application, install all dependencies with +``` +npm install +``` + +To launch CloudBudget, use the following command : +``` +NODE_ENV=development node app.js +``` + +If the PORT environment variable is set, it will be used, if not, the default port is 3000. +The server configuration is done with the _config/server.js_ file. + +##API documentation +The root URL is linked to the API documentation. +The API documentation is generated with apidocs into the _public_ folder. To generate it, use the following command : +``` +npm run-script generate-doc +``` + + + + Fork me on GitHub + + [build-image]: https://travis-ci.org/Febbweiss/CloudBudget.svg?branch=master +[build-url]: https://travis-ci.org/Febbweiss/CloudBudget +[coverage-image]:https://coveralls.io/repos/Febbweiss/CloudBudget/badge.svg?branch=master&service=github +[coverage-url]: https://coveralls.io/github/Febbweiss/CloudBudget?branch=master \ No newline at end of file diff --git a/docs/development/cloudbudget_angularjs.md b/docs/development/cloudbudget_angularjs.md new file mode 100644 index 0000000..e194b19 --- /dev/null +++ b/docs/development/cloudbudget_angularjs.md @@ -0,0 +1,35 @@ +#Introduction [![Build Status][build-image]][build-url] [![Coverage Status][coverage-image]][coverage-url] +Cloudbudget-AngularJS is a work-in-progress web application for [CloudBugdet](/development/cloudbudget) written in AngularJS. + +##Requirements +CloudBudget-AngularJS needs a running CloudBudget instance. The access to this instance is set in the _public/js/app.js_ file with the _HOST_ variable. + + +##Features +This web application covers all CloudBudget features. + +##Usage +To initialize the application, install all dependencies with +``` +npm install +``` + +To launch CloudBudget, use the following command : +``` +NODE_ENV=development node app.js +``` + +If the PORT environment variable is set, it will be used, if not, the default port is 3000. +The server configuration is done with the _config/server.js_ file. + + + + + Fork me on GitHub + + [build-image]: https://travis-ci.org/Febbweiss/CloudBudget-AngularJS.svg?branch=master +[build-url]: https://travis-ci.org/Febbweiss/CloudBudget-AngularJS +[coverage-image]:https://coveralls.io/repos/Febbweiss/CloudBudget-AngularJS/badge.svg?branch=master&service=github +[coverage-url]: https://coveralls.io/github/Febbweiss/CloudBudget-AngularJS?branch=master \ No newline at end of file diff --git a/docs/development/filebrowser_durandal_widget.md b/docs/development/filebrowser_durandal_widget.md new file mode 100644 index 0000000..1a36faf --- /dev/null +++ b/docs/development/filebrowser_durandal_widget.md @@ -0,0 +1,33 @@ +# Durandal Filebrowser widget + +## What's this widget ? + +This [Durandal](http://durandaljs.com/) widget allows to display a folder tree and add some actions to manipulate this items : + +- A clic on a file or folder selects it +- A double-clic opens / closes a folder +- A double-clic displays the file content in the editor +- A right-clic opens a context menu with different options + - Rename the item + - Copy the selected item(s) + - Paste the selected item(s) + - Create an item (in a folder) + - Delete an item (and its components) + +##Demo + + + + + +##Licence + +Source code is under [MIT Licence](http://opensource.org/licenses/mit-license.php) + + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/development/project_deployer.md b/docs/development/project_deployer.md new file mode 100644 index 0000000..9ac0562 --- /dev/null +++ b/docs/development/project_deployer.md @@ -0,0 +1,25 @@ +#Introduction +ProjectDeployer is a work-in-progress web application to deploy Git projects on a server written with Meteor. + +##Features +In ProjectDeployer, it's possible to : + +* register / modify / delete Git project +* deployment is +* see deployment logs for each project + +##Usage +The location for deployed projects is set in the _server/constants.js_ file with the _DEPLOYMENT_FOLDER_ variable. + +To launch ProjectDeployer, use the following command : +``` +meteor --port $IP:$PORT +``` + + + + + Fork me on GitHub + diff --git a/docs/development/springboot_react_webpack.md b/docs/development/springboot_react_webpack.md new file mode 100644 index 0000000..63c9ac6 --- /dev/null +++ b/docs/development/springboot_react_webpack.md @@ -0,0 +1,155 @@ +# springboot-react-webpack +A demo project with Spring Boot, React and Webpack + +This project includes : + +* Spring Boot as backend resource +* React as client JS framework +* webpack to translate JSX to JS and manage client resources link +* maven-release-plugin +* cf-maven-plugin +* docker-maven-plugin (from Spotify) + +## Profile + +There are 3 profiles : + +* the default one (without specification) is for development mode. +* _production_ used to generate the production ready client resources +* _docker_ to access to the Docker plugin and generate an image + +## Launching + +To launch this project, just use the following command line : + +In development mode : +``` +mvn clean spring-boot:run +npm run watch +``` +In production mode : +``` +mvn clean spring-boot:run -P production +``` +Without a profile, you have to run the webpack watcher to deliver client resources. With the _production_ profile, no needs to launch the wepback watcher. + +## Configuration +To use the CloudFoundry and Release plugins, the _settings.xml_ must contains the following lines : + +```xml + + + cloudfoundry + username + password + + + github + username + password + + +``` + +## Spring Boot + +Spring Boot is used as the backend server. It provides the HTML pages and the REST endpoints. +React is server side compiled at runtime using nashorn. + +## React + +React is the client side library. It's possible to write JSX which will be translate by webpack. + + +## Webpack + +### Configuration + +Webpack configuration is done by the _webpack.config.js_ file at the project's root. + +### Usage + +Webpack is launched at the _generate-resources_ maven phase. +In this configuration, webpack provides resources (JS and CSS) for commons librairies and custom JS scripts. It takes in account LESS. The HTML final resource is generated from a template adding the needed resources. +Using the default profile and the watcher, the HotModuleReplacement module is activated, so no need to refresh the page when updating a JS or a CSS, webpack does it. + + +## Plugin release + +### Configuration + +To manage the release process with Git, you have to replace the link in the _developerConnection_ tag with the Git project URL. + +### Usage + +The _maven-release-plugin_ allows to release an app tagging the repository. A release is : +* changing from SNAPSHOT to stable +* creating a tag (locally and remotely) +* increasing the SNAPSHOT version + +Two steps : +``` +mvn release:prepare +mvn release:perform +``` + +To rollback a _prepare_ : +``` +mvn release:rollback +``` + +To test the release : +``` +mvn -DdryRun=true release:prepare +mvn release:clean (test cleaning) +``` + +### Documentation + + + +## Plugin CloudFoundry + +### Configuration + +Change the _TOFILL_ strings in the comment plugin's section. + +### Usage + +The _cf-maven-plugin_ plugin allows to manage the application in a CloudFoundry platform and specifically to push it : + +``` +mvn cf:push +``` + +### Documentation + + + + +## Plugin Docker + +### Configuration + +The _docker-maven-plugin_ (from Spotify) plugin has no configuration. + +### Usage + +The default project packaging (for CloudFoundry) is a WAR. In the Docker image, we use a JAR. To use this plugin (and the correct packaging), use the _docker_ profile : + +``` +mvn package -P docker +``` + +This command generates a local Docker image. To manage it, use the _docker_ profile to access the _docker-maven-plugin_ (such as push it). + +### Documentation + + + + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/docker/docker_apache_log_generator.md b/docs/docker/docker_apache_log_generator.md new file mode 100644 index 0000000..1184b11 --- /dev/null +++ b/docs/docker/docker_apache_log_generator.md @@ -0,0 +1,34 @@ +#Docker Apache log generator +This is a simple Docker container to provide random apache logs. +It's based on [Fake-Apache-Log-Generator](https://github.com/kiritbasu/Fake-Apache-Log-Generator) + +The default behaviour is the following : +```sql +python apache-fake-log-gen.py -o LOG -p /var/log/apache/apache -n 0 -s 3 +``` +The endless generated file is located in /var/log and a line is appended every 3 seconds. + +##Timezone + +You can change the timezone mounting */etc/timezone* and */etc/localtime* files with a file content such as : +```shell +Europe/Paris +``` + + +##Licences + +Copyright (c) 2017 Fabrice ECAILLE aka Febbweiss + +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. + + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/docker/docker_gocd.md b/docs/docker/docker_gocd.md new file mode 100644 index 0000000..655407b --- /dev/null +++ b/docs/docker/docker_gocd.md @@ -0,0 +1,23 @@ +#Docker GoCD +GoCD is a Continuous Delivery solution. This project embedded different containers such as a server and nodes. + +##Embedded containers + + 1. [GoCD server](https://github.com/Febbweiss/gocd-docker/tree/master/gocd-server) - The main container based on Debian image + 2. [Cloudfoundry agent](https://github.com/Febbweiss/gocd-docker/tree/master/gocd-agent-cloudfoundry) - A node to deploy on CloudFoundry based on alpine image + 3. [Docker agent](https://github.com/Febbweiss/gocd-docker/tree/master/gocd-agent-docker) - A node to build and deploy Docker containers based on docker image + 4. [Java agent](https://github.com/Febbweiss/gocd-docker/tree/master/gocd-agent-jdk8) - A node to manage Java applications (compile / build) based on alpine-oraclejdk8 image + 5. [NodeJS agent](https://github.com/Febbweiss/gocd-docker/tree/master/gocd-agent-nodejs) - A node to manage NodeJS applications (compile / build) based on Debian image + 6. [Generic agent](https://github.com/Febbweiss/gocd-docker/tree/master/gocd-agent) - A node providing Java and NodeJS applications management based on Node image + +##Usage +The full stack is manage with docker-compose. So, to launch it, just use +``` +docker-compose up +``` + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/docker/docker_log_centralizer.md b/docs/docker/docker_log_centralizer.md new file mode 100644 index 0000000..4a08925 --- /dev/null +++ b/docs/docker/docker_log_centralizer.md @@ -0,0 +1,41 @@ +#Docker log centralizer +This a end-to-end log centralizer powered by the ELK stask. + +##Embedded containers + + 1. [Filebeat](https://www.elastic.co/products/beats/filebeat) - An agent to poll logs + 2. [Logstash-Forwarder](https://github.com/elastic/logstash-forwarder) - An other agent to poll logs + 3. [Logstash](https://www.elastic.co/products/logstash) - The collector / analyzer / parser solution + 4. [Kafka](http://kafka.apache.org) - The queueing solution for logs + 5. [ZooKeeper](https://zookeeper.apache.org/) - The cluster on which Kafka is running + 6. [ElasticSearch](https://www.elastic.co/products/elasticsearch) - The indexing engine + 7. [Kibana](https://www.elastic.co/products/kibana) - The visualization / dashboard tool for ElasticSearch + 8. [Kafka Manager](https://github.com/yahoo/kafka-manager) - The Kafka cluster web manager + 9. [Apache log generator](https://github.com/Febbweiss/docker-apache-log-generator) - A container generating fake apache logs + 10. [Random log generator](https://hub.docker.com/r/davidmccormick/random_log_generator) - A container genrating text logs (Star Wars quotes) + +##How it works + +There are 2 agent types : + + - Filebeat + - Logstash-Forward + +These agents push logs (from the apache and random generators) to a Logstasth shipper filling a Kafka queue (one type of log for one topic). +A Logstash indexer polls the Kafka topics indexing logs into a ElasticSearch. + +A short schema : +``` +Agent -> Logstach shipper -> Kafka <- Logstash indexer -> ElasticSearch +``` + +##Tools access + +Kibana is available at http://localhost:5601. +Kafka Manager is available at http://localhost:9000 + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/extra/css/extra.css b/docs/extra/css/extra.css new file mode 100644 index 0000000..4a033be --- /dev/null +++ b/docs/extra/css/extra.css @@ -0,0 +1,68 @@ +/* Source : https://codepen.io/thierrymichel/pen/Pwzbmd */ + +[class*="push"] { + position: relative; + display: inline-block; + width: 40px; + height: 40px; + border: 0; + margin: 1em; + outline: none; + background-color: #c2290a; + border-radius: 50%; + cursor: pointer; + -webkit-transition: box-shadow 200ms; + transition: box-shadow 200ms; +} + +.push--flat { + box-shadow: inset 0 1.25px 0 #da2e0b, inset 0 -1.25px 0 #aa2409, inset 0 0 0 1.25px #b32609, inset 0 0 0 3.33333px #c2290a, inset 0 0 0 4px #611405, inset 0 0 0 4.34783px black, inset 0 0 0 5.33333px rgba(247, 133, 110, 0.7), inset 0 0 0 7.27273px #c2290a, inset 0 16px 5.33333px #aa2409, inset 0 0 4px 6.66667px #911f08, 0 2px 0 rgba(0, 0, 0, 0.3); +} +.push--flat:after { + content: ''; + position: absolute; + bottom: 2px; + left: 4px; + display: block; + width: 32px; + height: 32px; + border: 2.66667px solid rgba(0, 0, 0, 0.3); + border-width: 0 0 2.66667px; + border-radius: 50%; + -webkit-transition-duration: 200ms; + transition-duration: 200ms; +} +.push--flat:active, .push--flat.is-pushed { + box-shadow: inset 0 1.25px 0 #da2e0b, inset 0 -1.25px 0 #aa2409, inset 0 0 0 1.25px #b32609, inset 0 0 0 3.33333px #c2290a, inset 0 0 0 4px #611405, inset 0 0 0 4.70588px black, inset 0 0 0 5.33333px rgba(247, 133, 110, 0.2), inset 0 0 0 7.27273px #b32609, inset 0 16px 5.33333px #9b2108, inset 0 0 4px 6.66667px #791a06, 0 2px 0 rgba(0, 0, 0, 0.3); + background-color: #b8270a; +} +.push--flat:active:after, .push--flat.is-pushed:after { + bottom: 4.66667px; + border-width: 0; +} + +.push--skeuo { + box-shadow: inset 0 1.66667px 0 #da2e0b, inset 0 -1.66667px 0.66667px #aa2409, 0 0 0.66667px #c2290a, inset 0 0 1.33333px #791a06, inset 0 0 1.33333px rgba(51, 51, 51, 0.5), inset 0 0 0.66667px 3.33333px #c2290a, inset 0 -1.33333px 1px 4px rgba(51, 51, 51, 0.7), inset 0 0 0.66667px 4px #611405, inset 0 0 0.66667px 4px rgba(51, 51, 51, 0.7), inset 0 0 0.33333px 4.34783px black, inset 0 0 0.33333px 5px rgba(247, 133, 110, 0.7), inset 0 2px 0 4.70588px rgba(244, 71, 37, 0.7), inset 0 -2px 0.66667px 4.70588px rgba(145, 31, 8, 0.2), inset 0 0 0 7.27273px #c2290a, inset 0 16px 5.33333px #aa2409, inset 0 0 4px 6.66667px #911f08, 0 1px 2px rgba(0, 0, 0, 0.5); +} +.push--skeuo:active, .push--skeuo.is-pushed { + box-shadow: inset 0 1.66667px 0 #da2e0b, inset 0 -1.66667px 0.66667px #aa2409, 0 0 0.66667px #c2290a, inset 0 0 1.33333px #791a06, inset 0 0 1.33333px rgba(51, 51, 51, 0.5), inset 0 0 0.66667px 3.33333px #c2290a, inset 0 -1.33333px 1px 4px rgba(51, 51, 51, 0.7), inset 0 0 0.66667px 4px #611405, inset 0 0 0.66667px 4px rgba(51, 51, 51, 0.7), inset 0 0 1px 4.70588px black, inset 0 0 0.33333px 5.33333px rgba(247, 133, 110, 0.2), inset 0 2px 0 28px rgba(244, 71, 37, 0.5), inset 0 -2px 0.66667px 28px rgba(97, 20, 5, 0.2), inset 0 0 0 7.27273px #b32609, inset 0 16px 5.33333px #9b2108, inset 0 0 4px 6.66667px #791a06, 0 1px 2px rgba(0, 0, 0, 0.5); + background-color: #b8270a; +} +.push--skeuo:active:before, .push--skeuo.is-pushed:before { + opacity: .5; +} +.push--skeuo:before { + content: ''; + position: absolute; + bottom: 8.88889px; + left: 11.11111px; + display: block; + width: 18.18182px; + height: 12.12121px; + background: rgba(247, 133, 110, 0.2); + background: -webkit-linear-gradient(bottom, rgba(250, 173, 158, 0.3) 0%, rgba(194, 41, 10, 0.1) 100%); + background: linear-gradient(to top, rgba(250, 173, 158, 0.3) 0%, rgba(194, 41, 10, 0.1) 100%); + border-radius: 40% 40% 60% 60%; + -webkit-transition: opacity 200ms; + transition: opacity 200ms; +} diff --git a/docs/extra/css/sis.css b/docs/extra/css/sis.css new file mode 100644 index 0000000..f6e9e99 --- /dev/null +++ b/docs/extra/css/sis.css @@ -0,0 +1,26 @@ +.corn { + float: left; + background: transparent url('/demo/sis/images/farm.png') no-repeat top left; + background-position: -19px -37px; + width: 19px; + height: 19px; + margin-right: 5px; +} + +.carot { + float: left; + background: transparent url('/demo/sis/images/farm.png') no-repeat top left; + background-position : -38px -37px; + width: 19px; + height: 19px; + margin-right: 5px; +} + +.gun { + float: left; + background: transparent url('/demo/sis/images/farm.png') no-repeat top left; + background-position : -57px -37px; + width: 19px; + height: 19px; + margin-right: 5px; +} diff --git a/docs/extra/js/pacman.js b/docs/extra/js/pacman.js new file mode 100644 index 0000000..e10a4f2 --- /dev/null +++ b/docs/extra/js/pacman.js @@ -0,0 +1,12 @@ +$(document).ready(function() { + $('#startBtn').on('click', function(event) { + for( var i = 1; i < 4; i++) { + $("#life" + i).css('opacity', '100'); + $("#life" + i).show(); + } + SCOREBOARD.score = Game.score = 0; + Game.level = -1; + Game.lives = 3; + Game.init(); + }); +}); \ No newline at end of file diff --git a/docs/extra/js/pyramid.js b/docs/extra/js/pyramid.js new file mode 100644 index 0000000..9934950 --- /dev/null +++ b/docs/extra/js/pyramid.js @@ -0,0 +1,11 @@ +$(document).ready(function() { + $('#startBtn').on('click', function(event) { + for( var i = 0; i < 52; i++ ) { + Deck.cards[i] = i +1; + } + $('img[id^="card"]').remove(); + $("#drawn").removeClass(); + $("#stock").addClass("card").addClass("background"); + Pyramid.init(); + }); +}); \ No newline at end of file diff --git a/docs/extra/js/sis.js b/docs/extra/js/sis.js new file mode 100644 index 0000000..0401fd4 --- /dev/null +++ b/docs/extra/js/sis.js @@ -0,0 +1,23 @@ +$(document).ready(function() { + $('#startBtn').on('click', function(event) { + Game.running = false; + Game.wave_index = -1; + Game.wave = undefined; + Game.aliens = []; + Game.ship = null; + Game.score = 0; + Game.shots = { + total : 0, + lost : 0 + }; + Game.init(); + $.loadCallback(function(percent){ + $("#loadingBar").width(400*percent); + }); + $.playground().startGame( + function() { + $("#welcomeScreen").remove(); + } + ); + }); +}); \ No newline at end of file diff --git a/docs/extra/js/yahtzee.js b/docs/extra/js/yahtzee.js new file mode 100644 index 0000000..afa7456 --- /dev/null +++ b/docs/extra/js/yahtzee.js @@ -0,0 +1,10 @@ +$(document).ready(function() { + $('#startBtn').on('click', function(event) { + Yahtzee.clear(true); + Yahtzee.scoreUp = Yahtzee.scoreDown = 0; + $('span[id$="Score"]').html(' '); + $("#scorePanel").hide(); + $("#launch").html(0); + $("#launchBtn").removeClass("disabled"); + }); +}); \ No newline at end of file diff --git a/docs/games/Space_invaders_stories.md b/docs/games/Space_invaders_stories.md new file mode 100644 index 0000000..39f4259 --- /dev/null +++ b/docs/games/Space_invaders_stories.md @@ -0,0 +1,45 @@ +#Space invaders : Stories + +This is _Space invaders_ implementation currently under construction. + + +##How to + +The goal is to avoid alien invasion. +Use your keyboard arrows to move your hero and the space key to fire. +Warning : your ammo are limited by your weapon rate of fire... + +There are currently 3 different weapons : + + a shotgun + + a carot-machine gun + + a corn-grenade + + + + + + +##Credits + ++ Graphics : Fabrice Ecaille aka Febbweiss ++ Code : Fabrice Ecaille aka Febbweiss + +##Licences + +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/games/pacman.md b/docs/games/pacman.md new file mode 100644 index 0000000..5a82de3 --- /dev/null +++ b/docs/games/pacman.md @@ -0,0 +1,46 @@ +#Pacman +gq-pacman is a jQuery implementation of the famous Namco©'s Pacman©. + + +##How to + +Use your keyboard arrows to move Pacman to eat all energizer to complete the level. +Ghosts become frightened when Pacman eats a big energizer. Eat them !!! + +Beware of ghost who haunt the maze !!! Each one has his own personality : + +
    Blinky tracks Pacman as his shadow. + +
    Pinky perfoms ambushes to Pacman. + +
    Inky is the least predictable. + +
    Clyde pretends ignorance and is one who lags behind. + +##Demo + + + + + +##Credits + ++ Graphics : Fabrice Ecaille aka Febbweiss ++ Code : Fabrice Ecaille aka Febbweiss ++ Algorithm : Based on the ["Pacman Dossier"](http://home.comcast.net/~jpittman2/pacman/pacmandossier.html) ++ Tools : [gameQuery](http://gamequeryjs.com/) ++ Sounds : [Sound FX Center](http://soundfxcenter.com/sound_effect/search.php?sfx=Pacman) + +##Licences + +Source code is under [MIT Licence](http://opensource.org/licenses/mit-license.php) +Sprite is under [CC BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/legalcode) + + + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/games/pyramid.md b/docs/games/pyramid.md new file mode 100644 index 0000000..05ce33a --- /dev/null +++ b/docs/games/pyramid.md @@ -0,0 +1,34 @@ +#Pyramid +Pyramid is a jQuery implementation of the famous Pyramid solitaire game card. + + +##How to + +The goal is to remove all Pyramid's cards. +To remove a card, it must be associated with an other one and their sum must be equals to 13. +Each card has is numeric value and Kings' value is 13 (no need to be associated with an other card), Queens' value is 12 and Jake' value is 11. + +##Demo + + + + + + +##Credits + ++ Graphics : [Byron Knoll](http://code.google.com/p/vector-playing-cards) ++ Code : Fabrice Ecaille aka Febbweiss + +##Licences + +Source code is under [MIT Licence](http://opensource.org/licenses/mit-license.php) +Cards sprite is under [Public domain](http://creativecommons.org/publicdomain/zero/1.0/) + + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/games/yahtzee.md b/docs/games/yahtzee.md new file mode 100644 index 0000000..dc5d355 --- /dev/null +++ b/docs/games/yahtzee.md @@ -0,0 +1,40 @@ +#Yahtzee + +The classical dice game Yahtzee + + +##How to + +The goal is to complete the two combinaisons grids with five dice + +Each player can launch three times the dice to have a combinaison. After each launch, the player chooses to keep or not some dice. Each combinaison has a score. + +When both grids are completed, their scores are added and the player with the higher score wins. If the upper grid has a score higher than 63 points, the player wins a bonus of 35 points. + + + + + + +##Credits + ++ Graphics : Fabrice Ecaille aka Febbweiss ++ Code : Fabrice Ecaille aka Febbweiss + +##Licences + +Copyright (c) 2013 Fabrice ECAILLE aka Febbweiss + +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. + + + + + Fork me on GitHub \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..08e493c --- /dev/null +++ b/docs/index.md @@ -0,0 +1,27 @@ +# Welcome + +I made some projects and published them on [GitHub](https://github.com/febbweiss/). +In this space, you will find some of them. Basiclly, these pages are _README_ files but with some adds and demos. + +Different projects for different needs : + +* Development + - Java + + [Springboot / React / Webpack](/development/springboot_react_webpack) + - NodeJS + + [CloudBudget](/development/cloudbudget) (Express) + + [Project deployer](/development/project_deployer) (Meteor) + - Client-side + + [CloudBudget-AngularJS](/development/cloudbudget_angularjs) (Express / AngularJS) + + [Durandal filebrowser widget](/development/filebrowser_durandal_widget) (DurandalJS) +* Docker + - Fullstack servers + + [Log centralizer](/docker/docker_log_centralizer) ELK stack with Kafka + + [GoCD](/docker/docker_gocd) GoCD server and agents + - Utilities + + [Apache log generator](/docker/docker_apache_log_generator) +* Javascript games + - [Space invaders](/games/Space_invaders_stories) + - [Pacman](/games/pacman) + - [Pyramid](/games/pyramid) + - [Yahtzee](/games/yahtzee) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..c3b300b --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,4 @@ +site_name: Febbweiss +repo_url: https://github.com/febbweiss/ +theme: readthedocs +