From 8b126d26d30fd3db75beec9a4abef48bec3c9a14 Mon Sep 17 00:00:00 2001 From: Can Tonic Date: Tue, 17 Jul 2012 22:18:12 +0200 Subject: [PATCH] add testing env, add ics export, add uid to events --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 4 +- .rspec | 1 + .rvmrc | 1 + ERD.png | Bin 0 -> 67568 bytes Gemfile | 49 +- Gemfile.lock | 130 ++ Guardfile | 34 + app/.DS_Store | Bin 0 -> 6148 bytes app/assets/.DS_Store | Bin 0 -> 6148 bytes .../jquery-ui-1.8.21.custom.min.js | 125 ++ .../javascripts/jquery-ui-sliderAccess.js | 85 + .../javascripts/jquery-ui-timepicker-addon.js | 1530 +++++++++++++++++ .../jquery-ui-timepicker-addon.css.scss | 6 + .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 129 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 5355 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 5355 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-lightness/jquery-ui-1.8.21.custom.css | 565 ++++++ app/controllers/calendar_controller.rb | 1 - app/controllers/events_controller.rb | 31 +- app/models/ability.rb | 36 + app/models/event.rb | 13 +- app/models/role.rb | 4 + app/models/user.rb | 1 + app/views/events/_form.html.erb | 4 +- app/views/shared/_login.html.erb | 2 +- config/cucumber.yml | 8 + config/database.yml | 5 +- config/environments/development.rb | 1 + config/initializers/devise.rb | 2 +- config/initializers/mime_types.rb | 1 + config/locales/de.yml | 1 + config/routes.rb | 2 +- db/migrate/20120717161214_create_roles.rb | 9 + .../20120717161253_add_role_id_to_users.rb | 6 + .../20120717195442_add_uid_to_events.rb | 5 + db/schema.rb | 34 +- features/events.feature | 4 + features/step_definitions/capybara_steps.rb | 53 + features/step_definitions/events_steps.rb | 5 + .../user_authentication_steps.rb | 14 + features/support/env.rb | 75 + features/user_authentication.feature | 42 + features/user_authorization.feature | 4 + lib/tasks/cucumber.rake | 65 + script/cucumber | 10 + spec/factories.rb | 28 + spec/models/role_spec.rb | 5 + spec/spec_helper.rb | 38 + 60 files changed, 2983 insertions(+), 56 deletions(-) create mode 100644 .DS_Store create mode 100644 .rspec create mode 100644 .rvmrc create mode 100644 ERD.png create mode 100644 Guardfile create mode 100644 app/.DS_Store create mode 100644 app/assets/.DS_Store create mode 100755 app/assets/javascripts/jquery-ui-1.8.21.custom.min.js create mode 100644 app/assets/javascripts/jquery-ui-sliderAccess.js create mode 100644 app/assets/javascripts/jquery-ui-timepicker-addon.js create mode 100644 app/assets/stylesheets/jquery-ui-timepicker-addon.css.scss create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-icons_222222_256x240.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100755 app/assets/stylesheets/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100755 app/assets/stylesheets/ui-lightness/jquery-ui-1.8.21.custom.css create mode 100644 app/models/ability.rb create mode 100644 app/models/role.rb create mode 100644 config/cucumber.yml create mode 100644 db/migrate/20120717161214_create_roles.rb create mode 100644 db/migrate/20120717161253_add_role_id_to_users.rb create mode 100644 db/migrate/20120717195442_add_uid_to_events.rb create mode 100644 features/events.feature create mode 100644 features/step_definitions/capybara_steps.rb create mode 100644 features/step_definitions/events_steps.rb create mode 100644 features/step_definitions/user_authentication_steps.rb create mode 100644 features/support/env.rb create mode 100644 features/user_authentication.feature create mode 100644 features/user_authorization.feature create mode 100644 lib/tasks/cucumber.rake create mode 100755 script/cucumber create mode 100644 spec/factories.rb create mode 100644 spec/models/role_spec.rb create mode 100644 spec/spec_helper.rb diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fadd49af93a07740151b4698fdea46e28fdbf625 GIT binary patch literal 6148 zcmeH~I}XA?3`A{6fkcy%avKi74OR$FzyR_M(RA8jQJo4Vo|2_QM{6A`8N(HFEpDCc- z?y%e9rSfe3cs;8hvuf)G2mNw{x1Rtcb`-DRZrCrj0Bf=ZQGxMCz-3^d0zXyY1qdw> AZU6uP literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore index 4fd5830..83a2896 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,6 @@ /log/*.log /tmp .tmp_* -/nbproject/private/ \ No newline at end of file +/nbproject/private/ +.DS_Store +.rvmrc \ No newline at end of file diff --git a/.rspec b/.rspec new file mode 100644 index 0000000..4e1e0d2 --- /dev/null +++ b/.rspec @@ -0,0 +1 @@ +--color diff --git a/.rvmrc b/.rvmrc new file mode 100644 index 0000000..d9fad21 --- /dev/null +++ b/.rvmrc @@ -0,0 +1 @@ +rvm 1.9.3@reisebuero \ No newline at end of file diff --git a/ERD.png b/ERD.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8c1379a93d377d3bf7f9389a4192acff71c544 GIT binary patch literal 67568 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�LVQ-fKbj4*~XKgzXsABCq*vh(~UpaB6qu% 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 literal 0 HcmV?d00001 diff --git a/Gemfile b/Gemfile index 445a2b1..935e35e 100644 --- a/Gemfile +++ b/Gemfile @@ -2,41 +2,40 @@ source 'https://rubygems.org' gem 'rails', '3.2.6' -# Bundle edge Rails instead: -# gem 'rails', :git => 'git://github.com/rails/rails.git' - gem 'sqlite3' - -# Gems used only for assets and not required -# in production environments by default. group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' - - # See https://github.com/sstephenson/execjs#readme for more supported runtimes - # gem 'therubyracer', :platforms => :ruby - gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' -# To use ActiveModel has_secure_password -# gem 'bcrypt-ruby', '~> 3.0.0' - -# To use Jbuilder templates for JSON -# gem 'jbuilder' - -# Use unicorn as the app server -# gem 'unicorn' +gem 'event-calendar', :require => 'event_calendar' +gem 'devise' -# Deploy with Capistrano -# gem 'capistrano' +group :development, :test do + gem "pry" + gem "pry-rails" + gem "rspec-rails" + gem "rack-livereload" +end -# To use debugger -# gem 'debugger' +gem "rails-erd", :group => :development + +group :test do + gem "factory_girl_rails" + gem 'guard-cucumber' + gem 'guard-livereload' + gem "launchy" + gem "cucumber-rails", :require => false + gem "capybara" + gem "capybara-webkit" + gem "database_cleaner" +end -gem 'event-calendar', :require => 'event_calendar' -gem 'jquery-rails' -gem 'devise' \ No newline at end of file +gem "cancan" +gem "jquery_datepicker" +gem "ri_cal" +gem "uuidtools" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 6e35768..4682d92 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -28,9 +28,25 @@ GEM activesupport (3.2.6) i18n (~> 0.6) multi_json (~> 1.0) + addressable (2.2.8) arel (3.0.2) + bcrypt-ruby (3.0.1) bcrypt-ruby (3.0.1-x86-mingw32) builder (3.0.0) + cancan (1.6.8) + capybara (1.1.2) + mime-types (>= 1.16) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + selenium-webdriver (~> 2.0) + xpath (~> 0.1.4) + capybara-webkit (0.12.1) + capybara (>= 1.0.0, < 1.2) + json + childprocess (0.3.3) + ffi (~> 1.0.6) + coderay (1.0.7) coffee-rails (3.2.2) coffee-script (>= 2.2.0) railties (~> 3.2.0) @@ -38,33 +54,93 @@ GEM coffee-script-source execjs coffee-script-source (1.3.3) + cucumber (1.2.1) + builder (>= 2.1.2) + diff-lcs (>= 1.1.3) + gherkin (~> 2.11.0) + json (>= 1.4.6) + cucumber-rails (1.3.0) + capybara (>= 1.1.2) + cucumber (>= 1.1.8) + nokogiri (>= 1.5.0) + database_cleaner (0.8.0) devise (2.1.2) bcrypt-ruby (~> 3.0) orm_adapter (~> 0.1) railties (~> 3.1) warden (~> 1.2.1) + diff-lcs (1.1.3) + em-websocket (0.3.8) + addressable (>= 2.1.1) + eventmachine (>= 0.12.9) erubis (2.7.0) event-calendar (2.3.3) + eventmachine (0.12.10) execjs (1.4.0) multi_json (~> 1.0) + factory_girl (3.5.0) + activesupport (>= 3.0.0) + factory_girl_rails (3.5.0) + factory_girl (~> 3.5.0) + railties (>= 3.0.0) + ffi (1.0.11) + gherkin (2.11.1) + json (>= 1.4.6) + gherkin (2.11.1-x86-mingw32) + json (>= 1.4.6) + guard (1.2.3) + listen (>= 0.4.2) + thor (>= 0.14.6) + guard-cucumber (1.2.0) + cucumber (>= 1.2.0) + guard (>= 1.1.0) + guard-livereload (1.0.0) + em-websocket (>= 0.2.0) + guard (>= 1.1.0) + multi_json (~> 1.0) hike (1.2.1) i18n (0.6.0) journey (1.0.4) jquery-rails (2.0.2) railties (>= 3.2.0, < 5.0) thor (~> 0.14) + jquery_datepicker (0.4) json (1.7.3) + launchy (2.1.0) + addressable (~> 2.2.6) + libwebsocket (0.1.4) + addressable + listen (0.4.7) + rb-fchange (~> 0.0.5) + rb-fsevent (~> 0.9.1) + rb-inotify (~> 0.8.8) mail (2.4.4) i18n (>= 0.4.0) mime-types (~> 1.16) treetop (~> 1.4.8) + method_source (0.8) mime-types (1.18) multi_json (1.3.6) + nokogiri (1.5.5) + nokogiri (1.5.5-x86-mingw32) orm_adapter (0.3.0) polyglot (0.3.3) + pry (0.9.10) + coderay (~> 1.0.5) + method_source (~> 0.8) + slop (~> 3.3.1) + pry (0.9.10-x86-mingw32) + coderay (~> 1.0.5) + method_source (~> 0.8) + slop (~> 3.3.1) + win32console (~> 1.3) + pry-rails (0.1.6) + pry rack (1.4.1) rack-cache (1.2) rack (>= 0.4) + rack-livereload (0.3.6) + rack rack-ssl (1.3.2) rack rack-test (0.6.1) @@ -77,6 +153,10 @@ GEM activesupport (= 3.2.6) bundler (~> 1.0) railties (= 3.2.6) + rails-erd (0.4.5) + activerecord (~> 3.0) + activesupport (~> 3.0) + ruby-graphviz (~> 0.9.18) railties (3.2.6) actionpack (= 3.2.6) activesupport (= 3.2.6) @@ -85,17 +165,45 @@ GEM rdoc (~> 3.4) thor (>= 0.14.6, < 2.0) rake (0.9.2.2) + rb-fchange (0.0.5) + ffi + rb-fsevent (0.9.1) + rb-inotify (0.8.8) + ffi (>= 0.5.0) rdoc (3.12) json (~> 1.4) + ri_cal (0.8.8) + rspec (2.11.0) + rspec-core (~> 2.11.0) + rspec-expectations (~> 2.11.0) + rspec-mocks (~> 2.11.0) + rspec-core (2.11.0) + rspec-expectations (2.11.1) + diff-lcs (~> 1.1.3) + rspec-mocks (2.11.1) + rspec-rails (2.11.0) + actionpack (>= 3.0) + activesupport (>= 3.0) + railties (>= 3.0) + rspec (~> 2.11.0) + ruby-graphviz (0.9.21) + rubyzip (0.9.9) sass (3.1.19) sass-rails (3.2.5) railties (~> 3.2.0) sass (>= 3.1.10) tilt (~> 1.3) + selenium-webdriver (2.24.0) + childprocess (>= 0.2.5) + libwebsocket (~> 0.1.3) + multi_json (~> 1.0) + rubyzip + slop (3.3.2) sprockets (2.1.3) hike (~> 1.2) rack (~> 1.0) tilt (~> 1.1, != 1.3.0) + sqlite3 (1.3.6) sqlite3 (1.3.6-x86-mingw32) thor (0.15.3) tilt (1.3.3) @@ -106,18 +214,40 @@ GEM uglifier (1.2.5) execjs (>= 0.3.0) multi_json (~> 1.3) + uuidtools (2.1.3) warden (1.2.1) rack (>= 1.0) + win32console (1.3.2-x86-mingw32) + xpath (0.1.4) + nokogiri (~> 1.3) PLATFORMS + ruby x86-mingw32 DEPENDENCIES + cancan + capybara + capybara-webkit coffee-rails (~> 3.2.1) + cucumber-rails + database_cleaner devise event-calendar + factory_girl_rails + guard-cucumber + guard-livereload jquery-rails + jquery_datepicker + launchy + pry + pry-rails + rack-livereload rails (= 3.2.6) + rails-erd + ri_cal + rspec-rails sass-rails (~> 3.2.3) sqlite3 uglifier (>= 1.0.3) + uuidtools diff --git a/Guardfile b/Guardfile new file mode 100644 index 0000000..3f4aba7 --- /dev/null +++ b/Guardfile @@ -0,0 +1,34 @@ +# A sample Guardfile +# More info at https://github.com/guard/guard#readme + +group :cucumber do + guard 'cucumber' do + watch(%r{^features/.+\.feature$}) + watch(%r{^features/support/.+$}) { 'features' } + watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' } + watch('spec/factories/*.rb') + + # Rails example + watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } + watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } + watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] } + watch(%r{^spec/support/(.+)\.rb$}) { "spec" } + watch('config/routes.rb') { "spec/routing" } + watch('app/controllers/application_controller.rb') { "spec/controllers" } + + # Capybara request specs + watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" } + end +end + +notification :off +group "frontend" do + guard 'livereload' do + watch(%r{app/views/.+\.(erb|haml|slim)}) + watch(%r{app/helpers/.+\.rb}) + watch(%r{public/.+\.(css|js|html)}) + watch(%r{config/locales/.+\.yml}) + # Rails Assets Pipeline + watch(%r{(app|vendor)/assets/\w+/(.+\.(css|js|html)).*}) { |m| "/assets/#{m[2]}" } + end +end \ No newline at end of file diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..23d4afab66c417b30f2202777e11272c8c2755c2 GIT binary patch literal 6148 zcmeHKOH0E*5T0#oji^u$LXV5*BB`y^gNG0*dK6md!HOoP&_HNPlhQ+t2K+<*8h?*7 zyPHEWXAwIScE8zq?Bj#%0|11(4!Qs>0I;wS3Q{VB%$2U12__V(j}#JrlPvux_A5I2 zizb?T6Ff-pn?ZU0pZ+omlhn4qM6KS~YwlYpN7G5T2;z+!uNOh`Fq+4kQ5ej8Z}q73 z)JxZi>#daM-b?4`QTjNJBh;rRdJ+cd{HfL6ZZG=1j=b#JSx0UM1G^*py{jxcKsgb& z*6G>#_1)Ne&EDQ~O`t%ol^h!^-~*M?T7u*y@^RQAp$KGT2ABb6fEn0n2F$Tw9qu#> zym)4S8K`1__6LcD&@q^6R9gpDbbTg&gOCJudP@*WgO0&mBYIGTPDRwI!aOmAPDi^m zagM=UqfQ5*M#g^3$i?GDsL|0bRX7MoBiGCTGf-xruA417|8MY@seI&@Q@F(pFa!UL z0nr$ahAuA3oUK2WM`x|X@{EOq;&M_@P%m8qutEDsTRF8~l8$kX!CWKtLUxso$QJ=c L2v^L&FEH>8z*b31 literal 0 HcmV?d00001 diff --git a/app/assets/.DS_Store b/app/assets/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a467ad284d9568621206bb03d1835133eed045ac GIT binary patch literal 6148 zcmeHKT}uK{5S?pQiUsx%_;~4AVlBfSdRWA$$H2gcjM{AlHx^giH3_p8`a}JieoyCq z7=`&7eawNGGtQma^`4cz4iSmwIH(boiKqZmoGZe80ky7d0Xdsl0SkSNgl=d=Aq^>A zsOH2^R6squ65WzVcd(DoFYzbI(2rst6)*lU3X{}vUPW#tzq+{x+sRp1R6fP&Ki literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/jquery-ui-1.8.21.custom.min.js b/app/assets/javascripts/jquery-ui-1.8.21.custom.min.js new file mode 100755 index 0000000..3fe9ccb --- /dev/null +++ b/app/assets/javascripts/jquery-ui-1.8.21.custom.min.js @@ -0,0 +1,125 @@ +/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.21",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.position.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.draggable.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!this.element.data("draggable"))return;return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(b),this.handle?(c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";return a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);var d=this.element[0],e=!1;while(d&&(d=d.parentNode))d==document&&(e=!0);if(!e&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var f=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){f._trigger("stop",b)!==!1&&f._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){return this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;return a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)}),c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.lefth[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.toph[3]?j-this.offset.click.toph[2]?k-this.offset.click.left=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f=k&&g<=l||h>=k&&h<=l||gl)&&(e>=i&&e<=j||f>=i&&f<=j||ej);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();g:for(var h=0;h').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e');h.css({zIndex:c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){if(c.disabled)return;a(this).removeClass("ui-resizable-autohide"),b._handles.show()},function(){if(c.disabled)return;b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}return this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement),this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");return a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);return l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui()),!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}return a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),ea.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;return p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null),a},_proportionallyResize:function(){var b=this.options;if(!this._proportionallyResizeElements.length)return;var c=this.helper||this.element;for(var d=0;d');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.21"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!i)return;e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/d.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*d.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.selectable.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("
")},destroy:function(){return this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy(),this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(this.options.disabled)return;var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");return d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element}),!1}})},_mouseDrag:function(b){var c=this;this.dragged=!0;if(this.options.disabled)return;var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}return this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!i||i.element==c.element[0])return;var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.righth||i.bottome&&i.rightf&&i.bottom *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+jf&&b+ka[this.floating?"width":"height"]?l:f0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.containers[d].floating?this.items[i].item.offset().left:this.items[i].item.offset().top;Math.abs(j-h)0?"down":"up")}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;return d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.leftthis.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.topthis.containment[3]?h-this.offset.click.topthis.containment[2]?i-this.offset.click.left=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");return(b.autoHeight||b.fillHeight)&&c.css("height",""),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(this.options.disabled||b.altKey||b.ctrlKey)return;var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}return f?(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),!1):!0},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];return this._clickHandler({target:b},b),this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(d.disabled)return;if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!g)return;return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(this.running)return;this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data)}}),a.extend(a.ui.accordion,{version:"1.8.21",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size()){b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);return}if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.autocomplete.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("
    ").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length").data("item.autocomplete",c).append(a("").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend(""),d.secondary&&b.append(""),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.dialog.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},f=a.attrFn||{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0,click:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||" ",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("
    ")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){return b.close(a),!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;return a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle),a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1===c._trigger("beforeClose",b))return;return c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d),c},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;return e.modal&&!b||!e.stack&&!e.modal?d._trigger("focus",c):(e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c),d)},open:function(){if(this._isOpen)return;var b=this,c=b.options,d=b.uiDialog;return b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode!==a.ui.keyCode.TAB)return;var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey)return d.focus(1),!1;if(b.target===d[0]&&b.shiftKey)return e.focus(1),!1}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open"),b},_createButtons:function(b){var c=this,d=!1,e=a("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=a("
    ").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(g);a.each(d,function(a,b){if(a==="click")return;a in f?e[a](b):e.attr(a,b)}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||" "))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.21",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");return b||(this.uuid+=1,b=this.uuid),"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});return a.fn.bgiframe&&c.bgiframe(),this.instances.push(c),c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;return a.browser.msie&&a.browser.version<7?(b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),b").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;ic&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.21"})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.tabs.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
    ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.21"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.21"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('
    ')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$(''+c+""),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('').addClass(this._triggerClass).html(g==""?f:$("").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;db&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$(''),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+112?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&pp)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?''+q+"":e?"":''+q+"",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?''+s+"":e?"":''+s+"",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'",x=d?'
    '+(c?w:"")+(this._isInRange(a,v)?'":"")+(c?"":w)+"
    ":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='
    '+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'
    '+"";var R=z?'":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="=5?' class="ui-datepicker-week-end"':"")+">"+''+C[T]+""}Q+=R+"";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z";var _=z?'":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Ym;_+='",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+""}n++,n>11&&(n=0,o++),Q+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(Y)+""+(bb&&!G?" ":bc?''+Y.getDate()+"":''+Y.getDate()+"")+"
    "+(j?""+(g[0]>0&&N==g[1]-1?'
    ':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='
    ',m="";if(f||!i)m+=''+g[b]+"";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='"}k||(l+=m+(f||!i||!j?" ":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+=''+c+"";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?" ":"")+m),l+="
    ",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&bd?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.21",window["DP_jQuery_"+dpuuid]=$})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.progressbar.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("
    ").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){return a===b?this._value():(this._setOption("value",a),this)},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;return typeof a!="number"&&(a=0),Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.21"})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +jQuery.effects||function(a,b){function c(b){var c;return b&&b.constructor==Array&&b.length==3?b:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))?[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)]:(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))?[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))?[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]:(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))?[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]:(c=/rgba\(0, 0, 0, 0\)/.exec(b))?e.transparent:e[a.trim(b).toLowerCase()]}function d(b,d){var e;do{e=a.curCSS(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};return a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete,[b,c,d,e]}function l(b){return!b||typeof b=="number"||a.fx.speeds[b]?!0:typeof b=="string"&&!a.effects[b]?!0:!1}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){return a.isFunction(d)&&(e=d,d=null),this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class")||"";a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.21",save:function(a,b){for(var c=0;c").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;try{e.id}catch(f){e=document.body}return b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(),c):b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];return a.fx.off||!i?h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)}):i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="show",this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="hide",this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);return c[1].mode="toggle",this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return b==0?c:b==e?c+d:(b/=e/2)<1?d/2*Math.pow(2,10*(b-1))+c:d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return(b/=e/2)<1?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.fade.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.fold.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.highlight.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.effects.pulsate.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show"),e=(b.options.times||5)*2-1,f=b.duration?b.duration/2:a.fx.speeds._default/2,g=c.is(":visible"),h=0;g||(c.css("opacity",0).show(),h=1),(d=="hide"&&g||d=="show"&&!g)&&e--;for(var i=0;i').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);; \ No newline at end of file diff --git a/app/assets/javascripts/jquery-ui-sliderAccess.js b/app/assets/javascripts/jquery-ui-sliderAccess.js new file mode 100644 index 0000000..4c96bd5 --- /dev/null +++ b/app/assets/javascripts/jquery-ui-sliderAccess.js @@ -0,0 +1,85 @@ +/* + * jQuery UI Slider Access + * By: Trent Richardson [http://trentrichardson.com] + * Version 0.2 + * Last Modified: 12/02/2011 + * + * Copyright 2011 Trent Richardson + * Dual licensed under the MIT and GPL licenses. + * http://trentrichardson.com/Impromptu/GPL-LICENSE.txt + * http://trentrichardson.com/Impromptu/MIT-LICENSE.txt + * + */ + (function($){ + + $.fn.extend({ + sliderAccess: function(options){ + options = options || {}; + options.touchonly = options.touchonly !== undefined? options.touchonly : true; // by default only show it if touch device + + if(options.touchonly === true && !("ontouchend" in document)) + return $(this); + + return $(this).each(function(i,obj){ + var $t = $(this), + o = $.extend({},{ + where: 'after', + step: $t.slider('option','step'), + upIcon: 'ui-icon-plus', + downIcon: 'ui-icon-minus', + text: false, + upText: '+', + downText: '-', + buttonset: true, + buttonsetTag: 'span' + }, options), + $buttons = $('<'+ o.buttonsetTag +' class="ui-slider-access">'+ + ''+ + ''+ + ''); + + $buttons.children('button').each(function(j, jobj){ + var $jt = $(this); + $jt.button({ + text: o.text, + icons: { primary: $jt.data('icon') } + }) + .click(function(e){ + var step = $jt.data('step'), + curr = $t.slider('value'), + newval = curr += step*1, + minval = $t.slider('option','min'), + maxval = $t.slider('option','max'); + + e.preventDefault(); + + if(newval < minval || newval > maxval) + return; + + $t.slider('value', newval); + + $t.slider("option", "slide").call($t, null, { value: newval }); + }); + }); + + // before or after + $t[o.where]($buttons); + + if(o.buttonset){ + $buttons.removeClass('ui-corner-right').removeClass('ui-corner-left').buttonset(); + $buttons.eq(0).addClass('ui-corner-left'); + $buttons.eq(1).addClass('ui-corner-right'); + } + + // adjust the width so we don't break the original layout + var bOuterWidth = $buttons.css({ + marginLeft: (o.where == 'after'? 10:0), + marginRight: (o.where == 'before'? 10:0) + }).outerWidth(true) + 5; + var tOuterWidth = $t.outerWidth(true); + $t.css('display','inline-block').width(tOuterWidth-bOuterWidth); + }); + } + }); + +})(jQuery); \ No newline at end of file diff --git a/app/assets/javascripts/jquery-ui-timepicker-addon.js b/app/assets/javascripts/jquery-ui-timepicker-addon.js new file mode 100644 index 0000000..65c7c25 --- /dev/null +++ b/app/assets/javascripts/jquery-ui-timepicker-addon.js @@ -0,0 +1,1530 @@ +/* +* jQuery timepicker addon +* By: Trent Richardson [http://trentrichardson.com] +* Version 1.0.1 +* Last Modified: 07/01/2012 +* +* Copyright 2012 Trent Richardson +* You may use this project under MIT or GPL licenses. +* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt +* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt +* +* HERES THE CSS: +* .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } +* .ui-timepicker-div dl { text-align: left; } +* .ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } +* .ui-timepicker-div dl dd { margin: 0 10px 10px 65px; } +* .ui-timepicker-div td { font-size: 90%; } +* .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } +*/ + +/*jslint evil: true, maxlen: 300, white: false, undef: false, nomen: false, onevar: false */ + +(function($) { + +// Prevent "Uncaught RangeError: Maximum call stack size exceeded" +$.ui.timepicker = $.ui.timepicker || {}; +if ($.ui.timepicker.version) { + return; +} + +$.extend($.ui, { timepicker: { version: "1.0.1" } }); + +/* Time picker manager. + Use the singleton instance of this class, $.timepicker, to interact with the time picker. + Settings for (groups of) time pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Timepicker() { + this.regional = []; // Available regional settings, indexed by language code + this.regional[''] = { // Default regional settings + currentText: 'Now', + closeText: 'Done', + ampm: false, + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + timeFormat: 'hh:mm tt', + timeSuffix: '', + timeOnlyTitle: 'Choose Time', + timeText: 'Time', + hourText: 'Hour', + minuteText: 'Minute', + secondText: 'Second', + millisecText: 'Millisecond', + timezoneText: 'Time Zone' + }; + this._defaults = { // Global defaults for all the datetime picker instances + showButtonPanel: true, + timeOnly: false, + showHour: true, + showMinute: true, + showSecond: false, + showMillisec: false, + showTimezone: false, + showTime: true, + stepHour: 1, + stepMinute: 1, + stepSecond: 1, + stepMillisec: 1, + hour: 0, + minute: 0, + second: 0, + millisec: 0, + timezone: null, + useLocalTimezone: false, + defaultTimezone: "+0000", + hourMin: 0, + minuteMin: 0, + secondMin: 0, + millisecMin: 0, + hourMax: 23, + minuteMax: 59, + secondMax: 59, + millisecMax: 999, + minDateTime: null, + maxDateTime: null, + onSelect: null, + hourGrid: 0, + minuteGrid: 0, + secondGrid: 0, + millisecGrid: 0, + alwaysSetTime: true, + separator: ' ', + altFieldTimeOnly: true, + showTimepicker: true, + timezoneIso8601: false, + timezoneList: null, + addSliderAccess: false, + sliderAccessArgs: null + }; + $.extend(this._defaults, this.regional['']); +} + +$.extend(Timepicker.prototype, { + $input: null, + $altInput: null, + $timeObj: null, + inst: null, + hour_slider: null, + minute_slider: null, + second_slider: null, + millisec_slider: null, + timezone_select: null, + hour: 0, + minute: 0, + second: 0, + millisec: 0, + timezone: null, + defaultTimezone: "+0000", + hourMinOriginal: null, + minuteMinOriginal: null, + secondMinOriginal: null, + millisecMinOriginal: null, + hourMaxOriginal: null, + minuteMaxOriginal: null, + secondMaxOriginal: null, + millisecMaxOriginal: null, + ampm: '', + formattedDate: '', + formattedTime: '', + formattedDateTime: '', + timezoneList: null, + + /* Override the default settings for all instances of the time picker. + @param settings object - the new settings to use as defaults (anonymous object) + @return the manager object */ + setDefaults: function(settings) { + extendRemove(this._defaults, settings || {}); + return this; + }, + + //######################################################################## + // Create a new Timepicker instance + //######################################################################## + _newInst: function($input, o) { + var tp_inst = new Timepicker(), + inlineSettings = {}; + + for (var attrName in this._defaults) { + var attrValue = $input.attr('time:' + attrName); + if (attrValue) { + try { + inlineSettings[attrName] = eval(attrValue); + } catch (err) { + inlineSettings[attrName] = attrValue; + } + } + } + tp_inst._defaults = $.extend({}, this._defaults, inlineSettings, o, { + beforeShow: function(input, dp_inst) { + if ($.isFunction(o.beforeShow)) { + return o.beforeShow(input, dp_inst, tp_inst); + } + }, + onChangeMonthYear: function(year, month, dp_inst) { + // Update the time as well : this prevents the time from disappearing from the $input field. + tp_inst._updateDateTime(dp_inst); + if ($.isFunction(o.onChangeMonthYear)) { + o.onChangeMonthYear.call($input[0], year, month, dp_inst, tp_inst); + } + }, + onClose: function(dateText, dp_inst) { + if (tp_inst.timeDefined === true && $input.val() !== '') { + tp_inst._updateDateTime(dp_inst); + } + if ($.isFunction(o.onClose)) { + o.onClose.call($input[0], dateText, dp_inst, tp_inst); + } + }, + timepicker: tp_inst // add timepicker as a property of datepicker: $.datepicker._get(dp_inst, 'timepicker'); + }); + tp_inst.amNames = $.map(tp_inst._defaults.amNames, function(val) { return val.toUpperCase(); }); + tp_inst.pmNames = $.map(tp_inst._defaults.pmNames, function(val) { return val.toUpperCase(); }); + + if (tp_inst._defaults.timezoneList === null) { + var timezoneList = []; + for (var i = -11; i <= 12; i++) { + timezoneList.push((i >= 0 ? '+' : '-') + ('0' + Math.abs(i).toString()).slice(-2) + '00'); + } + if (tp_inst._defaults.timezoneIso8601) { + timezoneList = $.map(timezoneList, function(val) { + return val == '+0000' ? 'Z' : (val.substring(0, 3) + ':' + val.substring(3)); + }); + } + tp_inst._defaults.timezoneList = timezoneList; + } + + tp_inst.timezone = tp_inst._defaults.timezone; + tp_inst.hour = tp_inst._defaults.hour; + tp_inst.minute = tp_inst._defaults.minute; + tp_inst.second = tp_inst._defaults.second; + tp_inst.millisec = tp_inst._defaults.millisec; + tp_inst.ampm = ''; + tp_inst.$input = $input; + + if (o.altField) { + tp_inst.$altInput = $(o.altField) + .css({ cursor: 'pointer' }) + .focus(function(){ $input.trigger("focus"); }); + } + + if(tp_inst._defaults.minDate===0 || tp_inst._defaults.minDateTime===0) + { + tp_inst._defaults.minDate=new Date(); + } + if(tp_inst._defaults.maxDate===0 || tp_inst._defaults.maxDateTime===0) + { + tp_inst._defaults.maxDate=new Date(); + } + + // datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime.. + if(tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date) { + tp_inst._defaults.minDateTime = new Date(tp_inst._defaults.minDate.getTime()); + } + if(tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date) { + tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime()); + } + if(tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date) { + tp_inst._defaults.maxDateTime = new Date(tp_inst._defaults.maxDate.getTime()); + } + if(tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date) { + tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime()); + } + return tp_inst; + }, + + //######################################################################## + // add our sliders to the calendar + //######################################################################## + _addTimePicker: function(dp_inst) { + var currDT = (this.$altInput && this._defaults.altFieldTimeOnly) ? + this.$input.val() + ' ' + this.$altInput.val() : + this.$input.val(); + + this.timeDefined = this._parseTime(currDT); + this._limitMinMaxDateTime(dp_inst, false); + this._injectTimePicker(); + }, + + //######################################################################## + // parse the time string from input value or _setTime + //######################################################################## + _parseTime: function(timeString, withDate) { + if (!this.inst) { + this.inst = $.datepicker._getInst(this.$input[0]); + } + + if (withDate || !this._defaults.timeOnly) + { + var dp_dateFormat = $.datepicker._get(this.inst, 'dateFormat'); + try { + var parseRes = parseDateTimeInternal(dp_dateFormat, this._defaults.timeFormat, timeString, $.datepicker._getFormatConfig(this.inst), this._defaults); + if (!parseRes.timeObj) { return false; } + $.extend(this, parseRes.timeObj); + } catch (err) + { + return false; + } + return true; + } + else + { + var timeObj = $.datepicker.parseTime(this._defaults.timeFormat, timeString, this._defaults); + if(!timeObj) { return false; } + $.extend(this, timeObj); + return true; + } + }, + + //######################################################################## + // generate and inject html for timepicker into ui datepicker + //######################################################################## + _injectTimePicker: function() { + var $dp = this.inst.dpDiv, + o = this._defaults, + tp_inst = this, + // Added by Peter Medeiros: + // - Figure out what the hour/minute/second max should be based on the step values. + // - Example: if stepMinute is 15, then minMax is 45. + hourMax = parseInt((o.hourMax - ((o.hourMax - o.hourMin) % o.stepHour)) ,10), + minMax = parseInt((o.minuteMax - ((o.minuteMax - o.minuteMin) % o.stepMinute)) ,10), + secMax = parseInt((o.secondMax - ((o.secondMax - o.secondMin) % o.stepSecond)) ,10), + millisecMax = parseInt((o.millisecMax - ((o.millisecMax - o.millisecMin) % o.stepMillisec)) ,10), + dp_id = this.inst.id.toString().replace(/([^A-Za-z0-9_])/g, ''); + + // Prevent displaying twice + //if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0) { + if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0 && o.showTimepicker) { + var noDisplay = ' style="display:none;"', + html = '
    ' + + '
    ' + o.timeText + '
    ' + + '
    ' + + '
    ' + o.hourText + '
    ', + hourGridSize = 0, + minuteGridSize = 0, + secondGridSize = 0, + millisecGridSize = 0, + size = null; + + // Hours + html += '
    '; + if (o.showHour && o.hourGrid > 0) { + html += '
    '; + + for (var h = o.hourMin; h <= hourMax; h += parseInt(o.hourGrid,10)) { + hourGridSize++; + var tmph = (o.ampm && h > 12) ? h-12 : h; + if (tmph < 10) { tmph = '0' + tmph; } + if (o.ampm) { + if (h === 0) { + tmph = 12 +'a'; + } else { + if (h < 12) { tmph += 'a'; } + else { tmph += 'p'; } + } + } + html += ''; + } + + html += '
    ' + tmph + '
    '; + } + html += '
    '; + + // Minutes + html += '
    ' + o.minuteText + '
    '+ + '
    '; + + if (o.showMinute && o.minuteGrid > 0) { + html += '
    '; + + for (var m = o.minuteMin; m <= minMax; m += parseInt(o.minuteGrid,10)) { + minuteGridSize++; + html += ''; + } + + html += '
    ' + ((m < 10) ? '0' : '') + m + '
    '; + } + html += '
    '; + + // Seconds + html += '
    ' + o.secondText + '
    '+ + '
    '; + + if (o.showSecond && o.secondGrid > 0) { + html += '
    '; + + for (var s = o.secondMin; s <= secMax; s += parseInt(o.secondGrid,10)) { + secondGridSize++; + html += ''; + } + + html += '
    ' + ((s < 10) ? '0' : '') + s + '
    '; + } + html += '
    '; + + // Milliseconds + html += '
    ' + o.millisecText + '
    '+ + '
    '; + + if (o.showMillisec && o.millisecGrid > 0) { + html += '
    '; + + for (var l = o.millisecMin; l <= millisecMax; l += parseInt(o.millisecGrid,10)) { + millisecGridSize++; + html += ''; + } + + html += '
    ' + ((l < 10) ? '0' : '') + l + '
    '; + } + html += '
    '; + + // Timezone + html += '
    ' + o.timezoneText + '
    '; + html += '
    '; + + html += '
    '; + var $tp = $(html); + + // if we only want time picker... + if (o.timeOnly === true) { + $tp.prepend( + '
    ' + + '
    ' + o.timeOnlyTitle + '
    ' + + '
    '); + $dp.find('.ui-datepicker-header, .ui-datepicker-calendar').hide(); + } + + this.hour_slider = $tp.find('#ui_tpicker_hour_'+ dp_id).slider({ + orientation: "horizontal", + value: this.hour, + min: o.hourMin, + max: hourMax, + step: o.stepHour, + slide: function(event, ui) { + tp_inst.hour_slider.slider( "option", "value", ui.value); + tp_inst._onTimeChange(); + } + }); + + + // Updated by Peter Medeiros: + // - Pass in Event and UI instance into slide function + this.minute_slider = $tp.find('#ui_tpicker_minute_'+ dp_id).slider({ + orientation: "horizontal", + value: this.minute, + min: o.minuteMin, + max: minMax, + step: o.stepMinute, + slide: function(event, ui) { + tp_inst.minute_slider.slider( "option", "value", ui.value); + tp_inst._onTimeChange(); + } + }); + + this.second_slider = $tp.find('#ui_tpicker_second_'+ dp_id).slider({ + orientation: "horizontal", + value: this.second, + min: o.secondMin, + max: secMax, + step: o.stepSecond, + slide: function(event, ui) { + tp_inst.second_slider.slider( "option", "value", ui.value); + tp_inst._onTimeChange(); + } + }); + + this.millisec_slider = $tp.find('#ui_tpicker_millisec_'+ dp_id).slider({ + orientation: "horizontal", + value: this.millisec, + min: o.millisecMin, + max: millisecMax, + step: o.stepMillisec, + slide: function(event, ui) { + tp_inst.millisec_slider.slider( "option", "value", ui.value); + tp_inst._onTimeChange(); + } + }); + + this.timezone_select = $tp.find('#ui_tpicker_timezone_'+ dp_id).append('').find("select"); + $.fn.append.apply(this.timezone_select, + $.map(o.timezoneList, function(val, idx) { + return $("