From a624fbcb568624322f8e2ef8e5c8a60cca134034 Mon Sep 17 00:00:00 2001 From: Sean Kenny Date: Sun, 31 Aug 2014 15:30:31 +0100 Subject: [PATCH] merge from master --- build/out/fullcalendar.css | 1178 +- build/out/fullcalendar.js | 15754 ++++++++-------- build/out/fullcalendar.print.css | 64 +- build/out/gcal.js | 214 +- build/temp/archive/changelog.txt | 602 + build/temp/archive/demos/agenda-views.html | 88 + build/temp/archive/demos/basic-views.html | 88 + build/temp/archive/demos/default.html | 83 + .../temp/archive/demos/external-dragging.html | 157 + build/temp/archive/demos/gcal.html | 65 + build/temp/archive/demos/json.html | 83 + build/temp/archive/demos/json/events.json | 35 + build/temp/archive/demos/languages.html | 131 + build/temp/archive/demos/php/get-events.php | 50 + .../temp/archive/demos/php/get-timezones.php | 9 + build/temp/archive/demos/php/utils.php | 130 + build/temp/archive/demos/resource-views.html | 184 + build/temp/archive/demos/selectable.html | 103 + build/temp/archive/demos/theme.html | 90 + build/temp/archive/demos/timezones.html | 127 + build/temp/archive/fullcalendar.css | 601 + build/temp/archive/fullcalendar.js | 9272 +++++++++ build/temp/archive/fullcalendar.min.js | 8 + build/temp/archive/fullcalendar.print.css | 32 + build/temp/archive/gcal.js | 100 + build/temp/archive/lang-all.js | 1 + .../lib/cupertino/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 368 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 402 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 388 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 398 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 384 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 300 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 439 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 361 bytes .../images/ui-icons_2694e8_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../archive/lib/cupertino/jquery-ui.min.css | 7 + .../temp/archive/lib/jquery-ui.custom.min.js | 25 + build/temp/archive/lib/jquery.min.js | 5 + build/temp/archive/lib/moment.min.js | 6 + build/temp/archive/license.txt | 21 + build/temp/lang-all.js | 15 + lib/jasmine-fixture/.bower.json | 27 + lib/jasmine-fixture/.gitignore | 8 + lib/jasmine-fixture/.npmignore | 9 + lib/jasmine-fixture/LICENSE.txt | 20 + lib/jasmine-fixture/README.md | 111 + lib/jasmine-fixture/bower.json | 17 + .../spec-e2e/basic-usage-spec.coffee | 14 + .../spec-e2e/helpers/invariants.coffee | 17 + .../helpers/spec-within-a-spec.coffee | 24 + .../spec-e2e/helpers/tmp-files.coffee | 8 + .../support/jasmine1-testem-config.json | 11 + .../support/jasmine2-testem-config.json | 11 + .../vendor/js/jquery-1.11.0.js | 10337 ++++++++++ lib/jasmine-fixture/vendor/js/jquery-1.8.3.js | 9472 ++++++++++ lib/jasmine-fixture/vendor/js/jquery-2.1.0.js | 9111 +++++++++ lib/jasmine-jquery/.bower.json | 26 + lib/jasmine-jquery/CONTRIBUTING.md | 28 + lib/jasmine-jquery/Gruntfile.js | 33 + lib/jasmine-jquery/MIT.LICENSE | 20 + lib/jasmine-jquery/README.md | 362 + lib/jasmine-jquery/bower.json | 16 + lib/jasmine-jquery/lib/jasmine-jquery.js | 813 + lib/jasmine-jquery/package.json | 26 + .../fixtures/fixture_with_javascript.html | 1 + .../fixture_with_javascript_block.html | 1 + .../javascripts/jasmine_javascript_click.js | 1 + .../javascripts/jasmine_javascript_hover.js | 1 + .../spec/fixtures/json/jasmine_json_test.json | 1 + .../fixtures/real_non_mocked_fixture.html | 1 + .../real_non_mocked_fixture_style.css | 1 + .../spec/suites/jasmine-jquery-spec.js | 1782 ++ lib/jasmine/.bower.json | 14 + lib/jasmine/.gitignore | 24 + lib/jasmine/.gitmodules | 3 + lib/jasmine/.jshintrc | 9 + lib/jasmine/.npmignore | 23 + lib/jasmine/.rspec | 1 + lib/jasmine/.travis.yml | 51 + lib/jasmine/CONTRIBUTING.md | 121 + lib/jasmine/GOALS_2.0.md | 64 + lib/jasmine/Gemfile | 12 + lib/jasmine/Gruntfile.js | 53 + lib/jasmine/MANIFEST.in | 5 + lib/jasmine/MIT.LICENSE | 20 + lib/jasmine/README.md | 64 + lib/jasmine/RELEASE.md | 66 + lib/jasmine/Rakefile | 18 + lib/jasmine/grunt/config/compass.js | 10 + lib/jasmine/grunt/config/compress.js | 66 + lib/jasmine/grunt/config/concat.js | 61 + lib/jasmine/grunt/config/jshint.js | 11 + lib/jasmine/grunt/tasks/build_standalone.js | 31 + lib/jasmine/grunt/tasks/version.js | 14 + .../grunt/templates/SpecRunner.html.jst | 26 + .../grunt/templates/licenseBanner.js.jst | 22 + lib/jasmine/grunt/templates/version.rb.jst | 9 + lib/jasmine/images/__init__.py | 0 lib/jasmine/images/jasmine-horizontal.png | Bin 0 -> 1714 bytes lib/jasmine/images/jasmine-horizontal.svg | 102 + lib/jasmine/images/jasmine_favicon.png | Bin 0 -> 1486 bytes lib/jasmine/jasmine-core.gemspec | 23 + lib/jasmine/lib/console/console.js | 165 + lib/jasmine/lib/jasmine-core.js | 2 + lib/jasmine/lib/jasmine-core.rb | 53 + lib/jasmine/lib/jasmine-core/__init__.py | 1 + lib/jasmine/lib/jasmine-core/boot.js | 203 + lib/jasmine/lib/jasmine-core/boot/boot.js | 181 + .../lib/jasmine-core/boot/node_boot.js | 71 + lib/jasmine/lib/jasmine-core/core.py | 60 + .../example/node_example/spec/PlayerSpec.js | 60 + .../example/node_example/spec/SpecHelper.js | 15 + .../example/node_example/src/Player.js | 24 + .../example/node_example/src/Song.js | 9 + .../jasmine-core/example/spec/PlayerSpec.js | 58 + .../jasmine-core/example/spec/SpecHelper.js | 15 + .../lib/jasmine-core/example/src/Player.js | 22 + .../lib/jasmine-core/example/src/Song.js | 7 + lib/jasmine/lib/jasmine-core/jasmine-html.js | 390 + lib/jasmine/lib/jasmine-core/jasmine.css | 59 + lib/jasmine/lib/jasmine-core/jasmine.js | 2516 +++ lib/jasmine/lib/jasmine-core/json2.js | 478 + lib/jasmine/lib/jasmine-core/node_boot.js | 93 + lib/jasmine/lib/jasmine-core/version.rb | 9 + lib/jasmine/package.json | 23 + lib/jasmine/release_notes/2.0.1.md | 70 + lib/jasmine/release_notes/20.md | 179 + lib/jasmine/requirements.txt | 1 + lib/jasmine/setup.py | 47 + .../spec/console/ConsoleReporterSpec.js | 238 + lib/jasmine/spec/core/AnySpec.js | 46 + lib/jasmine/spec/core/CallTrackerSpec.js | 105 + lib/jasmine/spec/core/ClockSpec.js | 445 + .../spec/core/DelayedFunctionSchedulerSpec.js | 246 + lib/jasmine/spec/core/EnvSpec.js | 85 + .../spec/core/ExceptionFormatterSpec.js | 63 + lib/jasmine/spec/core/ExceptionsSpec.js | 68 + .../spec/core/ExpectationResultSpec.js | 61 + lib/jasmine/spec/core/ExpectationSpec.js | 427 + lib/jasmine/spec/core/JsApiReporterSpec.js | 214 + lib/jasmine/spec/core/MockDateSpec.js | 179 + lib/jasmine/spec/core/ObjectContainingSpec.js | 70 + lib/jasmine/spec/core/PrettyPrintSpec.js | 156 + lib/jasmine/spec/core/QueueRunnerSpec.js | 271 + lib/jasmine/spec/core/ReportDispatcherSpec.js | 40 + lib/jasmine/spec/core/SpecSpec.js | 260 + lib/jasmine/spec/core/SpySpec.js | 67 + lib/jasmine/spec/core/SpyStrategySpec.js | 111 + lib/jasmine/spec/core/SuiteSpec.js | 182 + lib/jasmine/spec/core/TimerSpec.js | 31 + lib/jasmine/spec/core/UtilSpec.js | 28 + .../core/integration/CustomMatchersSpec.js | 149 + lib/jasmine/spec/core/integration/EnvSpec.js | 506 + .../spec/core/integration/SpecRunningSpec.js | 306 + .../spec/core/matchers/matchersUtilSpec.js | 239 + .../spec/core/matchers/toBeCloseToSpec.js | 51 + .../spec/core/matchers/toBeDefinedSpec.js | 18 + .../spec/core/matchers/toBeFalsySpec.js | 38 + .../spec/core/matchers/toBeGreaterThanSpec.js | 20 + .../spec/core/matchers/toBeLessThanSpec.js | 20 + lib/jasmine/spec/core/matchers/toBeNaNSpec.js | 37 + .../spec/core/matchers/toBeNullSpec.js | 17 + lib/jasmine/spec/core/matchers/toBeSpec.js | 17 + .../spec/core/matchers/toBeTruthySpec.js | 38 + .../spec/core/matchers/toBeUndefinedSpec.js | 18 + .../spec/core/matchers/toContainSpec.js | 26 + lib/jasmine/spec/core/matchers/toEqualSpec.js | 28 + .../core/matchers/toHaveBeenCalledSpec.js | 47 + .../core/matchers/toHaveBeenCalledWithSpec.js | 66 + lib/jasmine/spec/core/matchers/toMatchSpec.js | 34 + .../spec/core/matchers/toThrowErrorSpec.js | 280 + lib/jasmine/spec/core/matchers/toThrowSpec.js | 99 + lib/jasmine/spec/helpers/BrowserFlags.js | 23 + .../spec/helpers/defineJasmineUnderTest.js | 7 + .../helpers/nodeDefineJasmineUnderTest.js | 33 + lib/jasmine/spec/html/HtmlReporterSpec.js | 616 + lib/jasmine/spec/html/HtmlSpecFilterSpec.js | 18 + lib/jasmine/spec/html/MatchersHtmlSpec.js | 37 + lib/jasmine/spec/html/PrettyPrintHtmlSpec.js | 15 + lib/jasmine/spec/html/QueryStringSpec.js | 43 + lib/jasmine/spec/html/ResultsNodeSpec.js | 62 + .../support/jasmine_selenium_runner.yml | 16 + .../spec/performance/large_object_test.js | 36 + .../spec/performance/performance_test.js | 10 + .../spec/support/jasmine-performance.json | 9 + .../spec/support/jasmine-performance.yml | 9 + lib/jasmine/spec/support/jasmine.json | 10 + lib/jasmine/spec/support/jasmine.yml | 25 + lib/jasmine/src/console/ConsoleReporter.js | 130 + lib/jasmine/src/console/requireConsole.js | 12 + lib/jasmine/src/core/Any.js | 36 + lib/jasmine/src/core/CallTracker.js | 50 + lib/jasmine/src/core/Clock.js | 113 + .../src/core/DelayedFunctionScheduler.js | 145 + lib/jasmine/src/core/Env.js | 341 + lib/jasmine/src/core/ExceptionFormatter.js | 29 + lib/jasmine/src/core/Expectation.js | 107 + lib/jasmine/src/core/ExpectationResult.js | 45 + lib/jasmine/src/core/JsApiReporter.js | 73 + lib/jasmine/src/core/MockDate.js | 66 + lib/jasmine/src/core/ObjectContaining.js | 34 + lib/jasmine/src/core/PrettyPrinter.js | 137 + lib/jasmine/src/core/QueueRunner.js | 92 + lib/jasmine/src/core/ReportDispatcher.js | 35 + lib/jasmine/src/core/Spec.js | 126 + lib/jasmine/src/core/SpyStrategy.js | 51 + lib/jasmine/src/core/Suite.js | 90 + lib/jasmine/src/core/Timer.js | 22 + lib/jasmine/src/core/base.js | 102 + lib/jasmine/src/core/matchers/matchersUtil.js | 181 + .../src/core/matchers/requireMatchers.js | 29 + lib/jasmine/src/core/matchers/toBe.js | 13 + lib/jasmine/src/core/matchers/toBeCloseTo.js | 18 + lib/jasmine/src/core/matchers/toBeDefined.js | 13 + lib/jasmine/src/core/matchers/toBeFalsy.js | 13 + .../src/core/matchers/toBeGreaterThan.js | 15 + lib/jasmine/src/core/matchers/toBeLessThan.js | 14 + lib/jasmine/src/core/matchers/toBeNaN.js | 22 + lib/jasmine/src/core/matchers/toBeNull.js | 14 + lib/jasmine/src/core/matchers/toBeTruthy.js | 14 + .../src/core/matchers/toBeUndefined.js | 14 + lib/jasmine/src/core/matchers/toContain.js | 16 + lib/jasmine/src/core/matchers/toEqual.js | 20 + .../src/core/matchers/toHaveBeenCalled.js | 28 + .../src/core/matchers/toHaveBeenCalledWith.js | 33 + lib/jasmine/src/core/matchers/toMatch.js | 16 + lib/jasmine/src/core/matchers/toThrow.js | 46 + lib/jasmine/src/core/matchers/toThrowError.js | 156 + lib/jasmine/src/core/requireCore.js | 39 + lib/jasmine/src/core/util.js | 44 + lib/jasmine/src/html/HtmlReporter.js | 280 + lib/jasmine/src/html/HtmlSpecFilter.js | 12 + lib/jasmine/src/html/QueryString.js | 47 + lib/jasmine/src/html/ResultsNode.js | 19 + lib/jasmine/src/html/_HTMLReporter.scss | 346 + lib/jasmine/src/html/jasmine.scss | 1 + lib/jasmine/src/html/requireHtml.js | 6 + .../example_project_jasmine_tags.html.erb | 3 + lib/jasmine/src/templates/version.js.erb | 7 + lib/jasmine/src/templates/version.rb.erb | 6 + lib/jasmine/src/version.js | 3 + lib/jasmine/travis-core-script.sh | 14 + lib/jasmine/travis-docs-script.sh | 5 + lib/jasmine/travis-node-script.sh | 6 + lib/jquery-mockjax/.bower.json | 26 + lib/jquery-mockjax/bower.json | 14 + lib/jquery-mockjax/jquery.mockjax.js | 598 + lib/jquery-simulate-ext/.bower.json | 59 + lib/jquery-simulate-ext/Gruntfile.js | 96 + lib/jquery-simulate-ext/MIT-LICENSE.txt | 21 + lib/jquery-simulate-ext/bower.json | 49 + lib/jquery-simulate-ext/libs/bililiteRange.js | 347 + .../libs/jquery.simulate.js | 371 + .../src/jquery.simulate.drag-n-drop.js | 588 + .../src/jquery.simulate.ext.js | 30 + .../src/jquery.simulate.key-combo.js | 193 + .../src/jquery.simulate.key-sequence.js | 444 + lib/jquery-ui/.bower.json | 20 + lib/jquery-ui/.gitignore | 3 + lib/jquery-ui/AUTHORS.txt | 260 + lib/jquery-ui/MIT-LICENSE.txt | 26 + lib/jquery-ui/README.md | 11 + lib/jquery-ui/bower.json | 10 + lib/jquery-ui/component.json | 13 + lib/jquery-ui/composer.json | 63 + lib/jquery-ui/package.json | 66 + .../themes/base/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes lib/jquery-ui/themes/base/jquery-ui.css | 1177 ++ .../themes/base/jquery.ui.accordion.css | 38 + lib/jquery-ui/themes/base/jquery.ui.all.css | 12 + .../themes/base/jquery.ui.autocomplete.css | 16 + lib/jquery-ui/themes/base/jquery.ui.base.css | 25 + .../themes/base/jquery.ui.button.css | 114 + lib/jquery-ui/themes/base/jquery.ui.core.css | 93 + .../themes/base/jquery.ui.datepicker.css | 175 + .../themes/base/jquery.ui.dialog.css | 70 + lib/jquery-ui/themes/base/jquery.ui.menu.css | 79 + .../themes/base/jquery.ui.progressbar.css | 28 + .../themes/base/jquery.ui.resizable.css | 76 + .../themes/base/jquery.ui.selectable.css | 13 + .../themes/base/jquery.ui.slider.css | 73 + .../themes/base/jquery.ui.spinner.css | 65 + lib/jquery-ui/themes/base/jquery.ui.tabs.css | 51 + lib/jquery-ui/themes/base/jquery.ui.theme.css | 410 + .../themes/base/jquery.ui.tooltip.css | 21 + .../base/minified/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../themes/base/minified/jquery-ui.min.css | 7 + .../base/minified/jquery.ui.accordion.min.css | 5 + .../minified/jquery.ui.autocomplete.min.css | 5 + .../base/minified/jquery.ui.button.min.css | 5 + .../base/minified/jquery.ui.core.min.css | 5 + .../minified/jquery.ui.datepicker.min.css | 5 + .../base/minified/jquery.ui.dialog.min.css | 5 + .../base/minified/jquery.ui.menu.min.css | 5 + .../minified/jquery.ui.progressbar.min.css | 5 + .../base/minified/jquery.ui.resizable.min.css | 5 + .../minified/jquery.ui.selectable.min.css | 5 + .../base/minified/jquery.ui.slider.min.css | 5 + .../base/minified/jquery.ui.spinner.min.css | 5 + .../base/minified/jquery.ui.tabs.min.css | 5 + .../base/minified/jquery.ui.theme.min.css | 5 + .../base/minified/jquery.ui.tooltip.min.css | 5 + .../black-tie/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_8_333333_40x40.png | Bin 0 -> 364 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_40_111111_1x400.png | Bin 0 -> 312 bytes .../images/ui-bg_glass_55_1c1c1c_1x400.png | Bin 0 -> 312 bytes .../ui-bg_highlight-hard_100_f9f9f9_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-hard_40_aaaaaa_1x100.png | Bin 0 -> 302 bytes .../ui-bg_highlight-soft_50_aaaaaa_1x100.png | Bin 0 -> 329 bytes .../ui-bg_inset-hard_45_cd0a0a_1x100.png | Bin 0 -> 376 bytes .../ui-bg_inset-hard_55_ffeb80_1x100.png | Bin 0 -> 361 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_4ca300_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_bbbbbb_256x240.png | Bin 0 -> 7058 bytes .../images/ui-icons_ededed_256x240.png | Bin 0 -> 7008 bytes .../images/ui-icons_ffcf29_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/black-tie/jquery-ui.css | 1178 ++ .../themes/black-tie/jquery-ui.min.css | 7 + .../themes/black-tie/jquery.ui.theme.css | 410 + .../blitzer/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_75_f3d8d8_40x40.png | Bin 0 -> 465 bytes .../images/ui-bg_dots-small_65_a6a6a6_2x2.png | Bin 0 -> 260 bytes .../images/ui-bg_flat_0_333333_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_55_fbf8ee_1x400.png | Bin 0 -> 392 bytes .../ui-bg_highlight-hard_100_eeeeee_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-hard_100_f6f6f6_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-soft_15_cc0000_1x100.png | Bin 0 -> 379 bytes .../images/ui-icons_004276_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cc0000_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/blitzer/jquery-ui.css | 1178 ++ .../themes/blitzer/jquery-ui.min.css | 7 + .../themes/blitzer/jquery.ui.theme.css | 410 + .../cupertino/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 368 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 402 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 388 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 398 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 384 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 300 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 439 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 361 bytes .../images/ui-icons_2694e8_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/cupertino/jquery-ui.css | 1178 ++ .../themes/cupertino/jquery-ui.min.css | 7 + .../themes/cupertino/jquery.ui.theme.css | 410 + .../dark-hive/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 368 bytes .../ui-bg_highlight-hard_20_0972a5_1x100.png | Bin 0 -> 375 bytes .../ui-bg_highlight-soft_33_003147_1x100.png | Bin 0 -> 404 bytes .../ui-bg_highlight-soft_35_222222_1x100.png | Bin 0 -> 329 bytes .../ui-bg_highlight-soft_44_444444_1x100.png | Bin 0 -> 329 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 332 bytes .../images/ui-bg_loop_25_000000_21x21.png | Bin 0 -> 338 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 7038 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/dark-hive/jquery-ui.css | 1178 ++ .../themes/dark-hive/jquery-ui.min.css | 7 + .../themes/dark-hive/jquery.ui.theme.css | 410 + .../dot-luv/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_15_0b3e6f_40x40.png | Bin 0 -> 476 bytes .../ui-bg_dots-medium_30_0b58a2_4x4.png | Bin 0 -> 289 bytes .../images/ui-bg_dots-small_20_333333_2x2.png | Bin 0 -> 260 bytes .../images/ui-bg_dots-small_30_a32d00_2x2.png | Bin 0 -> 270 bytes .../images/ui-bg_dots-small_40_00498f_2x2.png | Bin 0 -> 276 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_40_292929_40x100.png | Bin 0 -> 282 bytes .../ui-bg_gloss-wave_20_111111_500x100.png | Bin 0 -> 3831 bytes .../images/ui-icons_00498f_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_98d2fb_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_9ccdfc_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/dot-luv/jquery-ui.css | 1178 ++ .../themes/dot-luv/jquery-ui.min.css | 7 + .../themes/dot-luv/jquery.ui.theme.css | 410 + .../eggplant/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_55_994d53_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_55_fafafa_40x100.png | Bin 0 -> 282 bytes .../ui-bg_gloss-wave_30_3d3644_500x100.png | Bin 0 -> 5993 bytes .../ui-bg_highlight-soft_100_dcd9de_1x100.png | Bin 0 -> 394 bytes .../ui-bg_highlight-soft_100_eae6ea_1x100.png | Bin 0 -> 425 bytes .../ui-bg_highlight-soft_25_30273a_1x100.png | Bin 0 -> 421 bytes .../ui-bg_highlight-soft_45_5f5964_1x100.png | Bin 0 -> 413 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_734d99_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_8d78a5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_a8a3ae_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ebccce_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/eggplant/jquery-ui.css | 1178 ++ .../themes/eggplant/jquery-ui.min.css | 7 + .../themes/eggplant/jquery.ui.theme.css | 410 + .../excite-bike/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_25_c5ddfc_40x40.png | Bin 0 -> 394 bytes .../ui-bg_diagonals-thick_20_e69700_40x40.png | Bin 0 -> 469 bytes .../ui-bg_diagonals-thick_22_1484e6_40x40.png | Bin 0 -> 461 bytes .../ui-bg_diagonals-thick_26_2293f7_40x40.png | Bin 0 -> 458 bytes .../images/ui-bg_flat_0_e69700_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_0_e6b900_40x100.png | Bin 0 -> 274 bytes .../ui-bg_highlight-soft_100_f9f9f9_1x100.png | Bin 0 -> 331 bytes .../ui-bg_inset-hard_100_eeeeee_1x100.png | Bin 0 -> 305 bytes .../images/ui-icons_0a82eb_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_0b54d5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_5fa5e3_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_fcdd4a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/excite-bike/jquery-ui.css | 1178 ++ .../themes/excite-bike/jquery-ui.min.css | 7 + .../themes/excite-bike/jquery.ui.theme.css | 410 + .../themes/flick/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_55_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 259 bytes .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin 0 -> 330 bytes .../ui-bg_highlight-soft_25_0073ea_1x100.png | Bin 0 -> 387 bytes .../ui-bg_highlight-soft_50_dddddd_1x100.png | Bin 0 -> 332 bytes .../flick/images/ui-icons_0073ea_256x240.png | Bin 0 -> 4601 bytes .../flick/images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../flick/images/ui-icons_666666_256x240.png | Bin 0 -> 6974 bytes .../flick/images/ui-icons_ff0084_256x240.png | Bin 0 -> 4601 bytes .../flick/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/flick/jquery-ui.css | 1178 ++ lib/jquery-ui/themes/flick/jquery-ui.min.css | 7 + .../themes/flick/jquery.ui.theme.css | 410 + .../hot-sneaks/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_40_db4865_40x40.png | Bin 0 -> 384 bytes .../ui-bg_diagonals-small_50_93c3cd_40x40.png | Bin 0 -> 385 bytes .../ui-bg_diagonals-small_50_ff3853_40x40.png | Bin 0 -> 382 bytes .../ui-bg_diagonals-small_75_ccd232_40x40.png | Bin 0 -> 385 bytes .../ui-bg_dots-medium_80_ffff38_4x4.png | Bin 0 -> 277 bytes .../images/ui-bg_dots-small_35_35414f_2x2.png | Bin 0 -> 275 bytes .../images/ui-bg_flat_75_ba9217_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../ui-bg_white-lines_85_f7f7ba_40x100.png | Bin 0 -> 416 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_88a206_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_c02669_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e1e463_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffeb33_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/hot-sneaks/jquery-ui.css | 1178 ++ .../themes/hot-sneaks/jquery-ui.min.css | 7 + .../themes/hot-sneaks/jquery.ui.theme.css | 410 + .../humanity/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_100_f5f0e5_1x400.png | Bin 0 -> 406 bytes .../images/ui-bg_glass_25_cb842e_1x400.png | Bin 0 -> 387 bytes .../images/ui-bg_glass_70_ede4d4_1x400.png | Bin 0 -> 406 bytes .../ui-bg_highlight-hard_100_f4f0ec_1x100.png | Bin 0 -> 379 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 0 -> 366 bytes .../ui-bg_highlight-hard_75_f5f5b5_1x100.png | Bin 0 -> 375 bytes .../ui-bg_inset-soft_100_f4f0ec_1x100.png | Bin 0 -> 455 bytes .../images/ui-icons_c47a23_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cb672b_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f08000_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f35f07_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ff7519_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/humanity/jquery-ui.css | 1178 ++ .../themes/humanity/jquery-ui.min.css | 7 + .../themes/humanity/jquery.ui.theme.css | 410 + .../le-frog/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_0_aaaaaa_40x40.png | Bin 0 -> 259 bytes .../ui-bg_diagonals-thick_15_444444_40x40.png | Bin 0 -> 366 bytes .../ui-bg_diagonals-thick_95_ffdc2e_40x40.png | Bin 0 -> 463 bytes .../images/ui-bg_glass_55_fbf5d0_1x400.png | Bin 0 -> 388 bytes .../ui-bg_highlight-hard_30_285c00_1x100.png | Bin 0 -> 383 bytes .../ui-bg_highlight-soft_33_3a8104_1x100.png | Bin 0 -> 397 bytes .../ui-bg_highlight-soft_50_4eb305_1x100.png | Bin 0 -> 403 bytes .../ui-bg_highlight-soft_60_4ca20b_1x100.png | Bin 0 -> 416 bytes .../ui-bg_inset-soft_10_285c00_1x100.png | Bin 0 -> 440 bytes .../images/ui-icons_4eb305_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_72b42d_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/le-frog/jquery-ui.css | 1178 ++ .../themes/le-frog/jquery-ui.min.css | 7 + .../themes/le-frog/jquery.ui.theme.css | 410 + .../mint-choc/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_15_5f391b_1x400.png | Bin 0 -> 393 bytes .../ui-bg_gloss-wave_20_1c160d_500x100.png | Bin 0 -> 5845 bytes .../ui-bg_gloss-wave_25_453326_500x100.png | Bin 0 -> 5904 bytes .../ui-bg_gloss-wave_30_44372c_500x100.png | Bin 0 -> 5966 bytes .../ui-bg_highlight-soft_20_201913_1x100.png | Bin 0 -> 438 bytes .../ui-bg_highlight-soft_20_619226_1x100.png | Bin 0 -> 398 bytes .../ui-bg_inset-soft_10_201913_1x100.png | Bin 0 -> 448 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_9bcc60_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_add978_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e3ddc9_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f1fd86_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/mint-choc/jquery-ui.css | 1178 ++ .../themes/mint-choc/jquery-ui.min.css | 7 + .../themes/mint-choc/jquery.ui.theme.css | 410 + .../overcast/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_55_c0402a_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_flat_55_eeeeee_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_glass_100_f8f8f8_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_35_dddddd_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_60_eeeeee_1x400.png | Bin 0 -> 314 bytes .../ui-bg_inset-hard_75_999999_1x100.png | Bin 0 -> 303 bytes .../ui-bg_inset-soft_50_c9c9c9_1x100.png | Bin 0 -> 334 bytes .../images/ui-icons_3383bb_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_70b2e1_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_999999_256x240.png | Bin 0 -> 7039 bytes .../images/ui-icons_fbc856_256x240.png | Bin 0 -> 4601 bytes lib/jquery-ui/themes/overcast/jquery-ui.css | 1178 ++ .../themes/overcast/jquery-ui.min.css | 7 + .../themes/overcast/jquery.ui.theme.css | 410 + .../images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonal-maze_20_6e4f1c_10x10.png | Bin 0 -> 348 bytes .../ui-bg_diagonal-maze_40_000000_10x10.png | Bin 0 -> 291 bytes .../ui-bg_fine-grain_10_eceadf_60x60.png | Bin 0 -> 10811 bytes .../ui-bg_fine-grain_10_f8f7f6_60x60.png | Bin 0 -> 9956 bytes .../ui-bg_fine-grain_15_eceadf_60x60.png | Bin 0 -> 10581 bytes .../ui-bg_fine-grain_15_f7f3de_60x60.png | Bin 0 -> 10943 bytes .../ui-bg_fine-grain_15_ffffff_60x60.png | Bin 0 -> 3510 bytes .../ui-bg_fine-grain_65_654b24_60x60.png | Bin 0 -> 14497 bytes .../ui-bg_fine-grain_68_b83400_60x60.png | Bin 0 -> 11929 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_3572ac_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_8c291d_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_b83400_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_fbdb93_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/pepper-grinder/jquery-ui.css | 1178 ++ .../themes/pepper-grinder/jquery-ui.min.css | 7 + .../themes/pepper-grinder/jquery.ui.theme.css | 410 + .../redmond/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_55_fbec88_40x100.png | Bin 0 -> 274 bytes .../images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 0 -> 388 bytes .../images/ui-bg_glass_85_dfeffc_1x400.png | Bin 0 -> 393 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 384 bytes .../ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 0 -> 5876 bytes .../ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 0 -> 385 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 344 bytes .../images/ui-icons_217bc0_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_469bdd_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_6da8d5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f9bd01_256x240.png | Bin 0 -> 4601 bytes lib/jquery-ui/themes/redmond/jquery-ui.css | 1178 ++ .../themes/redmond/jquery-ui.min.css | 7 + .../themes/redmond/jquery.ui.theme.css | 410 + .../smoothness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 387 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 259 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 314 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 384 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 332 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6973 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 7044 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes lib/jquery-ui/themes/smoothness/jquery-ui.css | 1178 ++ .../themes/smoothness/jquery-ui.min.css | 7 + .../themes/smoothness/jquery.ui.theme.css | 410 + .../south-street/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_glass_55_fcf0ba_1x400.png | Bin 0 -> 385 bytes .../ui-bg_gloss-wave_100_ece8da_500x100.png | Bin 0 -> 5811 bytes .../ui-bg_highlight-hard_100_f5f3e5_1x100.png | Bin 0 -> 388 bytes .../ui-bg_highlight-hard_100_fafaf4_1x100.png | Bin 0 -> 373 bytes .../ui-bg_highlight-hard_15_459e00_1x100.png | Bin 0 -> 380 bytes .../ui-bg_highlight-hard_95_cccccc_1x100.png | Bin 0 -> 304 bytes .../ui-bg_highlight-soft_25_67b021_1x100.png | Bin 0 -> 405 bytes .../ui-bg_highlight-soft_95_ffedad_1x100.png | Bin 0 -> 403 bytes .../ui-bg_inset-soft_15_2b2922_1x100.png | Bin 0 -> 401 bytes .../images/ui-icons_808080_256x240.png | Bin 0 -> 7039 bytes .../images/ui-icons_847e71_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_8DC262_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_eeeeee_256x240.png | Bin 0 -> 7007 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/south-street/jquery-ui.css | 1178 ++ .../themes/south-street/jquery-ui.min.css | 7 + .../themes/south-street/jquery.ui.theme.css | 410 + .../themes/start/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_55_999999_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_45_0078ae_1x400.png | Bin 0 -> 398 bytes .../images/ui-bg_glass_55_f8da4e_1x400.png | Bin 0 -> 397 bytes .../images/ui-bg_glass_75_79c9ec_1x400.png | Bin 0 -> 400 bytes .../ui-bg_gloss-wave_45_e14f1c_500x100.png | Bin 0 -> 5916 bytes .../ui-bg_gloss-wave_50_6eac2c_500x100.png | Bin 0 -> 5958 bytes .../ui-bg_gloss-wave_75_2191c0_500x100.png | Bin 0 -> 6029 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 344 bytes .../start/images/ui-icons_0078ae_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_056b93_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_e0fdff_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_f5e175_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_f7a50d_256x240.png | Bin 0 -> 4601 bytes .../start/images/ui-icons_fcd113_256x240.png | Bin 0 -> 4601 bytes lib/jquery-ui/themes/start/jquery-ui.css | 1178 ++ lib/jquery-ui/themes/start/jquery-ui.min.css | 7 + .../themes/start/jquery.ui.theme.css | 410 + .../themes/sunny/images/animated-overlay.gif | Bin 0 -> 1738 bytes ...ui-bg_diagonals-medium_20_d34d17_40x40.png | Bin 0 -> 434 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 282 bytes .../ui-bg_gloss-wave_45_817865_500x100.png | Bin 0 -> 5942 bytes .../ui-bg_gloss-wave_60_fece2f_500x100.png | Bin 0 -> 5902 bytes .../ui-bg_gloss-wave_70_ffdd57_500x100.png | Bin 0 -> 5595 bytes .../ui-bg_gloss-wave_90_fff9e5_500x100.png | Bin 0 -> 5441 bytes .../ui-bg_highlight-soft_100_feeebd_1x100.png | Bin 0 -> 395 bytes .../ui-bg_inset-soft_30_ffffff_1x100.png | Bin 0 -> 255 bytes .../sunny/images/ui-icons_3d3d3d_256x240.png | Bin 0 -> 6948 bytes .../sunny/images/ui-icons_bd7b00_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_d19405_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_eb990f_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_ed9f26_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_fadc7a_256x240.png | Bin 0 -> 4601 bytes .../sunny/images/ui-icons_ffe180_256x240.png | Bin 0 -> 4601 bytes lib/jquery-ui/themes/sunny/jquery-ui.css | 1178 ++ lib/jquery-ui/themes/sunny/jquery-ui.min.css | 7 + .../themes/sunny/jquery.ui.theme.css | 410 + .../swanky-purse/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_diamond_10_4f4221_10x8.png | Bin 0 -> 359 bytes .../images/ui-bg_diamond_20_372806_10x8.png | Bin 0 -> 362 bytes .../images/ui-bg_diamond_25_675423_10x8.png | Bin 0 -> 364 bytes .../images/ui-bg_diamond_25_d5ac5d_10x8.png | Bin 0 -> 365 bytes .../images/ui-bg_diamond_8_261803_10x8.png | Bin 0 -> 362 bytes .../images/ui-bg_diamond_8_443113_10x8.png | Bin 0 -> 362 bytes .../images/ui-bg_flat_75_ddd4b0_40x100.png | Bin 0 -> 274 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 0 -> 366 bytes .../images/ui-icons_070603_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e8e2b5_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_e9cd86_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_efec9f_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f2ec64_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_f9f2bd_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ff7519_256x240.png | Bin 0 -> 4601 bytes .../themes/swanky-purse/jquery-ui.css | 1178 ++ .../themes/swanky-purse/jquery-ui.min.css | 7 + .../themes/swanky-purse/jquery.ui.theme.css | 410 + .../trontastic/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-small_50_262626_40x40.png | Bin 0 -> 304 bytes .../images/ui-bg_flat_0_303030_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_flat_0_4c4c4c_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_glass_40_0a0a0a_1x400.png | Bin 0 -> 312 bytes .../images/ui-bg_glass_55_f1fbe5_1x400.png | Bin 0 -> 400 bytes .../images/ui-bg_glass_60_000000_1x400.png | Bin 0 -> 309 bytes .../ui-bg_gloss-wave_55_000000_500x100.png | Bin 0 -> 3878 bytes .../ui-bg_gloss-wave_85_9fda58_500x100.png | Bin 0 -> 5992 bytes .../ui-bg_gloss-wave_95_f6ecd5_500x100.png | Bin 0 -> 5850 bytes .../images/ui-icons_000000_256x240.png | Bin 0 -> 5383 bytes .../images/ui-icons_1f1f1f_256x240.png | Bin 0 -> 6825 bytes .../images/ui-icons_9fda58_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_b8ec79_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes lib/jquery-ui/themes/trontastic/jquery-ui.css | 1178 ++ .../themes/trontastic/jquery-ui.min.css | 7 + .../themes/trontastic/jquery.ui.theme.css | 410 + .../ui-darkness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 272 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 282 bytes .../images/ui-bg_glass_20_555555_1x400.png | Bin 0 -> 312 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 0 -> 394 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 368 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 0 -> 3891 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 332 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 0 -> 327 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 0 -> 392 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 7038 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/ui-darkness/jquery-ui.css | 1178 ++ .../themes/ui-darkness/jquery-ui.min.css | 7 + .../themes/ui-darkness/jquery.ui.theme.css | 410 + .../ui-lightness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 470 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 366 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 257 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 315 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 400 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 259 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 5867 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 380 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6837 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4601 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6351 bytes .../themes/ui-lightness/jquery-ui.css | 1178 ++ .../themes/ui-lightness/jquery-ui.min.css | 7 + .../themes/ui-lightness/jquery.ui.theme.css | 410 + .../themes/vader/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 264 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 384 bytes .../ui-bg_gloss-wave_16_121212_500x100.png | Bin 0 -> 3833 bytes .../ui-bg_highlight-hard_15_888888_1x100.png | Bin 0 -> 301 bytes .../ui-bg_highlight-hard_55_555555_1x100.png | Bin 0 -> 303 bytes .../ui-bg_highlight-soft_35_adadad_1x100.png | Bin 0 -> 330 bytes .../ui-bg_highlight-soft_60_dddddd_1x100.png | Bin 0 -> 333 bytes .../ui-bg_inset-soft_15_121212_1x100.png | Bin 0 -> 327 bytes .../vader/images/ui-icons_666666_256x240.png | Bin 0 -> 6974 bytes .../vader/images/ui-icons_aaaaaa_256x240.png | Bin 0 -> 7039 bytes .../vader/images/ui-icons_bbbbbb_256x240.png | Bin 0 -> 7058 bytes .../vader/images/ui-icons_c98000_256x240.png | Bin 0 -> 4601 bytes .../vader/images/ui-icons_cccccc_256x240.png | Bin 0 -> 7038 bytes .../vader/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4601 bytes .../vader/images/ui-icons_f29a00_256x240.png | Bin 0 -> 4601 bytes lib/jquery-ui/themes/vader/jquery-ui.css | 1178 ++ lib/jquery-ui/themes/vader/jquery-ui.min.css | 7 + .../themes/vader/jquery.ui.theme.css | 410 + lib/jquery-ui/ui/.jshintrc | 22 + lib/jquery-ui/ui/i18n/jquery-ui-i18n.js | 1645 ++ .../ui/i18n/jquery.ui.datepicker-af.js | 23 + .../ui/i18n/jquery.ui.datepicker-ar-DZ.js | 23 + .../ui/i18n/jquery.ui.datepicker-ar.js | 23 + .../ui/i18n/jquery.ui.datepicker-az.js | 23 + .../ui/i18n/jquery.ui.datepicker-be.js | 23 + .../ui/i18n/jquery.ui.datepicker-bg.js | 24 + .../ui/i18n/jquery.ui.datepicker-bs.js | 23 + .../ui/i18n/jquery.ui.datepicker-ca.js | 23 + .../ui/i18n/jquery.ui.datepicker-cs.js | 23 + .../ui/i18n/jquery.ui.datepicker-cy-GB.js | 23 + .../ui/i18n/jquery.ui.datepicker-da.js | 23 + .../ui/i18n/jquery.ui.datepicker-de.js | 23 + .../ui/i18n/jquery.ui.datepicker-el.js | 23 + .../ui/i18n/jquery.ui.datepicker-en-AU.js | 23 + .../ui/i18n/jquery.ui.datepicker-en-GB.js | 23 + .../ui/i18n/jquery.ui.datepicker-en-NZ.js | 23 + .../ui/i18n/jquery.ui.datepicker-eo.js | 23 + .../ui/i18n/jquery.ui.datepicker-es.js | 23 + .../ui/i18n/jquery.ui.datepicker-et.js | 23 + .../ui/i18n/jquery.ui.datepicker-eu.js | 23 + .../ui/i18n/jquery.ui.datepicker-fa.js | 59 + .../ui/i18n/jquery.ui.datepicker-fi.js | 23 + .../ui/i18n/jquery.ui.datepicker-fo.js | 23 + .../ui/i18n/jquery.ui.datepicker-fr-CA.js | 23 + .../ui/i18n/jquery.ui.datepicker-fr-CH.js | 23 + .../ui/i18n/jquery.ui.datepicker-fr.js | 25 + .../ui/i18n/jquery.ui.datepicker-gl.js | 23 + .../ui/i18n/jquery.ui.datepicker-he.js | 23 + .../ui/i18n/jquery.ui.datepicker-hi.js | 23 + .../ui/i18n/jquery.ui.datepicker-hr.js | 23 + .../ui/i18n/jquery.ui.datepicker-hu.js | 23 + .../ui/i18n/jquery.ui.datepicker-hy.js | 23 + .../ui/i18n/jquery.ui.datepicker-id.js | 23 + .../ui/i18n/jquery.ui.datepicker-is.js | 23 + .../ui/i18n/jquery.ui.datepicker-it.js | 23 + .../ui/i18n/jquery.ui.datepicker-ja.js | 23 + .../ui/i18n/jquery.ui.datepicker-ka.js | 21 + .../ui/i18n/jquery.ui.datepicker-kk.js | 23 + .../ui/i18n/jquery.ui.datepicker-km.js | 23 + .../ui/i18n/jquery.ui.datepicker-ko.js | 23 + .../ui/i18n/jquery.ui.datepicker-ky.js | 24 + .../ui/i18n/jquery.ui.datepicker-lb.js | 23 + .../ui/i18n/jquery.ui.datepicker-lt.js | 23 + .../ui/i18n/jquery.ui.datepicker-lv.js | 23 + .../ui/i18n/jquery.ui.datepicker-mk.js | 23 + .../ui/i18n/jquery.ui.datepicker-ml.js | 23 + .../ui/i18n/jquery.ui.datepicker-ms.js | 23 + .../ui/i18n/jquery.ui.datepicker-nb.js | 22 + .../ui/i18n/jquery.ui.datepicker-nl-BE.js | 23 + .../ui/i18n/jquery.ui.datepicker-nl.js | 23 + .../ui/i18n/jquery.ui.datepicker-nn.js | 22 + .../ui/i18n/jquery.ui.datepicker-no.js | 23 + .../ui/i18n/jquery.ui.datepicker-pl.js | 23 + .../ui/i18n/jquery.ui.datepicker-pt-BR.js | 23 + .../ui/i18n/jquery.ui.datepicker-pt.js | 22 + .../ui/i18n/jquery.ui.datepicker-rm.js | 21 + .../ui/i18n/jquery.ui.datepicker-ro.js | 26 + .../ui/i18n/jquery.ui.datepicker-ru.js | 23 + .../ui/i18n/jquery.ui.datepicker-sk.js | 23 + .../ui/i18n/jquery.ui.datepicker-sl.js | 24 + .../ui/i18n/jquery.ui.datepicker-sq.js | 23 + .../ui/i18n/jquery.ui.datepicker-sr-SR.js | 23 + .../ui/i18n/jquery.ui.datepicker-sr.js | 23 + .../ui/i18n/jquery.ui.datepicker-sv.js | 23 + .../ui/i18n/jquery.ui.datepicker-ta.js | 23 + .../ui/i18n/jquery.ui.datepicker-th.js | 23 + .../ui/i18n/jquery.ui.datepicker-tj.js | 23 + .../ui/i18n/jquery.ui.datepicker-tr.js | 23 + .../ui/i18n/jquery.ui.datepicker-uk.js | 24 + .../ui/i18n/jquery.ui.datepicker-vi.js | 23 + .../ui/i18n/jquery.ui.datepicker-zh-CN.js | 23 + .../ui/i18n/jquery.ui.datepicker-zh-HK.js | 23 + .../ui/i18n/jquery.ui.datepicker-zh-TW.js | 23 + lib/jquery-ui/ui/jquery-ui.custom.js | 15008 +++++++++++++++ lib/jquery-ui/ui/jquery-ui.js | 15008 +++++++++++++++ lib/jquery-ui/ui/jquery.ui.accordion.js | 570 + lib/jquery-ui/ui/jquery.ui.autocomplete.js | 606 + lib/jquery-ui/ui/jquery.ui.button.js | 395 + lib/jquery-ui/ui/jquery.ui.core.js | 320 + lib/jquery-ui/ui/jquery.ui.datepicker.js | 2038 ++ lib/jquery-ui/ui/jquery.ui.dialog.js | 823 + lib/jquery-ui/ui/jquery.ui.draggable.js | 958 + lib/jquery-ui/ui/jquery.ui.droppable.js | 389 + lib/jquery-ui/ui/jquery.ui.effect-blind.js | 82 + lib/jquery-ui/ui/jquery.ui.effect-bounce.js | 113 + lib/jquery-ui/ui/jquery.ui.effect-clip.js | 67 + lib/jquery-ui/ui/jquery.ui.effect-drop.js | 65 + lib/jquery-ui/ui/jquery.ui.effect-explode.js | 97 + lib/jquery-ui/ui/jquery.ui.effect-fade.js | 30 + lib/jquery-ui/ui/jquery.ui.effect-fold.js | 76 + .../ui/jquery.ui.effect-highlight.js | 50 + lib/jquery-ui/ui/jquery.ui.effect-pulsate.js | 63 + lib/jquery-ui/ui/jquery.ui.effect-scale.js | 318 + lib/jquery-ui/ui/jquery.ui.effect-shake.js | 74 + lib/jquery-ui/ui/jquery.ui.effect-slide.js | 64 + lib/jquery-ui/ui/jquery.ui.effect-transfer.js | 47 + lib/jquery-ui/ui/jquery.ui.effect.js | 1289 ++ lib/jquery-ui/ui/jquery.ui.menu.js | 627 + lib/jquery-ui/ui/jquery.ui.mouse.js | 169 + lib/jquery-ui/ui/jquery.ui.position.js | 501 + lib/jquery-ui/ui/jquery.ui.progressbar.js | 145 + lib/jquery-ui/ui/jquery.ui.resizable.js | 978 + lib/jquery-ui/ui/jquery.ui.selectable.js | 277 + lib/jquery-ui/ui/jquery.ui.slider.js | 676 + lib/jquery-ui/ui/jquery.ui.sortable.js | 1289 ++ lib/jquery-ui/ui/jquery.ui.spinner.js | 497 + lib/jquery-ui/ui/jquery.ui.tabs.js | 849 + lib/jquery-ui/ui/jquery.ui.tooltip.js | 402 + lib/jquery-ui/ui/jquery.ui.widget.js | 521 + .../ui/minified/i18n/jquery-ui-i18n.min.js | 7 + .../i18n/jquery.ui.datepicker-af.min.js | 5 + .../i18n/jquery.ui.datepicker-ar-DZ.min.js | 5 + .../i18n/jquery.ui.datepicker-ar.min.js | 5 + .../i18n/jquery.ui.datepicker-az.min.js | 5 + .../i18n/jquery.ui.datepicker-be.min.js | 5 + .../i18n/jquery.ui.datepicker-bg.min.js | 5 + .../i18n/jquery.ui.datepicker-bs.min.js | 5 + .../i18n/jquery.ui.datepicker-ca.min.js | 5 + .../i18n/jquery.ui.datepicker-cs.min.js | 5 + .../i18n/jquery.ui.datepicker-cy-GB.min.js | 5 + .../i18n/jquery.ui.datepicker-da.min.js | 5 + .../i18n/jquery.ui.datepicker-de.min.js | 5 + .../i18n/jquery.ui.datepicker-el.min.js | 5 + .../i18n/jquery.ui.datepicker-en-AU.min.js | 5 + .../i18n/jquery.ui.datepicker-en-GB.min.js | 5 + .../i18n/jquery.ui.datepicker-en-NZ.min.js | 5 + .../i18n/jquery.ui.datepicker-eo.min.js | 5 + .../i18n/jquery.ui.datepicker-es.min.js | 5 + .../i18n/jquery.ui.datepicker-et.min.js | 5 + .../i18n/jquery.ui.datepicker-eu.min.js | 5 + .../i18n/jquery.ui.datepicker-fa.min.js | 5 + .../i18n/jquery.ui.datepicker-fi.min.js | 5 + .../i18n/jquery.ui.datepicker-fo.min.js | 5 + .../i18n/jquery.ui.datepicker-fr-CA.min.js | 5 + .../i18n/jquery.ui.datepicker-fr-CH.min.js | 5 + .../i18n/jquery.ui.datepicker-fr.min.js | 5 + .../i18n/jquery.ui.datepicker-gl.min.js | 5 + .../i18n/jquery.ui.datepicker-he.min.js | 5 + .../i18n/jquery.ui.datepicker-hi.min.js | 5 + .../i18n/jquery.ui.datepicker-hr.min.js | 5 + .../i18n/jquery.ui.datepicker-hu.min.js | 5 + .../i18n/jquery.ui.datepicker-hy.min.js | 5 + .../i18n/jquery.ui.datepicker-id.min.js | 5 + .../i18n/jquery.ui.datepicker-is.min.js | 5 + .../i18n/jquery.ui.datepicker-it.min.js | 5 + .../i18n/jquery.ui.datepicker-ja.min.js | 5 + .../i18n/jquery.ui.datepicker-ka.min.js | 5 + .../i18n/jquery.ui.datepicker-kk.min.js | 5 + .../i18n/jquery.ui.datepicker-km.min.js | 5 + .../i18n/jquery.ui.datepicker-ko.min.js | 5 + .../i18n/jquery.ui.datepicker-ky.min.js | 5 + .../i18n/jquery.ui.datepicker-lb.min.js | 5 + .../i18n/jquery.ui.datepicker-lt.min.js | 5 + .../i18n/jquery.ui.datepicker-lv.min.js | 5 + .../i18n/jquery.ui.datepicker-mk.min.js | 5 + .../i18n/jquery.ui.datepicker-ml.min.js | 5 + .../i18n/jquery.ui.datepicker-ms.min.js | 5 + .../i18n/jquery.ui.datepicker-nb.min.js | 5 + .../i18n/jquery.ui.datepicker-nl-BE.min.js | 5 + .../i18n/jquery.ui.datepicker-nl.min.js | 5 + .../i18n/jquery.ui.datepicker-nn.min.js | 5 + .../i18n/jquery.ui.datepicker-no.min.js | 5 + .../i18n/jquery.ui.datepicker-pl.min.js | 5 + .../i18n/jquery.ui.datepicker-pt-BR.min.js | 5 + .../i18n/jquery.ui.datepicker-pt.min.js | 5 + .../i18n/jquery.ui.datepicker-rm.min.js | 5 + .../i18n/jquery.ui.datepicker-ro.min.js | 5 + .../i18n/jquery.ui.datepicker-ru.min.js | 5 + .../i18n/jquery.ui.datepicker-sk.min.js | 5 + .../i18n/jquery.ui.datepicker-sl.min.js | 5 + .../i18n/jquery.ui.datepicker-sq.min.js | 5 + .../i18n/jquery.ui.datepicker-sr-SR.min.js | 5 + .../i18n/jquery.ui.datepicker-sr.min.js | 5 + .../i18n/jquery.ui.datepicker-sv.min.js | 5 + .../i18n/jquery.ui.datepicker-ta.min.js | 5 + .../i18n/jquery.ui.datepicker-th.min.js | 5 + .../i18n/jquery.ui.datepicker-tj.min.js | 5 + .../i18n/jquery.ui.datepicker-tr.min.js | 5 + .../i18n/jquery.ui.datepicker-uk.min.js | 5 + .../i18n/jquery.ui.datepicker-vi.min.js | 5 + .../i18n/jquery.ui.datepicker-zh-CN.min.js | 5 + .../i18n/jquery.ui.datepicker-zh-HK.min.js | 5 + .../i18n/jquery.ui.datepicker-zh-TW.min.js | 5 + .../ui/minified/jquery-ui.custom.min.js | 7 + lib/jquery-ui/ui/minified/jquery-ui.min.js | 7 + .../ui/minified/jquery.ui.accordion.min.js | 5 + .../ui/minified/jquery.ui.autocomplete.min.js | 5 + .../ui/minified/jquery.ui.button.min.js | 5 + .../ui/minified/jquery.ui.core.min.js | 5 + .../ui/minified/jquery.ui.datepicker.min.js | 6 + .../ui/minified/jquery.ui.dialog.min.js | 5 + .../ui/minified/jquery.ui.draggable.min.js | 5 + .../ui/minified/jquery.ui.droppable.min.js | 5 + .../ui/minified/jquery.ui.effect-blind.min.js | 5 + .../minified/jquery.ui.effect-bounce.min.js | 5 + .../ui/minified/jquery.ui.effect-clip.min.js | 5 + .../ui/minified/jquery.ui.effect-drop.min.js | 5 + .../minified/jquery.ui.effect-explode.min.js | 5 + .../ui/minified/jquery.ui.effect-fade.min.js | 5 + .../ui/minified/jquery.ui.effect-fold.min.js | 5 + .../jquery.ui.effect-highlight.min.js | 5 + .../minified/jquery.ui.effect-pulsate.min.js | 5 + .../ui/minified/jquery.ui.effect-scale.min.js | 5 + .../ui/minified/jquery.ui.effect-shake.min.js | 5 + .../ui/minified/jquery.ui.effect-slide.min.js | 5 + .../minified/jquery.ui.effect-transfer.min.js | 5 + .../ui/minified/jquery.ui.effect.min.js | 5 + .../ui/minified/jquery.ui.menu.min.js | 5 + .../ui/minified/jquery.ui.mouse.min.js | 5 + .../ui/minified/jquery.ui.position.min.js | 5 + .../ui/minified/jquery.ui.progressbar.min.js | 5 + .../ui/minified/jquery.ui.resizable.min.js | 5 + .../ui/minified/jquery.ui.selectable.min.js | 5 + .../ui/minified/jquery.ui.slider.min.js | 5 + .../ui/minified/jquery.ui.sortable.min.js | 5 + .../ui/minified/jquery.ui.spinner.min.js | 5 + .../ui/minified/jquery.ui.tabs.min.js | 5 + .../ui/minified/jquery.ui.tooltip.min.js | 5 + .../ui/minified/jquery.ui.widget.min.js | 5 + lib/jquery/.bower.json | 37 + lib/jquery/MIT-LICENSE.txt | 21 + lib/jquery/bower.json | 27 + lib/jquery/src/ajax.js | 806 + lib/jquery/src/ajax/jsonp.js | 89 + lib/jquery/src/ajax/load.js | 75 + lib/jquery/src/ajax/parseJSON.js | 13 + lib/jquery/src/ajax/parseXML.js | 28 + lib/jquery/src/ajax/script.js | 64 + lib/jquery/src/ajax/var/nonce.js | 5 + lib/jquery/src/ajax/var/rquery.js | 3 + lib/jquery/src/ajax/xhr.js | 135 + lib/jquery/src/attributes.js | 11 + lib/jquery/src/attributes/attr.js | 143 + lib/jquery/src/attributes/classes.js | 158 + lib/jquery/src/attributes/prop.js | 96 + lib/jquery/src/attributes/support.js | 35 + lib/jquery/src/attributes/val.js | 163 + lib/jquery/src/callbacks.js | 205 + lib/jquery/src/core.js | 498 + lib/jquery/src/core/access.js | 60 + lib/jquery/src/core/init.js | 123 + lib/jquery/src/core/parseHTML.js | 39 + lib/jquery/src/core/ready.js | 97 + lib/jquery/src/core/var/rsingleTag.js | 4 + lib/jquery/src/css.js | 451 + lib/jquery/src/css/addGetHookIf.js | 24 + lib/jquery/src/css/curCSS.js | 57 + lib/jquery/src/css/defaultDisplay.js | 70 + lib/jquery/src/css/hiddenVisibleSelectors.js | 15 + lib/jquery/src/css/support.js | 91 + lib/jquery/src/css/swap.js | 28 + lib/jquery/src/css/var/cssExpand.js | 3 + lib/jquery/src/css/var/getStyles.js | 5 + lib/jquery/src/css/var/isHidden.js | 13 + lib/jquery/src/css/var/rmargin.js | 3 + lib/jquery/src/css/var/rnumnonpx.js | 5 + lib/jquery/src/data.js | 179 + lib/jquery/src/data/Data.js | 181 + lib/jquery/src/data/accepts.js | 20 + lib/jquery/src/data/var/data_priv.js | 5 + lib/jquery/src/data/var/data_user.js | 5 + lib/jquery/src/deferred.js | 149 + lib/jquery/src/deprecated.js | 13 + lib/jquery/src/dimensions.js | 50 + lib/jquery/src/effects.js | 649 + lib/jquery/src/effects/Tween.js | 114 + lib/jquery/src/effects/animatedSelector.js | 13 + lib/jquery/src/event.js | 868 + lib/jquery/src/event/alias.js | 39 + lib/jquery/src/event/support.js | 9 + lib/jquery/src/exports/amd.js | 24 + lib/jquery/src/exports/global.js | 32 + lib/jquery/src/intro.js | 44 + lib/jquery/src/jquery.js | 36 + lib/jquery/src/manipulation.js | 582 + lib/jquery/src/manipulation/_evalUrl.js | 18 + lib/jquery/src/manipulation/support.js | 31 + .../src/manipulation/var/rcheckableType.js | 3 + lib/jquery/src/offset.js | 204 + lib/jquery/src/outro.js | 1 + lib/jquery/src/queue.js | 142 + lib/jquery/src/queue/delay.js | 22 + lib/jquery/src/selector-native.js | 172 + lib/jquery/src/selector-sizzle.js | 14 + lib/jquery/src/selector.js | 1 + lib/jquery/src/serialize.js | 111 + lib/jquery/src/traversing.js | 200 + lib/jquery/src/traversing/findFilter.js | 100 + .../src/traversing/var/rneedsContext.js | 6 + lib/jquery/src/var/arr.js | 3 + lib/jquery/src/var/class2type.js | 4 + lib/jquery/src/var/concat.js | 5 + lib/jquery/src/var/hasOwn.js | 5 + lib/jquery/src/var/indexOf.js | 5 + lib/jquery/src/var/pnum.js | 3 + lib/jquery/src/var/push.js | 5 + lib/jquery/src/var/rnotwhite.js | 3 + lib/jquery/src/var/slice.js | 5 + lib/jquery/src/var/strundefined.js | 3 + lib/jquery/src/var/support.js | 4 + lib/jquery/src/var/toString.js | 5 + lib/jquery/src/wrap.js | 78 + lib/moment-timezone/.bower.json | 30 + lib/moment-timezone/README.md | 51 + lib/moment-timezone/bower.json | 20 + lib/moment-timezone/index.js | 2 + .../min/moment-timezone.min.js | 1 + lib/moment-timezone/moment-timezone.js | 540 + lib/moment-timezone/moment-timezone.json | 7564 ++++++++ lib/moment/.bower.json | 30 + lib/moment/CHANGELOG.md | 362 + lib/moment/LICENSE | 22 + lib/moment/README.md | 39 + lib/moment/benchmarks/clone.js | 10 + lib/moment/bower.json | 20 + lib/moment/locale/af.js | 65 + lib/moment/locale/ar-ma.js | 56 + lib/moment/locale/ar-sa.js | 96 + lib/moment/locale/ar.js | 97 + lib/moment/locale/az.js | 101 + lib/moment/locale/be.js | 150 + lib/moment/locale/bg.js | 86 + lib/moment/locale/bn.js | 106 + lib/moment/locale/bo.js | 103 + lib/moment/locale/br.js | 107 + lib/moment/locale/bs.js | 138 + lib/moment/locale/ca.js | 66 + lib/moment/locale/cs.js | 155 + lib/moment/locale/cv.js | 59 + lib/moment/locale/cy.js | 77 + lib/moment/locale/da.js | 56 + lib/moment/locale/de-at.js | 72 + lib/moment/locale/de.js | 71 + lib/moment/locale/el.js | 90 + lib/moment/locale/en-au.js | 62 + lib/moment/locale/en-ca.js | 59 + lib/moment/locale/en-gb.js | 63 + lib/moment/locale/eo.js | 65 + lib/moment/locale/es.js | 75 + lib/moment/locale/et.js | 76 + lib/moment/locale/eu.js | 60 + lib/moment/locale/fa.js | 97 + lib/moment/locale/fi.js | 105 + lib/moment/locale/fo.js | 56 + lib/moment/locale/fr-ca.js | 54 + lib/moment/locale/fr.js | 58 + lib/moment/locale/gl.js | 71 + lib/moment/locale/he.js | 77 + lib/moment/locale/hi.js | 105 + lib/moment/locale/hr.js | 139 + lib/moment/locale/hu.js | 105 + lib/moment/locale/hy-am.js | 112 + lib/moment/locale/id.js | 67 + lib/moment/locale/is.js | 124 + lib/moment/locale/it.js | 59 + lib/moment/locale/ja.js | 58 + lib/moment/locale/ka.js | 107 + lib/moment/locale/km.js | 55 + lib/moment/locale/ko.js | 63 + lib/moment/locale/lb.js | 137 + lib/moment/locale/lt.js | 118 + lib/moment/locale/lv.js | 77 + lib/moment/locale/mk.js | 86 + lib/moment/locale/ml.js | 64 + lib/moment/locale/mr.js | 104 + lib/moment/locale/ms-my.js | 66 + lib/moment/locale/my.js | 88 + lib/moment/locale/nb.js | 57 + lib/moment/locale/ne.js | 105 + lib/moment/locale/nl.js | 67 + lib/moment/locale/nn.js | 56 + lib/moment/locale/pl.js | 98 + lib/moment/locale/pt-br.js | 56 + lib/moment/locale/pt.js | 60 + lib/moment/locale/ro.js | 72 + lib/moment/locale/ru.js | 166 + lib/moment/locale/sk.js | 156 + lib/moment/locale/sl.js | 144 + lib/moment/locale/sq.js | 61 + lib/moment/locale/sr-cyrl.js | 105 + lib/moment/locale/sr.js | 105 + lib/moment/locale/sv.js | 63 + lib/moment/locale/ta.js | 112 + lib/moment/locale/th.js | 58 + lib/moment/locale/tl-ph.js | 58 + lib/moment/locale/tr.js | 92 + lib/moment/locale/tzm-latn.js | 55 + lib/moment/locale/tzm.js | 55 + lib/moment/locale/uk.js | 157 + lib/moment/locale/uz.js | 55 + lib/moment/locale/vi.js | 62 + lib/moment/locale/zh-cn.js | 108 + lib/moment/locale/zh-tw.js | 84 + lib/moment/min/locales.js | 6807 +++++++ lib/moment/min/locales.min.js | 4 + lib/moment/min/moment-with-locales.js | 9072 +++++++++ lib/moment/min/moment-with-locales.min.js | 10 + lib/moment/min/moment.min.js | 6 + lib/moment/moment.js | 2808 +++ 1172 files changed, 204153 insertions(+), 8605 deletions(-) create mode 100644 build/temp/archive/changelog.txt create mode 100644 build/temp/archive/demos/agenda-views.html create mode 100644 build/temp/archive/demos/basic-views.html create mode 100644 build/temp/archive/demos/default.html create mode 100644 build/temp/archive/demos/external-dragging.html create mode 100644 build/temp/archive/demos/gcal.html create mode 100644 build/temp/archive/demos/json.html create mode 100644 build/temp/archive/demos/json/events.json create mode 100644 build/temp/archive/demos/languages.html create mode 100644 build/temp/archive/demos/php/get-events.php create mode 100644 build/temp/archive/demos/php/get-timezones.php create mode 100644 build/temp/archive/demos/php/utils.php create mode 100644 build/temp/archive/demos/resource-views.html create mode 100644 build/temp/archive/demos/selectable.html create mode 100644 build/temp/archive/demos/theme.html create mode 100644 build/temp/archive/demos/timezones.html create mode 100644 build/temp/archive/fullcalendar.css create mode 100644 build/temp/archive/fullcalendar.js create mode 100644 build/temp/archive/fullcalendar.min.js create mode 100644 build/temp/archive/fullcalendar.print.css create mode 100644 build/temp/archive/gcal.js create mode 100644 build/temp/archive/lang-all.js create mode 100644 build/temp/archive/lib/cupertino/images/animated-overlay.gif create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_glass_50_3baae3_1x400.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-icons_2694e8_256x240.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-icons_2e83ff_256x240.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-icons_3d80b3_256x240.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-icons_72a7cf_256x240.png create mode 100644 build/temp/archive/lib/cupertino/images/ui-icons_ffffff_256x240.png create mode 100644 build/temp/archive/lib/cupertino/jquery-ui.min.css create mode 100644 build/temp/archive/lib/jquery-ui.custom.min.js create mode 100644 build/temp/archive/lib/jquery.min.js create mode 100644 build/temp/archive/lib/moment.min.js create mode 100644 build/temp/archive/license.txt create mode 100644 build/temp/lang-all.js create mode 100644 lib/jasmine-fixture/.bower.json create mode 100644 lib/jasmine-fixture/.gitignore create mode 100644 lib/jasmine-fixture/.npmignore create mode 100644 lib/jasmine-fixture/LICENSE.txt create mode 100644 lib/jasmine-fixture/README.md create mode 100644 lib/jasmine-fixture/bower.json create mode 100644 lib/jasmine-fixture/spec-e2e/basic-usage-spec.coffee create mode 100644 lib/jasmine-fixture/spec-e2e/helpers/invariants.coffee create mode 100644 lib/jasmine-fixture/spec-e2e/helpers/spec-within-a-spec.coffee create mode 100644 lib/jasmine-fixture/spec-e2e/helpers/tmp-files.coffee create mode 100644 lib/jasmine-fixture/spec-e2e/support/jasmine1-testem-config.json create mode 100644 lib/jasmine-fixture/spec-e2e/support/jasmine2-testem-config.json create mode 100644 lib/jasmine-fixture/vendor/js/jquery-1.11.0.js create mode 100644 lib/jasmine-fixture/vendor/js/jquery-1.8.3.js create mode 100644 lib/jasmine-fixture/vendor/js/jquery-2.1.0.js create mode 100644 lib/jasmine-jquery/.bower.json create mode 100644 lib/jasmine-jquery/CONTRIBUTING.md create mode 100644 lib/jasmine-jquery/Gruntfile.js create mode 100644 lib/jasmine-jquery/MIT.LICENSE create mode 100644 lib/jasmine-jquery/README.md create mode 100644 lib/jasmine-jquery/bower.json create mode 100644 lib/jasmine-jquery/lib/jasmine-jquery.js create mode 100644 lib/jasmine-jquery/package.json create mode 100644 lib/jasmine-jquery/spec/fixtures/fixture_with_javascript.html create mode 100644 lib/jasmine-jquery/spec/fixtures/fixture_with_javascript_block.html create mode 100644 lib/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_click.js create mode 100644 lib/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_hover.js create mode 100644 lib/jasmine-jquery/spec/fixtures/json/jasmine_json_test.json create mode 100644 lib/jasmine-jquery/spec/fixtures/real_non_mocked_fixture.html create mode 100644 lib/jasmine-jquery/spec/fixtures/real_non_mocked_fixture_style.css create mode 100644 lib/jasmine-jquery/spec/suites/jasmine-jquery-spec.js create mode 100644 lib/jasmine/.bower.json create mode 100644 lib/jasmine/.gitignore create mode 100644 lib/jasmine/.gitmodules create mode 100644 lib/jasmine/.jshintrc create mode 100644 lib/jasmine/.npmignore create mode 100644 lib/jasmine/.rspec create mode 100644 lib/jasmine/.travis.yml create mode 100644 lib/jasmine/CONTRIBUTING.md create mode 100644 lib/jasmine/GOALS_2.0.md create mode 100644 lib/jasmine/Gemfile create mode 100644 lib/jasmine/Gruntfile.js create mode 100644 lib/jasmine/MANIFEST.in create mode 100644 lib/jasmine/MIT.LICENSE create mode 100644 lib/jasmine/README.md create mode 100644 lib/jasmine/RELEASE.md create mode 100644 lib/jasmine/Rakefile create mode 100644 lib/jasmine/grunt/config/compass.js create mode 100644 lib/jasmine/grunt/config/compress.js create mode 100644 lib/jasmine/grunt/config/concat.js create mode 100644 lib/jasmine/grunt/config/jshint.js create mode 100644 lib/jasmine/grunt/tasks/build_standalone.js create mode 100644 lib/jasmine/grunt/tasks/version.js create mode 100644 lib/jasmine/grunt/templates/SpecRunner.html.jst create mode 100644 lib/jasmine/grunt/templates/licenseBanner.js.jst create mode 100644 lib/jasmine/grunt/templates/version.rb.jst create mode 100644 lib/jasmine/images/__init__.py create mode 100644 lib/jasmine/images/jasmine-horizontal.png create mode 100644 lib/jasmine/images/jasmine-horizontal.svg create mode 100644 lib/jasmine/images/jasmine_favicon.png create mode 100644 lib/jasmine/jasmine-core.gemspec create mode 100644 lib/jasmine/lib/console/console.js create mode 100644 lib/jasmine/lib/jasmine-core.js create mode 100644 lib/jasmine/lib/jasmine-core.rb create mode 100644 lib/jasmine/lib/jasmine-core/__init__.py create mode 100644 lib/jasmine/lib/jasmine-core/boot.js create mode 100644 lib/jasmine/lib/jasmine-core/boot/boot.js create mode 100644 lib/jasmine/lib/jasmine-core/boot/node_boot.js create mode 100644 lib/jasmine/lib/jasmine-core/core.py create mode 100644 lib/jasmine/lib/jasmine-core/example/node_example/spec/PlayerSpec.js create mode 100644 lib/jasmine/lib/jasmine-core/example/node_example/spec/SpecHelper.js create mode 100644 lib/jasmine/lib/jasmine-core/example/node_example/src/Player.js create mode 100644 lib/jasmine/lib/jasmine-core/example/node_example/src/Song.js create mode 100644 lib/jasmine/lib/jasmine-core/example/spec/PlayerSpec.js create mode 100644 lib/jasmine/lib/jasmine-core/example/spec/SpecHelper.js create mode 100644 lib/jasmine/lib/jasmine-core/example/src/Player.js create mode 100644 lib/jasmine/lib/jasmine-core/example/src/Song.js create mode 100644 lib/jasmine/lib/jasmine-core/jasmine-html.js create mode 100644 lib/jasmine/lib/jasmine-core/jasmine.css create mode 100644 lib/jasmine/lib/jasmine-core/jasmine.js create mode 100644 lib/jasmine/lib/jasmine-core/json2.js create mode 100644 lib/jasmine/lib/jasmine-core/node_boot.js create mode 100644 lib/jasmine/lib/jasmine-core/version.rb create mode 100644 lib/jasmine/package.json create mode 100644 lib/jasmine/release_notes/2.0.1.md create mode 100644 lib/jasmine/release_notes/20.md create mode 100644 lib/jasmine/requirements.txt create mode 100644 lib/jasmine/setup.py create mode 100644 lib/jasmine/spec/console/ConsoleReporterSpec.js create mode 100644 lib/jasmine/spec/core/AnySpec.js create mode 100644 lib/jasmine/spec/core/CallTrackerSpec.js create mode 100644 lib/jasmine/spec/core/ClockSpec.js create mode 100644 lib/jasmine/spec/core/DelayedFunctionSchedulerSpec.js create mode 100644 lib/jasmine/spec/core/EnvSpec.js create mode 100644 lib/jasmine/spec/core/ExceptionFormatterSpec.js create mode 100644 lib/jasmine/spec/core/ExceptionsSpec.js create mode 100644 lib/jasmine/spec/core/ExpectationResultSpec.js create mode 100644 lib/jasmine/spec/core/ExpectationSpec.js create mode 100644 lib/jasmine/spec/core/JsApiReporterSpec.js create mode 100644 lib/jasmine/spec/core/MockDateSpec.js create mode 100644 lib/jasmine/spec/core/ObjectContainingSpec.js create mode 100644 lib/jasmine/spec/core/PrettyPrintSpec.js create mode 100644 lib/jasmine/spec/core/QueueRunnerSpec.js create mode 100644 lib/jasmine/spec/core/ReportDispatcherSpec.js create mode 100644 lib/jasmine/spec/core/SpecSpec.js create mode 100644 lib/jasmine/spec/core/SpySpec.js create mode 100644 lib/jasmine/spec/core/SpyStrategySpec.js create mode 100644 lib/jasmine/spec/core/SuiteSpec.js create mode 100644 lib/jasmine/spec/core/TimerSpec.js create mode 100644 lib/jasmine/spec/core/UtilSpec.js create mode 100644 lib/jasmine/spec/core/integration/CustomMatchersSpec.js create mode 100644 lib/jasmine/spec/core/integration/EnvSpec.js create mode 100644 lib/jasmine/spec/core/integration/SpecRunningSpec.js create mode 100644 lib/jasmine/spec/core/matchers/matchersUtilSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeCloseToSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeDefinedSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeFalsySpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeGreaterThanSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeLessThanSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeNaNSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeNullSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeTruthySpec.js create mode 100644 lib/jasmine/spec/core/matchers/toBeUndefinedSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toContainSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toEqualSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toHaveBeenCalledSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toHaveBeenCalledWithSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toMatchSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toThrowErrorSpec.js create mode 100644 lib/jasmine/spec/core/matchers/toThrowSpec.js create mode 100644 lib/jasmine/spec/helpers/BrowserFlags.js create mode 100644 lib/jasmine/spec/helpers/defineJasmineUnderTest.js create mode 100644 lib/jasmine/spec/helpers/nodeDefineJasmineUnderTest.js create mode 100644 lib/jasmine/spec/html/HtmlReporterSpec.js create mode 100644 lib/jasmine/spec/html/HtmlSpecFilterSpec.js create mode 100644 lib/jasmine/spec/html/MatchersHtmlSpec.js create mode 100644 lib/jasmine/spec/html/PrettyPrintHtmlSpec.js create mode 100644 lib/jasmine/spec/html/QueryStringSpec.js create mode 100644 lib/jasmine/spec/html/ResultsNodeSpec.js create mode 100644 lib/jasmine/spec/javascripts/support/jasmine_selenium_runner.yml create mode 100644 lib/jasmine/spec/performance/large_object_test.js create mode 100644 lib/jasmine/spec/performance/performance_test.js create mode 100644 lib/jasmine/spec/support/jasmine-performance.json create mode 100644 lib/jasmine/spec/support/jasmine-performance.yml create mode 100644 lib/jasmine/spec/support/jasmine.json create mode 100644 lib/jasmine/spec/support/jasmine.yml create mode 100644 lib/jasmine/src/console/ConsoleReporter.js create mode 100644 lib/jasmine/src/console/requireConsole.js create mode 100644 lib/jasmine/src/core/Any.js create mode 100644 lib/jasmine/src/core/CallTracker.js create mode 100644 lib/jasmine/src/core/Clock.js create mode 100644 lib/jasmine/src/core/DelayedFunctionScheduler.js create mode 100644 lib/jasmine/src/core/Env.js create mode 100644 lib/jasmine/src/core/ExceptionFormatter.js create mode 100644 lib/jasmine/src/core/Expectation.js create mode 100644 lib/jasmine/src/core/ExpectationResult.js create mode 100644 lib/jasmine/src/core/JsApiReporter.js create mode 100644 lib/jasmine/src/core/MockDate.js create mode 100644 lib/jasmine/src/core/ObjectContaining.js create mode 100644 lib/jasmine/src/core/PrettyPrinter.js create mode 100644 lib/jasmine/src/core/QueueRunner.js create mode 100644 lib/jasmine/src/core/ReportDispatcher.js create mode 100644 lib/jasmine/src/core/Spec.js create mode 100644 lib/jasmine/src/core/SpyStrategy.js create mode 100644 lib/jasmine/src/core/Suite.js create mode 100644 lib/jasmine/src/core/Timer.js create mode 100644 lib/jasmine/src/core/base.js create mode 100644 lib/jasmine/src/core/matchers/matchersUtil.js create mode 100644 lib/jasmine/src/core/matchers/requireMatchers.js create mode 100644 lib/jasmine/src/core/matchers/toBe.js create mode 100644 lib/jasmine/src/core/matchers/toBeCloseTo.js create mode 100644 lib/jasmine/src/core/matchers/toBeDefined.js create mode 100644 lib/jasmine/src/core/matchers/toBeFalsy.js create mode 100644 lib/jasmine/src/core/matchers/toBeGreaterThan.js create mode 100644 lib/jasmine/src/core/matchers/toBeLessThan.js create mode 100644 lib/jasmine/src/core/matchers/toBeNaN.js create mode 100644 lib/jasmine/src/core/matchers/toBeNull.js create mode 100644 lib/jasmine/src/core/matchers/toBeTruthy.js create mode 100644 lib/jasmine/src/core/matchers/toBeUndefined.js create mode 100644 lib/jasmine/src/core/matchers/toContain.js create mode 100644 lib/jasmine/src/core/matchers/toEqual.js create mode 100644 lib/jasmine/src/core/matchers/toHaveBeenCalled.js create mode 100644 lib/jasmine/src/core/matchers/toHaveBeenCalledWith.js create mode 100644 lib/jasmine/src/core/matchers/toMatch.js create mode 100644 lib/jasmine/src/core/matchers/toThrow.js create mode 100644 lib/jasmine/src/core/matchers/toThrowError.js create mode 100644 lib/jasmine/src/core/requireCore.js create mode 100644 lib/jasmine/src/core/util.js create mode 100644 lib/jasmine/src/html/HtmlReporter.js create mode 100644 lib/jasmine/src/html/HtmlSpecFilter.js create mode 100644 lib/jasmine/src/html/QueryString.js create mode 100644 lib/jasmine/src/html/ResultsNode.js create mode 100644 lib/jasmine/src/html/_HTMLReporter.scss create mode 100644 lib/jasmine/src/html/jasmine.scss create mode 100644 lib/jasmine/src/html/requireHtml.js create mode 100644 lib/jasmine/src/templates/example_project_jasmine_tags.html.erb create mode 100644 lib/jasmine/src/templates/version.js.erb create mode 100644 lib/jasmine/src/templates/version.rb.erb create mode 100644 lib/jasmine/src/version.js create mode 100644 lib/jasmine/travis-core-script.sh create mode 100644 lib/jasmine/travis-docs-script.sh create mode 100644 lib/jasmine/travis-node-script.sh create mode 100644 lib/jquery-mockjax/.bower.json create mode 100644 lib/jquery-mockjax/bower.json create mode 100644 lib/jquery-mockjax/jquery.mockjax.js create mode 100644 lib/jquery-simulate-ext/.bower.json create mode 100644 lib/jquery-simulate-ext/Gruntfile.js create mode 100644 lib/jquery-simulate-ext/MIT-LICENSE.txt create mode 100644 lib/jquery-simulate-ext/bower.json create mode 100644 lib/jquery-simulate-ext/libs/bililiteRange.js create mode 100644 lib/jquery-simulate-ext/libs/jquery.simulate.js create mode 100644 lib/jquery-simulate-ext/src/jquery.simulate.drag-n-drop.js create mode 100644 lib/jquery-simulate-ext/src/jquery.simulate.ext.js create mode 100644 lib/jquery-simulate-ext/src/jquery.simulate.key-combo.js create mode 100644 lib/jquery-simulate-ext/src/jquery.simulate.key-sequence.js create mode 100644 lib/jquery-ui/.bower.json create mode 100644 lib/jquery-ui/.gitignore create mode 100644 lib/jquery-ui/AUTHORS.txt create mode 100644 lib/jquery-ui/MIT-LICENSE.txt create mode 100644 lib/jquery-ui/README.md create mode 100644 lib/jquery-ui/bower.json create mode 100644 lib/jquery-ui/component.json create mode 100644 lib/jquery-ui/composer.json create mode 100644 lib/jquery-ui/package.json create mode 100644 lib/jquery-ui/themes/base/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 lib/jquery-ui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 lib/jquery-ui/themes/base/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/base/images/ui-icons_2e83ff_256x240.png create mode 100644 lib/jquery-ui/themes/base/images/ui-icons_454545_256x240.png create mode 100644 lib/jquery-ui/themes/base/images/ui-icons_888888_256x240.png create mode 100644 lib/jquery-ui/themes/base/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/base/jquery-ui.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.accordion.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.all.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.autocomplete.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.base.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.button.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.core.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.datepicker.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.dialog.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.menu.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.progressbar.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.resizable.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.selectable.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.slider.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.spinner.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.tabs.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/base/jquery.ui.tooltip.css create mode 100644 lib/jquery-ui/themes/base/minified/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-icons_2e83ff_256x240.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-icons_454545_256x240.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-icons_888888_256x240.png create mode 100644 lib/jquery-ui/themes/base/minified/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/base/minified/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.accordion.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.autocomplete.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.button.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.core.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.datepicker.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.dialog.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.menu.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.progressbar.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.resizable.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.selectable.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.slider.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.spinner.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.tabs.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.theme.min.css create mode 100644 lib/jquery-ui/themes/base/minified/jquery.ui.tooltip.min.css create mode 100644 lib/jquery-ui/themes/black-tie/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_diagonals-thick_8_333333_40x40.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_flat_65_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_glass_40_111111_1x400.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_glass_55_1c1c1c_1x400.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_40_aaaaaa_1x100.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_highlight-soft_50_aaaaaa_1x100.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_45_cd0a0a_1x100.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_55_ffeb80_1x100.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-icons_4ca300_256x240.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-icons_bbbbbb_256x240.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-icons_ededed_256x240.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-icons_ffcf29_256x240.png create mode 100644 lib/jquery-ui/themes/black-tie/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/black-tie/jquery-ui.css create mode 100644 lib/jquery-ui/themes/black-tie/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/black-tie/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/blitzer/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_diagonals-thick_75_f3d8d8_40x40.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_dots-small_65_a6a6a6_2x2.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_flat_0_333333_40x100.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_flat_65_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_glass_55_fbf8ee_1x400.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_eeeeee_1x100.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_f6f6f6_1x100.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-bg_highlight-soft_15_cc0000_1x100.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-icons_004276_256x240.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-icons_cc0000_256x240.png create mode 100644 lib/jquery-ui/themes/blitzer/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/blitzer/jquery-ui.css create mode 100644 lib/jquery-ui/themes/blitzer/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/blitzer/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/cupertino/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_glass_50_3baae3_1x400.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-icons_2694e8_256x240.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-icons_2e83ff_256x240.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-icons_3d80b3_256x240.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-icons_72a7cf_256x240.png create mode 100644 lib/jquery-ui/themes/cupertino/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/cupertino/jquery-ui.css create mode 100644 lib/jquery-ui/themes/cupertino/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/cupertino/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/dark-hive/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-hard_20_0972a5_1x100.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_33_003147_1x100.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_35_222222_1x100.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_44_444444_1x100.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-bg_loop_25_000000_21x21.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-icons_4b8e0b_256x240.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-icons_a83300_256x240.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-icons_cccccc_256x240.png create mode 100644 lib/jquery-ui/themes/dark-hive/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/dark-hive/jquery-ui.css create mode 100644 lib/jquery-ui/themes/dark-hive/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/dark-hive/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/dot-luv/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_diagonals-thick_15_0b3e6f_40x40.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-medium_30_0b58a2_4x4.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_20_333333_2x2.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_30_a32d00_2x2.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_40_00498f_2x2.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_flat_40_292929_40x100.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-bg_gloss-wave_20_111111_500x100.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-icons_00498f_256x240.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-icons_98d2fb_256x240.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-icons_9ccdfc_256x240.png create mode 100644 lib/jquery-ui/themes/dot-luv/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/dot-luv/jquery-ui.css create mode 100644 lib/jquery-ui/themes/dot-luv/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/dot-luv/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/eggplant/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_flat_0_eeeeee_40x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_flat_55_994d53_40x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_flat_55_fafafa_40x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_gloss-wave_30_3d3644_500x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_dcd9de_1x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_eae6ea_1x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_25_30273a_1x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_45_5f5964_1x100.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-icons_454545_256x240.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-icons_734d99_256x240.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-icons_8d78a5_256x240.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-icons_a8a3ae_256x240.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-icons_ebccce_256x240.png create mode 100644 lib/jquery-ui/themes/eggplant/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/eggplant/jquery-ui.css create mode 100644 lib/jquery-ui/themes/eggplant/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/eggplant/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/excite-bike/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-small_25_c5ddfc_40x40.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_20_e69700_40x40.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_22_1484e6_40x40.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_26_2293f7_40x40.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e69700_40x100.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e6b900_40x100.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_highlight-soft_100_f9f9f9_1x100.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-bg_inset-hard_100_eeeeee_1x100.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-icons_0a82eb_256x240.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-icons_0b54d5_256x240.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-icons_5fa5e3_256x240.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-icons_fcdd4a_256x240.png create mode 100644 lib/jquery-ui/themes/excite-bike/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/excite-bike/jquery-ui.css create mode 100644 lib/jquery-ui/themes/excite-bike/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/excite-bike/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/flick/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_flat_0_eeeeee_40x100.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_flat_55_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-icons_0073ea_256x240.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-icons_454545_256x240.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-icons_666666_256x240.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-icons_ff0084_256x240.png create mode 100644 lib/jquery-ui/themes/flick/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/flick/jquery-ui.css create mode 100644 lib/jquery-ui/themes/flick/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/flick/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_40_db4865_40x40.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_93c3cd_40x40.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_ff3853_40x40.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_75_ccd232_40x40.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-medium_80_ffff38_4x4.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-small_35_35414f_2x2.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ba9217_40x100.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-bg_white-lines_85_f7f7ba_40x100.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-icons_454545_256x240.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-icons_88a206_256x240.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-icons_c02669_256x240.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-icons_e1e463_256x240.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-icons_ffeb33_256x240.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/hot-sneaks/jquery-ui.css create mode 100644 lib/jquery-ui/themes/hot-sneaks/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/hot-sneaks/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/humanity/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_flat_75_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_glass_100_f5f0e5_1x400.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_glass_25_cb842e_1x400.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_glass_70_ede4d4_1x400.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_65_fee4bd_1x100.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-bg_inset-soft_100_f4f0ec_1x100.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-icons_c47a23_256x240.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-icons_cb672b_256x240.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-icons_f08000_256x240.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-icons_f35f07_256x240.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-icons_ff7519_256x240.png create mode 100644 lib/jquery-ui/themes/humanity/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/humanity/jquery-ui.css create mode 100644 lib/jquery-ui/themes/humanity/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/humanity/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/le-frog/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_15_444444_40x40.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_95_ffdc2e_40x40.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_glass_55_fbf5d0_1x400.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-hard_30_285c00_1x100.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_33_3a8104_1x100.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_50_4eb305_1x100.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_60_4ca20b_1x100.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-bg_inset-soft_10_285c00_1x100.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-icons_4eb305_256x240.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-icons_72b42d_256x240.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/le-frog/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/le-frog/jquery-ui.css create mode 100644 lib/jquery-ui/themes/le-frog/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/le-frog/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/mint-choc/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-icons_9bcc60_256x240.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-icons_add978_256x240.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-icons_e3ddc9_256x240.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-icons_f1fd86_256x240.png create mode 100644 lib/jquery-ui/themes/mint-choc/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/mint-choc/jquery-ui.css create mode 100644 lib/jquery-ui/themes/mint-choc/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/mint-choc/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/overcast/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_flat_0_eeeeee_40x100.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_flat_55_c0402a_40x100.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_flat_55_eeeeee_40x100.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_glass_100_f8f8f8_1x400.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_glass_35_dddddd_1x400.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_glass_60_eeeeee_1x400.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_inset-hard_75_999999_1x100.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-bg_inset-soft_50_c9c9c9_1x100.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-icons_3383bb_256x240.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-icons_454545_256x240.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-icons_70b2e1_256x240.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-icons_999999_256x240.png create mode 100644 lib/jquery-ui/themes/overcast/images/ui-icons_fbc856_256x240.png create mode 100644 lib/jquery-ui/themes/overcast/jquery-ui.css create mode 100644 lib/jquery-ui/themes/overcast/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/overcast/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_40_000000_10x10.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_eceadf_60x60.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_f8f7f6_60x60.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_eceadf_60x60.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_f7f3de_60x60.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_ffffff_60x60.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_65_654b24_60x60.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_68_b83400_60x60.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-icons_3572ac_256x240.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-icons_8c291d_256x240.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-icons_b83400_256x240.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-icons_fbdb93_256x240.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/pepper-grinder/jquery-ui.css create mode 100644 lib/jquery-ui/themes/pepper-grinder/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/pepper-grinder/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/redmond/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-icons_217bc0_256x240.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-icons_2e83ff_256x240.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-icons_469bdd_256x240.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-icons_6da8d5_256x240.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-icons_d8e7f3_256x240.png create mode 100644 lib/jquery-ui/themes/redmond/images/ui-icons_f9bd01_256x240.png create mode 100644 lib/jquery-ui/themes/redmond/jquery-ui.css create mode 100644 lib/jquery-ui/themes/redmond/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/redmond/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/smoothness/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-icons_888888_256x240.png create mode 100644 lib/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/smoothness/jquery-ui.css create mode 100644 lib/jquery-ui/themes/smoothness/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/smoothness/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/south-street/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_glass_55_fcf0ba_1x400.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_gloss-wave_100_ece8da_500x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_fafaf4_1x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_15_459e00_1x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_95_cccccc_1x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_25_67b021_1x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_95_ffedad_1x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-bg_inset-soft_15_2b2922_1x100.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-icons_808080_256x240.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-icons_847e71_256x240.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-icons_8DC262_256x240.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-icons_eeeeee_256x240.png create mode 100644 lib/jquery-ui/themes/south-street/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/south-street/jquery-ui.css create mode 100644 lib/jquery-ui/themes/south-street/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/south-street/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/start/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_flat_55_999999_40x100.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_flat_75_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_glass_45_0078ae_1x400.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_glass_55_f8da4e_1x400.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_glass_75_79c9ec_1x400.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png create mode 100644 lib/jquery-ui/themes/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100644 lib/jquery-ui/themes/start/images/ui-icons_0078ae_256x240.png create mode 100644 lib/jquery-ui/themes/start/images/ui-icons_056b93_256x240.png create mode 100644 lib/jquery-ui/themes/start/images/ui-icons_d8e7f3_256x240.png create mode 100644 lib/jquery-ui/themes/start/images/ui-icons_e0fdff_256x240.png create mode 100644 lib/jquery-ui/themes/start/images/ui-icons_f5e175_256x240.png create mode 100644 lib/jquery-ui/themes/start/images/ui-icons_f7a50d_256x240.png create mode 100644 lib/jquery-ui/themes/start/images/ui-icons_fcd113_256x240.png create mode 100644 lib/jquery-ui/themes/start/jquery-ui.css create mode 100644 lib/jquery-ui/themes/start/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/start/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/sunny/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_45_817865_500x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-icons_3d3d3d_256x240.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-icons_bd7b00_256x240.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-icons_d19405_256x240.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-icons_eb990f_256x240.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-icons_ed9f26_256x240.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-icons_fadc7a_256x240.png create mode 100644 lib/jquery-ui/themes/sunny/images/ui-icons_ffe180_256x240.png create mode 100644 lib/jquery-ui/themes/sunny/jquery-ui.css create mode 100644 lib/jquery-ui/themes/sunny/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/sunny/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/swanky-purse/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_10_4f4221_10x8.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_20_372806_10x8.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_675423_10x8.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_d5ac5d_10x8.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_261803_10x8.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_443113_10x8.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_flat_75_ddd4b0_40x100.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-bg_highlight-hard_65_fee4bd_1x100.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-icons_070603_256x240.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-icons_e8e2b5_256x240.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-icons_e9cd86_256x240.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-icons_efec9f_256x240.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-icons_f2ec64_256x240.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-icons_f9f2bd_256x240.png create mode 100644 lib/jquery-ui/themes/swanky-purse/images/ui-icons_ff7519_256x240.png create mode 100644 lib/jquery-ui/themes/swanky-purse/jquery-ui.css create mode 100644 lib/jquery-ui/themes/swanky-purse/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/swanky-purse/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/trontastic/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_diagonals-small_50_262626_40x40.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_flat_0_303030_40x100.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_flat_0_4c4c4c_40x100.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_glass_40_0a0a0a_1x400.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_glass_55_f1fbe5_1x400.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_glass_60_000000_1x400.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_55_000000_500x100.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_85_9fda58_500x100.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_95_f6ecd5_500x100.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-icons_000000_256x240.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-icons_1f1f1f_256x240.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-icons_9fda58_256x240.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-icons_b8ec79_256x240.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/trontastic/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/trontastic/jquery-ui.css create mode 100644 lib/jquery-ui/themes/trontastic/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/trontastic/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/ui-darkness/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-icons_a83300_256x240.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-icons_cccccc_256x240.png create mode 100644 lib/jquery-ui/themes/ui-darkness/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/ui-darkness/jquery-ui.css create mode 100644 lib/jquery-ui/themes/ui-darkness/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/ui-darkness/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/ui-lightness/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-icons_222222_256x240.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100644 lib/jquery-ui/themes/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100644 lib/jquery-ui/themes/ui-lightness/jquery-ui.css create mode 100644 lib/jquery-ui/themes/ui-lightness/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/ui-lightness/jquery.ui.theme.css create mode 100644 lib/jquery-ui/themes/vader/images/animated-overlay.gif create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_gloss-wave_16_121212_500x100.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_highlight-hard_15_888888_1x100.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_highlight-hard_55_555555_1x100.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_highlight-soft_35_adadad_1x100.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_highlight-soft_60_dddddd_1x100.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-bg_inset-soft_15_121212_1x100.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-icons_666666_256x240.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-icons_aaaaaa_256x240.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-icons_bbbbbb_256x240.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-icons_c98000_256x240.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-icons_cccccc_256x240.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-icons_cd0a0a_256x240.png create mode 100644 lib/jquery-ui/themes/vader/images/ui-icons_f29a00_256x240.png create mode 100644 lib/jquery-ui/themes/vader/jquery-ui.css create mode 100644 lib/jquery-ui/themes/vader/jquery-ui.min.css create mode 100644 lib/jquery-ui/themes/vader/jquery.ui.theme.css create mode 100644 lib/jquery-ui/ui/.jshintrc create mode 100644 lib/jquery-ui/ui/i18n/jquery-ui-i18n.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-af.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ar-DZ.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ar.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-az.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-be.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-bg.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-bs.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ca.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-cs.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-cy-GB.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-da.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-de.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-el.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-en-AU.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-en-GB.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-en-NZ.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-eo.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-es.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-et.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-eu.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-fa.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-fi.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-fo.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-fr-CA.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-fr-CH.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-fr.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-gl.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-he.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-hi.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-hr.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-hu.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-hy.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-id.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-is.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-it.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ja.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ka.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-kk.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-km.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ko.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ky.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-lb.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-lt.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-lv.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-mk.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ml.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ms.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-nb.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-nl-BE.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-nl.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-nn.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-no.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-pl.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-pt-BR.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-pt.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-rm.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ro.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ru.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-sk.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-sl.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-sq.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-sr-SR.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-sr.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-sv.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-ta.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-th.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-tj.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-tr.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-uk.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-vi.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-CN.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-HK.js create mode 100644 lib/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-TW.js create mode 100644 lib/jquery-ui/ui/jquery-ui.custom.js create mode 100644 lib/jquery-ui/ui/jquery-ui.js create mode 100644 lib/jquery-ui/ui/jquery.ui.accordion.js create mode 100644 lib/jquery-ui/ui/jquery.ui.autocomplete.js create mode 100644 lib/jquery-ui/ui/jquery.ui.button.js create mode 100644 lib/jquery-ui/ui/jquery.ui.core.js create mode 100644 lib/jquery-ui/ui/jquery.ui.datepicker.js create mode 100644 lib/jquery-ui/ui/jquery.ui.dialog.js create mode 100644 lib/jquery-ui/ui/jquery.ui.draggable.js create mode 100644 lib/jquery-ui/ui/jquery.ui.droppable.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-blind.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-bounce.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-clip.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-drop.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-explode.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-fade.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-fold.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-highlight.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-pulsate.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-scale.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-shake.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-slide.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect-transfer.js create mode 100644 lib/jquery-ui/ui/jquery.ui.effect.js create mode 100644 lib/jquery-ui/ui/jquery.ui.menu.js create mode 100644 lib/jquery-ui/ui/jquery.ui.mouse.js create mode 100644 lib/jquery-ui/ui/jquery.ui.position.js create mode 100644 lib/jquery-ui/ui/jquery.ui.progressbar.js create mode 100644 lib/jquery-ui/ui/jquery.ui.resizable.js create mode 100644 lib/jquery-ui/ui/jquery.ui.selectable.js create mode 100644 lib/jquery-ui/ui/jquery.ui.slider.js create mode 100644 lib/jquery-ui/ui/jquery.ui.sortable.js create mode 100644 lib/jquery-ui/ui/jquery.ui.spinner.js create mode 100644 lib/jquery-ui/ui/jquery.ui.tabs.js create mode 100644 lib/jquery-ui/ui/jquery.ui.tooltip.js create mode 100644 lib/jquery-ui/ui/jquery.ui.widget.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery-ui-i18n.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-af.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ar-DZ.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ar.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-az.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-be.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-bg.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-bs.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ca.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-cs.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-cy-GB.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-da.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-de.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-el.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-en-AU.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-en-GB.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-en-NZ.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-eo.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-es.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-et.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-eu.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fa.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fi.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fo.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fr-CA.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fr-CH.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-fr.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-gl.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-he.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hi.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hr.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hu.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-hy.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-id.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-is.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-it.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ja.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ka.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-kk.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-km.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ko.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ky.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-lb.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-lt.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-lv.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-mk.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ml.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ms.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nb.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nl-BE.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nl.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-nn.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-no.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-pl.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-pt-BR.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-pt.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-rm.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ro.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ru.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sk.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sl.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sq.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sr-SR.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sr.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-sv.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-ta.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-th.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-tj.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-tr.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-uk.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-vi.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-zh-CN.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-zh-HK.min.js create mode 100644 lib/jquery-ui/ui/minified/i18n/jquery.ui.datepicker-zh-TW.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery-ui.custom.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery-ui.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.accordion.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.autocomplete.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.button.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.core.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.datepicker.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.dialog.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.draggable.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.droppable.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-blind.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-bounce.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-clip.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-drop.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-explode.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-fade.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-fold.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-highlight.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-pulsate.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-scale.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-shake.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-slide.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect-transfer.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.effect.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.menu.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.mouse.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.position.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.progressbar.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.resizable.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.selectable.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.slider.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.sortable.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.spinner.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.tabs.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.tooltip.min.js create mode 100644 lib/jquery-ui/ui/minified/jquery.ui.widget.min.js create mode 100644 lib/jquery/.bower.json create mode 100644 lib/jquery/MIT-LICENSE.txt create mode 100644 lib/jquery/bower.json create mode 100644 lib/jquery/src/ajax.js create mode 100644 lib/jquery/src/ajax/jsonp.js create mode 100644 lib/jquery/src/ajax/load.js create mode 100644 lib/jquery/src/ajax/parseJSON.js create mode 100644 lib/jquery/src/ajax/parseXML.js create mode 100644 lib/jquery/src/ajax/script.js create mode 100644 lib/jquery/src/ajax/var/nonce.js create mode 100644 lib/jquery/src/ajax/var/rquery.js create mode 100644 lib/jquery/src/ajax/xhr.js create mode 100644 lib/jquery/src/attributes.js create mode 100644 lib/jquery/src/attributes/attr.js create mode 100644 lib/jquery/src/attributes/classes.js create mode 100644 lib/jquery/src/attributes/prop.js create mode 100644 lib/jquery/src/attributes/support.js create mode 100644 lib/jquery/src/attributes/val.js create mode 100644 lib/jquery/src/callbacks.js create mode 100644 lib/jquery/src/core.js create mode 100644 lib/jquery/src/core/access.js create mode 100644 lib/jquery/src/core/init.js create mode 100644 lib/jquery/src/core/parseHTML.js create mode 100644 lib/jquery/src/core/ready.js create mode 100644 lib/jquery/src/core/var/rsingleTag.js create mode 100644 lib/jquery/src/css.js create mode 100644 lib/jquery/src/css/addGetHookIf.js create mode 100644 lib/jquery/src/css/curCSS.js create mode 100644 lib/jquery/src/css/defaultDisplay.js create mode 100644 lib/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 lib/jquery/src/css/support.js create mode 100644 lib/jquery/src/css/swap.js create mode 100644 lib/jquery/src/css/var/cssExpand.js create mode 100644 lib/jquery/src/css/var/getStyles.js create mode 100644 lib/jquery/src/css/var/isHidden.js create mode 100644 lib/jquery/src/css/var/rmargin.js create mode 100644 lib/jquery/src/css/var/rnumnonpx.js create mode 100644 lib/jquery/src/data.js create mode 100644 lib/jquery/src/data/Data.js create mode 100644 lib/jquery/src/data/accepts.js create mode 100644 lib/jquery/src/data/var/data_priv.js create mode 100644 lib/jquery/src/data/var/data_user.js create mode 100644 lib/jquery/src/deferred.js create mode 100644 lib/jquery/src/deprecated.js create mode 100644 lib/jquery/src/dimensions.js create mode 100644 lib/jquery/src/effects.js create mode 100644 lib/jquery/src/effects/Tween.js create mode 100644 lib/jquery/src/effects/animatedSelector.js create mode 100644 lib/jquery/src/event.js create mode 100644 lib/jquery/src/event/alias.js create mode 100644 lib/jquery/src/event/support.js create mode 100644 lib/jquery/src/exports/amd.js create mode 100644 lib/jquery/src/exports/global.js create mode 100644 lib/jquery/src/intro.js create mode 100644 lib/jquery/src/jquery.js create mode 100644 lib/jquery/src/manipulation.js create mode 100644 lib/jquery/src/manipulation/_evalUrl.js create mode 100644 lib/jquery/src/manipulation/support.js create mode 100644 lib/jquery/src/manipulation/var/rcheckableType.js create mode 100644 lib/jquery/src/offset.js create mode 100644 lib/jquery/src/outro.js create mode 100644 lib/jquery/src/queue.js create mode 100644 lib/jquery/src/queue/delay.js create mode 100644 lib/jquery/src/selector-native.js create mode 100644 lib/jquery/src/selector-sizzle.js create mode 100644 lib/jquery/src/selector.js create mode 100644 lib/jquery/src/serialize.js create mode 100644 lib/jquery/src/traversing.js create mode 100644 lib/jquery/src/traversing/findFilter.js create mode 100644 lib/jquery/src/traversing/var/rneedsContext.js create mode 100644 lib/jquery/src/var/arr.js create mode 100644 lib/jquery/src/var/class2type.js create mode 100644 lib/jquery/src/var/concat.js create mode 100644 lib/jquery/src/var/hasOwn.js create mode 100644 lib/jquery/src/var/indexOf.js create mode 100644 lib/jquery/src/var/pnum.js create mode 100644 lib/jquery/src/var/push.js create mode 100644 lib/jquery/src/var/rnotwhite.js create mode 100644 lib/jquery/src/var/slice.js create mode 100644 lib/jquery/src/var/strundefined.js create mode 100644 lib/jquery/src/var/support.js create mode 100644 lib/jquery/src/var/toString.js create mode 100644 lib/jquery/src/wrap.js create mode 100644 lib/moment-timezone/.bower.json create mode 100644 lib/moment-timezone/README.md create mode 100644 lib/moment-timezone/bower.json create mode 100644 lib/moment-timezone/index.js create mode 100644 lib/moment-timezone/min/moment-timezone.min.js create mode 100644 lib/moment-timezone/moment-timezone.js create mode 100644 lib/moment-timezone/moment-timezone.json create mode 100644 lib/moment/.bower.json create mode 100644 lib/moment/CHANGELOG.md create mode 100644 lib/moment/LICENSE create mode 100644 lib/moment/README.md create mode 100644 lib/moment/benchmarks/clone.js create mode 100644 lib/moment/bower.json create mode 100644 lib/moment/locale/af.js create mode 100644 lib/moment/locale/ar-ma.js create mode 100644 lib/moment/locale/ar-sa.js create mode 100644 lib/moment/locale/ar.js create mode 100644 lib/moment/locale/az.js create mode 100644 lib/moment/locale/be.js create mode 100644 lib/moment/locale/bg.js create mode 100644 lib/moment/locale/bn.js create mode 100644 lib/moment/locale/bo.js create mode 100644 lib/moment/locale/br.js create mode 100644 lib/moment/locale/bs.js create mode 100644 lib/moment/locale/ca.js create mode 100644 lib/moment/locale/cs.js create mode 100644 lib/moment/locale/cv.js create mode 100644 lib/moment/locale/cy.js create mode 100644 lib/moment/locale/da.js create mode 100644 lib/moment/locale/de-at.js create mode 100644 lib/moment/locale/de.js create mode 100644 lib/moment/locale/el.js create mode 100644 lib/moment/locale/en-au.js create mode 100644 lib/moment/locale/en-ca.js create mode 100644 lib/moment/locale/en-gb.js create mode 100644 lib/moment/locale/eo.js create mode 100644 lib/moment/locale/es.js create mode 100644 lib/moment/locale/et.js create mode 100644 lib/moment/locale/eu.js create mode 100644 lib/moment/locale/fa.js create mode 100644 lib/moment/locale/fi.js create mode 100644 lib/moment/locale/fo.js create mode 100644 lib/moment/locale/fr-ca.js create mode 100644 lib/moment/locale/fr.js create mode 100644 lib/moment/locale/gl.js create mode 100644 lib/moment/locale/he.js create mode 100644 lib/moment/locale/hi.js create mode 100644 lib/moment/locale/hr.js create mode 100644 lib/moment/locale/hu.js create mode 100644 lib/moment/locale/hy-am.js create mode 100644 lib/moment/locale/id.js create mode 100644 lib/moment/locale/is.js create mode 100644 lib/moment/locale/it.js create mode 100644 lib/moment/locale/ja.js create mode 100644 lib/moment/locale/ka.js create mode 100644 lib/moment/locale/km.js create mode 100644 lib/moment/locale/ko.js create mode 100644 lib/moment/locale/lb.js create mode 100644 lib/moment/locale/lt.js create mode 100644 lib/moment/locale/lv.js create mode 100644 lib/moment/locale/mk.js create mode 100644 lib/moment/locale/ml.js create mode 100644 lib/moment/locale/mr.js create mode 100644 lib/moment/locale/ms-my.js create mode 100644 lib/moment/locale/my.js create mode 100644 lib/moment/locale/nb.js create mode 100644 lib/moment/locale/ne.js create mode 100644 lib/moment/locale/nl.js create mode 100644 lib/moment/locale/nn.js create mode 100644 lib/moment/locale/pl.js create mode 100644 lib/moment/locale/pt-br.js create mode 100644 lib/moment/locale/pt.js create mode 100644 lib/moment/locale/ro.js create mode 100644 lib/moment/locale/ru.js create mode 100644 lib/moment/locale/sk.js create mode 100644 lib/moment/locale/sl.js create mode 100644 lib/moment/locale/sq.js create mode 100644 lib/moment/locale/sr-cyrl.js create mode 100644 lib/moment/locale/sr.js create mode 100644 lib/moment/locale/sv.js create mode 100644 lib/moment/locale/ta.js create mode 100644 lib/moment/locale/th.js create mode 100644 lib/moment/locale/tl-ph.js create mode 100644 lib/moment/locale/tr.js create mode 100644 lib/moment/locale/tzm-latn.js create mode 100644 lib/moment/locale/tzm.js create mode 100644 lib/moment/locale/uk.js create mode 100644 lib/moment/locale/uz.js create mode 100644 lib/moment/locale/vi.js create mode 100644 lib/moment/locale/zh-cn.js create mode 100644 lib/moment/locale/zh-tw.js create mode 100644 lib/moment/min/locales.js create mode 100644 lib/moment/min/locales.min.js create mode 100644 lib/moment/min/moment-with-locales.js create mode 100644 lib/moment/min/moment-with-locales.min.js create mode 100644 lib/moment/min/moment.min.js create mode 100644 lib/moment/moment.js diff --git a/build/out/fullcalendar.css b/build/out/fullcalendar.css index bf39c90..7486934 100644 --- a/build/out/fullcalendar.css +++ b/build/out/fullcalendar.css @@ -1,589 +1,589 @@ -/*! - * FullCalendar v1.6.3 Stylesheet - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw, Sean Kenny - resource view - */ - - -.fc { - direction: ltr; - text-align: left; - } - -.fc table { - border-collapse: collapse; - border-spacing: 0; - } - -html .fc, -.fc table { - font-size: 1em; - } - -.fc td, -.fc th { - padding: 0; - vertical-align: top; - } - - - -/* Header -------------------------------------------------------------------------*/ - -.fc-header td { - white-space: nowrap; - } - -.fc-header-left { - width: 25%; - text-align: left; - } - -.fc-header-center { - text-align: center; - } - -.fc-header-right { - width: 25%; - text-align: right; - } - -.fc-header-title { - display: inline-block; - vertical-align: top; - } - -.fc-header-title h2 { - margin-top: 0; - white-space: nowrap; - } - -.fc .fc-header-space { - padding-left: 10px; - } - -.fc-header .fc-button { - margin-bottom: 1em; - vertical-align: top; - } - -/* buttons edges butting together */ - -.fc-header .fc-button { - margin-right: -1px; - } - -.fc-header .fc-corner-right, /* non-theme */ -.fc-header .ui-corner-right { /* theme */ - margin-right: 0; /* back to normal */ - } - -/* button layering (for border precedence) */ - -.fc-header .fc-state-hover, -.fc-header .ui-state-hover { - z-index: 2; - } - -.fc-header .fc-state-down { - z-index: 3; - } - -.fc-header .fc-state-active, -.fc-header .ui-state-active { - z-index: 4; - } - - - -/* Content -------------------------------------------------------------------------*/ - -.fc-content { - clear: both; - zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */ - } - -.fc-view { - width: 100%; - overflow: hidden; - } - - - -/* Cell Styles -------------------------------------------------------------------------*/ - -.fc-widget-header, /* , usually */ -.fc-widget-content { /* , usually */ - border: 1px solid #ddd; - } - -.fc-state-highlight { /* today cell */ /* TODO: add .fc-today to */ - background: #fcf8e3; - } - -.fc-cell-overlay { /* semi-transparent rectangle while dragging */ - background: #bce8f1; - opacity: .3; - filter: alpha(opacity=30); /* for IE */ - } - - - -/* Buttons -------------------------------------------------------------------------*/ - -.fc-button { - position: relative; - display: inline-block; - padding: 0 .6em; - overflow: hidden; - height: 1.9em; - line-height: 1.9em; - white-space: nowrap; - cursor: pointer; - } - -.fc-state-default { /* non-theme */ - border: 1px solid; - } - -.fc-state-default.fc-corner-left { /* non-theme */ - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - } - -.fc-state-default.fc-corner-right { /* non-theme */ - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - } - -/* - Our default prev/next buttons use HTML entities like ‹ › « » - and we'll try to make them look good cross-browser. -*/ - -.fc-text-arrow { - margin: 0 .1em; - font-size: 2em; - font-family: "Courier New", Courier, monospace; - vertical-align: baseline; /* for IE7 */ - } - -.fc-button-prev .fc-text-arrow, -.fc-button-next .fc-text-arrow { /* for ‹ › */ - font-weight: bold; - } - -/* icon (for jquery ui) */ - -.fc-button .fc-icon-wrap { - position: relative; - float: left; - top: 50%; - } - -.fc-button .ui-icon { - position: relative; - float: left; - margin-top: -50%; - *margin-top: 0; - *top: -50%; - } - -/* - button states - borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/) -*/ - -.fc-state-default { - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-repeat: repeat-x; - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - color: #333; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - } - -.fc-state-hover, -.fc-state-down, -.fc-state-active, -.fc-state-disabled { - color: #333333; - background-color: #e6e6e6; - } - -.fc-state-hover { - color: #333333; - text-decoration: none; - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; - } - -.fc-state-down, -.fc-state-active { - background-color: #cccccc; - background-image: none; - outline: 0; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - } - -.fc-state-disabled { - cursor: default; - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - box-shadow: none; - } - - - -/* Global Event Styles -------------------------------------------------------------------------*/ - -.fc-event-container > * { - z-index: 8; - } - -.fc-event-container > .ui-draggable-dragging, -.fc-event-container > .ui-resizable-resizing { - z-index: 9; - } - -.fc-event { - border: 1px solid #3a87ad; /* default BORDER color */ - background-color: #3a87ad; /* default BACKGROUND color */ - color: #fff; /* default TEXT color */ - font-size: .85em; - cursor: default; - } - -a.fc-event { - text-decoration: none; - } - -a.fc-event, -.fc-event-draggable { - cursor: pointer; - } - -.fc-rtl .fc-event { - text-align: right; - } - -.fc-event-inner { - width: 100%; - height: 100%; - overflow: hidden; - } - -.fc-event-time, -.fc-event-title { - padding: 0 1px; - } - -.fc .ui-resizable-handle { - display: block; - position: absolute; - z-index: 99999; - overflow: hidden; /* hacky spaces (IE6/7) */ - font-size: 300%; /* */ - line-height: 50%; /* */ - } - - - -/* Horizontal Events -------------------------------------------------------------------------*/ - -.fc-event-hori { - border-width: 1px 0; - margin-bottom: 1px; - } - -.fc-ltr .fc-event-hori.fc-event-start, -.fc-rtl .fc-event-hori.fc-event-end { - border-left-width: 1px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - } - -.fc-ltr .fc-event-hori.fc-event-end, -.fc-rtl .fc-event-hori.fc-event-start { - border-right-width: 1px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - } - -/* resizable */ - -.fc-event-hori .ui-resizable-e { - top: 0 !important; /* importants override pre jquery ui 1.7 styles */ - right: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: e-resize; - } - -.fc-event-hori .ui-resizable-w { - top: 0 !important; - left: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: w-resize; - } - -.fc-event-hori .ui-resizable-handle { - _padding-bottom: 14px; /* IE6 had 0 height */ - } - - - -/* Reusable Separate-border Table -------------------------------------------------------------*/ - -table.fc-border-separate { - border-collapse: separate; - } - -.fc-border-separate th, -.fc-border-separate td { - border-width: 1px 0 0 1px; - } - -.fc-border-separate th.fc-last, -.fc-border-separate td.fc-last { - border-right-width: 1px; - } - -.fc-border-separate tr.fc-last th, -.fc-border-separate tr.fc-last td { - border-bottom-width: 1px; - } - -.fc-border-separate tbody tr.fc-first td, -.fc-border-separate tbody tr.fc-first th { - border-top-width: 0; - } - - - -/* Month View, Basic Week View, Basic Day View -------------------------------------------------------------------------*/ - -.fc-grid th { - text-align: center; - } - -.fc .fc-week-number { - width: 22px; - text-align: center; - } - -.fc .fc-week-number div { - padding: 0 2px; - } - -.fc-grid .fc-day-number { - float: right; - padding: 0 2px; - } - -.fc-grid .fc-other-month .fc-day-number { - opacity: 0.3; - filter: alpha(opacity=30); /* for IE */ - /* opacity with small font can sometimes look too faded - might want to set the 'color' property instead - making day-numbers bold also fixes the problem */ - } - -.fc-grid .fc-day-content { - clear: both; - padding: 2px 2px 1px; /* distance between events and day edges */ - } - -/* event styles */ - -.fc-grid .fc-event-time { - font-weight: bold; - } - -/* right-to-left */ - -.fc-rtl .fc-grid .fc-day-number { - float: left; - } - -.fc-rtl .fc-grid .fc-event-time { - float: right; - } - - - -/* Agenda Week View, Agenda Day View -------------------------------------------------------------------------*/ - -.fc-agenda table { - border-collapse: separate; - } - -.fc-agenda-days th { - text-align: center; - } - -.fc-agenda .fc-agenda-axis { - width: 50px; - padding: 0 4px; - vertical-align: middle; - text-align: right; - white-space: nowrap; - font-weight: normal; - } - -.fc-agenda .fc-week-number { - font-weight: bold; - } - -.fc-agenda .fc-day-content { - padding: 2px 2px 1px; - } - -/* make axis border take precedence */ - -.fc-agenda-days .fc-agenda-axis { - border-right-width: 1px; - } - -.fc-agenda-days .fc-col0 { - border-left-width: 0; - } - -/* all-day area */ - -.fc-agenda-allday th { - border-width: 0 1px; - } - -.fc-agenda-allday .fc-day-content { - min-height: 34px; /* TODO: doesnt work well in quirksmode */ - _height: 34px; - } - -/* divider (between all-day and slots) */ - -.fc-agenda-divider-inner { - height: 2px; - overflow: hidden; - } - -.fc-widget-header .fc-agenda-divider-inner { - background: #eee; - } - -/* slot rows */ - -.fc-agenda-slots th { - border-width: 1px 1px 0; - } - -.fc-agenda-slots td { - border-width: 1px 0 0; - background: none; - } - -.fc-agenda-slots td div { - height: 20px; - } - -.fc-agenda-slots tr.fc-slot0 th, -.fc-agenda-slots tr.fc-slot0 td { - border-top-width: 0; - } - -.fc-agenda-slots tr.fc-minor th, -.fc-agenda-slots tr.fc-minor td { - border-top-style: dotted; - } - -.fc-agenda-slots tr.fc-minor th.ui-widget-header { - *border-top-style: solid; /* doesn't work with background in IE6/7 */ - } - - - -/* Vertical Events -------------------------------------------------------------------------*/ - -.fc-event-vert { - border-width: 0 1px; - } - -.fc-event-vert.fc-event-start { - border-top-width: 1px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - } - -.fc-event-vert.fc-event-end { - border-bottom-width: 1px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - } - -.fc-event-vert .fc-event-time { - white-space: nowrap; - font-size: 10px; - } - -.fc-event-vert .fc-event-inner { - position: relative; - z-index: 2; - } - -.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ - position: absolute; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #fff; - opacity: .25; - filter: alpha(opacity=25); - } - -.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ -.fc-select-helper .fc-event-bg { - display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ - } - -/* resizable */ - -.fc-event-vert .ui-resizable-s { - bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ - width: 100% !important; - height: 8px !important; - overflow: hidden !important; - line-height: 8px !important; - font-size: 11px !important; - font-family: monospace; - text-align: center; - cursor: s-resize; - } - -.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ - _overflow: hidden; - } - - +/*! + * FullCalendar v1.6.3 Stylesheet + * Docs & License: http://arshaw.com/fullcalendar/ + * (c) 2013 Adam Shaw, Sean Kenny - resource view + */ + + +.fc { + direction: ltr; + text-align: left; + } + +.fc table { + border-collapse: collapse; + border-spacing: 0; + } + +html .fc, +.fc table { + font-size: 1em; + } + +.fc td, +.fc th { + padding: 0; + vertical-align: top; + } + + + +/* Header +------------------------------------------------------------------------*/ + +.fc-header td { + white-space: nowrap; + } + +.fc-header-left { + width: 25%; + text-align: left; + } + +.fc-header-center { + text-align: center; + } + +.fc-header-right { + width: 25%; + text-align: right; + } + +.fc-header-title { + display: inline-block; + vertical-align: top; + } + +.fc-header-title h2 { + margin-top: 0; + white-space: nowrap; + } + +.fc .fc-header-space { + padding-left: 10px; + } + +.fc-header .fc-button { + margin-bottom: 1em; + vertical-align: top; + } + +/* buttons edges butting together */ + +.fc-header .fc-button { + margin-right: -1px; + } + +.fc-header .fc-corner-right, /* non-theme */ +.fc-header .ui-corner-right { /* theme */ + margin-right: 0; /* back to normal */ + } + +/* button layering (for border precedence) */ + +.fc-header .fc-state-hover, +.fc-header .ui-state-hover { + z-index: 2; + } + +.fc-header .fc-state-down { + z-index: 3; + } + +.fc-header .fc-state-active, +.fc-header .ui-state-active { + z-index: 4; + } + + + +/* Content +------------------------------------------------------------------------*/ + +.fc-content { + clear: both; + zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */ + } + +.fc-view { + width: 100%; + overflow: hidden; + } + + + +/* Cell Styles +------------------------------------------------------------------------*/ + +.fc-widget-header, /* , usually */ +.fc-widget-content { /* , usually */ + border: 1px solid #ddd; + } + +.fc-state-highlight { /* today cell */ /* TODO: add .fc-today to */ + background: #fcf8e3; + } + +.fc-cell-overlay { /* semi-transparent rectangle while dragging */ + background: #bce8f1; + opacity: .3; + filter: alpha(opacity=30); /* for IE */ + } + + + +/* Buttons +------------------------------------------------------------------------*/ + +.fc-button { + position: relative; + display: inline-block; + padding: 0 .6em; + overflow: hidden; + height: 1.9em; + line-height: 1.9em; + white-space: nowrap; + cursor: pointer; + } + +.fc-state-default { /* non-theme */ + border: 1px solid; + } + +.fc-state-default.fc-corner-left { /* non-theme */ + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + +.fc-state-default.fc-corner-right { /* non-theme */ + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + +/* + Our default prev/next buttons use HTML entities like ‹ › « » + and we'll try to make them look good cross-browser. +*/ + +.fc-text-arrow { + margin: 0 .1em; + font-size: 2em; + font-family: "Courier New", Courier, monospace; + vertical-align: baseline; /* for IE7 */ + } + +.fc-button-prev .fc-text-arrow, +.fc-button-next .fc-text-arrow { /* for ‹ › */ + font-weight: bold; + } + +/* icon (for jquery ui) */ + +.fc-button .fc-icon-wrap { + position: relative; + float: left; + top: 50%; + } + +.fc-button .ui-icon { + position: relative; + float: left; + margin-top: -50%; + *margin-top: 0; + *top: -50%; + } + +/* + button states + borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/) +*/ + +.fc-state-default { + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + color: #333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + } + +.fc-state-hover, +.fc-state-down, +.fc-state-active, +.fc-state-disabled { + color: #333333; + background-color: #e6e6e6; + } + +.fc-state-hover { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; + } + +.fc-state-down, +.fc-state-active { + background-color: #cccccc; + background-image: none; + outline: 0; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + } + +.fc-state-disabled { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + box-shadow: none; + } + + + +/* Global Event Styles +------------------------------------------------------------------------*/ + +.fc-event-container > * { + z-index: 8; + } + +.fc-event-container > .ui-draggable-dragging, +.fc-event-container > .ui-resizable-resizing { + z-index: 9; + } + +.fc-event { + border: 1px solid #3a87ad; /* default BORDER color */ + background-color: #3a87ad; /* default BACKGROUND color */ + color: #fff; /* default TEXT color */ + font-size: .85em; + cursor: default; + } + +a.fc-event { + text-decoration: none; + } + +a.fc-event, +.fc-event-draggable { + cursor: pointer; + } + +.fc-rtl .fc-event { + text-align: right; + } + +.fc-event-inner { + width: 100%; + height: 100%; + overflow: hidden; + } + +.fc-event-time, +.fc-event-title { + padding: 0 1px; + } + +.fc .ui-resizable-handle { + display: block; + position: absolute; + z-index: 99999; + overflow: hidden; /* hacky spaces (IE6/7) */ + font-size: 300%; /* */ + line-height: 50%; /* */ + } + + + +/* Horizontal Events +------------------------------------------------------------------------*/ + +.fc-event-hori { + border-width: 1px 0; + margin-bottom: 1px; + } + +.fc-ltr .fc-event-hori.fc-event-start, +.fc-rtl .fc-event-hori.fc-event-end { + border-left-width: 1px; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + +.fc-ltr .fc-event-hori.fc-event-end, +.fc-rtl .fc-event-hori.fc-event-start { + border-right-width: 1px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + +/* resizable */ + +.fc-event-hori .ui-resizable-e { + top: 0 !important; /* importants override pre jquery ui 1.7 styles */ + right: -3px !important; + width: 7px !important; + height: 100% !important; + cursor: e-resize; + } + +.fc-event-hori .ui-resizable-w { + top: 0 !important; + left: -3px !important; + width: 7px !important; + height: 100% !important; + cursor: w-resize; + } + +.fc-event-hori .ui-resizable-handle { + _padding-bottom: 14px; /* IE6 had 0 height */ + } + + + +/* Reusable Separate-border Table +------------------------------------------------------------*/ + +table.fc-border-separate { + border-collapse: separate; + } + +.fc-border-separate th, +.fc-border-separate td { + border-width: 1px 0 0 1px; + } + +.fc-border-separate th.fc-last, +.fc-border-separate td.fc-last { + border-right-width: 1px; + } + +.fc-border-separate tr.fc-last th, +.fc-border-separate tr.fc-last td { + border-bottom-width: 1px; + } + +.fc-border-separate tbody tr.fc-first td, +.fc-border-separate tbody tr.fc-first th { + border-top-width: 0; + } + + + +/* Month View, Basic Week View, Basic Day View +------------------------------------------------------------------------*/ + +.fc-grid th { + text-align: center; + } + +.fc .fc-week-number { + width: 22px; + text-align: center; + } + +.fc .fc-week-number div { + padding: 0 2px; + } + +.fc-grid .fc-day-number { + float: right; + padding: 0 2px; + } + +.fc-grid .fc-other-month .fc-day-number { + opacity: 0.3; + filter: alpha(opacity=30); /* for IE */ + /* opacity with small font can sometimes look too faded + might want to set the 'color' property instead + making day-numbers bold also fixes the problem */ + } + +.fc-grid .fc-day-content { + clear: both; + padding: 2px 2px 1px; /* distance between events and day edges */ + } + +/* event styles */ + +.fc-grid .fc-event-time { + font-weight: bold; + } + +/* right-to-left */ + +.fc-rtl .fc-grid .fc-day-number { + float: left; + } + +.fc-rtl .fc-grid .fc-event-time { + float: right; + } + + + +/* Agenda Week View, Agenda Day View +------------------------------------------------------------------------*/ + +.fc-agenda table { + border-collapse: separate; + } + +.fc-agenda-days th { + text-align: center; + } + +.fc-agenda .fc-agenda-axis { + width: 50px; + padding: 0 4px; + vertical-align: middle; + text-align: right; + white-space: nowrap; + font-weight: normal; + } + +.fc-agenda .fc-week-number { + font-weight: bold; + } + +.fc-agenda .fc-day-content { + padding: 2px 2px 1px; + } + +/* make axis border take precedence */ + +.fc-agenda-days .fc-agenda-axis { + border-right-width: 1px; + } + +.fc-agenda-days .fc-col0 { + border-left-width: 0; + } + +/* all-day area */ + +.fc-agenda-allday th { + border-width: 0 1px; + } + +.fc-agenda-allday .fc-day-content { + min-height: 34px; /* TODO: doesnt work well in quirksmode */ + _height: 34px; + } + +/* divider (between all-day and slots) */ + +.fc-agenda-divider-inner { + height: 2px; + overflow: hidden; + } + +.fc-widget-header .fc-agenda-divider-inner { + background: #eee; + } + +/* slot rows */ + +.fc-agenda-slots th { + border-width: 1px 1px 0; + } + +.fc-agenda-slots td { + border-width: 1px 0 0; + background: none; + } + +.fc-agenda-slots td div { + height: 20px; + } + +.fc-agenda-slots tr.fc-slot0 th, +.fc-agenda-slots tr.fc-slot0 td { + border-top-width: 0; + } + +.fc-agenda-slots tr.fc-minor th, +.fc-agenda-slots tr.fc-minor td { + border-top-style: dotted; + } + +.fc-agenda-slots tr.fc-minor th.ui-widget-header { + *border-top-style: solid; /* doesn't work with background in IE6/7 */ + } + + + +/* Vertical Events +------------------------------------------------------------------------*/ + +.fc-event-vert { + border-width: 0 1px; + } + +.fc-event-vert.fc-event-start { + border-top-width: 1px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + +.fc-event-vert.fc-event-end { + border-bottom-width: 1px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + } + +.fc-event-vert .fc-event-time { + white-space: nowrap; + font-size: 10px; + } + +.fc-event-vert .fc-event-inner { + position: relative; + z-index: 2; + } + +.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #fff; + opacity: .25; + filter: alpha(opacity=25); + } + +.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ +.fc-select-helper .fc-event-bg { + display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ + } + +/* resizable */ + +.fc-event-vert .ui-resizable-s { + bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ + width: 100% !important; + height: 8px !important; + overflow: hidden !important; + line-height: 8px !important; + font-size: 11px !important; + font-family: monospace; + text-align: center; + cursor: s-resize; + } + +.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ + _overflow: hidden; + } + + diff --git a/build/out/fullcalendar.js b/build/out/fullcalendar.js index 345cd3b..a03a2c0 100644 --- a/build/out/fullcalendar.js +++ b/build/out/fullcalendar.js @@ -1,7878 +1,7878 @@ -/*! - * FullCalendar v1.6.3 - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw, Sean Kenny - resource view - */ - -/* - * Use fullcalendar.css for basic styling. - * For event drag & drop, requires jQuery UI draggable. - * For event resizing, requires jQuery UI resizable. - */ - -(function($, undefined) { - - -;; - -var defaults = { - - // display - defaultView: 'month', - aspectRatio: 1.35, - header: { - left: 'title', - center: '', - right: 'today prev,next' - }, - weekends: true, - weekNumbers: false, - weekNumberCalculation: 'iso', - weekNumberTitle: 'W', - - // editing - //editable: false, - //disableDragging: false, - //disableResizing: false, - - allDayDefault: true, - ignoreTimezone: true, - - // event ajax - lazyFetching: true, - startParam: 'start', - endParam: 'end', - - // time formats - titleFormat: { - month: 'MMMM yyyy', - week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", - day: 'dddd, MMM d, yyyy' - }, - columnFormat: { - month: 'ddd', - week: 'ddd M/d', - day: 'dddd M/d' - }, - timeFormat: { // for event elements - '': 'h(:mm)t' // default - }, - - // locale - isRTL: false, - firstDay: 0, - monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'], - monthNamesShort: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], - dayNames: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], - dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], - buttonText: { - prev: "", - next: "", - prevYear: "«", - nextYear: "»", - today: 'today', - month: 'month', - week: 'week', - day: 'day' - }, - - // jquery-ui theming - theme: false, - buttonIcons: { - prev: 'circle-triangle-w', - next: 'circle-triangle-e' - }, - - //selectable: false, - unselectAuto: true, - - dropAccept: '*', - - handleWindowResize: true - -}; - -// right-to-left defaults -var rtlDefaults = { - header: { - left: 'next,prev today', - center: '', - right: 'title' - }, - buttonText: { - prev: "", - next: "", - prevYear: "»", - nextYear: "«" - }, - buttonIcons: { - prev: 'circle-triangle-e', - next: 'circle-triangle-w' - } -}; - - - -;; - -var fc = $.fullCalendar = { version: "1.6.3" }; -var fcViews = fc.views = {}; - - -$.fn.fullCalendar = function(options) { - - - // method calling - if (typeof options == 'string') { - var args = Array.prototype.slice.call(arguments, 1); - var res; - this.each(function() { - var calendar = $.data(this, 'fullCalendar'); - if (calendar && $.isFunction(calendar[options])) { - var r = calendar[options].apply(calendar, args); - if (res === undefined) { - res = r; - } - if (options == 'destroy') { - $.removeData(this, 'fullCalendar'); - } - } - }); - if (res !== undefined) { - return res; - } - return this; - } - - - // would like to have this logic in EventManager, but needs to happen before options are recursively extended - var eventSources = options.eventSources || []; - delete options.eventSources; - if (options.events) { - eventSources.push(options.events); - delete options.events; - } - - - options = $.extend(true, {}, - defaults, - (options.isRTL || options.isRTL===undefined && defaults.isRTL) ? rtlDefaults : {}, - options - ); - - - this.each(function(i, _element) { - var element = $(_element); - var calendar = new Calendar(element, options, eventSources); - element.data('fullCalendar', calendar); // TODO: look into memory leak implications - calendar.render(); - }); - - - return this; - -}; - - -// function for adding/overriding defaults -function setDefaults(d) { - $.extend(true, defaults, d); -} - - - -;; - - -function Calendar(element, options, eventSources) { - var t = this; - - - // exports - t.options = options; - t.render = render; - t.destroy = destroy; - t.refetchEvents = refetchEvents; - t.reportEvents = reportEvents; - t.reportEventChange = reportEventChange; - t.rerenderEvents = rerenderEvents; - t.changeView = changeView; - t.select = select; - t.unselect = unselect; - t.prev = prev; - t.next = next; - t.prevYear = prevYear; - t.nextYear = nextYear; - t.today = today; - t.gotoDate = gotoDate; - t.incrementDate = incrementDate; - t.formatDate = function(format, date) { return formatDate(format, date, options) }; - t.formatDates = function(format, date1, date2) { return formatDates(format, date1, date2, options) }; - t.getDate = getDate; - t.getView = getView; - t.option = option; - t.trigger = trigger; - - - // imports - EventManager.call(t, options, eventSources); - var isFetchNeeded = t.isFetchNeeded; - var fetchEvents = t.fetchEvents; - - ResourceManager.call(t, options); - - // locals - var _element = element[0]; - var header; - var headerElement; - var content; - var tm; // for making theme classes - var currentView; - var elementOuterWidth; - var suggestedViewHeight; - var resizeUID = 0; - var ignoreWindowResize = 0; - var date = new Date(); - var events = []; - var _dragElement; - - - - /* Main Rendering - -----------------------------------------------------------------------------*/ - - - setYMD(date, options.year, options.month, options.date); - - - function render(inc) { - if (!content) { - initialRender(); - } - else if (elementVisible()) { - // mainly for the public API - calcSize(); - _renderView(inc); - } - } - - - function initialRender() { - tm = options.theme ? 'ui' : 'fc'; - element.addClass('fc'); - if (options.isRTL) { - element.addClass('fc-rtl'); - } - else { - element.addClass('fc-ltr'); - } - if (options.theme) { - element.addClass('ui-widget'); - } - - content = $("
") - .prependTo(element); - - header = new Header(t, options); - headerElement = header.render(); - if (headerElement) { - element.prepend(headerElement); - } - - changeView(options.defaultView); - - if (options.handleWindowResize) { - $(window).resize(windowResize); - } - - // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize - if (!bodyVisible()) { - lateRender(); - } - } - - - // called when we know the calendar couldn't be rendered when it was initialized, - // but we think it's ready now - function lateRender() { - setTimeout(function() { // IE7 needs this so dimensions are calculated correctly - if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once - renderView(); - } - },0); - } - - - function destroy() { - - if (currentView) { - trigger('viewDestroy', currentView, currentView, currentView.element); - currentView.triggerEventDestroy(); - } - - $(window).unbind('resize', windowResize); - - header.destroy(); - content.remove(); - element.removeClass('fc fc-rtl ui-widget'); - } - - - function elementVisible() { - return element.is(':visible'); - } - - - function bodyVisible() { - return $('body').is(':visible'); - } - - - - /* View Rendering - -----------------------------------------------------------------------------*/ - - - function changeView(newViewName) { - if (!currentView || newViewName != currentView.name) { - _changeView(newViewName); - } - } - - - function _changeView(newViewName) { - ignoreWindowResize++; - - if (currentView) { - trigger('viewDestroy', currentView, currentView, currentView.element); - unselect(); - currentView.triggerEventDestroy(); // trigger 'eventDestroy' for each event - freezeContentHeight(); - currentView.element.remove(); - header.deactivateButton(currentView.name); - } - - header.activateButton(newViewName); - - currentView = new fcViews[newViewName]( - $("
") - .appendTo(content), - t // the calendar object - ); - - renderView(); - unfreezeContentHeight(); - - ignoreWindowResize--; - } - - - function renderView(inc) { - if ( - !currentView.start || // never rendered before - inc || date < currentView.start || date >= currentView.end // or new date range - ) { - if (elementVisible()) { - _renderView(inc); - } - } - } - - - function _renderView(inc) { // assumes elementVisible - ignoreWindowResize++; - - if (currentView.start) { // already been rendered? - trigger('viewDestroy', currentView, currentView, currentView.element); - unselect(); - clearEvents(); - } - - freezeContentHeight(); - currentView.render(date, inc || 0); // the view's render method ONLY renders the skeleton, nothing else - setSize(); - unfreezeContentHeight(); - (currentView.afterRender || noop)(); - - updateTitle(); - updateTodayButton(); - - trigger('viewRender', currentView, currentView, currentView.element); - currentView.trigger('viewDisplay', _element); // deprecated - - ignoreWindowResize--; - - getAndRenderEvents(); - } - - - - /* Resizing - -----------------------------------------------------------------------------*/ - - - function updateSize() { - if (elementVisible()) { - unselect(); - clearEvents(); - calcSize(); - setSize(); - renderEvents(); - } - } - - - function calcSize() { // assumes elementVisible - if (options.contentHeight) { - suggestedViewHeight = options.contentHeight; - } - else if (options.height) { - suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content); - } - else { - suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5)); - } - } - - - function setSize() { // assumes elementVisible - - if (suggestedViewHeight === undefined) { - calcSize(); // for first time - // NOTE: we don't want to recalculate on every renderView because - // it could result in oscillating heights due to scrollbars. - } - - ignoreWindowResize++; - currentView.setHeight(suggestedViewHeight); - currentView.setWidth(content.width()); - ignoreWindowResize--; - - elementOuterWidth = element.outerWidth(); - } - - - function windowResize() { - if (!ignoreWindowResize) { - if (currentView.start) { // view has already been rendered - var uid = ++resizeUID; - setTimeout(function() { // add a delay - if (uid == resizeUID && !ignoreWindowResize && elementVisible()) { - if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) { - ignoreWindowResize++; // in case the windowResize callback changes the height - updateSize(); - currentView.trigger('windowResize', _element); - ignoreWindowResize--; - } - } - }, 200); - }else{ - // calendar must have been initialized in a 0x0 iframe that has just been resized - lateRender(); - } - } - } - - - - /* Event Fetching/Rendering - -----------------------------------------------------------------------------*/ - // TODO: going forward, most of this stuff should be directly handled by the view - - function refetchEvents() { // can be called as an API method - clearEvents(); - fetchAndRenderEvents(); - } - - - function rerenderEvents(modifiedEventID) { // can be called as an API method - clearEvents(); - renderEvents(modifiedEventID); - } - - - function renderEvents(modifiedEventID) { // TODO: remove modifiedEventID hack - if (elementVisible()) { - currentView.setEventData(events); // for View.js, TODO: unify with renderEvents - currentView.renderEvents(events, modifiedEventID); // actually render the DOM elements - currentView.trigger('eventAfterAllRender'); - } - } - - - function clearEvents() { - currentView.triggerEventDestroy(); // trigger 'eventDestroy' for each event - currentView.clearEvents(); // actually remove the DOM elements - currentView.clearEventData(); // for View.js, TODO: unify with clearEvents - } - - - function getAndRenderEvents() { - if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) { - fetchAndRenderEvents(); - } - else { - renderEvents(); - } - } - - - function fetchAndRenderEvents() { - fetchEvents(currentView.visStart, currentView.visEnd); - // ... will call reportEvents - // ... which will call renderEvents - } - - - // called when event data arrives - function reportEvents(_events) { - events = _events; - renderEvents(); - } - - - // called when a single event's data has been changed - function reportEventChange(eventID) { - rerenderEvents(eventID); - } - - - - /* Header Updating - -----------------------------------------------------------------------------*/ - - - function updateTitle() { - header.updateTitle(currentView.title); - } - - - function updateTodayButton() { - var today = new Date(); - if (today >= currentView.start && today < currentView.end) { - header.disableButton('today'); - } - else { - header.enableButton('today'); - } - } - - - - /* Selection - -----------------------------------------------------------------------------*/ - - - function select(start, end, allDay) { - currentView.select(start, end, allDay===undefined ? true : allDay); - } - - - function unselect() { // safe to be called before renderView - if (currentView) { - currentView.unselect(); - } - } - - - - /* Date - -----------------------------------------------------------------------------*/ - - - function prev() { - renderView(-1); - } - - - function next() { - renderView(1); - } - - - function prevYear() { - addYears(date, -1); - renderView(); - } - - - function nextYear() { - addYears(date, 1); - renderView(); - } - - - function today() { - date = new Date(); - renderView(); - } - - - function gotoDate(year, month, dateOfMonth) { - if (year instanceof Date) { - date = cloneDate(year); // provided 1 argument, a Date - }else{ - setYMD(date, year, month, dateOfMonth); - } - renderView(); - } - - - function incrementDate(years, months, days) { - if (years !== undefined) { - addYears(date, years); - } - if (months !== undefined) { - addMonths(date, months); - } - if (days !== undefined) { - addDays(date, days); - } - renderView(); - } - - - function getDate() { - return cloneDate(date); - } - - - - /* Height "Freezing" - -----------------------------------------------------------------------------*/ - - - function freezeContentHeight() { - content.css({ - width: '100%', - height: content.height(), - overflow: 'hidden' - }); - } - - - function unfreezeContentHeight() { - content.css({ - width: '', - height: '', - overflow: '' - }); - } - - - - /* Misc - -----------------------------------------------------------------------------*/ - - - function getView() { - return currentView; - } - - - function option(name, value) { - if (value === undefined) { - return options[name]; - } - if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') { - options[name] = value; - updateSize(); - } - } - - - function trigger(name, thisObj) { - if (options[name]) { - return options[name].apply( - thisObj || _element, - Array.prototype.slice.call(arguments, 2) - ); - } - } - - - - /* External Dragging - ------------------------------------------------------------------------*/ - - if (options.droppable) { - $(document) - .bind('dragstart', function(ev, ui) { - var _e = ev.target; - var e = $(_e); - if (!e.parents('.fc').length) { // not already inside a calendar - var accept = options.dropAccept; - if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) { - _dragElement = _e; - currentView.dragStart(_dragElement, ev, ui); - } - } - }) - .bind('dragstop', function(ev, ui) { - if (_dragElement) { - currentView.dragStop(_dragElement, ev, ui); - _dragElement = null; - } - }); - } - - -} - -;; - -function Header(calendar, options) { - var t = this; - - - // exports - t.render = render; - t.destroy = destroy; - t.updateTitle = updateTitle; - t.activateButton = activateButton; - t.deactivateButton = deactivateButton; - t.disableButton = disableButton; - t.enableButton = enableButton; - - - // locals - var element = $([]); - var tm; - - - - function render() { - tm = options.theme ? 'ui' : 'fc'; - var sections = options.header; - if (sections) { - element = $("") - .append( - $("") - .append(renderSection('left')) - .append(renderSection('center')) - .append(renderSection('right')) - ); - return element; - } - } - - - function destroy() { - element.remove(); - } - - - function renderSection(position) { - var e = $(""; - - if (showWeekNumbers) { - html += - ""; - } - - for (col=0; col" + - htmlEscape(formatDate(date, colFormat)) + - ""; - } - - html += ""; - - return html; - } - - - function buildBodyHTML() { - var contentClass = tm + "-widget-content"; - var html = ''; - var row; - var col; - var date; - - html += ""; - - for (row=0; row" + - "
" + - htmlEscape(formatDate(date, weekNumberFormat)) + - "
" + - ""; - } - - for (col=0; col" + - "
"; - - if (showNumbers) { - html += "
" + date.getDate() + "
"; - } - - html += - "
" + - "
 
" + - "
" + - "
" + - ""; - - return html; - } - - - - /* Dimensions - -----------------------------------------------------------*/ - - - function setHeight(height) { - viewHeight = height; - - var bodyHeight = viewHeight - head.height(); - var rowHeight; - var rowHeightLast; - var cell; - - if (opt('weekMode') == 'variable') { - rowHeight = rowHeightLast = Math.floor(bodyHeight / (rowCnt==1 ? 2 : 6)); - }else{ - rowHeight = Math.floor(bodyHeight / rowCnt); - rowHeightLast = bodyHeight - rowHeight * (rowCnt-1); - } - - bodyFirstCells.each(function(i, _cell) { - if (i < rowCnt) { - cell = $(_cell); - cell.find('> div').css( - 'min-height', - (i==rowCnt-1 ? rowHeightLast : rowHeight) - vsides(cell) - ); - } - }); - - } - - - function setWidth(width) { - viewWidth = width; - colPositions.clear(); - colContentPositions.clear(); - - weekNumberWidth = 0; - if (showWeekNumbers) { - weekNumberWidth = head.find('th.fc-week-number').outerWidth(); - } - - colWidth = Math.floor((viewWidth - weekNumberWidth) / colCnt); - setOuterWidth(headCells.slice(0, -1), colWidth); - } - - - - /* Day clicking and binding - -----------------------------------------------------------*/ - - - function dayBind(days) { - days.click(dayClick) - .mousedown(daySelectionMousedown); - } - - - function dayClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var date = parseISO8601($(this).data('date')); - trigger('dayClick', this, date, true, ev); - } - } - - - - /* Semi-transparent Overlay Helpers - ------------------------------------------------------*/ - // TODO: should be consolidated with AgendaView's methods - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - - var segments = rangeToSegments(overlayStart, overlayEnd); - - for (var i=0; i") - .appendTo(element); - - if (opt('allDaySlot')) { - - daySegmentContainer = - $("
") - .appendTo(slotLayer); - - s = - "
"); - var buttonStr = options.header[position]; - if (buttonStr) { - $.each(buttonStr.split(' '), function(i) { - if (i > 0) { - e.append(""); - } - var prevButton; - $.each(this.split(','), function(j, buttonName) { - if (buttonName == 'title') { - e.append("

 

"); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - prevButton = null; - }else{ - var buttonClick; - if (calendar[buttonName]) { - buttonClick = calendar[buttonName]; // calendar method - } - else if (fcViews[buttonName]) { - buttonClick = function() { - button.removeClass(tm + '-state-hover'); // forget why - calendar.changeView(buttonName); - }; - } - if (buttonClick) { - var icon = options.theme ? smartProperty(options.buttonIcons, buttonName) : null; // why are we using smartProperty here? - var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here? - var button = $( - "" + - (icon ? - "" + - "" + - "" : - text - ) + - "" - ) - .click(function() { - if (!button.hasClass(tm + '-state-disabled')) { - buttonClick(); - } - }) - .mousedown(function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-down'); - }) - .mouseup(function() { - button.removeClass(tm + '-state-down'); - }) - .hover( - function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-hover'); - }, - function() { - button - .removeClass(tm + '-state-hover') - .removeClass(tm + '-state-down'); - } - ) - .appendTo(e); - disableTextSelection(button); - if (!prevButton) { - button.addClass(tm + '-corner-left'); - } - prevButton = button; - } - } - }); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - }); - } - return e; - } - - - function updateTitle(html) { - element.find('h2') - .html(html); - } - - - function activateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-active'); - } - - - function deactivateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-active'); - } - - - function disableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-disabled'); - } - - - function enableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-disabled'); - } - - -} - -;; -/// - -fc.sourceNormalizers = []; -fc.sourceFetchers = []; - -var ajaxDefaults = { - dataType: 'json', - cache: false -}; - -var eventGUID = 1; - - -function EventManager(options, _sources) { - var t = this; - - - // exports - t.isFetchNeeded = isFetchNeeded; - t.fetchEvents = fetchEvents; - t.addEventSource = addEventSource; - t.removeEventSource = removeEventSource; - t.updateEvent = updateEvent; - t.renderEvent = renderEvent; - t.removeEvents = removeEvents; - t.clientEvents = clientEvents; - t.normalizeEvent = normalizeEvent; - - - // imports - var trigger = t.trigger; - var getView = t.getView; - var reportEvents = t.reportEvents; - - - // locals - var stickySource = { events: [] }; - var sources = [ stickySource ]; - var rangeStart, rangeEnd; - var currentFetchID = 0; - var pendingSourceCnt = 0; - var loadingLevel = 0; - var cache = []; - - - for (var i=0; i<_sources.length; i++) { - _addEventSource(_sources[i]); - } - - - - /* Fetching - -----------------------------------------------------------------------------*/ - - - function isFetchNeeded(start, end) { - return !rangeStart || start < rangeStart || end > rangeEnd; - } - - - function fetchEvents(start, end) { - rangeStart = start; - rangeEnd = end; - cache = []; - var fetchID = ++currentFetchID; - var len = sources.length; - pendingSourceCnt = len; - for (var i=0; i)), return null instead - return null; -} - - -function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false - // derived from http://delete.me.uk/2005/03/iso8601.html - // TODO: for a know glitch/feature, read tests/issue_206_parseDate_dst.html - var m = s.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/); - if (!m) { - return null; - } - var date = new Date(m[1], 0, 1); - if (ignoreTimezone || !m[13]) { - var check = new Date(m[1], 0, 1, 9, 0); - if (m[3]) { - date.setMonth(m[3] - 1); - check.setMonth(m[3] - 1); - } - if (m[5]) { - date.setDate(m[5]); - check.setDate(m[5]); - } - fixDate(date, check); - if (m[7]) { - date.setHours(m[7]); - } - if (m[8]) { - date.setMinutes(m[8]); - } - if (m[10]) { - date.setSeconds(m[10]); - } - if (m[12]) { - date.setMilliseconds(Number("0." + m[12]) * 1000); - } - fixDate(date, check); - }else{ - date.setUTCFullYear( - m[1], - m[3] ? m[3] - 1 : 0, - m[5] || 1 - ); - date.setUTCHours( - m[7] || 0, - m[8] || 0, - m[10] || 0, - m[12] ? Number("0." + m[12]) * 1000 : 0 - ); - if (m[14]) { - var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0); - offset *= m[15] == '-' ? 1 : -1; - date = new Date(+date + (offset * 60 * 1000)); - } - } - return date; -} - - -function parseTime(s) { // returns minutes since start of day - if (typeof s == 'number') { // an hour - return s * 60; - } - if (typeof s == 'object') { // a Date object - return s.getHours() * 60 + s.getMinutes(); - } - var m = s.match(/(\d+)(?::(\d+))?\s*(\w+)?/); - if (m) { - var h = parseInt(m[1], 10); - if (m[3]) { - h %= 12; - if (m[3].toLowerCase().charAt(0) == 'p') { - h += 12; - } - } - return h * 60 + (m[2] ? parseInt(m[2], 10) : 0); - } -} - - - -/* Date Formatting ------------------------------------------------------------------------------*/ -// TODO: use same function formatDate(date, [date2], format, [options]) - - -function formatDate(date, format, options) { - return formatDates(date, null, format, options); -} - - -function formatDates(date1, date2, format, options) { - options = options || defaults; - var date = date1, - otherDate = date2, - i, len = format.length, c, - i2, formatter, - res = ''; - for (i=0; ii; i2--) { - if (formatter = dateFormatters[format.substring(i, i2)]) { - if (date) { - res += formatter(date, options); - } - i = i2 - 1; - break; - } - } - if (i2 == i) { - if (date) { - res += c; - } - } - } - } - return res; -}; - - -var dateFormatters = { - s : function(d) { return d.getSeconds() }, - ss : function(d) { return zeroPad(d.getSeconds()) }, - m : function(d) { return d.getMinutes() }, - mm : function(d) { return zeroPad(d.getMinutes()) }, - h : function(d) { return d.getHours() % 12 || 12 }, - hh : function(d) { return zeroPad(d.getHours() % 12 || 12) }, - H : function(d) { return d.getHours() }, - HH : function(d) { return zeroPad(d.getHours()) }, - d : function(d) { return d.getDate() }, - dd : function(d) { return zeroPad(d.getDate()) }, - ddd : function(d,o) { return o.dayNamesShort[d.getDay()] }, - dddd: function(d,o) { return o.dayNames[d.getDay()] }, - M : function(d) { return d.getMonth() + 1 }, - MM : function(d) { return zeroPad(d.getMonth() + 1) }, - MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] }, - MMMM: function(d,o) { return o.monthNames[d.getMonth()] }, - yy : function(d) { return (d.getFullYear()+'').substring(2) }, - yyyy: function(d) { return d.getFullYear() }, - t : function(d) { return d.getHours() < 12 ? 'a' : 'p' }, - tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' }, - T : function(d) { return d.getHours() < 12 ? 'A' : 'P' }, - TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' }, - u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") }, - S : function(d) { - var date = d.getDate(); - if (date > 10 && date < 20) { - return 'th'; - } - return ['st', 'nd', 'rd'][date%10-1] || 'th'; - }, - w : function(d, o) { // local - return o.weekNumberCalculation(d); - }, - W : function(d) { // ISO - return iso8601Week(d); - } -}; -fc.dateFormatters = dateFormatters; - - -/* thanks jQuery UI (https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js) - * - * Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. - * `date` - the date to get the week for - * `number` - the number of the week within the year that contains this date - */ -function iso8601Week(date) { - var time; - var checkDate = new Date(date.getTime()); - - // Find Thursday of this week starting on Monday - checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); - - time = checkDate.getTime(); - checkDate.setMonth(0); // Compare with Jan 1 - checkDate.setDate(1); - return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; -} - - -;; - -fc.applyAll = applyAll; - - -/* Event Date Math ------------------------------------------------------------------------------*/ - - -function exclEndDay(event) { - if (event.end) { - return _exclEndDay(event.end, event.allDay); - }else{ - return addDays(cloneDate(event.start), 1); - } -} - - -function _exclEndDay(end, allDay) { - end = cloneDate(end); - return allDay || end.getHours() || end.getMinutes() ? addDays(end, 1) : clearTime(end); - // why don't we check for seconds/ms too? -} - - - -/* Event Element Binding ------------------------------------------------------------------------------*/ - - -function lazySegBind(container, segs, bindHandlers) { - container.unbind('mouseover').mouseover(function(ev) { - var parent=ev.target, e, - i, seg; - while (parent != this) { - e = parent; - parent = parent.parentNode; - } - if ((i = e._fci) !== undefined) { - e._fci = undefined; - seg = segs[i]; - bindHandlers(seg.event, seg.element, seg); - $(ev.target).trigger(ev); - } - ev.stopPropagation(); - }); -} - - - -/* Element Dimensions ------------------------------------------------------------------------------*/ - - -function setOuterWidth(element, width, includeMargins) { - for (var i=0, e; i=0; i--) { - res = obj[parts[i].toLowerCase()]; - if (res !== undefined) { - return res; - } - } - return obj['']; -} - - -function htmlEscape(s) { - return s.replace(/&/g, '&') - .replace(//g, '>') - .replace(/'/g, ''') - .replace(/"/g, '"') - .replace(/\n/g, '
'); -} - - -function disableTextSelection(element) { - element - .attr('unselectable', 'on') - .css('MozUserSelect', 'none') - .bind('selectstart.ui', function() { return false; }); -} - - -/* -function enableTextSelection(element) { - element - .attr('unselectable', 'off') - .css('MozUserSelect', '') - .unbind('selectstart.ui'); -} -*/ - - -function markFirstLast(e) { - e.children() - .removeClass('fc-first fc-last') - .filter(':first-child') - .addClass('fc-first') - .end() - .filter(':last-child') - .addClass('fc-last'); -} - - -function setDayID(cell, date) { - cell.each(function(i, _cell) { - _cell.className = _cell.className.replace(/^fc-\w*/, 'fc-' + dayIDs[date.getDay()]); - // TODO: make a way that doesn't rely on order of classes - }); -} - - -function getSkinCss(event, opt) { - var source = event.source || {}; - var eventColor = event.color; - var sourceColor = source.color; - var optionColor = opt('eventColor'); - var backgroundColor = - event.backgroundColor || - eventColor || - source.backgroundColor || - sourceColor || - opt('eventBackgroundColor') || - optionColor; - var borderColor = - event.borderColor || - eventColor || - source.borderColor || - sourceColor || - opt('eventBorderColor') || - optionColor; - var textColor = - event.textColor || - source.textColor || - opt('eventTextColor'); - var statements = []; - if (backgroundColor) { - statements.push('background-color:' + backgroundColor); - } - if (borderColor) { - statements.push('border-color:' + borderColor); - } - if (textColor) { - statements.push('color:' + textColor); - } - return statements.join(';'); -} - - -function applyAll(functions, thisObj, args) { - if ($.isFunction(functions)) { - functions = [ functions ]; - } - if (functions) { - var i; - var ret; - for (i=0; i") - .appendTo(element); - } - - - function buildTable() { - var html = buildTableHTML(); - - if (table) { - table.remove(); - } - table = $(html).appendTo(element); - - head = table.find('thead'); - headCells = head.find('.fc-day-header'); - body = table.find('tbody'); - bodyRows = body.find('tr'); - bodyCells = body.find('.fc-day'); - bodyFirstCells = bodyRows.find('td:first-child'); - - firstRowCellInners = bodyRows.eq(0).find('.fc-day > div'); - firstRowCellContentInners = bodyRows.eq(0).find('.fc-day-content > div'); - - markFirstLast(head.add(head.find('tr'))); // marks first+last tr/th's - markFirstLast(bodyRows); // marks first+last td's - bodyRows.eq(0).addClass('fc-first'); - bodyRows.filter(':last').addClass('fc-last'); - - bodyCells.each(function(i, _cell) { - var date = cellToDate( - Math.floor(i / colCnt), - i % colCnt - ); - trigger('dayRender', t, date, $(_cell)); - }); - - dayBind(bodyCells); - } - - - - /* HTML Building - -----------------------------------------------------------*/ - - - function buildTableHTML() { - var html = - "" + - buildHeadHTML() + - buildBodyHTML() + - "
"; - - return html; - } - - - function buildHeadHTML() { - var headerClass = tm + "-widget-header"; - var html = ''; - var col; - var date; - - html += "
" + - htmlEscape(weekNumberTitle) + - "
" + - "" + - "" + - "" + - "" + - "" + - "
" + opt('allDayText') + "" + - "
" + - "
 
"; - allDayTable = $(s).appendTo(slotLayer); - allDayRow = allDayTable.find('tr'); - - dayBind(allDayRow.find('td')); - - slotLayer.append( - "
" + - "
" + - "
" - ); - - }else{ - - daySegmentContainer = $([]); // in jQuery 1.4, we can just do $() - - } - - slotScroller = - $("
") - .appendTo(slotLayer); - - slotContainer = - $("
") - .appendTo(slotScroller); - - slotSegmentContainer = - $("
") - .appendTo(slotContainer); - - s = - "" + - ""; - d = zeroDate(); - maxd = addMinutes(cloneDate(d), maxMinute); - addMinutes(d, minMinute); - slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); - s += - "" + - "" + - "" + - ""; - addMinutes(d, opt('slotMinutes')); - slotCnt++; - } - s += - "" + - "
" + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + - "" + - "
 
" + - "
"; - slotTable = $(s).appendTo(slotContainer); - slotTableFirstInner = slotTable.find('div:first'); - - slotBind(slotTable.find('td')); - } - - - - /* Build Day Table - -----------------------------------------------------------------------*/ - - - function buildDayTable() { - var html = buildDayTableHTML(); - - if (dayTable) { - dayTable.remove(); - } - dayTable = $(html).appendTo(element); - - dayHead = dayTable.find('thead'); - dayHeadCells = dayHead.find('th').slice(1, -1); // exclude gutter - dayBody = dayTable.find('tbody'); - dayBodyCells = dayBody.find('td').slice(0, -1); // exclude gutter - dayBodyCellInners = dayBodyCells.find('> div'); - dayBodyCellContentInners = dayBodyCells.find('.fc-day-content > div'); - - dayBodyFirstCell = dayBodyCells.eq(0); - dayBodyFirstCellStretcher = dayBodyCellInners.eq(0); - - markFirstLast(dayHead.add(dayHead.find('tr'))); - markFirstLast(dayBody.add(dayBody.find('tr'))); - - // TODO: now that we rebuild the cells every time, we should call dayRender - } - - - function buildDayTableHTML() { - var html = - "" + - buildDayTableHeadHTML() + - buildDayTableBodyHTML() + - "
"; - - return html; - } - - - function buildDayTableHeadHTML() { - var headerClass = tm + "-widget-header"; - var date; - var html = ''; - var weekText; - var col; - - html += - "" + - ""; - - if (showWeekNumbers) { - weekText = formatDate(date, weekNumberFormat); - if (rtl) { - weekText += weekNumberTitle; - } - else { - weekText = weekNumberTitle + weekText; - } - html += - "" + - htmlEscape(weekText) + - ""; - } - else { - html += " "; - } - - for (col=0; col" + - htmlEscape(formatDate(date, colFormat)) + - ""; - } - - html += - " " + - "" + - ""; - - return html; - } - - - function buildDayTableBodyHTML() { - var headerClass = tm + "-widget-header"; // TODO: make these when updateOptions() called - var contentClass = tm + "-widget-content"; - var date; - var today = clearTime(new Date()); - var col; - var cellsHTML; - var cellHTML; - var classNames; - var html = ''; - - html += - "" + - "" + - " "; - - cellsHTML = ''; - - for (col=0; col" + - "
" + - "
" + - "
 
" + - "
" + - "
" + - ""; - - cellsHTML += cellHTML; - } - - html += cellsHTML; - html += - " " + - "" + - ""; - - return html; - } - - - // TODO: data-date on the cells - - - - /* Dimensions - -----------------------------------------------------------------------*/ - - - function setHeight(height) { - if (height === undefined) { - height = viewHeight; - } - viewHeight = height; - slotTopCache = {}; - - var headHeight = dayBody.position().top; - var allDayHeight = slotScroller.position().top; // including divider - var bodyHeight = Math.min( // total body height, including borders - height - headHeight, // when scrollbars - slotTable.height() + allDayHeight + 1 // when no scrollbars. +1 for bottom border - ); - - dayBodyFirstCellStretcher - .height(bodyHeight - vsides(dayBodyFirstCell)); - - slotLayer.css('top', headHeight); - - slotScroller.height(bodyHeight - allDayHeight - 1); - - slotHeight = slotTableFirstInner.height() + 1; // +1 for border - - snapRatio = opt('slotMinutes') / snapMinutes; - snapHeight = slotHeight / snapRatio; - } - - - function setWidth(width) { - viewWidth = width; - colPositions.clear(); - colContentPositions.clear(); - - var axisFirstCells = dayHead.find('th:first'); - if (allDayTable) { - axisFirstCells = axisFirstCells.add(allDayTable.find('th:first')); - } - axisFirstCells = axisFirstCells.add(slotTable.find('th:first')); - - axisWidth = 0; - setOuterWidth( - axisFirstCells - .width('') - .each(function(i, _cell) { - axisWidth = Math.max(axisWidth, $(_cell).outerWidth()); - }), - axisWidth - ); - - var gutterCells = dayTable.find('.fc-agenda-gutter'); - if (allDayTable) { - gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter')); - } - - var slotTableWidth = slotScroller[0].clientWidth; // needs to be done after axisWidth (for IE7) - - gutterWidth = slotScroller.width() - slotTableWidth; - if (gutterWidth) { - setOuterWidth(gutterCells, gutterWidth); - gutterCells - .show() - .prev() - .removeClass('fc-last'); - }else{ - gutterCells - .hide() - .prev() - .addClass('fc-last'); - } - - colWidth = Math.floor((slotTableWidth - axisWidth) / colCnt); - setOuterWidth(dayHeadCells.slice(0, -1), colWidth); - } - - - - /* Scrolling - -----------------------------------------------------------------------*/ - - - function resetScroll() { - var d0 = zeroDate(); - var scrollDate = cloneDate(d0); - scrollDate.setHours(opt('firstHour')); - var top = timePosition(d0, scrollDate) + 1; // +1 for the border - function scroll() { - slotScroller.scrollTop(top); - } - scroll(); - setTimeout(scroll, 0); // overrides any previous scroll state made by the browser - } - - - function afterRender() { // after the view has been freshly rendered and sized - resetScroll(); - } - - - - /* Slot/Day clicking and binding - -----------------------------------------------------------------------*/ - - - function dayBind(cells) { - cells.click(slotClick) - .mousedown(daySelectionMousedown); - } - - - function slotBind(cells) { - cells.click(slotClick) - .mousedown(slotSelectionMousedown); - } - - - function slotClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var col = Math.min(colCnt-1, Math.floor((ev.pageX - dayTable.offset().left - axisWidth) / colWidth)); - var date = cellToDate(0, col); - var rowMatch = this.parentNode.className.match(/fc-slot(\d+)/); // TODO: maybe use data - if (rowMatch) { - var mins = parseInt(rowMatch[1]) * opt('slotMinutes'); - var hours = Math.floor(mins/60); - date.setHours(hours); - date.setMinutes(mins%60 + minMinute); - trigger('dayClick', dayBodyCells[col], date, false, ev); - }else{ - trigger('dayClick', dayBodyCells[col], date, true, ev); - } - } - } - - - - /* Semi-transparent Overlay Helpers - -----------------------------------------------------*/ - // TODO: should be consolidated with BasicView's methods - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - - var segments = rangeToSegments(overlayStart, overlayEnd); - - for (var i=0; i= 0) { - addMinutes(d, minMinute + slotIndex * snapMinutes); - } - return d; - } - - - // get the Y coordinate of the given time on the given day (both Date objects) - function timePosition(day, time) { // both date objects. day holds 00:00 of current day - day = cloneDate(day, true); - if (time < addMinutes(cloneDate(day), minMinute)) { - return 0; - } - if (time >= addMinutes(cloneDate(day), maxMinute)) { - return slotTable.height(); - } - var slotMinutes = opt('slotMinutes'), - minutes = time.getHours()*60 + time.getMinutes() - minMinute, - slotI = Math.floor(minutes / slotMinutes), - slotTop = slotTopCache[slotI]; - if (slotTop === undefined) { - slotTop = slotTopCache[slotI] = - slotTable.find('tr').eq(slotI).find('td div')[0].offsetTop; - // .eq() is faster than ":eq()" selector - // [0].offsetTop is faster than .position().top (do we really need this optimization?) - // a better optimization would be to cache all these divs - } - return Math.max(0, Math.round( - slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes) - )); - } - - - function getAllDayRow(index) { - return allDayRow; - } - - - function defaultEventEnd(event) { - var start = cloneDate(event.start); - if (event.allDay) { - return start; - } - return addMinutes(start, opt('defaultEventMinutes')); - } - - - - /* Selection - ---------------------------------------------------------------------------------*/ - - - function defaultSelectionEnd(startDate, allDay) { - if (allDay) { - return cloneDate(startDate); - } - return addMinutes(cloneDate(startDate), opt('slotMinutes')); - } - - - function renderSelection(startDate, endDate, allDay) { // only for all-day - if (allDay) { - if (opt('allDaySlot')) { - renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true); - } - }else{ - renderSlotSelection(startDate, endDate); - } - } - - - function renderSlotSelection(startDate, endDate) { - var helperOption = opt('selectHelper'); - coordinateGrid.build(); - if (helperOption) { - var col = dateToCell(startDate).col; - if (col >= 0 && col < colCnt) { // only works when times are on same day - var rect = coordinateGrid.rect(0, col, 0, col, slotContainer); // only for horizontal coords - var top = timePosition(startDate, startDate); - var bottom = timePosition(startDate, endDate); - if (bottom > top) { // protect against selections that are entirely before or after visible range - rect.top = top; - rect.height = bottom - top; - rect.left += 2; - rect.width -= 5; - if ($.isFunction(helperOption)) { - var helperRes = helperOption(startDate, endDate); - if (helperRes) { - rect.position = 'absolute'; - selectionHelper = $(helperRes) - .css(rect) - .appendTo(slotContainer); - } - }else{ - rect.isStart = true; // conside rect a "seg" now - rect.isEnd = true; // - selectionHelper = $(slotSegHtml( - { - title: '', - start: startDate, - end: endDate, - className: ['fc-select-helper'], - editable: false - }, - rect - )); - selectionHelper.css('opacity', opt('dragOpacity')); - } - if (selectionHelper) { - slotBind(selectionHelper); - slotContainer.append(selectionHelper); - setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended - setOuterHeight(selectionHelper, rect.height, true); - } - } - } - }else{ - renderSlotOverlay(startDate, endDate); - } - } - - - function clearSelection() { - clearOverlays(); - if (selectionHelper) { - selectionHelper.remove(); - selectionHelper = null; - } - } - - - function slotSelectionMousedown(ev) { - if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button - unselect(ev); - var dates; - hoverListener.start(function(cell, origCell) { - clearSelection(); - if (cell && cell.col == origCell.col && !getIsCellAllDay(cell)) { - var d1 = realCellToDate(origCell); - var d2 = realCellToDate(cell); - dates = [ - d1, - addMinutes(cloneDate(d1), snapMinutes), // calculate minutes depending on selection slot minutes - d2, - addMinutes(cloneDate(d2), snapMinutes) - ].sort(dateCompare); - renderSlotSelection(dates[0], dates[3]); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], false, ev); - } - reportSelection(dates[0], dates[3], false, ev); - } - }); - } - } - - - function reportDayClick(date, allDay, ev) { - trigger('dayClick', dayBodyCells[dateToCell(date).col], date, allDay, ev); - } - - - - /* External Dragging - --------------------------------------------------------------------------------*/ - - - function dragStart(_dragElement, ev, ui) { - hoverListener.start(function(cell) { - clearOverlays(); - if (cell) { - if (getIsCellAllDay(cell)) { - renderCellOverlay(cell.row, cell.col, cell.row, cell.col); - }else{ - var d1 = realCellToDate(cell); - var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes')); - renderSlotOverlay(d1, d2); - } - } - }, ev); - } - - - function dragStop(_dragElement, ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - if (cell) { - trigger('drop', _dragElement, realCellToDate(cell), getIsCellAllDay(cell), ev, ui); - } - } - - -} - -;; - -function AgendaEventRenderer() { - var t = this; - - - // exports - t.renderEvents = renderEvents; - t.clearEvents = clearEvents; - t.slotSegHtml = slotSegHtml; - - - // imports - DayEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - var isEventDraggable = t.isEventDraggable; - var isEventResizable = t.isEventResizable; - var eventEnd = t.eventEnd; - var eventElementHandlers = t.eventElementHandlers; - var setHeight = t.setHeight; - var getDaySegmentContainer = t.getDaySegmentContainer; - var getSlotSegmentContainer = t.getSlotSegmentContainer; - var getHoverListener = t.getHoverListener; - var getMaxMinute = t.getMaxMinute; - var getMinMinute = t.getMinMinute; - var timePosition = t.timePosition; - var getIsCellAllDay = t.getIsCellAllDay; - var colContentLeft = t.colContentLeft; - var colContentRight = t.colContentRight; - var cellToDate = t.cellToDate; - var segmentCompare = t.segmentCompare; - var getColCnt = t.getColCnt; - var getColWidth = t.getColWidth; - var getSnapHeight = t.getSnapHeight; - var getSnapMinutes = t.getSnapMinutes; - var getSlotContainer = t.getSlotContainer; - var reportEventElement = t.reportEventElement; - var showEvents = t.showEvents; - var hideEvents = t.hideEvents; - var eventDrop = t.eventDrop; - var eventResize = t.eventResize; - var renderDayOverlay = t.renderDayOverlay; - var clearOverlays = t.clearOverlays; - var renderDayEvents = t.renderDayEvents; - var calendar = t.calendar; - var formatDate = calendar.formatDate; - var formatDates = calendar.formatDates; - - - // overrides - t.draggableDayEvent = draggableDayEvent; - - - - /* Rendering - ----------------------------------------------------------------------------*/ - - - function renderEvents(events, modifiedEventId) { - var i, len=events.length, - dayEvents=[], - slotEvents=[]; - for (i=0; i start && eventStart < end) { - if (eventStart < start) { - segStart = cloneDate(start); - isStart = false; - }else{ - segStart = eventStart; - isStart = true; - } - if (eventEnd > end) { - segEnd = cloneDate(end); - isEnd = false; - }else{ - segEnd = eventEnd; - isEnd = true; - } - segs.push({ - event: event, - start: segStart, - end: segEnd, - isStart: isStart, - isEnd: isEnd, - msLength: segEnd - segStart - }); - } - } - return segs.sort(segmentCompare); - } - - - function slotEventEnd(event) { - if (event.end) { - return cloneDate(event.end); - }else{ - return addMinutes(cloneDate(event.start), opt('defaultEventMinutes')); - } - } - - - // renders events in the 'time slots' at the bottom - // TODO: when we refactor this, when user returns `false` eventRender, don't have empty space - // TODO: refactor will include using pixels to detect collisions instead of dates (handy for seg cmp) - - function renderSlotSegs(segs, modifiedEventId) { - - var i, segCnt=segs.length, seg, - event, - classes, - top, bottom, - colI, levelI, forward, - leftmost, - availWidth, - outerWidth, - left, - html='', - eventElements, - eventElement, - triggerRes, - titleElement, - height, - slotSegmentContainer = getSlotSegmentContainer(), - rtl, dis; - - if (rtl = opt('isRTL')) { - dis = -1; - }else{ - dis = 1; - } - - // calculate position/dimensions, create html - for (i=0; i" + - "
" + - "
" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - "
" + - "
" + - htmlEscape(event.title || '') + - "
" + - "
" + - "
"; - if (seg.isEnd && isEventResizable(event)) { - html += - "
=
"; - } - html += - ""; - return html; - } - - - function bindSlotSeg(event, eventElement, seg) { - var timeElement = eventElement.find('div.fc-event-time'); - if (isEventDraggable(event)) { - draggableSlotEvent(event, eventElement, timeElement); - } - if (seg.isEnd && isEventResizable(event)) { - resizableSlotEvent(event, eventElement, timeElement); - } - eventElementHandlers(event, eventElement); - } - - - - /* Dragging - -----------------------------------------------------------------------------------*/ - - - // when event starts out FULL-DAY - // overrides DayEventRenderer's version because it needs to account for dragging elements - // to and from the slot area. - - function draggableDayEvent(event, eventElement, seg) { - var isStart = seg.isStart; - var origWidth; - var revert; - var allDay = true; - var dayDelta; - var hoverListener = getHoverListener(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - var minMinute = getMinMinute(); - eventElement.draggable({ - opacity: opt('dragOpacity', 'month'), // use whatever the month view was using - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origWidth = eventElement.width(); - hoverListener.start(function(cell, origCell) { - clearOverlays(); - if (cell) { - revert = false; - var origDate = cellToDate(0, origCell.col); - var date = cellToDate(0, cell.col); - dayDelta = dayDiff(date, origDate); - if (!cell.row) { - // on full-days - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - resetElement(); - }else{ - // mouse is over bottom slots - if (isStart) { - if (allDay) { - // convert event to temporary slot-event - eventElement.width(colWidth - 10); // don't use entire width - setOuterHeight( - eventElement, - snapHeight * Math.round( - (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) / - snapMinutes - ) - ); - eventElement.draggable('option', 'grid', [colWidth, 1]); - allDay = false; - } - }else{ - revert = true; - } - } - revert = revert || (allDay && !dayDelta); - }else{ - resetElement(); - revert = true; - } - eventElement.draggable('option', 'revert', revert); - }, ev, 'drag'); - }, - stop: function(ev, ui) { - hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (revert) { - // hasn't moved or is out of bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - showEvents(event, eventElement); - }else{ - // changed! - var minuteDelta = 0; - if (!allDay) { - minuteDelta = Math.round((eventElement.offset().top - getSlotContainer().offset().top) / snapHeight) - * snapMinutes - + minMinute - - (event.start.getHours() * 60 + event.start.getMinutes()); - } - eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui); - } - } - }); - function resetElement() { - if (!allDay) { - eventElement - .width(origWidth) - .height('') - .draggable('option', 'grid', null); - allDay = true; - } - } - } - - - // when event starts out IN TIMESLOTS - - function draggableSlotEvent(event, eventElement, timeElement) { - var coordinateGrid = t.getCoordinateGrid(); - var colCnt = getColCnt(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - - // states - var origPosition; // original position of the element, not the mouse - var origCell; - var isInBounds, prevIsInBounds; - var isAllDay, prevIsAllDay; - var colDelta, prevColDelta; - var dayDelta; // derived from colDelta - var minuteDelta, prevMinuteDelta; - - eventElement.draggable({ - scroll: false, - grid: [ colWidth, snapHeight ], - axis: colCnt==1 ? 'y' : false, - opacity: opt('dragOpacity'), - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - - coordinateGrid.build(); - - // initialize states - origPosition = eventElement.position(); - origCell = coordinateGrid.cell(ev.pageX, ev.pageY); - isInBounds = prevIsInBounds = true; - isAllDay = prevIsAllDay = getIsCellAllDay(origCell); - colDelta = prevColDelta = 0; - dayDelta = 0; - minuteDelta = prevMinuteDelta = 0; - - }, - drag: function(ev, ui) { - - // NOTE: this `cell` value is only useful for determining in-bounds and all-day. - // Bad for anything else due to the discrepancy between the mouse position and the - // element position while snapping. (problem revealed in PR #55) - // - // PS- the problem exists for draggableDayEvent() when dragging an all-day event to a slot event. - // We should overhaul the dragging system and stop relying on jQuery UI. - var cell = coordinateGrid.cell(ev.pageX, ev.pageY); - - // update states - isInBounds = !!cell; - if (isInBounds) { - isAllDay = getIsCellAllDay(cell); - - // calculate column delta - colDelta = Math.round((ui.position.left - origPosition.left) / colWidth); - if (colDelta != prevColDelta) { - // calculate the day delta based off of the original clicked column and the column delta - var origDate = cellToDate(0, origCell.col); - var col = origCell.col + colDelta; - col = Math.max(0, col); - col = Math.min(colCnt-1, col); - var date = cellToDate(0, col); - dayDelta = dayDiff(date, origDate); - } - - // calculate minute delta (only if over slots) - if (!isAllDay) { - minuteDelta = Math.round((ui.position.top - origPosition.top) / snapHeight) * snapMinutes; - } - } - - // any state changes? - if ( - isInBounds != prevIsInBounds || - isAllDay != prevIsAllDay || - colDelta != prevColDelta || - minuteDelta != prevMinuteDelta - ) { - - updateUI(); - - // update previous states for next time - prevIsInBounds = isInBounds; - prevIsAllDay = isAllDay; - prevColDelta = colDelta; - prevMinuteDelta = minuteDelta; - } - - // if out-of-bounds, revert when done, and vice versa. - eventElement.draggable('option', 'revert', !isInBounds); - - }, - stop: function(ev, ui) { - - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - - if (isInBounds && (isAllDay || dayDelta || minuteDelta)) { // changed! - eventDrop(this, event, dayDelta, isAllDay ? 0 : minuteDelta, isAllDay, ev, ui); - } - else { // either no change or out-of-bounds (draggable has already reverted) - - // reset states for next time, and for updateUI() - isInBounds = true; - isAllDay = false; - colDelta = 0; - dayDelta = 0; - minuteDelta = 0; - - updateUI(); - eventElement.css('filter', ''); // clear IE opacity side-effects - - // sometimes fast drags make event revert to wrong position, so reset. - // also, if we dragged the element out of the area because of snapping, - // but the *mouse* is still in bounds, we need to reset the position. - eventElement.css(origPosition); - - showEvents(event, eventElement); - } - } - }); - - function updateUI() { - clearOverlays(); - if (isInBounds) { - if (isAllDay) { - timeElement.hide(); - eventElement.draggable('option', 'grid', null); // disable grid snapping - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - } - else { - updateTimeText(minuteDelta); - timeElement.css('display', ''); // show() was causing display=inline - eventElement.draggable('option', 'grid', [colWidth, snapHeight]); // re-enable grid snapping - } - } - } - - function updateTimeText(minuteDelta) { - var newStart = addMinutes(cloneDate(event.start), minuteDelta); - var newEnd; - if (event.end) { - newEnd = addMinutes(cloneDate(event.end), minuteDelta); - } - timeElement.text(formatDates(newStart, newEnd, opt('timeFormat'))); - } - - } - - - - /* Resizing - --------------------------------------------------------------------------------------*/ - - - function resizableSlotEvent(event, eventElement, timeElement) { - var snapDelta, prevSnapDelta; - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - eventElement.resizable({ - handles: { - s: '.ui-resizable-handle' - }, - grid: snapHeight, - start: function(ev, ui) { - snapDelta = prevSnapDelta = 0; - hideEvents(event, eventElement); - trigger('eventResizeStart', this, event, ev, ui); - }, - resize: function(ev, ui) { - // don't rely on ui.size.height, doesn't take grid into account - snapDelta = Math.round((Math.max(snapHeight, eventElement.height()) - ui.originalSize.height) / snapHeight); - if (snapDelta != prevSnapDelta) { - timeElement.text( - formatDates( - event.start, - (!snapDelta && !event.end) ? null : // no change, so don't display time range - addMinutes(eventEnd(event), snapMinutes*snapDelta), - opt('timeFormat') - ) - ); - prevSnapDelta = snapDelta; - } - }, - stop: function(ev, ui) { - trigger('eventResizeStop', this, event, ev, ui); - if (snapDelta) { - eventResize(this, event, 0, snapMinutes*snapDelta, ev, ui); - }else{ - showEvents(event, eventElement); - // BUG: if event was really short, need to put title back in span - } - } - }); - } - - -} - - - -/* Agenda Event Segment Utilities ------------------------------------------------------------------------------*/ -// TODO: maybe somehow consolidate this with DayEventRenderer's segment system - - -function stackAgendaSegs(segs) { - var levels = [], - i, len = segs.length, seg, - j, collide, k; - for (i=0; i0; i--) { - level = levels[i]; - for (j=0; j seg2.start && seg1.start < seg2.end; -} - - -;; - -fcViews.resourceDay = ResourceDayView; - - -function ResourceDayView(element, calendar) { - var t = this; - - - // exports - t.render = render; - - - // imports - ResourceView.call(t, element, calendar, 'resourceDay'); - var opt = t.opt; - var renderResource = t.renderResource; - var skipHiddenDays = t.skipHiddenDays; - var formatDate = calendar.formatDate; - var getResources = t.getResources; - - - function render(date, delta) { - - if (delta) { - addDays(date, delta); - } - skipHiddenDays(date, delta < 0 ? -1 : 1); - - var start = cloneDate(date, true); - var end = addDays(cloneDate(start), 1); - - t.title = formatDate(date, opt('titleFormat')); - - t.start = t.visStart = start; - t.end = t.visEnd = end; - - renderResource(getResources().length); - } - - -} -;; - -setDefaults({ - allDaySlot: true, - allDayText: 'all-day', - firstHour: 6, - slotMinutes: 30, - defaultEventMinutes: 120, - axisFormat: 'h(:mm)tt', - timeFormat: { - agenda: 'h:mm{ - h:mm}' - }, - dragOpacity: { - agenda: .5 - }, - minTime: 0, - maxTime: 24 -}); - - -// TODO: make it work in quirks mode (event corners, all-day height) -// TODO: test liquid width, especially in IE6 - -function ResourceView(element, calendar, viewName) { - var t = this; - - - // exports - t.renderResource = renderResource; - t.setWidth = setWidth; - t.setHeight = setHeight; - t.afterRender = afterRender; - t.defaultEventEnd = defaultEventEnd; - t.timePosition = timePosition; - t.getIsCellAllDay = getIsCellAllDay; - t.allDayRow = getAllDayRow; - t.getCoordinateGrid = function() { return coordinateGrid }; // specifically for AgendaEventRenderer - t.getHoverListener = function() { return hoverListener }; - t.colLeft = colLeft; - t.colRight = colRight; - t.colContentLeft = colContentLeft; - t.colContentRight = colContentRight; - t.getDaySegmentContainer = function() { return daySegmentContainer }; - t.getSlotSegmentContainer = function() { return slotSegmentContainer }; - t.getMinMinute = function() { return minMinute }; - t.getMaxMinute = function() { return maxMinute }; - t.getSlotContainer = function() { return slotContainer }; - t.getRowCnt = function() { return 1 }; - t.getColCnt = function() { return colCnt }; - t.getColWidth = function() { return colWidth }; - t.getSnapHeight = function() { return snapHeight }; - t.getSnapMinutes = function() { return snapMinutes }; - t.defaultSelectionEnd = defaultSelectionEnd; - t.renderDayOverlay = renderDayOverlay; - t.renderSelection = renderSelection; - t.clearSelection = clearSelection; - t.reportDayClick = reportDayClick; // selection mousedown hack - t.dragStart = dragStart; - t.dragStop = dragStop; - t.getResources = calendar.fetchResources; - - // imports - View.call(t, element, calendar, viewName); - OverlayManager.call(t); - SelectionManager.call(t); - ResourceEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - var renderOverlay = t.renderOverlay; - var clearOverlays = t.clearOverlays; - var reportSelection = t.reportSelection; - var unselect = t.unselect; - var slotSegHtml = t.slotSegHtml; - var cellToDate = t.cellToDate; - var dateToCell = t.dateToCell; - var rangeToSegments = t.rangeToSegments; - var formatDate = calendar.formatDate; - - - // locals - - var dayTable; - var dayHead; - var dayHeadCells; - var dayBody; - var dayBodyCells; - var dayBodyCellInners; - var dayBodyCellContentInners; - var dayBodyFirstCell; - var dayBodyFirstCellStretcher; - var slotLayer; - var daySegmentContainer; - var allDayTable; - var allDayRow; - var slotScroller; - var slotContainer; - var slotSegmentContainer; - var slotTable; - var slotTableFirstInner; - var selectionHelper; - - var viewWidth; - var viewHeight; - var axisWidth; - var colWidth; - var gutterWidth; - var slotHeight; // TODO: what if slotHeight changes? (see issue 650) - - var snapMinutes; - var snapRatio; // ratio of number of "selection" slots to normal slots. (ex: 1, 2, 4) - var snapHeight; // holds the pixel hight of a "selection" slot - - var colCnt; - var slotCnt; - var coordinateGrid; - var hoverListener; - var colPositions; - var colContentPositions; - var slotTopCache = {}; - - var tm; - var rtl; - var minMinute, maxMinute; - var colFormat; - var showWeekNumbers; - var weekNumberTitle; - var weekNumberFormat; - var resources = t.getResources; - - - /* Rendering - -----------------------------------------------------------------------------*/ - - - disableTextSelection(element.addClass('fc-agenda')); - - - function renderResource(c) { - colCnt = c; - updateOptions(); - - if (!dayTable) { // first time rendering? - buildSkeleton(); // builds day table, slot area, events containers - } - else { - buildDayTable(); // rebuilds day table - } - } - - - function updateOptions() { - - tm = opt('theme') ? 'ui' : 'fc'; - rtl = opt('isRTL') - minMinute = parseTime(opt('minTime')); - maxMinute = parseTime(opt('maxTime')); - colFormat = opt('columnFormat'); - - // week # options. (TODO: bad, logic also in other views) - showWeekNumbers = opt('weekNumbers'); - weekNumberTitle = opt('weekNumberTitle'); - if (opt('weekNumberCalculation') != 'iso') { - weekNumberFormat = "w"; - } - else { - weekNumberFormat = "W"; - } - - snapMinutes = opt('snapMinutes') || opt('slotMinutes'); - } - - - - /* Build DOM - -----------------------------------------------------------------------*/ - - - function buildSkeleton() { - var headerClass = tm + "-widget-header"; - var contentClass = tm + "-widget-content"; - var s; - var d; - var i; - var maxd; - var minutes; - var slotNormal = opt('slotMinutes') % 15 == 0; - - buildDayTable(); - - slotLayer = - $("
") - .appendTo(element); - - if (opt('allDaySlot')) { - - daySegmentContainer = - $("
") - .appendTo(slotLayer); - - s = - "" + - "" + - "" + - "" + - "" + - "" + - "
" + opt('allDayText') + "" + - "
" + - "
 
"; - allDayTable = $(s).appendTo(slotLayer); - allDayRow = allDayTable.find('tr'); - - dayBind(allDayRow.find('td')); - - slotLayer.append( - "
" + - "
" + - "
" - ); - - }else{ - - daySegmentContainer = $([]); // in jQuery 1.4, we can just do $() - - } - - slotScroller = - $("
") - .appendTo(slotLayer); - - slotContainer = - $("
") - .appendTo(slotScroller); - - slotSegmentContainer = - $("
") - .appendTo(slotContainer); - - s = - "" + - ""; - d = zeroDate(); - maxd = addMinutes(cloneDate(d), maxMinute); - addMinutes(d, minMinute); - slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); - s += - "" + - "" + - "" + - ""; - addMinutes(d, opt('slotMinutes')); - slotCnt++; - } - s += - "" + - "
" + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + - "" + - "
 
" + - "
"; - slotTable = $(s).appendTo(slotContainer); - slotTableFirstInner = slotTable.find('div:first'); - - slotBind(slotTable.find('td')); - } - - - - /* Build Day Table - -----------------------------------------------------------------------*/ - - - function buildDayTable() { - var html = buildDayTableHTML(); - - if (dayTable) { - dayTable.remove(); - } - dayTable = $(html).appendTo(element); - - dayHead = dayTable.find('thead'); - dayHeadCells = dayHead.find('th').slice(1, -1); // exclude gutter - dayBody = dayTable.find('tbody'); - dayBodyCells = dayBody.find('td').slice(0, -1); // exclude gutter - dayBodyCellInners = dayBodyCells.find('> div'); - dayBodyCellContentInners = dayBodyCells.find('.fc-day-content > div'); - - dayBodyFirstCell = dayBodyCells.eq(0); - dayBodyFirstCellStretcher = dayBodyCellInners.eq(0); - - markFirstLast(dayHead.add(dayHead.find('tr'))); - markFirstLast(dayBody.add(dayBody.find('tr'))); - - // TODO: now that we rebuild the cells every time, we should call dayRender - } - - - function buildDayTableHTML() { - var html = - "" + - buildDayTableHeadHTML() + - buildDayTableBodyHTML() + - "
"; - - return html; - } - - - function buildDayTableHeadHTML() { - var headerClass = tm + "-widget-header"; - var date; - var html = ''; - var weekText; - var col; - - html += - "" + - ""; - - if (showWeekNumbers) { - weekText = formatDate(date, weekNumberFormat); - if (rtl) { - weekText += weekNumberTitle; - } - else { - weekText = weekNumberTitle + weekText; - } - html += - "" + - htmlEscape(weekText) + - ""; - } - else { - html += " "; - } - - for (col=0; col" + - htmlEscape(resources()[col].name) + - ""; - } - - html += - " " + - "" + - ""; - - return html; - } - - - function buildDayTableBodyHTML() { - var headerClass = tm + "-widget-header"; // TODO: make these when updateOptions() called - var contentClass = tm + "-widget-content"; - var date; - var today = clearTime(new Date()); - var col; - var cellsHTML; - var cellHTML; - var classNames; - var html = ''; - - html += - "" + - "" + - " "; - - cellsHTML = ''; - - for (col=0; col" + - "
" + - "
" + - "
 
" + - "
" + - "
" + - ""; - - cellsHTML += cellHTML; - } - - html += cellsHTML; - html += - " " + - "" + - ""; - - return html; - } - - - // TODO: data-date on the cells - - - - /* Dimensions - -----------------------------------------------------------------------*/ - - - function setHeight(height) { - if (height === undefined) { - height = viewHeight; - } - viewHeight = height; - slotTopCache = {}; - - var headHeight = dayBody.position().top; - var allDayHeight = slotScroller.position().top; // including divider - var bodyHeight = Math.min( // total body height, including borders - height - headHeight, // when scrollbars - slotTable.height() + allDayHeight + 1 // when no scrollbars. +1 for bottom border - ); - - dayBodyFirstCellStretcher - .height(bodyHeight - vsides(dayBodyFirstCell)); - - slotLayer.css('top', headHeight); - - slotScroller.height(bodyHeight - allDayHeight - 1); - - slotHeight = slotTableFirstInner.height() + 1; // +1 for border - - snapRatio = opt('slotMinutes') / snapMinutes; - snapHeight = slotHeight / snapRatio; - } - - - function setWidth(width) { - viewWidth = width; - colPositions.clear(); - colContentPositions.clear(); - - var axisFirstCells = dayHead.find('th:first'); - if (allDayTable) { - axisFirstCells = axisFirstCells.add(allDayTable.find('th:first')); - } - axisFirstCells = axisFirstCells.add(slotTable.find('th:first')); - - axisWidth = 0; - setOuterWidth( - axisFirstCells - .width('') - .each(function(i, _cell) { - axisWidth = Math.max(axisWidth, $(_cell).outerWidth()); - }), - axisWidth - ); - - var gutterCells = dayTable.find('.fc-agenda-gutter'); - if (allDayTable) { - gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter')); - } - - var slotTableWidth = slotScroller[0].clientWidth; // needs to be done after axisWidth (for IE7) - - gutterWidth = slotScroller.width() - slotTableWidth; - if (gutterWidth) { - setOuterWidth(gutterCells, gutterWidth); - gutterCells - .show() - .prev() - .removeClass('fc-last'); - }else{ - gutterCells - .hide() - .prev() - .addClass('fc-last'); - } - - colWidth = Math.floor((slotTableWidth - axisWidth) / colCnt); - setOuterWidth(dayHeadCells.slice(0, -1), colWidth); - } - - - - /* Scrolling - -----------------------------------------------------------------------*/ - - - function resetScroll() { - var d0 = zeroDate(); - var scrollDate = cloneDate(d0); - scrollDate.setHours(opt('firstHour')); - var top = timePosition(d0, scrollDate) + 1; // +1 for the border - function scroll() { - slotScroller.scrollTop(top); - } - scroll(); - setTimeout(scroll, 0); // overrides any previous scroll state made by the browser - } - - - function afterRender() { // after the view has been freshly rendered and sized - resetScroll(); - } - - - - /* Slot/Day clicking and binding - -----------------------------------------------------------------------*/ - - - function dayBind(cells) { - cells.click(slotClick) - .mousedown(daySelectionMousedown); - } - - - function slotBind(cells) { - cells.click(slotClick) - .mousedown(slotSelectionMousedown); - } - - - function slotClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var col = Math.min(colCnt-1, Math.floor((ev.pageX - dayTable.offset().left - axisWidth) / colWidth)); - var date = cellToDate(0, 0); - var rowMatch = this.parentNode.className.match(/fc-slot(\d+)/); // TODO: maybe use data - - ev.data = resources()[col]; - - if (rowMatch) { - var mins = parseInt(rowMatch[1]) * opt('slotMinutes'); - var hours = Math.floor(mins/60); - date.setHours(hours); - date.setMinutes(mins%60 + minMinute); - trigger('dayClick', dayBodyCells[col], date, false, ev); - }else{ - trigger('dayClick', dayBodyCells[col], date, true, ev); - } - } - } - - - - /* Semi-transparent Overlay Helpers - -----------------------------------------------------*/ - // TODO: should be consolidated with BasicView's methods - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid, col) { // overlayEnd is exclusive - var allDayRow = 0; - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - - dayBind(renderCellOverlay(allDayRow, col, allDayRow, col)); - } - - - function renderCellOverlay(row0, col0, row1, col1) { // only for all-day? - var rect = coordinateGrid.rect(row0, col0, row1, col1, slotLayer); - return renderOverlay(rect, slotLayer); - } - - - function renderSlotOverlay(overlayStart, overlayEnd, col) { - var dayStart = cellToDate(0, 0); - var dayEnd = addDays(cloneDate(dayStart), 1); - var stretchStart = new Date(Math.max(dayStart, overlayStart)); - var stretchEnd = new Date(Math.min(dayEnd, overlayEnd)); - if (stretchStart < stretchEnd) { - var rect = coordinateGrid.rect(0, col, 0, col, slotContainer); // only use it for horizontal coords - var top = timePosition(dayStart, stretchStart); - var bottom = timePosition(dayStart, stretchEnd); - rect.top = top; - rect.height = bottom - top; - slotBind( - renderOverlay(rect, slotContainer) - ); - } - } - - - - /* Coordinate Utilities - -----------------------------------------------------------------------------*/ - - - coordinateGrid = new CoordinateGrid(function(rows, cols) { - var e, n, p; - dayHeadCells.each(function(i, _e) { - e = $(_e); - n = e.offset().left; - if (i) { - p[1] = n; - } - p = [n]; - cols[i] = p; - }); - p[1] = n + e.outerWidth(); - if (opt('allDaySlot')) { - e = allDayRow; - n = e.offset().top; - rows[0] = [n, n+e.outerHeight()]; - } - var slotTableTop = slotContainer.offset().top; - var slotScrollerTop = slotScroller.offset().top; - var slotScrollerBottom = slotScrollerTop + slotScroller.outerHeight(); - function constrain(n) { - return Math.max(slotScrollerTop, Math.min(slotScrollerBottom, n)); - } - for (var i=0; i= 0) { - addMinutes(d, minMinute + slotIndex * snapMinutes); - } - return d; - } - - - // get the Y coordinate of the given time on the given day (both Date objects) - function timePosition(day, time) { // both date objects. day holds 00:00 of current day - day = cloneDate(day, true); - if (time < addMinutes(cloneDate(day), minMinute)) { - return 0; - } - if (time >= addMinutes(cloneDate(day), maxMinute)) { - return slotTable.height(); - } - var slotMinutes = opt('slotMinutes'), - minutes = time.getHours()*60 + time.getMinutes() - minMinute, - slotI = Math.floor(minutes / slotMinutes), - slotTop = slotTopCache[slotI]; - if (slotTop === undefined) { - slotTop = slotTopCache[slotI] = - slotTable.find('tr').eq(slotI).find('td div')[0].offsetTop; - // .eq() is faster than ":eq()" selector - // [0].offsetTop is faster than .position().top (do we really need this optimization?) - // a better optimization would be to cache all these divs - } - return Math.max(0, Math.round( - slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes) - )); - } - - - function getAllDayRow(index) { - return allDayRow; - } - - - function defaultEventEnd(event) { - var start = cloneDate(event.start); - if (event.allDay) { - return start; - } - return addMinutes(start, opt('defaultEventMinutes')); - } - - - - /* Selection - ---------------------------------------------------------------------------------*/ - - - function defaultSelectionEnd(startDate, allDay) { - if (allDay) { - return cloneDate(startDate); - } - return addMinutes(cloneDate(startDate), opt('slotMinutes')); - } - - - function renderSelection(startDate, endDate, allDay, col) { // only for all-day - if (allDay) { - if (opt('allDaySlot')) { - renderDayOverlay(startDate, endDate, true, col); - } - }else{ - renderSlotSelection(startDate, endDate); - } - } - - - function renderSlotSelection(startDate, endDate, col) { - var helperOption = opt('selectHelper'); - coordinateGrid.build(); - if (helperOption) { - col = col || dateToCell(startDate).col; - if (col >= 0 && col < colCnt) { // only works when times are on same day - var rect = coordinateGrid.rect(0, col, 0, col, slotContainer); // only for horizontal coords - var top = timePosition(startDate, startDate); - var bottom = timePosition(startDate, endDate); - if (bottom > top) { // protect against selections that are entirely before or after visible range - rect.top = top; - rect.height = bottom - top; - rect.left += 2; - rect.width -= 5; - if ($.isFunction(helperOption)) { - var helperRes = helperOption(startDate, endDate); - if (helperRes) { - rect.position = 'absolute'; - selectionHelper = $(helperRes) - .css(rect) - .appendTo(slotContainer); - } - }else{ - rect.isStart = true; // conside rect a "seg" now - rect.isEnd = true; // - selectionHelper = $(slotSegHtml( - { - title: '', - start: startDate, - end: endDate, - className: ['fc-select-helper'], - editable: false - }, - rect - )); - selectionHelper.css('opacity', opt('dragOpacity')); - } - if (selectionHelper) { - slotBind(selectionHelper); - slotContainer.append(selectionHelper); - setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended - setOuterHeight(selectionHelper, rect.height, true); - } - } - } - }else{ - renderSlotOverlay(startDate, endDate, col); - } - } - - - function clearSelection() { - clearOverlays(); - if (selectionHelper) { - selectionHelper.remove(); - selectionHelper = null; - } - } - - function daySelectionMousedown(ev) { - var cellToDate = t.cellToDate; - var getIsCellAllDay = t.getIsCellAllDay; - var hoverListener = t.getHoverListener(); - var reportDayClick = t.reportDayClick; // this is hacky and sort of weird - var col; - if (ev.which == 1 && opt('selectable')) { // which==1 means left mouse button - unselect(ev); - var _mousedownElement = this; - var dates; - hoverListener.start(function(cell, origCell) { // TODO: maybe put cellToDate/getIsCellAllDay info in cell - clearSelection(); - if (cell && getIsCellAllDay(cell)) { - col = cell.col; - dates = [ realCellToDate(origCell), realCellToDate(cell) ].sort(dateCompare); - renderSelection(dates[0], dates[1], true, col); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], true, ev); - } - ev.data = resources()[col]; - reportSelection(dates[0], dates[1], true, ev); - } - }); - } - } - - // select on the calendar somewhere - function slotSelectionMousedown(ev) { - if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button - unselect(ev); - var dates; - var col; - hoverListener.start(function(cell, origCell) { - clearSelection(); - if (cell && cell.col == origCell.col && !getIsCellAllDay(cell)) { - col = cell.col; - var d1 = realCellToDate(origCell); - var d2 = realCellToDate(cell); - dates = [ - d1, - addMinutes(cloneDate(d1), snapMinutes), // calculate minutes depending on selection slot minutes - d2, - addMinutes(cloneDate(d2), snapMinutes) - ].sort(dateCompare); - renderSlotSelection(dates[0], dates[3], cell.col); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], false, ev); - } - ev.data = resources()[col]; - reportSelection(dates[0], dates[3], false, ev); - } - }); - } - } - - - function reportDayClick(date, allDay, ev) { - trigger('dayClick', dayBodyCells[dateToCell(date).col], date, allDay, ev); - } - - - - /* External Dragging - --------------------------------------------------------------------------------*/ - - - function dragStart(_dragElement, ev, ui) { - hoverListener.start(function(cell) { - clearOverlays(); - if (cell) { - if (getIsCellAllDay(cell)) { - renderCellOverlay(cell.row, cell.col, cell.row, cell.col); - }else{ - var d1 = realCellToDate(cell); - var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes')); - renderSlotOverlay(d1, d2, cell.col); - } - } - }, ev); - } - - - function dragStop(_dragElement, ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - if (cell) { - ev.data = resources()[cell.col]; - trigger('drop', _dragElement, realCellToDate(cell), getIsCellAllDay(cell), ev, ui); - } - } - - -} - -;; - -function ResourceEventRenderer() { - var t = this; - - - // exports - t.renderEvents = renderEvents; - t.clearEvents = clearEvents; - t.slotSegHtml = slotSegHtml; - - - // imports - DayEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - var isEventDraggable = t.isEventDraggable; - var isEventResizable = t.isEventResizable; - var eventEnd = t.eventEnd; - var eventElementHandlers = t.eventElementHandlers; - var setHeight = t.setHeight; - var getDaySegmentContainer = t.getDaySegmentContainer; - var getSlotSegmentContainer = t.getSlotSegmentContainer; - var getHoverListener = t.getHoverListener; - var getMaxMinute = t.getMaxMinute; - var getMinMinute = t.getMinMinute; - var timePosition = t.timePosition; - var getIsCellAllDay = t.getIsCellAllDay; - var colContentLeft = t.colContentLeft; - var colContentRight = t.colContentRight; - var cellToDate = t.cellToDate; - var segmentCompare = t.segmentCompare; - var getColCnt = t.getColCnt; - var getColWidth = t.getColWidth; - var getSnapHeight = t.getSnapHeight; - var getSnapMinutes = t.getSnapMinutes; - var getSlotContainer = t.getSlotContainer; - var reportEventElement = t.reportEventElement; - var showEvents = t.showEvents; - var hideEvents = t.hideEvents; - var eventDrop = t.eventDrop; - var eventResize = t.eventResize; - var renderDayOverlay = t.renderDayOverlay; - var clearOverlays = t.clearOverlays; - var renderDayEvents = t.renderDayEvents; - var calendar = t.calendar; - var formatDate = calendar.formatDate; - var formatDates = calendar.formatDates; - var resources = t.getResources; - - - // overrides - t.draggableDayEvent = draggableDayEvent; - - - - /* Rendering - ----------------------------------------------------------------------------*/ - - - function renderEvents(events, modifiedEventId) { - var i, len=events.length, - dayEvents=[], - slotEvents=[]; - for (i=0; i start && eventStart < end) { - if (eventStart < start) { - segStart = cloneDate(start); - isStart = false; - }else{ - segStart = eventStart; - isStart = true; - } - if (eventEnd > end) { - segEnd = cloneDate(end); - isEnd = false; - }else{ - segEnd = eventEnd; - isEnd = true; - } - segs.push({ - event: event, - start: segStart, - end: segEnd, - isStart: isStart, - isEnd: isEnd, - msLength: segEnd - segStart - }); - } - } - return segs.sort(segmentCompare); - } - - function eventsForResource(resource, events) { - var resourceEvents = []; - for (var i = 0; i < events.length; i++) { - if (events[i].resources && $.inArray(resource.id, events[i].resources) >= 0) { - resourceEvents.push(events[i]) - } - } - return resourceEvents; - } - - function slotEventEnd(event) { - if (event.end) { - return cloneDate(event.end); - }else{ - return addMinutes(cloneDate(event.start), opt('defaultEventMinutes')); - } - } - - - // renders events in the 'time slots' at the bottom - // TODO: when we refactor this, when user returns `false` eventRender, don't have empty space - // TODO: refactor will include using pixels to detect collisions instead of dates (handy for seg cmp) - - function renderSlotSegs(segs, modifiedEventId) { - - var i, segCnt=segs.length, seg, - event, - classes, - top, bottom, - colI, levelI, forward, - leftmost, - availWidth, - outerWidth, - left, - html='', - eventElements, - eventElement, - triggerRes, - titleElement, - height, - slotSegmentContainer = getSlotSegmentContainer(), - rtl, dis; - - if (rtl = opt('isRTL')) { - dis = -1; - }else{ - dis = 1; - } - - // calculate position/dimensions, create html - for (i=0; i" + - "
" + - "
" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - "
" + - "
" + - htmlEscape(event.title || '') + - "
" + - "
" + - "
"; - if (seg.isEnd && isEventResizable(event)) { - html += - "
=
"; - } - html += - ""; - return html; - } - - - function bindSlotSeg(event, eventElement, seg) { - var timeElement = eventElement.find('div.fc-event-time'); - if (isEventDraggable(event)) { - draggableSlotEvent(event, eventElement, timeElement); - } - if (seg.isEnd && isEventResizable(event)) { - resizableSlotEvent(event, eventElement, timeElement); - } - eventElementHandlers(event, eventElement); - } - - - - /* Dragging - -----------------------------------------------------------------------------------*/ - - - // when event starts out FULL-DAY - // overrides DayEventRenderer's version because it needs to account for dragging elements - // to and from the slot area. - - function draggableDayEvent(event, eventElement, seg) { - var isStart = seg.isStart; - var origWidth; - var revert; - var allDay = true; - var dayDelta; - var hoverListener = getHoverListener(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - var minMinute = getMinMinute(); - eventElement.draggable({ - opacity: opt('dragOpacity', 'month'), // use whatever the month view was using - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origWidth = eventElement.width(); - hoverListener.start(function(cell, origCell) { - clearOverlays(); - if (cell) { - revert = false; - var origDate = cellToDate(0, origCell.col); - var date = cellToDate(0, cell.col); - dayDelta = dayDiff(date, origDate); - if (!cell.row) { - // on full-days - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - resetElement(); - }else{ - // mouse is over bottom slots - if (isStart) { - if (allDay) { - // convert event to temporary slot-event - eventElement.width(colWidth - 10); // don't use entire width - setOuterHeight( - eventElement, - snapHeight * Math.round( - (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) / - snapMinutes - ) - ); - eventElement.draggable('option', 'grid', [colWidth, 1]); - allDay = false; - } - }else{ - revert = true; - } - } - revert = revert || (allDay && !dayDelta); - }else{ - resetElement(); - revert = true; - } - eventElement.draggable('option', 'revert', revert); - }, ev, 'drag'); - }, - stop: function(ev, ui) { - hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (revert) { - // hasn't moved or is out of bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - showEvents(event, eventElement); - }else{ - // changed! - var minuteDelta = 0; - if (!allDay) { - minuteDelta = Math.round((eventElement.offset().top - getSlotContainer().offset().top) / snapHeight) - * snapMinutes - + minMinute - - (event.start.getHours() * 60 + event.start.getMinutes()); - } - eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui); - } - } - }); - function resetElement() { - if (!allDay) { - eventElement - .width(origWidth) - .height('') - .draggable('option', 'grid', null); - allDay = true; - } - } - } - - - // when event starts out IN TIMESLOTS - - function draggableSlotEvent(event, eventElement, timeElement) { - var coordinateGrid = t.getCoordinateGrid(); - var colCnt = getColCnt(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - - // states - var origPosition; // original position of the element, not the mouse - var origCell; - var isInBounds, prevIsInBounds; - var isAllDay, prevIsAllDay; - var colDelta, prevColDelta; - var dayDelta; // derived from colDelta - var resourceDelta; // derived from colDelta - var minuteDelta, prevMinuteDelta; - - eventElement.draggable({ - scroll: false, - grid: [ colWidth, snapHeight ], - axis: colCnt==1 ? 'y' : false, - opacity: opt('dragOpacity'), - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - - coordinateGrid.build(); - - // initialize states - origPosition = eventElement.position(); - origCell = coordinateGrid.cell(ev.pageX, ev.pageY); - isInBounds = prevIsInBounds = true; - isAllDay = prevIsAllDay = getIsCellAllDay(origCell); - colDelta = prevColDelta = 0; - dayDelta = 0; - resourceDelta = 0; - minuteDelta = prevMinuteDelta = 0; - - }, - drag: function(ev, ui) { - - // NOTE: this `cell` value is only useful for determining in-bounds and all-day. - // Bad for anything else due to the discrepancy between the mouse position and the - // element position while snapping. (problem revealed in PR #55) - // - // PS- the problem exists for draggableDayEvent() when dragging an all-day event to a slot event. - // We should overhaul the dragging system and stop relying on jQuery UI. - var cell = coordinateGrid.cell(ev.pageX, ev.pageY); - - // update states - isInBounds = !!cell; - if (isInBounds) { - isAllDay = getIsCellAllDay(cell); - - // calculate column delta - colDelta = Math.round((ui.position.left - origPosition.left) / colWidth); - if (colDelta != prevColDelta) { - // calculate the day delta based off of the original clicked column and the column delta - //var origDate = cellToDate(0, origCell.col); - //var col = origCell.col + colDelta; - //col = Math.max(0, col); - //col = Math.min(colCnt-1, col); - //var date = cellToDate(0, col); - //dayDelta = 0; //dayDiff(date, origDate); - resourceDelta = colDelta; - } - - // calculate minute delta (only if over slots) - if (!isAllDay) { - minuteDelta = Math.round((ui.position.top - origPosition.top) / snapHeight) * snapMinutes; - } - } - - // any state changes? - if ( - isInBounds != prevIsInBounds || - isAllDay != prevIsAllDay || - colDelta != prevColDelta || - minuteDelta != prevMinuteDelta - ) { - - updateUI(); - - // update previous states for next time - prevIsInBounds = isInBounds; - prevIsAllDay = isAllDay; - prevColDelta = colDelta; - prevMinuteDelta = minuteDelta; - } - - // if out-of-bounds, revert when done, and vice versa. - eventElement.draggable('option', 'revert', !isInBounds); - - }, - stop: function(ev, ui) { - - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - - //if (isInBounds && (isAllDay || dayDelta || minuteDelta)) { // changed! - if (isInBounds && (isAllDay || resourceDelta || minuteDelta)) { // changed! - event.resources = resources()[origCell.col + resourceDelta].id; - eventDrop(this, event, dayDelta, isAllDay ? 0 : minuteDelta, isAllDay, ev, ui); - } - else { // either no change or out-of-bounds (draggable has already reverted) - - // reset states for next time, and for updateUI() - isInBounds = true; - isAllDay = false; - colDelta = 0; - dayDelta = 0; - minuteDelta = 0; - - updateUI(); - eventElement.css('filter', ''); // clear IE opacity side-effects - - // sometimes fast drags make event revert to wrong position, so reset. - // also, if we dragged the element out of the area because of snapping, - // but the *mouse* is still in bounds, we need to reset the position. - eventElement.css(origPosition); - - showEvents(event, eventElement); - } - } - }); - - function updateUI() { - clearOverlays(); - if (isInBounds) { - if (isAllDay) { - timeElement.hide(); - eventElement.draggable('option', 'grid', null); // disable grid snapping - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - } - else { - updateTimeText(minuteDelta); - timeElement.css('display', ''); // show() was causing display=inline - eventElement.draggable('option', 'grid', [colWidth, snapHeight]); // re-enable grid snapping - } - } - } - - function updateTimeText(minuteDelta) { - var newStart = addMinutes(cloneDate(event.start), minuteDelta); - var newEnd; - if (event.end) { - newEnd = addMinutes(cloneDate(event.end), minuteDelta); - } - timeElement.text(formatDates(newStart, newEnd, opt('timeFormat'))); - } - - } - - - - /* Resizing - --------------------------------------------------------------------------------------*/ - - - function resizableSlotEvent(event, eventElement, timeElement) { - var snapDelta, prevSnapDelta; - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - eventElement.resizable({ - handles: { - s: '.ui-resizable-handle' - }, - grid: snapHeight, - start: function(ev, ui) { - snapDelta = prevSnapDelta = 0; - hideEvents(event, eventElement); - trigger('eventResizeStart', this, event, ev, ui); - }, - resize: function(ev, ui) { - // don't rely on ui.size.height, doesn't take grid into account - snapDelta = Math.round((Math.max(snapHeight, eventElement.height()) - ui.originalSize.height) / snapHeight); - if (snapDelta != prevSnapDelta) { - timeElement.text( - formatDates( - event.start, - (!snapDelta && !event.end) ? null : // no change, so don't display time range - addMinutes(eventEnd(event), snapMinutes*snapDelta), - opt('timeFormat') - ) - ); - prevSnapDelta = snapDelta; - } - }, - stop: function(ev, ui) { - trigger('eventResizeStop', this, event, ev, ui); - if (snapDelta) { - eventResize(this, event, 0, snapMinutes*snapDelta, ev, ui); - }else{ - showEvents(event, eventElement); - // BUG: if event was really short, need to put title back in span - } - } - }); - } - - -} - - - -/* Agenda Event Segment Utilities ------------------------------------------------------------------------------*/ -// TODO: maybe somehow consolidate this with DayEventRenderer's segment system - - -function stackAgendaSegs(segs) { - var levels = [], - i, len = segs.length, seg, - j, collide, k; - for (i=0; i0; i--) { - level = levels[i]; - for (j=0; j seg2.start && seg1.start < seg2.end; -} - - -;; - - -function View(element, calendar, viewName) { - var t = this; - - - // exports - t.element = element; - t.calendar = calendar; - t.name = viewName; - t.opt = opt; - t.trigger = trigger; - t.isEventDraggable = isEventDraggable; - t.isEventResizable = isEventResizable; - t.setEventData = setEventData; - t.clearEventData = clearEventData; - t.eventEnd = eventEnd; - t.reportEventElement = reportEventElement; - t.triggerEventDestroy = triggerEventDestroy; - t.eventElementHandlers = eventElementHandlers; - t.showEvents = showEvents; - t.hideEvents = hideEvents; - t.eventDrop = eventDrop; - t.eventResize = eventResize; - // t.title - // t.start, t.end - // t.visStart, t.visEnd - - - // imports - var defaultEventEnd = t.defaultEventEnd; - var normalizeEvent = calendar.normalizeEvent; // in EventManager - var reportEventChange = calendar.reportEventChange; - - - // locals - var eventsByID = {}; // eventID mapped to array of events (there can be multiple b/c of repeating events) - var eventElementsByID = {}; // eventID mapped to array of jQuery elements - var eventElementCouples = []; // array of objects, { event, element } // TODO: unify with segment system - var options = calendar.options; - - - - function opt(name, viewNameOverride) { - var v = options[name]; - if ($.isPlainObject(v)) { - return smartProperty(v, viewNameOverride || viewName); - } - return v; - } - - - function trigger(name, thisObj) { - return calendar.trigger.apply( - calendar, - [name, thisObj || t].concat(Array.prototype.slice.call(arguments, 2), [t]) - ); - } - - - - /* Event Editable Boolean Calculations - ------------------------------------------------------------------------------*/ - - - function isEventDraggable(event) { - var source = event.source || {}; - return firstDefined( - event.startEditable, - source.startEditable, - opt('eventStartEditable'), - event.editable, - source.editable, - opt('editable') - ) - && !opt('disableDragging'); // deprecated - } - - - function isEventResizable(event) { // but also need to make sure the seg.isEnd == true - var source = event.source || {}; - return firstDefined( - event.durationEditable, - source.durationEditable, - opt('eventDurationEditable'), - event.editable, - source.editable, - opt('editable') - ) - && !opt('disableResizing'); // deprecated - } - - - - /* Event Data - ------------------------------------------------------------------------------*/ - - - function setEventData(events) { // events are already normalized at this point - eventsByID = {}; - var i, len=events.length, event; - for (i=0; i