diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index f2e2b1ae..32d0a869 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -110,19 +110,18 @@ class ApplicationController < ActionController::Base def for_autocomplete(coll, substr) if substr # protect agains empty request filtered = coll.find_all{|item| item.name.downcase.include? substr.downcase} - json_elems = "[{" + filtered.map {|item| "\"value\" : \"#{item.name}\", \"id\" : \"#{item.id}\""}.join("},{") + "}]" - return json_elems == "[{}]" ? "" : json_elems + json_elems = Array[*filtered.map{ |e| {:id => e.id.to_s, :value => e.name} }].to_json + return json_elems else return "" end end def format_dependencies_as_json_for_auto_complete(entries) - json_elems = "[{" + entries.map {|item| "\"value\" : \"#{item.id}\", \"label\" : \"#{item.specification()}\""}.join("},{") + "}]" - return json_elems == "[{}]" ? "" : json_elems + json_elems = Array[*entries.map{ |e| {:value => e.id.to_s, :label => e.specification} }].to_json + return json_elems end - # Uses RedCloth to transform text using either Textile or Markdown Need to # require redcloth above RedCloth 3.0 or greater is needed to use Markdown, # otherwise it only handles Textile @@ -185,7 +184,13 @@ class ApplicationController < ActionController::Base return saved ? todo : nil end - + + def handle_unverified_request + unless request.format=="application/xml" + super # handle xml http auth via our own login code + end + end + protected def admin_login_required @@ -280,7 +285,7 @@ class ApplicationController < ActionController::Base def set_zindex_counter # this counter can be used to handle the IE z-index bug - @z_index_counter = 1000 + @z_index_counter = 500 end end diff --git a/app/controllers/todos_controller.rb b/app/controllers/todos_controller.rb index 61892c55..26bbaaf8 100644 --- a/app/controllers/todos_controller.rb +++ b/app/controllers/todos_controller.rb @@ -241,15 +241,19 @@ class TodosController < ApplicationController @predecessor = current_user.todos.find(params['predecessor']) @todo = current_user.todos.find(params['successor']) @original_state = @todo.state - # Add predecessor - @todo.add_predecessor(@predecessor) - @todo.state = 'pending' - @saved = @todo.save + unless @predecessor.completed? + # Add predecessor + @todo.add_predecessor(@predecessor) + @todo.state = 'pending' + @saved = @todo.save + + @status_message = t('todos.added_dependency', :dependency => @predecessor.description) + @status_message += t('todos.set_to_pending', :task => @todo.description) unless @original_state == 'pending' + else + @saved = false + end respond_to do |format| - format.js { - @status_message = t('todos.added_dependency', :dependency => @predecessor.description) - @status_message += t('todos.set_to_pending', :task => @todo.description) unless @original_state == 'pending' - } + format.js end end @@ -342,7 +346,8 @@ class TodosController < ApplicationController @saved = @todo.save @context_changed = true - @message = t('todos.context_changed', :name => @context.name) + @status_message = t('todos.context_changed', :name => @context.name) + determine_down_count determine_remaining_in_context_count(@original_item_context_id) respond_to do |format| @@ -588,6 +593,7 @@ class TodosController < ApplicationController @todo.show_from = (@todo.show_from || @todo.user.date) + numdays.days @saved = @todo.save + @status_message = t('todos.action_saved_to_tickler') determine_down_count determine_remaining_in_context_count(@todo.context_id) @@ -906,6 +912,17 @@ class TodosController < ApplicationController from.calendar { @target_context_count = @new_due_id.blank? ? 0 : count_old_due_empty(@new_due_id) } + from.context { + context = current_user.contexts.find(context_id) + + remaining_actions_in_context = context.todos(true).active + remaining_actions_in_context = remaining_actions_in_context.not_hidden if !context.hide? + @remaining_in_context = remaining_actions_in_context.count + + actions_in_target = current_user.contexts.find(@todo.context_id).todos(true).active + actions_in_target = actions_in_target.not_hidden if !context.hide? + @target_context_count = actions_in_target.count + } end @remaining_in_context = current_user.contexts.find(context_id).todos(true).active.not_hidden.count if !@remaining_in_context @target_context_count = current_user.contexts.find(@todo.context_id).todos(true).active.not_hidden.count if !@target_context_count diff --git a/app/helpers/todos_helper.rb b/app/helpers/todos_helper.rb index 1f347fb4..548219f9 100644 --- a/app/helpers/todos_helper.rb +++ b/app/helpers/todos_helper.rb @@ -264,13 +264,13 @@ module TodosHelper end def default_contexts_for_autocomplete - projects = current_user.projects.find(:all, :include => [:context], :conditions => ['default_context_id is not null']) - Hash[*projects.map{ |p| [p.name, p.default_context.name] }.flatten].to_json + projects = current_user.uncompleted.projects.find(:all, :include => [:context], :conditions => ['default_context_id is not null']) + Hash[*projects.map{ |p| [escape_javascript(p.name), escape_javascript(p.default_context.name)] }.flatten].to_json end def default_tags_for_autocomplete - projects = current_user.projects.find(:all, :conditions => ["default_tags != ''"]) - Hash[*projects.map{ |p| [p.name, p.default_tags] }.flatten].to_json + projects = current_user.projects.uncompleted.find(:all, :conditions => ["default_tags != ''"]) + Hash[*projects.map{ |p| [escape_javascript(p.name), p.default_tags] }.flatten].to_json end def format_ical_notes(notes) @@ -386,7 +386,7 @@ module TodosHelper container_id = "hidden-empty-nd" if (@remaining_hidden_count == 0 && !@todo.hidden? && @todo_hidden_state_changed) || (@remaining_hidden_count == 0 && @todo.completed? && @original_item_was_hidden) container_id = "tickler-empty-nd" if (@todo_was_activated_from_deferred_state && @remaining_deferred_or_pending_count == 0) || - (@original_item_was_deferred && @remaining_deferred_or_pending_count == 0 && @todo.completed?) + (@original_item_was_deferred && @remaining_deferred_or_pending_count == 0 && (@todo.completed? || @tag_was_removed)) container_id = "empty-d" if @completed_count && @completed_count == 0 && !@todo.completed? } page.context { container_id = "c#{@original_item_context_id}empty-nd" if @remaining_in_context == 0 } diff --git a/app/views/contexts/_context_state_group.rhtml b/app/views/contexts/_context_state_group.rhtml index da0c95e1..d2971eb3 100644 --- a/app/views/contexts/_context_state_group.rhtml +++ b/app/views/contexts/_context_state_group.rhtml @@ -1,5 +1,8 @@
-

<%= context_state_group.length %><%= t("states."+ state +"_plural")%> <%= t('common.contexts') %>

+

+ <%= context_state_group.length %> + <%= t("states."+ state +"_plural")%> <%= t('common.contexts') %> +

<%= t('contexts.no_contexts_' + state) %>

diff --git a/app/views/layouts/standard.html.erb b/app/views/layouts/standard.html.erb index 3c941592..1bb6741d 100644 --- a/app/views/layouts/standard.html.erb +++ b/app/views/layouts/standard.html.erb @@ -2,9 +2,9 @@ - <%= stylesheet_link_tag 'standard','superfish','niftyCorners', 'jquery-ui-1.8.10.custom', :cache => 'tracks-cached' %> + <%= stylesheet_link_tag 'standard','superfish','niftyCorners', 'jquery-ui-1.8.11.custom', :cache => 'tracks-cached' %> <%= stylesheet_link_tag "print", :media => "print" %> - <%= javascript_include_tag 'jquery-1.5.1.min', 'jquery-ui-1.8.10.custom.min', + <%= javascript_include_tag 'jquery-1.5.1.min', 'jquery-ui-1.8.11.custom.min', 'jquery.truncator','jquery.jeditable.mini', 'jquery.cookie', 'jquery.blockUI', 'jquery.form','jquery.ui.autocomplete.selectFirst', :cache => 'jquery-cached' %> diff --git a/app/views/todos/_edit_form.rhtml b/app/views/todos/_edit_form.rhtml index c5970c19..37e465e6 100644 --- a/app/views/todos/_edit_form.rhtml +++ b/app/views/todos/_edit_form.rhtml @@ -15,12 +15,12 @@ form_for(todo, :html=> { :name=>'todo', :id => dom_id(@todo, 'form'), :class =>
- " /> +
- +
diff --git a/app/views/todos/_new_todo_form.rhtml b/app/views/todos/_new_todo_form.rhtml index 2d5c7b33..7a258d74 100644 --- a/app/views/todos/_new_todo_form.rhtml +++ b/app/views/todos/_new_todo_form.rhtml @@ -2,8 +2,8 @@
<% form_for(todo, :html=> { :id=>'todo-form-new-action', :name=>'todo', :class => 'inline-form new_todo_form' }) do |t|%> - - + +
<%= error_messages_for("item", :object_name => 'action') %>
@@ -14,11 +14,11 @@ <%= t.text_area("notes", "cols" => 29, "rows" => 6, "tabindex" => 2) %> - + - + <%= text_field_tag "tag_list", @default_tags, :size => 30, :tabindex => 5 %> diff --git a/app/views/todos/add_predecessor.js.erb b/app/views/todos/add_predecessor.js.erb index 25517fbc..69af584b 100644 --- a/app/views/todos/add_predecessor.js.erb +++ b/app/views/todos/add_predecessor.js.erb @@ -1,6 +1,11 @@ -<% if !@saved -%> +<% if !@saved + if @predecessor.completed? -%> + TracksPages.page_notify('error', "<%= t('todos.cannot_add_dependency_to_completed_todo') %>", 8); + $('#<%=dom_id(@todo)%>').html(html_for_todo()); +<% else -%> TracksPages.page_notify('error', "<%= t('todos.unable_to_add_dependency') %>", 8); -<% else -%> +<% end + else -%> remove_successor_from_page(); replace_updated_predecessor(); regenerate_predecessor_family(); @@ -19,7 +24,7 @@ function replace_updated_predecessor() { function show_in_tickler_box() { $("#tickler-empty-nd").hide(); - $('#tickler').append( html_for_deferred_todo() ); + $('#tickler').append( html_for_todo() ); } function regenerate_predecessor_family() { @@ -37,9 +42,12 @@ function html_for_predecessor() { return "<%= escape_javascript(render(:partial => @predecessor, :locals => { :parent_container_type => parent_container_type })) %>"; } -function html_for_deferred_todo() { +<% end # if !@saved + +# following js is needed in case of an error with dragging onto a completed action althoug +%> + +function html_for_todo() { return "<%= escape_javascript(render(:partial => @todo, :locals => { :parent_container_type => parent_container_type })) %>"; } -<% end # if !@saved -%> \ No newline at end of file diff --git a/app/views/todos/toggle_check.js.erb b/app/views/todos/toggle_check.js.erb index e90c0741..ff85d442 100644 --- a/app/views/todos/toggle_check.js.erb +++ b/app/views/todos/toggle_check.js.erb @@ -1,5 +1,5 @@ <% if !@saved -%> - TracksPages.page_notify('error', "Could not mark this todo complete", 5); + TracksPages.page_notify('error', "<%= t('todos.error_toggle_complete') %>", 5); <% else -%> <% if @wants_redirect_after_complete && @todo.completed? -%> redirect_after_complete(); diff --git a/config/environment.rb b/config/environment.rb index e7398a18..ff02891b 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -24,7 +24,7 @@ Rails::Initializer.run do |config| config.gem "highline" config.gem "RedCloth" config.gem "soap4r", :lib => false - config.gem 'datanoise-actionwebservice', :lib => 'actionwebservice' + config.gem 'datanoise-actionwebservice', :lib => 'actionwebservice', :source => "http://gems.github.com" config.gem 'sanitize', :version => '~> 1.2.1' config.gem 'rack', :version => '1.1.0' config.gem 'will_paginate', :version => '~> 2.3.15' diff --git a/config/locales/de.yml b/config/locales/de.yml index 10b5cb5c..9bdaa74d 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1,37 +1,5 @@ --- de: - common: - actions: Aktionen - back: "Zur\xC3\xBCck" - logout: Abmelden - go_back: "Zur\xC3\xBCck" - none: Keine - cancel: Abbrechen - optional: optional - notes: Notizen - server_error: Auf dem Server ist ein Fehler aufgetreten. - projects: Projekte - action: Aktion - project: Projekt - ok: Ok - numbered_step: Schritt %{number} - context: Kontext - sort: - by_task_count_title: Nach Anzahl der Aufgaben sortieren - by_task_count_title_confirm: Sollen diese Projekte wirklich nach Anzahl der Aufgaben sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben. - alphabetically: Alphabetisch - sort: Sortieren - alphabetically_title: Projekte alphabetisch sortieren - alphabetically_confirm: Sollen diese Projekte wirklich alphabetisch sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben. - by_task_count: Nach Anzahl der Aufgaben - create: Erstellen - description: Beschreibung - errors_with_fields: "Mit folgenden Feldern sind Probleme aufgetreten:" - contexts: Kontexte - drag_handle: Verschieben - update: Aktualisieren - ajaxError: Fehler beim Empfangen vom Server - search: Suchen number: format: separator: "," @@ -63,15 +31,59 @@ de: unit: !binary | 4oKs - separator: + separator: . precision: - delimiter: + delimiter: "," integrations: opensearch_description: In Tracks suchen gmail_description: "Gadget, um Tracks als Gadget zu Googlemail hinzuzuf\xC3\xBCgen" applescript_next_action_prompt: "Beschreibung der n\xC3\xA4chsten Aufgabe:" - applescript_success_before_id: "N\xC3\xA4chste neue Aufgabe mit ID" applescript_success_after_id: erstellt + applescript_success_before_id: "N\xC3\xA4chste neue Aufgabe mit ID" + common: + third: Dritte + actions: Aktionen + back: "Zur\xC3\xBCck" + add: "Hinzuf\xC3\xBCgen" + logout: Abmelden + go_back: "Zur\xC3\xBCck" + none: Keine + second: Zweite + cancel: Abbrechen + optional: optional + notes: Notizen + server_error: Auf dem Server ist ein Fehler aufgetreten. + forum: Forum + last: Letzte + action: Aktion + projects: Projekte + project: Projekt + ok: Ok + contribute: Mitwirken + first: Erste + numbered_step: Schritt %{number} + website: Website + context: Kontext + fourth: Vierte + errors_with_fields: "Mit folgenden Feldern sind Probleme aufgetreten:" + sort: + by_task_count_title: Nach Anzahl der Aufgaben sortieren + by_task_count_title_confirm: Sollen diese Projekte wirklich nach Anzahl der Aufgaben sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben. + alphabetically: Alphabetisch + alphabetically_title: Projekte alphabetisch sortieren + sort: Sortieren + alphabetically_confirm: Sollen diese Projekte wirklich alphabetisch sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben. + by_task_count: Nach Anzahl der Aufgaben + create: Erstellen + drag_handle: Verschieben + description: Beschreibung + contexts: Kontexte + update: Aktualisieren + bugs: Bugs + wiki: Wiki + email: E-Mail + ajaxError: Fehler beim Empfangen vom Server + search: Suchen layouts: toggle_notes: Notizen umschalten next_actions_rss_feed: RSS-Feed kommende Aufgaben @@ -86,35 +98,35 @@ de: contexts: 2-Kontexte home: 1-Home navigation: - manage_users_title: "Benutzer hinzuf\xC3\xBCgen oder entfernen" recurring_todos: Sich wiederholende To-Dos + manage_users_title: "Benutzer hinzuf\xC3\xBCgen oder entfernen" api_docs: REST API Docs feeds: Feeds + notes_title: Alle Notizen anzeigen stats: Statistiken starred: Markiert - notes_title: Alle Notizen anzeigen tickler_title: Notizbuch manage_users: Benutzer verwalten export_title: Daten importieren und exportieren - preferences: Einstellungen integrations_: Tracks integrieren - feeds_title: "Liste der verf\xC3\xBCgbaren Feeds anzeigen" + preferences: Einstellungen calendar_title: "Kalender mit \xC3\xBCberf\xC3\xA4lligen Aufgaben" + feeds_title: "Liste der verf\xC3\xBCgbaren Feeds anzeigen" stats_title: Statistiken anzeigen home_title: Start starred_title: Markierte Aufgaben betrachten - tickler: Notizbuch recurring_todos_title: Sich wiederholende To-Dos verwalten + tickler: Notizbuch completed_tasks: Erledigt - organize: Organisieren view: Betrachten + organize: Organisieren completed_tasks_title: "Vollst\xC3\xA4ndig" - contexts_title: Kontexte export: Export + contexts_title: Kontexte home: Start projects_title: Projekte - calendar: Kalender preferences_title: Meine Einstellungen + calendar: Kalender search: "Alle Eintr\xC3\xA4ge durchsuchen" models: project: @@ -122,13 +134,13 @@ de: feed_description: "Listet alle Projekte f\xC3\xBCr %{username} auf" todo: error_date_must_be_future: muss ein Datum in der Zukunft sein - user: - error_context_not_associated: "Kontext-ID %{context} nicht mit Benutzer-ID %{user} verkn\xC3\xBCpft." - error_project_not_associated: "Projekt-ID %{project} nicht mit User-ID %{user} verkn\xC3\xBCpft." preference: due_styles: - "F\xC3\xA4llig in ___ Tagen" - "F\xC3\xA4llig am _______" + user: + error_context_not_associated: "Kontext-ID %{context} nicht mit Benutzer-ID %{user} verkn\xC3\xBCpft." + error_project_not_associated: "Projekt-ID %{project} nicht mit User-ID %{user} verkn\xC3\xBCpft." data: import_successful: Import war erfolgreich. import_errors: Beim Import sind Fehler aufgetreten. @@ -147,20 +159,20 @@ de: context: Kontext description: Beschreibung due: Fällig - user: - last_name: Nachname - first_name: Vorname preference: - mobile_todos_per_page: Aufgaben pro Seite (Mobile Version) sms_context: Standard-E-Mail-Kontext + mobile_todos_per_page: Aufgaben pro Seite (Mobile Version) refresh: Aktualisierungsintverall (in Minuten) week_starts: Woche startet am sms_email: Per E-Mail show_project_on_todo_done: Zur Projektseite wechseln, wenn To-Do abgeschlossen + user: + last_name: Nachname + first_name: Vorname errors: messages: - record_invalid: "" greater_than_or_equal_to: "muss gr\xC3\xB6\xC3\x9Fer oder gleich %{count} sein" + record_invalid: "Validierung fehlgeschlagen: %{Fehler}" confirmation: "stimmt nicht mit der Best\xC3\xA4tigung \xC3\xBCberein" less_than_or_equal_to: muss kleiner oder gleich %{count} sein blank: "muss ausgef\xC3\xBCllt werden" @@ -192,79 +204,81 @@ de: one: "Konnte dieses %{model} Objekt nicht speichern: 1 Fehler." other: "Konnte dieses %{model} Objekt nicht speichern: %{count} Fehler." full_messages: - format: "" + format: "%{attribute} %{message}" stats: + tag_cloud_90days_title: Tag-Cloud-Aktionen in den letzten 90 Tagen totals_active_project_count: Von diesen sind %{count} aktive Projekte + actions: Aktionen tag_cloud_title: Tag-Cloud aller Aktionen tag_cloud_description: Diese Tag-Cloud beinhaltet Tags aller Aktionen (abgeschlossen, nicht abgeschlossen, sichtbar und/oder unsichtbar) - tag_cloud_90days_title: Tag-Cloud-Aktionen in den letzten 90 Tagen + totals_first_action: Seit deiner ersten Aktion am %{date} + actions_avg_completion_time: Durchschnittlich hast du %{count} Tage gebraucht, um eine Aktion abzuschliessen. actions_last_year_legend: number_of_actions: Anzahl Aktionen months_ago: Monate zuvor - totals_first_action: Seit deiner ersten Aktion am %{date} - actions_avg_completion_time: Durchschnittlich hast du %{count} Tage gebraucht, um eine Aktion abzuschliessen. + top10_longrunning: "Top 10 der am l\xC3\xA4ngsten laufenden Projekte" actions_dow_30days_title: Wochentag (letzte 30 Tage) current_running_time_of_incomplete_visible_actions: "Aktuelle Laufzeit unvollst\xC3\xA4ndiger sichtbarer Aufgaben" + running_time_legend: + actions: Aufgaben + percentage: Prozentsatz + weeks: "Vergangene Zeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen." totals_action_count: hattest du insgesamt %{count} Aktionen - totals_deferred_actions: "von denen %{count} im Notizbuch zur\xC3\xBCckgestellt sind" - top10_longrunning: "Top 10 der am l\xC3\xA4ngsten laufenden Projekte" legend: - actions: Aktionen number_of_days: Anzahl vergangene Tage + actions: Aktionen number_of_actions: Anzahl Aktionen day_of_week: Wochentag running_time: Laufzeit einer Aktion (Wochen) percentage: Prozentsatz months_ago: Monate zuvor - running_time_legend: - actions: Aufgaben - percentage: Prozentsatz - weeks: "Vergangene Zeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen." + totals_deferred_actions: "von denen %{count} im Notizbuch zur\xC3\xBCckgestellt sind" + totals_unique_tags: Von diesen Tags sind %{count} einmalig.. + actions_avg_completed_30days: und %{count} durchschnittlich davon erledigt. top5_contexts: Top 5 aller Kontexte actions_lastyear_title: Aktionen der letzten 12 Monate totals_actions_completed: "%{count} davon sind abgeschlossen." totals_incomplete_actions: "Du hast %{count} unvollst\xC3\xA4ndige Aktionen" - totals_unique_tags: Von diesen Tags sind %{count} einmalig.. - actions_avg_completed_30days: und %{count} durchschnittlich davon erledigt. + totals_context_count: Du hast %{count} Kontexte. totals_visible_context_count: Von diesen sind %{count} sichtbare Kontexte totals_blocked_actions: "%{count} h\xC3\xA4ngen vom Abschluss anderer Aktionen ab." action_completion_time_title: Fertigstellungszeit (alle abgeschlossenen Aktionen) + projects: Projekte actions_last_year: Aktionen im letzten Jahr - totals_context_count: Du hast %{count} Kontexte. + totals_project_count: Du hast %{count} Projekte. + actions_min_max_completion_days: "Das Minimum/Maximum an Tagen einer Vervollst\xC3\xA4ndigung ist %{min}/%{max}." actions_min_completion_time: "Die minimale Zeit betr\xC3\xA4gt %{time}." no_tags_available: "keine Tags verf\xC3\xBCgbar" - actions_day_of_week_title: Wochentag (alle Aktionen) - totals_project_count: Du hast %{count} Projekte. tags: Tags - actions_min_max_completion_days: "Das Minimum/Maximum an Tagen einer Vervollst\xC3\xA4ndigung ist %{min}/%{max}." - time_of_day: Tageszeit (alle Aktionen) - totals_hidden_project_count: "%{count} sind versteckt" + actions_day_of_week_title: Wochentag (alle Aktionen) top5_visible_contexts_with_incomplete_actions: "Top 5 der sichtbaren Kontexte mit unvollst\xC3\xA4ndigen Aktionen" + actions_further: und danach tod30: Tageszeit (letzte 30 Tage) + tag_cloud_90days_description: Diese Tag-Cloud beinhaltet Tags der Aktionen, die in den letzten 90 Tagen erstellt oder abgeschlossen wurden. running_time_all: "Aktuelle Laufzeit aller unvollst\xC3\xA4ndigen Aktionen." totals_tag_count: Du hast %{count} Tags in Aktionen. + time_of_day: Tageszeit (alle Aktionen) actions_30days_title: _Aktionen der letzten 30 Tage + totals_hidden_project_count: "%{count} sind versteckt" more_stats_will_appear: "Weitere Statistiken werden verf\xC3\xBCgbar, wenn einige Aufgaben hinzugef\xC3\xBCgt wurden." - actions_further: und danach - tag_cloud_90days_description: Diese Tag-Cloud beinhaltet Tags der Aktionen, die in den letzten 90 Tagen erstellt oder abgeschlossen wurden. - spread_of_running_actions_for_visible_contexts: Verteilung der laufenden Aufgaben aller sichtbaren Kontexte actions_avg_created: In den letzten 12 Monaten hast du im Durchschnitt %{count} Aktionen erstellt + click_to_show_actions_from_week: Klick auf %{link} um die Aktionen von Woche %{week} und danach anzuzeigen. other_actions_label: (andere) + totals_completed_project_count: und %{count} sind abgeschlossene Projekte. click_to_return: "Klick auf %{link} um zur Statistikseite zur\xC3\xBCckzukehren." + top10_projects_30days: Top-10-Projekt der letzten 30 Tage actions_selected_from_week: "Aktionen ausgew\xC3\xA4hlt ab Woche" top10_projects: Top 10 aller Projekte + spread_of_running_actions_for_visible_contexts: Verteilung der laufenden Aufgaben aller sichtbaren Kontexte spread_of_actions_for_all_context: Aufgabenverteilung aller Kontexte - click_to_show_actions_from_week: Klick auf %{link} um die Aktionen von Woche %{week} und danach anzuzeigen. - totals_completed_project_count: und %{count} sind abgeschlossene Projekte. - top10_projects_30days: Top-10-Projekt der letzten 30 Tage - totals_hidden_context_count: und %{count} sind versteckte Kontexte. actions_avg_completed: und %{count} durchschnittlich davon monatlich erledigt totals: Ingesamt time_of_day_legend: number_of_actions: Anzahl Aufgaben time_of_day: Tageszeit + contexts: Kontexte click_to_return_link: hier - click_to_update_actions: Klicke auf eine Leiste in der Grafik um die Aktionen unten zu aktualisieren. + totals_hidden_context_count: und %{count} sind versteckte Kontexte. labels: month_avg_completed: "%{months} Monat durchschnittlich fertig gestellt" completed: Erledigt @@ -273,6 +287,7 @@ de: avg_completed: Durchschnittlich fertiggestellt created: Erstellt no_actions_selected: "Es sind keine Aufgaben ausgew\xC3\xA4hlt." + click_to_update_actions: Klicke auf eine Leiste in der Grafik um die Aktionen unten zu aktualisieren. running_time_all_legend: actions: Aktionen running_time: "Laufzeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen." @@ -283,10 +298,10 @@ de: action_selection_title: TRACKS::Aktionsauswahl actions_actions_avg_created_30days: In den letzten 30 Tagen hast du im Durchschnitt %{count} Aktionen erstellt todos: + completed_actions: Erledigte Aufgaben show_from: Anzeigen ab dem error_starring_recurring: Konnte die Hervorhebung der wiederkehrenden Aufgabe \'%{description}\' nicht durchführen recurring_action_deleted: Die Aktion wurde gelöscht. Da dies eine wiederkehrende Aktion ist, wurde eine neue erstellt. - completed_actions: Erledigte Aufgaben completed_recurring: Abgeschlossene wiederkehrende To-Dos added_new_next_action: Neue Aktion angelegt blocked_by: Blockiert durch %{predecessors} @@ -300,17 +315,18 @@ de: completed: Erledigt no_deferred_actions_with: "Keine zur\xC3\xBCckgestellten Aktionen mit dem Tag '%{tag_name}'" no_hidden_actions: Momentan sind keine versteckten Aufgaben vorhanden - edit_action_with_description: Aktion '%{description}' bearbeiten action_due_on: "(Aktion f\xC3\xA4llig am %{date})" - archived_tasks_title: TRACKS::Archivierte erledigte Aufgaben + edit_action_with_description: Aktion '%{description}' bearbeiten remove_dependency: Abhängigkeit löschen (löscht nicht die Aufgabe) + archived_tasks_title: TRACKS::Archivierte erledigte Aufgaben list_incomplete_next_actions: Unerledigte Folge-Aufgaben anzeigen action_deleted_success: Die nächste Aktion erfolgreich gelöscht tags: Tags (Komma-separiert) + delete_recurring_action_title: "Wiederkehrende Aktion '%{description}' l\xC3\xB6schen" new_related_todo_created: "Eine neue To-Do wurde hinzugef\xC3\xBCgt, die zu dieser wiederkehrenden To-Do geh\xC3\xB6rt" context_changed: Kontext zu %{name} gewechselt + add_another_dependency: "F\xC3\xBCgen Sie eine andere Abh\xC3\xA4ngigkeit" mobile_todos_page_title: Alle Aufgaben - delete_recurring_action_title: "Wiederkehrende Aktion '%{description}' l\xC3\xB6schen" removed_predecessor: "%{successor} entfernt als Abh\xC3\xA4ngigkeit von %{predecessor}." recurring_actions_title: TRACKS::Wiederkehrende Aktionen next_action_needed: Es muss mindestens eine folgende Aktion angelegt werden @@ -338,22 +354,25 @@ de: no_deferred_pending_actions: Momentan sind keine aufgeschobenen oder ausstehenden Aufgaben vorhanden. delete_recurring_action_confirm: Soll die wiederkehrende Aktion '%{description}' wirklich gelöscht werden? completed_last_day: In den letzten 24 Stunden erledigt - feed_title_in_context: im Kontext '%{context}' - no_project: --Kein Projekt-- show_in_days: Anzeigen in %{days} Tagen + no_project: --Kein Projekt-- + error_saving_recurring: Es gab einen Fehler beim Speichern der wiederkehrenden todo '%{description}' completed_more_than_x_days_ago: Vor mehr als %{count} Tagen erledigt + new_related_todo_created_short: hat einen neuen todo + feed_title_in_context: im Kontext '%{context}' older_than_days: "Älter als %{count} Tage" edit: Bearbeiten pending: Ausstehend completed_actions_with: Abgeschlossene Aktionen mit dem Tag %{tag_name} + deleted_success: "Die Aktion wurde erfolgreich gel\xC3\xB6scht." completed_tasks_title: TRACKS::Erledigte Aufgaben feed_title_in_project: im Projekt '%{project}' clear_due_date: Fälligkeitsdatum leeren error_removing_dependency: "Beim Entfernen der Abh\xC3\xA4ngigkeit ist ein Fehler aufgetreten" hidden_actions: Verstecke Aufgaben + recurrence_period: Wiederholungszeitraum was_due_on_date: war am %{date} fällig show_on_date: Anzeigen am %{date} - recurrence_period: Wiederholungszeitraum deferred_actions_with: "Zur\xC3\xBCckgestellte Aktionen mit dem Tag '%{tag_name}'" confirm_delete: "Bist du sicher, dass du die Aktion '%{description}' l\xC3\xB6schen m\xC3\xB6chtest?" recurring_deleted_success: "Die wiederkehrende Aktion wurde erfolgreich gel\xC3\xB6scht." @@ -364,8 +383,9 @@ de: clear_show_from_date: Datum leeren calendar_page_title: TRACKS::Kalender in_hidden_state: als versteckt markiert - completed_last_x_days: In den letzten %{count} Tagen erledigt show_today: Heute anzeigen + no_actions_found_title: Keine Aktionen gefunden + completed_last_x_days: In den letzten %{count} Tagen erledigt no_actions_with: "Im Augenblick gibt es keine unvollst\xC3\xA4ndigen Aktionen mit dem Tag '%{tag_name}'" defer_x_days: one: "Einen Tag zur\xC3\xBCckstellen" @@ -384,6 +404,7 @@ de: recurring_todos: Wiederkehrende To-Dos delete: "L\xC3\xB6schen" drag_action_title: "Auf andere Aktion ziehen, um sie als Abh\xC3\xA4ngigkeit zu definieren" + cannot_add_dependency_to_completed_todo: "Kann nicht hinzugef\xC3\xBCgt werden diese Aktion als eine Abh\xC3\xA4ngigkeit zu einer abgeschlossenen Aktion!" depends_on: "H\xC3\xA4ngt ab von" tickler_items_due: one: Ein Notizbuch-Eintrag ist nun fällig - lade die Seite neu, um sie zu sehen. @@ -393,7 +414,9 @@ de: one: Du hast heute bereits eine Aufgabe erledigt. other: Du hast heute bereits %{count} Aufgaben erledigt. added_new_next_action_plural: Neue weiterführende Aufgaben angelegt + new_related_todo_not_created_short: nicht schaffen todo error_starring: Konnte die Hervorhebung von \'%{description}\' nicht durchführen + show_tomorrow: Morgen anzeigen calendar: get_in_ical_format: Diesen Kalender im iCal Format herunterladen due_next_week: Nächste Woche fällig @@ -405,11 +428,10 @@ de: no_actions_due_after_this_month: Nach diesem Monat sind keine Aufgaben fällig due_this_month: Im %{month} fällig no_actions_due_this_month: Keine Aktionen für den Rest des Monats - show_tomorrow: Morgen anzeigen recurrence: - ends_on_date: Endet am %{date} every_work_day: Jeden Arbeitstag ends_on_number_times: Endet nach %{number} Mal + ends_on_date: Endet am %{date} recurrence_on_due_date: Das Datum der To-Do ist verstrichen. weekly_options: "Einstellungen f\xC3\xBCr sich w\xC3\xB6chentlich wiederholende Aktionen" weekly: "W\xC3\xB6chentlich" @@ -419,30 +441,32 @@ de: daily_options: "Einstellungen f\xC3\xBCr sich t\xC3\xA4glich wiederholenden Aktionen" daily: "T\xC3\xA4glich" show_option_always: immer - yearly_every_x_day: "Jeden %{day}. %{month} " recurrence_on_options: Setze Wiederholung auf + yearly_every_x_day: "Jeden %{day}. %{month} " daily_every_number_day: Alle %{number} Tage ends_on: Endet am weekly_every_number_week: Kehrt jede %{number}. Woche wieder am show_options: To-Do anzeigen - show_days_before: "%{days} Tage bevor die To-Do f\xC3\xA4llig ist" - yearly_every_xth_day: Den %{day} %{day_of_week} des %{month} - from_tickler: the date todo comes from tickler (no due date set) - no_end_date: Kein Enddatum day_x_on_every_x_month: Tag %{day} in jedem %{month}. Monat yearly_options: "Einstellungen f\xC3\xBCr sich j\xC3\xA4hrlich wiederholende Aktionen" - yearly: "J\xC3\xA4hrlich" + yearly_every_xth_day: Den %{day} %{day_of_week} des %{month} + show_days_before: "%{days} Tage bevor die To-Do f\xC3\xA4llig ist" + from_tickler: the date todo comes from tickler (no due date set) + no_end_date: Kein Enddatum monthly_every_xth_day: Der %{day} %{day_of_week} eines jeden %{month}. Monats + yearly: "J\xC3\xA4hrlich" tagged_page_title: TRACKS::Als '%{tag_name}' markiert no_completed_recurring: Im Augenblick gibt es keine abgeschlossenen wiederkehrenden To-Dos added_dependency: "%{dependency} als Abhängigkeit hinzugefügt." no_deferred_actions: Zur Zeit sind keine zurückgestellten Aktionen vorhanden. recurrence_completed: Nach dieser wiederkehrenden Aktion, die du gerade abgeschlossen hast, folgt keine mehr. Die Wiederholung endet hiermit - no_actions_found_title: Keine Aktionen gefunden - in_pending_state: und als ausstehend markiert - due: Fällig action_marked_complete_error: Die Aktion '%{description}' wurde aufgrund eines Fehlers NICHT als %{completed} markiert. + no_actions_found: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aktionen." + in_pending_state: und als ausstehend markiert + error_toggle_complete: "K\xC3\xB6nnte nicht diese Marke todo komplett" + due: Fällig recurring_action_saved: Wiederkehrende Aktion gespeichert + overdue: "Überfällig" action_saved_to_tickler: Aktion im Notizbuch gespeichert depends_on_separate_with_commas: Hängt ab von (Komma-separiert) completed_in_archive: @@ -452,9 +476,8 @@ de: next_actions_description_additions: completed: In den letzten %{count} Tagen due_date: mit einem Datum %{due_date} oder früher - overdue: "Überfällig" - add_new_recurring: "F\xC3\xBCge eine neue wiederkehrende Aktion hinzu" no_incomplete_actions: Es gibt keine unerledigten Aufgaben + add_new_recurring: "F\xC3\xBCge eine neue wiederkehrende Aktion hinzu" notes: delete_note_title: Notiz '%{id}' löschen delete_confirmation: "Bist du sicher, dass du die Notiz '%{id}' l\xC3\xB6schen m\xC3\xB6chtest?" @@ -467,54 +490,8 @@ de: note_header: Notiz %{id} no_notes_available: "Derzeit gibt es keine Notizen: f\xC3\xBCge Notizen von der jeweiligen Projektseite hinzu." delete_note_confirm: Soll die Notiz '%{id}' wirklich gelöscht werden? - projects: - default_tags_removed_notice: Standard-Tags entfernt - default_context_set: Standard-Kontext des Projekts auf %{default_context} gesetzt - deferred_actions: "Aufgeschobene Aufgaben f\xC3\xBCr dieses Projekt" - edit_project_title: Projekt bearbeiten - hide_form: Fomular verstecken - page_title: "TRACKS::Projekt: %{project}" - no_notes_attached: "Im Augenblick sind keine Notizen mit diesem Projekt verkn\xC3\xBCpft." - deferred_actions_empty: "Es gibt keine aufgeschobenen Aufgaben f\xC3\xBCr dieses Projekt" - project_state: Projekt ist %{state} - show_form_title: Neues Projekt anlegen - to_new_project_page: Zu neuem Projekt weiterleiten - notes: Notizen - todos_append: an dieses Projekt - notes_empty: "Es gibt keine Notizen f\xC3\xBCr dieses Projekt" - no_projects: Keine Projekte vorhanden - hide_form_title: Formular verstecken - completed_actions_empty: "Es gibt keine erledigten Aufgaben f\xC3\xBCr dieses Projekt" - delete_project: Projekt löschen - show_form: Projekt erstellen - delete_project_confirmation: Soll das Projekt '%{name}' wirklich gelöscht werden? - add_note: "Notiz hinzuf\xC3\xBCgen" - settings: Einstellungen - completed_projects: Abgeschlossene Projekte - list_projects: TRACKS::Projektliste - add_project: Projekt hinzufügen - set_default_tags_notice: Standard-Tags des Projekts auf %{default_tags} setzen - project_saved_status: Projekt gespeichert - hidden_projects: Versteckte Projekte - delete_project_title: Projekt löschen - default_context_removed: Standard-Kontext entfernt - add_note_submit: "Notiz hinzuf\xC3\xBCgen" - completed_actions: "Erledigte Aufgaben f\xC3\xBCr dieses Projekt" - default_context: Der Standard-Kontext dieses Projektes ist %{context} - status_project_name_changed: "Projektname ge\xC3\xA4ndert" - state: Dieses Projekt ist %{state} - active_projects: Aktive Projekte - no_default_context: Dieses Projekt hat keinen Standard-Kontext errors: user_unauthorized: "401 Unauthorized: Nur administrative Benutzer d\xC3\xBCrfen auf diese Funktion zugreifen." - time: - am: vormittags - formats: - default: "%A, %d. %B %Y, %H:%M Uhr" - time: "%H:%M" - short: "%d. %B, %H:%M Uhr" - long: "%A, %d. %B %Y, %H:%M Uhr" - pm: nachmittags states: hidden_plural: Versteckte completed: Erledigt @@ -524,9 +501,17 @@ de: visible: Sichtbar active: Aktiv hidden: Versteckt + time: + am: vormittags + formats: + default: "%A, %d. %B %Y, %H:%M Uhr" + time: "%H:%M" + short: "%d. %B, %H:%M Uhr" + long: "%A, %d. %B %Y, %H:%M Uhr" + pm: nachmittags preferences: - staleness_starts_after: Staleness starts after %{days} days open_id_url: "Deine OpenID-URL lautet:" + staleness_starts_after: Staleness starts after %{days} days change_identity_url: "\xC3\x84ndere deine Identit\xC3\xA4ts-URL" page_title: TRACKS::Einstellungen change_password: "Passwort \xC3\xA4ndern" @@ -538,10 +523,59 @@ de: generate_new_token: Neues Token generieren sms_context_none: Keine token_header: Dein Token - authentication_header: Deine Authentifizierung current_authentication_type: Dein Authentifizierungsart ist %{auth_type} + authentication_header: Deine Authentifizierung change_authentication_type: "Authentifzierungsart \xC3\xA4ndern" generate_new_token_confirm: "Bist du sicher? Wenn du ein neues Token generierst, wird dies das alte Token ersetzen und jegliche externe Nutzung st\xC3\xB6ren, die das alte Token verwendet." + projects: + default_tags_removed_notice: Standard-Tags entfernt + default_context_set: Standard-Kontext des Projekts auf %{default_context} gesetzt + no_actions_in_project: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aktionen in diesem Projekt" + deferred_actions: "Aufgeschobene Aufgaben f\xC3\xBCr dieses Projekt" + was_marked_hidden: wurde als verborgen markiert + edit_project_title: Projekt bearbeiten + hide_form: Fomular verstecken + page_title: "TRACKS::Projekt: %{project}" + no_notes_attached: "Im Augenblick sind keine Notizen mit diesem Projekt verkn\xC3\xBCpft." + deferred_actions_empty: "Es gibt keine aufgeschobenen Aufgaben f\xC3\xBCr dieses Projekt" + this_project: Dieses Projekt + project_state: Projekt ist %{state} + show_form_title: Neues Projekt anlegen + to_new_project_page: Zu neuem Projekt weiterleiten + todos_append: an dieses Projekt + notes: Notizen + notes_empty: "Es gibt keine Notizen f\xC3\xBCr dieses Projekt" + no_projects: Keine Projekte vorhanden + hide_form_title: Formular verstecken + completed_actions_empty: "Es gibt keine erledigten Aufgaben f\xC3\xBCr dieses Projekt" + with_no_default_context: hat keinen Standardwert Kontext + delete_project: Projekt löschen + with_default_context: mit einem Standard-Rahmen von '%{context_name}' + show_form: Projekt erstellen + actions_in_project_title: Die Aktionen in diesem Projekt + delete_project_confirmation: Soll das Projekt '%{name}' wirklich gelöscht werden? + list_projects: TRACKS::Projektliste + add_project: Projekt hinzufügen + set_default_tags_notice: Standard-Tags des Projekts auf %{default_tags} setzen + add_note: "Notiz hinzuf\xC3\xBCgen" + is_active: ist aktiv + project_saved_status: Projekt gespeichert + settings: Einstellungen + with_default_tags: und mit '%{tags}' als Standard-Tags + completed_projects: Abgeschlossene Projekte + hidden_projects: Versteckte Projekte + delete_project_title: Projekt löschen + was_marked_complete: wurde als erledigt markiert + completed_actions: "Erledigte Aufgaben f\xC3\xBCr dieses Projekt" + default_context_removed: Standard-Kontext entfernt + add_note_submit: "Notiz hinzuf\xC3\xBCgen" + edit_project_settings: "" + status_project_name_changed: "Projektname ge\xC3\xA4ndert" + default_context: Der Standard-Kontext dieses Projektes ist %{context} + no_default_context: Dieses Projekt hat keinen Standard-Kontext + active_projects: Aktive Projekte + state: Dieses Projekt ist %{state} + with_no_default_tags: und hat keinen Standardwert Tags date: month_names: - @@ -559,10 +593,6 @@ de: - Oktober - November - Dezember - order: - - :day - - :month - - :year abbr_day_names: - So - Mo @@ -571,6 +601,10 @@ de: - Do - Fr - Sa + order: + - :day + - :month + - :year formats: only_day: "%e" default: "%d.%m.%Y" @@ -605,6 +639,10 @@ de: last_word_connector: " und " words_connector: ", " two_words_connector: " und " + select: + prompt: "Bitte w\xC3\xA4hlen Sie" + footer: + send_feedback: Senden Sie Feedback zu %{version} shared: multiple_next_actions: Mehrere neue Aufgaben (eine pro Zeile) hide_form: Formular verstecken @@ -612,80 +650,80 @@ de: add_action: "Aufgabe hinzuf\xC3\xBCgen" add_actions: "Aufgaben hinzuf\xC3\xBCgen" tags_for_all_actions: "Tags f\xC3\xBCr alle Aufgaben (mit Kommas trennen)" + context_for_all_actions: "Kontext f\xC3\xBCr alle Aufgaben" toggle_multi: "Mehrere neue Aufgabeneintr\xC3\xA4ge hinzuf\xC3\xBCgen" toggle_single_title: Eine weitere Aktion hinzufügen project_for_all_actions: "Projekt f\xC3\xBCr alle Aufgaben" - context_for_all_actions: "Kontext f\xC3\xBCr alle Aufgaben" separate_tags_with_commas: mit Kommas trennen toggle_multi_title: "Zwischen Einzel- und Mehrfachformular f\xC3\xBCr neue Aufgaben umschalten" hide_action_form_title: "Formular f\xC3\xBCr neue Aufgaben verstecken" - users: - total_contexts: Alle Kontexte - successfully_deleted_user: Benutzer %{username} erfolgreich gelöscht. - failed_to_delete_user: Löschen des Benutzers %{username} fehlgeschlagen - openid_url_verified: Die URL %{url} wurde erfolgreich als Identität verifiziert und Deine Authentifizierung auf OpenID umgestellt. - destroy_successful: "Benutzer %{login} wurde erfolgreich gel\xC3\xB6scht" - auth_type_update_error: "Beim Ändern der Authentifizierung trat ein Fehler auf: %{error_messages}" - first_user_heading: "Willkommen bei TRACKS. Als erstes legen Sie bitte einen Administrator-Zugang an:" - total_projects: Alle Projekte - signup_successful: Benutzer %{username} erfolgreich angelegt. - new_token_generated: Neuer Token erfolgreich generiert - no_signups_title: TRACKS::Anmeldung nicht erlaubt - user_created: Benutzer angelegt. - change_password_submit: "Passwort \xC3\xA4ndern" - manage_users: Benutzer verwalten - account_signup: Accounteinrichtung - password_updated: Passwort aktualisiert. - signup: Registrieren - confirm_password: "Passwort best\xC3\xA4tigen" - new_user_heading: "Einen neuen Benutzer anlegen:" - auth_type_updated: Authentifizierungs-Art erfolgreich geändert. - total_actions: Alle Aufgaben - desired_login: "Gew\xC3\xBCnschter Benutzername" - destroy_error: "Beim L\xC3\xB6schen des Benutzers %{login} ist ein Fehler aufgetreten." - choose_password: "Passwort w\xC3\xA4hlen" - change_password_title: TRACKS::Passwort ändern - change_auth_type_title: TRACKS::Authentifizierungstyp ändern - change_password_prompt: "Gib dein neues Passwort in die unten stehenden Felder ein und klicke auf 'Passwort \xC3\xA4ndern' um dein altes Passwort durch das neue zu ersetzen." - password_confirmation_label: "Passwort best\xC3\xA4tigen" - label_auth_type: Authentifizierungsart - new_password_label: Neues Passwort - register_with_cas: Mit deinem CAS-Benutzernamen - destroy_user: "Benutzer l\xC3\xB6schen" - total_users_count: Derzeit existieren %{count} Benutzer - new_user_title: TRACKS::Als Administrator anmelden - destroy_confirmation: "Achtung: der Benutzer '%{login}' wird mit all seinen Aufgaben, Kontexten, Projekten und Notizen gel\xC3\xB6scht. Bist du sicher, dass du fortfahren m\xC3\xB6chtest?" - signup_new_user: Neuen Benutzer anlegen - identity_url: Identity-URL - change_authentication_type: "Authentifizierungsart \xC3\xA4ndern" - auth_change_submit: "Authentifizierungsart \xC3\xA4ndern" - openid_ok_pref_failed: Die URL %{url} wurde erfolgreich als Identität verifiziert, beim Speichern der Einstellungen trat jedoch ein Fehler auf. - select_authentication_type: "W\xC3\xA4hle deine neue Authentifizierungsart und klicke 'Authentifizierungsart \xC3\xA4ndern' an, um deine aktuellen Einstellungen zu \xC3\xBCberschreiben." - total_notes: Alle Notizen feedlist: - actions_due_today: "Heute oder fr\xC3\xBCher f\xC3\xA4llig" choose_context: "Kontext f\xC3\xBCr den Feed w\xC3\xA4hlen" + actions_due_today: "Heute oder fr\xC3\xBCher f\xC3\xA4llig" ical_feed: iCal-Feed all_contexts: Alle Kontexte - legend: "Legende:" rss_feed: RSS-Feed + legend: "Legende:" all_projects: Alle Projekte choose_project: "Projekt f\xC3\xBCr den Feed w\xC3\xA4hlen" project_needed: Es muss mindestens ein Projekt existieren, bevor ein Feed abonniert werden kann. select_feed_for_project: "Feed f\xC3\xBCr dieses Projekt ausw\xC3\xA4hlen" active_projects_wo_next: Aktive Projekte ohne ausstehende Aufgaben active_starred_actions: Alle markierten, aktiven Aufgaben + projects_and_actions: Aktive Projekte und deren Aufgaben context_needed: Es muss mindestens ein Kontext existieren, bevor ein Feed abonniert werden kann. select_feed_for_context: "Feed f\xC3\xBCr diesen Kontext ausw\xC3\xA4hlen" - projects_and_actions: Aktive Projekte und deren Aufgaben actions_due_next_week: "In den n\xC3\xA4chsten 7 Tagen oder fr\xC3\xBCher f\xC3\xA4llige Aufgaben" notice_incomplete_only: "Hinweis: Alle Feeds zeigen nur Aufgaben, die noch nicht als erledigt markiert wurden." + all_actions: Alle Aufgaben + actions_completed_last_week: In den letzten 7 Tagen abgeschlossene Aufgaben context_centric_actions: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext" plain_text_feed: Plain-Text-Feed last_fixed_number: Die letzten %{number} Aufgaben - all_actions: Alle Aufgaben - actions_completed_last_week: In den letzten 7 Tagen abgeschlossene Aufgaben project_centric: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext" + users: + successfully_deleted_user: Benutzer %{username} erfolgreich gelöscht. + failed_to_delete_user: Löschen des Benutzers %{username} fehlgeschlagen + openid_url_verified: Die URL %{url} wurde erfolgreich als Identität verifiziert und Deine Authentifizierung auf OpenID umgestellt. + destroy_successful: "Benutzer %{login} wurde erfolgreich gel\xC3\xB6scht" + auth_type_update_error: "Beim Ändern der Authentifizierung trat ein Fehler auf: %{error_messages}" + total_contexts: Alle Kontexte + first_user_heading: "Willkommen bei TRACKS. Als erstes legen Sie bitte einen Administrator-Zugang an:" + total_projects: Alle Projekte + signup_successful: Benutzer %{username} erfolgreich angelegt. + new_token_generated: Neuer Token erfolgreich generiert + change_password_submit: "Passwort \xC3\xA4ndern" + no_signups_title: TRACKS::Anmeldung nicht erlaubt + user_created: Benutzer angelegt. + account_signup: Accounteinrichtung + password_updated: Passwort aktualisiert. + manage_users: Benutzer verwalten + total_actions: Alle Aufgaben + signup: Registrieren + desired_login: "Gew\xC3\xBCnschter Benutzername" + confirm_password: "Passwort best\xC3\xA4tigen" + new_user_heading: "Einen neuen Benutzer anlegen:" + auth_type_updated: Authentifizierungs-Art erfolgreich geändert. + change_password_prompt: "Gib dein neues Passwort in die unten stehenden Felder ein und klicke auf 'Passwort \xC3\xA4ndern' um dein altes Passwort durch das neue zu ersetzen." + password_confirmation_label: "Passwort best\xC3\xA4tigen" + destroy_error: "Beim L\xC3\xB6schen des Benutzers %{login} ist ein Fehler aufgetreten." + choose_password: "Passwort w\xC3\xA4hlen" + change_password_title: TRACKS::Passwort ändern + change_auth_type_title: TRACKS::Authentifizierungstyp ändern + new_password_label: Neues Passwort + register_with_cas: Mit deinem CAS-Benutzernamen + label_auth_type: Authentifizierungsart + destroy_user: "Benutzer l\xC3\xB6schen" + total_users_count: Derzeit existieren %{count} Benutzer + new_user_title: TRACKS::Als Administrator anmelden + signup_new_user: Neuen Benutzer anlegen + destroy_confirmation: "Achtung: der Benutzer '%{login}' wird mit all seinen Aufgaben, Kontexten, Projekten und Notizen gel\xC3\xB6scht. Bist du sicher, dass du fortfahren m\xC3\xB6chtest?" + identity_url: Identity-URL + change_authentication_type: "Authentifizierungsart \xC3\xA4ndern" + auth_change_submit: "Authentifizierungsart \xC3\xA4ndern" + openid_ok_pref_failed: Die URL %{url} wurde erfolgreich als Identität verifiziert, beim Speichern der Einstellungen trat jedoch ein Fehler auf. + select_authentication_type: "W\xC3\xA4hle deine neue Authentifizierungsart und klicke 'Authentifizierungsart \xC3\xA4ndern' an, um deine aktuellen Einstellungen zu \xC3\xBCberschreiben." + total_notes: Alle Notizen sidebar: list_name_active_contexts: Aktive Kontexte list_name_active_projects: Aktive Projekte @@ -699,24 +737,24 @@ de: show_form_title: Neuen Kontext erstellen delete_context: Kontext löschen delete_context_confirmation: Soll der Kontext '%{name}' wirklich gelöscht werden? Alle (wiederholenden) Aufgaben dieses Kontexts werden hierdurch ebenfalls gelöscht. - edit_context: Kontext bearbeiten hide_form_title: Formular für neuen Kontext verstecken + edit_context: Kontext bearbeiten + context_hide: Auf Startseite ausblenden? hidden_contexts: Versteckte Kontexte no_contexts_active: Derzeit gibt es keine aktiven Kontexte - context_hide: Auf Startseite ausblenden? - show_form: Neuen Kontext erstellen add_context: "Kontext hinzuf\xC3\xBCgen" visible_contexts: Sichtbare Kontexte save_status_message: Kontext gespeichert - update_status_message: "Kontextname wurde ge\xC3\xA4ndert" + show_form: Neuen Kontext erstellen context_name: Kontextname + update_status_message: "Kontextname wurde ge\xC3\xA4ndert" status_active: Kontext ist aktiv new_context_post: "' wird ebenfalls angelegt. Fortfahren?" - new_context_pre: Der neue Kontext ' - no_actions: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aufgaben in diesem Kontext" last_completed_in_context: in diesem Kontext (letzte %{number}) context_deleted: "Gel\xC3\xB6schter Kontext '%{name}'" no_contexts_hidden: Derzeit gibt es keine versteckten Kontexte + new_context_pre: Der neue Kontext ' + no_actions: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aufgaben in diesem Kontext" status_hidden: Kontext ist versteckt datetime: prompts: @@ -731,6 +769,9 @@ de: one: weniger als eine Minute other: weniger als %{count} Minuten zero: weniger als 1 Minute + almost_x_years: + one: fast 1 Jahr + other: fast %{count} Jahre x_days: one: 1 Tag other: "%{count} Tage" @@ -761,22 +802,22 @@ de: other: mehr als %{count} Jahre half_a_minute: eine halbe Minute login: - user_no_expiry: Angemeldet bleiben - login_cas: zum CAS gehen - sign_in: Anmeldung openid_identity_url_not_found: "Sorry, aber es existiert kein Benutzer mit der Identit\xC3\xA4ts-URL (%{identity_url})" - cas_logged_in_greeting: Hallo, %{username}! Du bist authentifiziert. - cas_no_user_found: Hallo, %{username}! Du hast leider keinen Tracks-Account. + login_cas: zum CAS gehen + user_no_expiry: Angemeldet bleiben + sign_in: Anmeldung cas_login: CAS-Anmeldung successful_with_session_info: "Anmeldung erfolgreich:" please_login: Bitte melde dich an, um Tracks zu nutzen + cas_logged_in_greeting: Hallo, %{username}! Du bist authentifiziert. + cas_no_user_found: Hallo, %{username}! Du hast leider keinen Tracks-Account. cas_username_not_found: Sorry, aber es existiert kein Benutzer mit dem CAS-Benutzernamen (%{username}) cas_create_account: "Wenn du die Anfrage fortsetzen m\xC3\xB6chtest, klicke bitte hier: %{signup_link}" mobile_use_openid: "\xE2\x80\xA6oder mit einer OpenID anmelden" - account_login: Account-Anmeldung cas_signup_link: Account beantragen - successful: "Anmeldung erfolgreich. Willkommen zur\xC3\xBCck!" + account_login: Account-Anmeldung session_will_not_expire: Sitzung wird nicht ablaufen. + successful: "Anmeldung erfolgreich. Willkommen zur\xC3\xBCck!" session_time_out: Sitzung abgelaufen. Bitte %{link} session_will_expire: "Sitzung wird nach %{hours} Stunde(n) der Inaktivit\xC3\xA4t ablaufen." option_separator: oder, diff --git a/config/locales/en.yml b/config/locales/en.yml index e88710f1..a17523ce 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -415,6 +415,9 @@ en: actions_day_of_week_title: "Day of week (all actions)" actions_dow_30days_title: "Day of week (past 30 days)" action_completion_time_title: "Completion time (all completed actions)" + actions: Actions + contexts: Contexts + projects: Projects todos: action_saved: "Action saved" recurring_action_saved: "Recurring action saved" @@ -422,6 +425,7 @@ en: added_new_project: "Added new project" added_new_context: "Added new context" error_starring: "Could not toggle the star of this todo \'%{description}\'" + error_toggle_complete: "Could not mark this todo complete" recurrence_completed: "There is no next action after the recurring action you just finished. The recurrence is completed" tagged_with: "tagged with ‘%{tag_name}’" no_actions_found_title: "No actions found" @@ -557,6 +561,7 @@ en: set_to_pending: "%{task} set to pending" append_in_this_project: "in this project" unable_to_add_dependency: "Unable to add dependency" + cannot_add_dependency_to_completed_todo : "Cannot add this action as a dependency to a completed action!" calendar: due_today: "Due today" no_actions_due_today: "No actions due today" diff --git a/config/locales/nl.yml b/config/locales/nl.yml index e8ab0851..51d90ecd 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -27,8 +27,8 @@ nl: opensearch_description: Zoek in Tracks gmail_description: Gadget om Tracks toe te voegen aan Gmail als een gadget applescript_next_action_prompt: "Omschrijving van de actie:" - applescript_success_before_id: Nieuwe actie met ID applescript_success_after_id: gemaakt + applescript_success_before_id: Nieuwe actie met ID common: third: Derde actions: Acties @@ -36,8 +36,8 @@ nl: add: Toevoegen logout: Log uit go_back: Ga terug - second: Tweede none: Geen + second: Tweede cancel: Annuleer optional: optioneel notes: Notities @@ -50,12 +50,11 @@ nl: ok: Ok contribute: Bijdragen first: Eerste - website: Website numbered_step: Stap %{number} - fourth: Vierde + website: Website context: Context + fourth: Vierde errors_with_fields: Er waren problemen met de volgende velden - drag_handle: SLEEP sort: by_task_count_title: Sorteer op aantal acties by_task_count_title_confirm: Weet u zeker dat u deze projecten alphabetisch wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen. @@ -64,12 +63,13 @@ nl: sort: Sorteer alphabetically_confirm: Weet u zeker dat u deze projecten alphabetisch wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen. by_task_count: Bij aantal acties + drag_handle: SLEEP create: Maken description: Beschrijving contexts: Contexten update: Bijwerken - wiki: Wiki bugs: Fouten + wiki: Wiki email: E-mail ajaxError: Er is een fout opgetreden bij het ophalen van gegevens van de server search: Zoeken @@ -87,13 +87,13 @@ nl: contexts: 2-Contexten home: 1-Start navigation: - manage_users_title: Toevoegen of verwijderen gebruikers recurring_todos: Terugkerende acties + manage_users_title: Toevoegen of verwijderen gebruikers api_docs: REST API Docs feeds: Feeds + notes_title: Toon alle notities stats: Statistieken starred: Ster - notes_title: Toon alle notities tickler_title: Tickler manage_users: Beheren gebruikers export_title: Import en export van gegevens @@ -101,12 +101,12 @@ nl: preferences: Voorkeuren calendar_title: Kalender met acties met deadline feeds_title: Zie een lijst met beschikbare feeds + stats_title: Zie je statistieken home_title: Start starred_title: Zie je ster acties recurring_todos_title: Beheren terugkerende acties tickler: Tickler completed_tasks: Gereed - stats_title: Zie je statistieken view: Bekijk organize: Organiseer completed_tasks_title: Afgerond @@ -152,12 +152,12 @@ nl: show_hidden_projects_in_sidebar: Toon verborgen projecten in sidebar show_hidden_contexts_in_sidebar: Toon verborgen contexten in sidebar date_format: Datum formaat - staleness_starts: Begin van markeren openstaande actie sms_context: Standaard context voor email - verbose_action_descriptors: Context en project uitschrijven in actielijst mobile_todos_per_page: Acties per pagina (mobiel) - show_number_completed: Aantal te tonen afgeronde acties + verbose_action_descriptors: Context en project uitschrijven in actielijst + staleness_starts: Begin van markeren openstaande actie title_date_format: Datum formaat in titel + show_number_completed: Aantal te tonen afgeronde acties refresh: Ververs interval (in minuten) week_starts: Week start op time_zone: Tijdzone @@ -179,8 +179,8 @@ nl: exclusion: is gereserveerd invalid: mag niet een komma (',') karakter bevatten odd: moet oneven zijn - empty: mag niet leeg zijn wrong_length: heeft de verkeerde lengte (moet %{count} karakters lang zijn) + empty: mag niet leeg zijn even: moet even zijn too_short: is te kort (minimum is %{count} karakters) less_than: moet kleiner zijn dan %{count} @@ -206,15 +206,17 @@ nl: full_messages: format: "%{attribute} %{message}" stats: + tag_cloud_90days_title: Tag cloud met acties in afgelopen 90 dagen totals_active_project_count: Van deze zijn %{count} actieve projecten + actions: Acties tag_cloud_title: Tag Cloud voor alle acties tag_cloud_description: Deze tag cloud bevat tags van alle acties (afgerond, niet voltooid, zichtbaar en / of verborgen) - tag_cloud_90days_title: Tag cloud met acties in afgelopen 90 dagen + totals_first_action: Sinds uw eerste actie op %{date} actions_avg_completion_time: Van al uw afgeronde acties, de gemiddelde tijd dat dit in beslag nam is %{count} dagen. actions_last_year_legend: number_of_actions: Aantal acties months_ago: Maanden geleden - totals_first_action: Sinds uw eerste actie op %{date} + top10_longrunning: Top 10 langstlopende projecten actions_dow_30days_title: Dag van de week (laatste 30 dagen) current_running_time_of_incomplete_visible_actions: Huidige looptijd van onvolledige zichtbare acties running_time_legend: @@ -222,7 +224,6 @@ nl: percentage: Percentage weeks: Looptijd van een actie (weken). Klik op een balk voor meer info totals_action_count: u heeft een totaal van %{count} acties - totals_deferred_actions: waarvan %{count} uitgestelde acties in de tickler zijn legend: number_of_days: Aantal dagen geleden actions: Acties @@ -231,24 +232,28 @@ nl: running_time: Looptijd van een actie (weken) percentage: Percentage months_ago: Maanden geleden - top10_longrunning: Top 10 langstlopende projecten + totals_deferred_actions: waarvan %{count} uitgestelde acties in de tickler zijn + totals_unique_tags: Van deze tags zijn %{count} uniek. + actions_avg_completed_30days: en voltooide een gemiddelde van %{count} acties per dag. top5_contexts: Top 5 contexten actions_lastyear_title: Acties in de afgelopen 12 maanden totals_actions_completed: "%{count} van deze zijn voltooid." totals_incomplete_actions: U heeft %{count} onvolledige acties - totals_unique_tags: Van deze tags zijn %{count} uniek. - actions_avg_completed_30days: en voltooide een gemiddelde van %{count} acties per dag. + totals_context_count: U heeft %{count} contexten. totals_visible_context_count: Van deze zijn %{count} zichtbare contexten totals_blocked_actions: "%{count} zijn afhankelijk van de voltooiing van hun acties." action_completion_time_title: Doorlooptijd (alle voltooide acties) + projects: Projecten actions_last_year: Acties in de afgelopen jaren - totals_context_count: U heeft %{count} contexten. + totals_project_count: U heeft %{count} projecten. + actions_min_max_completion_days: De max-/minimum dagen tot voltooiing is %{min}/%{max}. actions_min_completion_time: De minimale tijd tot afronding is %{time}. no_tags_available: geen tags beschikbaar - actions_day_of_week_title: Dag van de week (alle acties) - totals_project_count: U heeft %{count} projecten. tags: Tags - actions_min_max_completion_days: De max-/minimum dagen tot voltooiing is %{min}/%{max}. + actions_day_of_week_title: Dag van de week (alle acties) + top5_visible_contexts_with_incomplete_actions: Top 5 zichtbare contexten met onvolledige acties + actions_further: en verder + tod30: Tijd van de dag (laatste 30 dagen) tag_cloud_90days_description: Deze tag cloud bevat tags van acties die zijn gemaakt of voltooid in de afgelopen 90 dagen. running_time_all: Huidige looptijd van alle onvolledige acties totals_tag_count: U heeft %{count} tags geplaatst op acties. @@ -256,9 +261,9 @@ nl: actions_30days_title: Acties in de afgelopen 30 dagen totals_hidden_project_count: "%{count} zijn verborgen" more_stats_will_appear: Meer statistieken zullen hier verschijnen zodra u acties hebt toegevoegd. - top5_visible_contexts_with_incomplete_actions: Top 5 zichtbare contexten met onvolledige acties - actions_further: en verder - tod30: Tijd van de dag (laatste 30 dagen) + actions_avg_created: In de afgelopen 12 maanden heeft u gemiddeld%{count} acties aangemaakt + click_to_show_actions_from_week: Klik %{link} om de acties van week %{week} en verder te zien. + other_actions_label: (anderen) totals_completed_project_count: en %{count} zijn afgeronde projecten. click_to_return: Klik %{link} om terug te keren naar de statistieken pagina. top10_projects_30days: Top 10 project in de laatste 30 dagen @@ -266,17 +271,14 @@ nl: top10_projects: Top 10 projecten spread_of_running_actions_for_visible_contexts: Verdeling van actieve acties voor zichtbare contexten spread_of_actions_for_all_context: Verdeling van acties voor alle contexten - actions_avg_created: In de afgelopen 12 maanden heeft u gemiddeld%{count} acties aangemaakt - click_to_show_actions_from_week: Klik %{link} om de acties van week %{week} en verder te zien. - other_actions_label: (anderen) + actions_avg_completed: en voltooide een gemiddelde van %{count} acties per maand. totals: Totalen time_of_day_legend: number_of_actions: Aantal acties time_of_day: Tijd van de dag + contexts: Contexten click_to_return_link: hier totals_hidden_context_count: en %{count} zijn verborgen contexten. - actions_avg_completed: en voltooide een gemiddelde van %{count} acties per maand. - no_actions_selected: Er zijn geen acties geselecteerd. labels: month_avg_completed: "%{months} gem afgerond per maand" completed: Afgerond @@ -284,23 +286,24 @@ nl: avg_created: Gem gemaakt avg_completed: Gem afgerond created: Gemaakt + no_actions_selected: Er zijn geen acties geselecteerd. click_to_update_actions: Klik op een balk in de grafiek op de acties hieronder aan te passen. running_time_all_legend: actions: Acties running_time: Looptijd van een actie (weken). Klik op een balk voor meer info percentage: Percentage - action_selection_title: "TRACKS:: Actie selectie" - actions_actions_avg_created_30days: In de afgelopen 30 dagen heeft u gemiddeld %{count} acties gemaakt tod30_legend: number_of_actions: Aantal acties time_of_day: Tijd van de dag + action_selection_title: "TRACKS:: Actie selectie" + actions_actions_avg_created_30days: In de afgelopen 30 dagen heeft u gemiddeld %{count} acties gemaakt todos: - recurring_action_deleted: Actie werd verwijderd. Omdat deze actie herhalend is. werd een nieuwe actie toegevoegd + completed_actions: Voltooide acties show_from: Toon vanaf error_starring_recurring: Kon niet de ster van deze terugkerende actie niet omgezetten \'%{description}\' - completed_actions: Voltooide acties - added_new_next_action: Nieuwe actie toegevoegd + recurring_action_deleted: Actie werd verwijderd. Omdat deze actie herhalend is. werd een nieuwe actie toegevoegd completed_recurring: Afgesloten terugkerende todos + added_new_next_action: Nieuwe actie toegevoegd blocked_by: Geblokkeerd door %{predecessors} star_action: Markeer deze actie met een ster completed_recurrence_completed: Er is geen actie na de terugkerende actie die u new verwijderd heeft. De herhaling is voltooid @@ -312,18 +315,18 @@ nl: completed: Afgerond no_deferred_actions_with: Geen uitgestelde acties met de tag '%{tag_name}' no_hidden_actions: Momenteel zijn er geen verborgen acties gevonden - edit_action_with_description: Bewerk de actie '%{description}' action_due_on: (deadline actie op %{date}) - archived_tasks_title: "TRACKS:: Gearchiveerde voltooide taken" + edit_action_with_description: Bewerk de actie '%{description}' remove_dependency: Verwijder afhankelijkheid (zal niet de actie zelf verwijderen) + archived_tasks_title: "TRACKS:: Gearchiveerde voltooide taken" list_incomplete_next_actions: Toon onvoltooide acties - tags: Tags (gescheiden door komma's) action_deleted_success: Actie succesvol verwijderd - mobile_todos_page_title: Alle acties + tags: Tags (gescheiden door komma's) + delete_recurring_action_title: Verwijder de terugkerende actie new_related_todo_created: Een nieuwe actie is toegevoegd, die behoort bij deze terugkerende todo context_changed: Context veranderd in '%{name}' add_another_dependency: Nog een afhankelijkheid toevoegen - delete_recurring_action_title: Verwijder de terugkerende actie + mobile_todos_page_title: Alle acties removed_predecessor: "'%{successor}' is verwijderd als afhankelijkheid van '%{predecessor}'." recurring_actions_title: TRACKS::Terugkerende acties next_action_needed: U dient ten minste een actie in te vullen @@ -333,7 +336,6 @@ nl: edit_action: Actie bewerken added_new_context: Nieuwe context toegevoegd next_actions_description: "Filter:" - older_completed_items: Oudere voltooide items list_incomplete_next_actions_with_limit: Toont de laatste %{count} onvoltooide acties set_to_pending: "'%{task}' als wachtend ingesteld" added_new_project: Nieuw project toegevoegd @@ -341,9 +343,10 @@ nl: completed: acties voltooid due_today: deadline vandaag due_within_a_week: deadline binnen een week - task_list_title: TRACKS::Toon acties + older_completed_items: Oudere voltooide items append_in_this_project: in dit project error_deleting_item: Er is een fout opgetreden bij het verwijderen van het item '%{description}' + task_list_title: TRACKS::Toon acties no_actions_due_this_week: Geen acties met deadline in rest van deze week no_recurring_todos: Momenteel zijn er geen terugkerende acties error_completing_todo: Er was een fout bij het voltooien / activeren van de terugkerende actie '%{description}' @@ -351,25 +354,25 @@ nl: no_deferred_pending_actions: Momenteel zijn er geen uitgestelde of wachtende acties delete_recurring_action_confirm: Weet u zeker dat u wilt de terugkerende actie '%{description}' wilt verwijderen? completed_last_day: Voltooid in de laatste 24 uur - error_saving_recurring: Er is een fout opgetreden het opslaan van de terugkerende actie '%{description}' - no_project: -- Geen project -- show_in_days: Toon over %{days} dagen + no_project: -- Geen project -- + error_saving_recurring: Er is een fout opgetreden het opslaan van de terugkerende actie '%{description}' completed_more_than_x_days_ago: Voltooid meer dan %{count} dagen geleden new_related_todo_created_short: een nieuwe actie gemaakt feed_title_in_context: in context '%{context}' + completed_actions_with: Afgeronde acties met de tag %{tag_name} older_than_days: Ouder dan %{count} dagen edit: Bewerken pending: Wachtend - completed_actions_with: Afgeronde acties met de tag %{tag_name} deleted_success: De actie werd met succes verwijderd. completed_tasks_title: TRACKS::Voltooide taken feed_title_in_project: In het project '%{project}' clear_due_date: Maak deadline leeg error_removing_dependency: Er is een fout opgetreden het verwijderen van de afhankelijke actie hidden_actions: Verborgen acties + recurrence_period: Herhaling periode was_due_on_date: had deadline op %{date} show_on_date: Toon op %{date} - recurrence_period: Herhaling periode deferred_actions_with: Uitgestelde acties met de tag '%{tag_name}' confirm_delete: Weet u zeker dat u de actie '%{description}' wilt verwijderen? recurring_deleted_success: De recurrente actie is succesvol verwijderd. @@ -383,10 +386,10 @@ nl: show_today: Toon vandaag no_actions_found_title: Geen acties gevonden completed_last_x_days: Voltooid in de laatste %{count} dagen + no_actions_with: Momenteel zijn er geen onvoltooide acties met de tag '%{tag_name}' defer_x_days: one: Een dag uitstellen other: "%{count} dagen uitstellen" - no_actions_with: Momenteel zijn er geen onvoltooide acties met de tag '%{tag_name}' added_new_next_action_singular: Nieuwe actie toegevoegd no_completed_actions: Momenteel zijn er geen voltooide acties. deferred_pending_actions: Uitgestelde/wachtende acties @@ -401,6 +404,7 @@ nl: recurring_todos: Terugkerende acties delete: Verwijder drag_action_title: Sleep naar een andere actie om deze afhankelijk te maken van die actie + cannot_add_dependency_to_completed_todo: Kan deze actie niet als een afhankelijkheid van een voltooide actie toevoegen! depends_on: Hangt af van tickler_items_due: one: Een tickler item wordt nu zichtbaar - vernieuw de pagina om het te zien. @@ -425,30 +429,30 @@ nl: due_this_month: Deadline in rest van %{month} no_actions_due_this_month: Geen acties met deadline in de rest van deze maand recurrence: - ends_on_date: Eindigt op %{date} every_work_day: Elke werkdag ends_on_number_times: Eindigt na %{number} keer + ends_on_date: Eindigt op %{date} recurrence_on_due_date: de datum dat deadline van de actie is weekly_options: Instellingen voor de wekelijkse terugkerende acties - monthly_options: Instellingen voor maandelijks terugkerende acties weekly: Wekelijks + monthly_options: Instellingen voor maandelijks terugkerende acties monthly: Maandelijks starts_on: Begint op daily_options: Instellingen voor dagelijks terugkerende acties - show_option_always: altijd daily: Dagelijks - yearly_every_x_day: Elke %{month} %{day} + show_option_always: altijd recurrence_on_options: Stel herhaling in op + yearly_every_x_day: Elke %{month} %{day} daily_every_number_day: Elke %{number} dag(en) - weekly_every_number_week: Herhaalt elke %{number} weken op ends_on: Eindigt op + weekly_every_number_week: Herhaalt elke %{number} weken op show_options: Toon de actie + day_x_on_every_x_month: Dag %{day} op elke %{month} maand yearly_options: Instellingen voor jaarlijks terugkerende acties - show_days_before: "%{days} dagen v\xC3\xB3\xC3\xB3r de deadline van actie" yearly_every_xth_day: De %{day} %{day_of_week} van %{month} + show_days_before: "%{days} dagen v\xC3\xB3\xC3\xB3r de deadline van actie" from_tickler: de datum dat de actie uit de tickler komt (geen deadline ingesteld) no_end_date: Geen einddatum - day_x_on_every_x_month: Dag %{day} op elke %{month} maand yearly: Jaarlijks monthly_every_xth_day: De %{day} %{day_of_week} van elke %{month} maand tagged_page_title: TRACKS::Tagged met '%{tag_name}' @@ -458,28 +462,29 @@ nl: recurrence_completed: Er is geen volgende actie na de terugkerende actie die u zojuist hebt voltooid. De herhaling is voltooid no_actions_found: Momenteel zijn er geen onafgeronde acties. in_pending_state: in wachtende toestand + error_toggle_complete: Kon deze actie niet als afgerond markeren due: Deadline action_marked_complete_error: De actie '%{description}' is niet gemarkeerd als %{completed} vanwege een fout op de server. - next_actions_description_additions: - completed: in de afgelopen %{count} dagen - due_date: met een deadline %{due_date} of eerder - depends_on_separate_with_commas: Afhankelijk van (gescheiden door komma's) - action_saved_to_tickler: Actie opgeslagen in tickler recurring_action_saved: Terugkerende actie opgeslagen + overdue: Achterstallig + action_saved_to_tickler: Actie opgeslagen in tickler + depends_on_separate_with_commas: Afhankelijk van (gescheiden door komma's) completed_in_archive: one: Er is een voltooide actie in het archief. other: Er zijn %{count} afgeronde acties in het archief. to_tickler: naar tickler - overdue: Achterstallig - add_new_recurring: Voeg een nieuwe terugkerende actie toe + next_actions_description_additions: + completed: in de afgelopen %{count} dagen + due_date: met een deadline %{due_date} of eerder no_incomplete_actions: Er zijn geen onvoltooide acties + add_new_recurring: Voeg een nieuwe terugkerende actie toe notes: delete_note_title: Verwijder de notitie '%{id}' delete_confirmation: Weet u zeker dat u de notitie '%{id}' wilt verwijderen? delete_item_title: Verwijder item - deleted_note: Verwijder notitie '%{id}' note_link_title: Toon notitie %{id} show_note_title: Toon notitie + deleted_note: Verwijder notitie '%{id}' note_location_link: "In:" edit_item_title: Item bewerken note_header: Notitie %{id} @@ -487,15 +492,6 @@ nl: delete_note_confirm: Weet u zeker dat u de notitie '%{id}' wilt verwijderen? errors: user_unauthorized: "401 Unauthorized: Alleen administratieve gebruikers mogen deze functie gebruiken." - states: - hidden_plural: Verborgen - completed: Afgerond - completed_plural: Afgeronde - visible_plural: Zichtbare - visible: Zichtbaar - active_plural: Actieve - active: Actief - hidden: Verborgen time: am: ochtend formats: @@ -504,9 +500,18 @@ nl: short: "%d %B %H:%M" long: "%A, %d. %B %Y, %H:%M" pm: middag + states: + hidden_plural: Verborgen + completed: Afgerond + completed_plural: Afgeronde + visible_plural: Zichtbare + active_plural: Actieve + visible: Zichtbaar + active: Actief + hidden: Verborgen preferences: - staleness_starts_after: Ophopen begint na %{days} dagen open_id_url: Uw OpenID URL is + staleness_starts_after: Ophopen begint na %{days} dagen change_identity_url: Verander uw Identity URL page_title: "TRACKS:: Voorkeuren" change_password: Wijzig uw wachtwoord @@ -518,59 +523,59 @@ nl: generate_new_token: Genereer een nieuwe token sms_context_none: Geen token_header: Uw token - change_authentication_type: Verander uw authenticatietype - authentication_header: Uw authenticatie current_authentication_type: Uw authenticatietype is %{auth_type} + authentication_header: Uw authenticatie + change_authentication_type: Verander uw authenticatietype generate_new_token_confirm: Weet u dit zeker? Het genereren van een nieuw token zal de bestaande te vervangen en dit zal het extern gebruiken van de oude token laten mislukken. projects: - no_actions_in_project: Momenteel zijn er geen onafgeronde acties in dit project default_tags_removed_notice: De standaard tags zijn verwijderd - was_marked_hidden: is gemarkeerd als verborgen default_context_set: Stel project standaard context in op %{default_context} + no_actions_in_project: Momenteel zijn er geen onafgeronde acties in dit project deferred_actions: Uitgestelde acties voor dit project + was_marked_hidden: is gemarkeerd als verborgen edit_project_title: Bewerk project - page_title: "TRACKS:: Project: %{project}" hide_form: Verberg formulier + page_title: "TRACKS:: Project: %{project}" + no_notes_attached: Momenteel zijn er geen notities toegevoegd aan dit project deferred_actions_empty: Er zijn geen uitgestelde acties voor dit project + this_project: Dit project project_state: Project is %{state}. show_form_title: Maak een nieuw project to_new_project_page: Ga naar de nieuwe projectpagina - this_project: Dit project - no_notes_attached: Momenteel zijn er geen notities toegevoegd aan dit project - notes: Notities todos_append: in dit project + notes: Notities notes_empty: Er zijn geen notities voor dit project no_projects: Momenteel zijn er geen projecten hide_form_title: Verberg nieuw project formulier - delete_project: Project verwijderen - with_no_default_context: zonder standaard context completed_actions_empty: Er zijn nog geen afgeronde acties voor dit project - actions_in_project_title: Acties in dit project + with_no_default_context: zonder standaard context + delete_project: Project verwijderen with_default_context: met een standaard context '%{context_name}' show_form: Toevoegen van een project + actions_in_project_title: Acties in dit project delete_project_confirmation: Weet u zeker dat u wilt het project '%{name} wilt verwijderen? - with_default_tags: en met '%{tags}' als de standaard tags + list_projects: "TRACKS:: Overzicht van projecten" + add_project: Voeg project toe set_default_tags_notice: Stel project standaard tags in op %{default_tags} add_note: Een notitie toevoegen + is_active: is actief project_saved_status: Project opgeslagen settings: Instellingen + with_default_tags: en met '%{tags}' als de standaard tags completed_projects: Voltooide projecten - list_projects: "TRACKS:: Overzicht van projecten" - is_active: is actief - add_project: Voeg project toe - delete_project_title: Verwijder het project hidden_projects: Verborgen projecten - default_context_removed: Standaard context verwijderd - completed_actions: Afgeronde acties voor dit project - add_note_submit: Notitie toevoegen + delete_project_title: Verwijder het project was_marked_complete: is gemarkeerd als voltooid - default_context: De standaard context voor dit project is %{context} - status_project_name_changed: Naam van het project werd gewijzigd - no_default_context: Dit project heeft geen standaard context - with_no_default_tags: en zonder standaard tags + completed_actions: Afgeronde acties voor dit project + default_context_removed: Standaard context verwijderd + add_note_submit: Notitie toevoegen edit_project_settings: Bewerk project instellingen + status_project_name_changed: Naam van het project werd gewijzigd + default_context: De standaard context voor dit project is %{context} + no_default_context: Dit project heeft geen standaard context active_projects: Actieve projecten state: Dit project is %{state} + with_no_default_tags: en zonder standaard tags date: month_names: - @@ -632,22 +637,6 @@ nl: two_words_connector: en select: prompt: Selecteer - footer: - send_feedback: Stuur reactie op %{version} - shared: - multiple_next_actions: Meerdere acties (een op elke regel) - toggle_single: Voeg een actie toe - hide_form: Verberg formulier - add_action: Actie toevoegen - add_actions: Toevoegen acties - tags_for_all_actions: Tags voor alle acties (scheiden met een komma) - toggle_multi: Voeg meerdere acties toe - toggle_single_title: Voeg een nieuwe actie toe - project_for_all_actions: Project voor alle acties - context_for_all_actions: Context voor alle acties - separate_tags_with_commas: gescheiden door komma's - toggle_multi_title: Toggle single / multi actie formulier - hide_action_form_title: Verberg nieuwe actie formulier dates: month_names: - Januari @@ -670,6 +659,89 @@ nl: - Donderdag - Vrijdag - Zaterdag + footer: + send_feedback: Stuur reactie op %{version} + shared: + multiple_next_actions: Meerdere acties (een op elke regel) + hide_form: Verberg formulier + toggle_single: Voeg een actie toe + add_action: Actie toevoegen + add_actions: Toevoegen acties + tags_for_all_actions: Tags voor alle acties (scheiden met een komma) + context_for_all_actions: Context voor alle acties + toggle_multi: Voeg meerdere acties toe + toggle_single_title: Voeg een nieuwe actie toe + project_for_all_actions: Project voor alle acties + separate_tags_with_commas: gescheiden door komma's + toggle_multi_title: Toggle single / multi actie formulier + hide_action_form_title: Verberg nieuwe actie formulier + users: + successfully_deleted_user: Succesvol gebruiker %{username} verwijderd + failed_to_delete_user: Mislukt de gebruiker %{username} te verwijderen + openid_url_verified: Je hebt %{url} met succes geverifieerd als je identiteit en uw authenticatie type OpenID opgeslagen. + destroy_successful: Gebruiker %{login} met succes verwijderd + auth_type_update_error: "Er was een probleem met het bijwerken van uw authenticatietype: %{error_messages}" + total_contexts: Totaal aantal contexten + first_user_heading: "Welkom bij TRACKS. Om te beginnen, maak dan een admin account:" + total_projects: Totaal aantal projecten + signup_successful: Aanmelding succesvol voor gebruiker %{username}. + new_token_generated: Nieuwe token met succes gegenereerd + change_password_submit: Wachtwoord wijzigen + no_signups_title: "TRACKS:: Geen nieuwe aanmeldingen" + user_created: Gebruiker aangemaakt. + account_signup: Aanmelden voor een account + password_updated: Wachtwoord bijgewerkt. + manage_users: Beheren gebruikers + total_actions: Totaal aanal acties + signup: Aanmelden + desired_login: Gewenste login + confirm_password: Bevestig wachtwoord + new_user_heading: "Registreer een nieuwe gebruiker:" + auth_type_updated: Authenticatietype bijgewerkt. + change_password_prompt: Voer uw nieuwe wachtwoord in de onderstaande velden in en kies 'Wachtwoord wijzigen' om uw huidige wachtwoord met uw nieuwe te vervangen. + password_confirmation_label: Bevestig wachtwoord + destroy_error: Er is een fout opgetreden bij het verwijderen van de gebruiker '%{login}' + choose_password: Kies een wachtwoord + change_password_title: TRACKS::Wachtwoord wijzigen + change_auth_type_title: TRACKS::Wijzig authenticatietype + new_password_label: Nieuw wachtwoord + register_with_cas: Met uw CAS gebruikersnaam + label_auth_type: Authenticatietype + destroy_user: Verwijder de gebruiker + total_users_count: Je hebt een totaal van %{count} gebruikers + new_user_title: "TRACKS:: Aanmelden als de admin gebruiker" + signup_new_user: Registreer nieuwe gebruiker + destroy_confirmation: "Waarschuwing: dit zal de gebruiker '%{login} verwijderen met al zijn acties, contexten, projecten en notities. Weet u zeker dat u wilt doorgaan?" + identity_url: Identiteit URL + change_authentication_type: Wijzigen authenticatietype + auth_change_submit: Wijzigen authenticatietype + openid_ok_pref_failed: Je hebt succesvol de %{url} geverifieerd als je identiteit, maar er was een probleem met het opslaan van uw authenticatie voorkeuren. + select_authentication_type: Selecteer uw nieuwe authenticatie type en klik op 'Wijzigen authenticatietype' om uw huidige instellingen te vervangen. + total_notes: Totaal aantal notities + feedlist: + choose_context: Kies de context waar je een feed van wilt + actions_due_today: Acties die vandaag of eerder af moeten + ical_feed: iCal feed + all_contexts: Alle contexten + legend: Legenda + rss_feed: RSS Feed + all_projects: Alle projecten + choose_project: Kies het project waar je een feed van wilt + project_needed: "Er moet ten minste \xC3\xA9\xC3\xA9n project zijn voor een feed opgevraagd kan worden" + select_feed_for_project: Kies de feed voor dit project + active_projects_wo_next: Actieve projecten zonder acties + active_starred_actions: Alle gesterde, actieve acties + projects_and_actions: Actieve projecten met hun acties + context_needed: "Er moet eerst ten minste \xC3\xA9\xC3\xA9n context zijn voor je een feed kan opvragen" + select_feed_for_context: Kies de feed voor deze context + actions_due_next_week: Acties die binnen 7 dagen afgerond moeten + notice_incomplete_only: "Merk op: alle feeds laten alleen acties zien die niet afgerond zijn, tenzij anders vermeld." + all_actions: Alle acties + actions_completed_last_week: Acties afgerond in de afgelopen 7 dagen + context_centric_actions: Feeds voor onafgeronde acties in een specifieke context + plain_text_feed: Reguliere tekst feed + last_fixed_number: Laatste %{number} acties + project_centric: Feeds voor onafgeronde acties in een specifiek project sidebar: list_name_active_contexts: Actieve contexten list_name_active_projects: Actieve projecten @@ -677,49 +749,6 @@ nl: list_name_completed_projects: Voltooide projecten list_name_hidden_projects: Verborgen projecten list_name_hidden_contexts: Verborgen contexten - users: - openid_url_verified: Je hebt %{url} met succes geverifieerd als je identiteit en uw authenticatie type OpenID opgeslagen. - destroy_successful: Gebruiker %{login} met succes verwijderd - auth_type_update_error: "Er was een probleem met het bijwerken van uw authenticatietype: %{error_messages}" - total_contexts: Totaal aantal contexten - first_user_heading: "Welkom bij TRACKS. Om te beginnen, maak dan een admin account:" - successfully_deleted_user: Succesvol gebruiker %{username} verwijderd - failed_to_delete_user: Mislukt de gebruiker %{username} te verwijderen - total_projects: Totaal aantal projecten - signup_successful: Aanmelding succesvol voor gebruiker %{username}. - new_token_generated: Nieuwe token met succes gegenereerd - no_signups_title: "TRACKS:: Geen nieuwe aanmeldingen" - user_created: Gebruiker aangemaakt. - change_password_submit: Wachtwoord wijzigen - account_signup: Aanmelden voor een account - password_updated: Wachtwoord bijgewerkt. - manage_users: Beheren gebruikers - signup: Aanmelden - confirm_password: Bevestig wachtwoord - new_user_heading: "Registreer een nieuwe gebruiker:" - auth_type_updated: Authenticatietype bijgewerkt. - total_actions: Totaal aanal acties - desired_login: Gewenste login - password_confirmation_label: Bevestig wachtwoord - destroy_error: Er is een fout opgetreden bij het verwijderen van de gebruiker '%{login}' - choose_password: Kies een wachtwoord - change_password_title: TRACKS::Wachtwoord wijzigen - change_auth_type_title: TRACKS::Wijzig authenticatietype - change_password_prompt: Voer uw nieuwe wachtwoord in de onderstaande velden in en kies 'Wachtwoord wijzigen' om uw huidige wachtwoord met uw nieuwe te vervangen. - label_auth_type: Authenticatietype - new_password_label: Nieuw wachtwoord - register_with_cas: Met uw CAS gebruikersnaam - destroy_user: Verwijder de gebruiker - total_users_count: Je hebt een totaal van %{count} gebruikers - new_user_title: "TRACKS:: Aanmelden als de admin gebruiker" - destroy_confirmation: "Waarschuwing: dit zal de gebruiker '%{login} verwijderen met al zijn acties, contexten, projecten en notities. Weet u zeker dat u wilt doorgaan?" - signup_new_user: Registreer nieuwe gebruiker - change_authentication_type: Wijzigen authenticatietype - identity_url: Identiteit URL - auth_change_submit: Wijzigen authenticatietype - openid_ok_pref_failed: Je hebt succesvol de %{url} geverifieerd als je identiteit, maar er was een probleem met het opslaan van uw authenticatie voorkeuren. - total_notes: Totaal aantal notities - select_authentication_type: Selecteer uw nieuwe authenticatie type en klik op 'Wijzigen authenticatietype' om uw huidige instellingen te vervangen. contexts: delete_context_title: Verwijder context hide_form: Verberg formulier @@ -728,47 +757,23 @@ nl: delete_context_confirmation: Weet u zeker dat u de context '%{name}' wilt verwijderen? Merk op dat dit ook alle (herhalende) acties in deze context zal verwijderen! hide_form_title: "Verberg formulier voor nieuwe context " edit_context: Bewerk context + context_hide: Verberg van de start pagina? hidden_contexts: Verborgen contexten no_contexts_active: Momenteel zijn er geen actieve contexten - context_hide: Verberg van de start pagina? + add_context: Context toevoegen visible_contexts: Zichtbare contexten save_status_message: Context bewaard show_form: Maak een nieuwe context - add_context: Context toevoegen - context_name: Context naam update_status_message: Naam van de context was veranderd + context_name: Context naam status_active: Context is actief new_context_post: "' zal ook gemaakt worden. Weet u dit zeker?" + last_completed_in_context: in deze context (laatste %{number}) context_deleted: De context '%{name}' is verwijderd no_contexts_hidden: Momenteel zijn er geen verborgen contexten new_context_pre: Nieuwe context ' no_actions: Momenteel zijn er geen onafgeronde acties in deze context - last_completed_in_context: in deze context (laatste %{number}) status_hidden: Context is verborgen - feedlist: - actions_due_today: Acties die vandaag of eerder af moeten - choose_context: Kies de context waar je een feed van wilt - ical_feed: iCal feed - all_contexts: Alle contexten - rss_feed: RSS Feed - legend: Legenda - all_projects: Alle projecten - choose_project: Kies het project waar je een feed van wilt - project_needed: "Er moet ten minste \xC3\xA9\xC3\xA9n project zijn voor een feed opgevraagd kan worden" - select_feed_for_project: Kies de feed voor dit project - active_projects_wo_next: Actieve projecten zonder acties - active_starred_actions: Alle gesterde, actieve acties - context_needed: "Er moet eerst ten minste \xC3\xA9\xC3\xA9n context zijn voor je een feed kan opvragen" - select_feed_for_context: Kies de feed voor deze context - projects_and_actions: Actieve projecten met hun acties - actions_due_next_week: Acties die binnen 7 dagen afgerond moeten - notice_incomplete_only: "Merk op: alle feeds laten alleen acties zien die niet afgerond zijn, tenzij anders vermeld." - context_centric_actions: Feeds voor onafgeronde acties in een specifieke context - plain_text_feed: Reguliere tekst feed - last_fixed_number: Laatste %{number} acties - all_actions: Alle acties - actions_completed_last_week: Acties afgerond in de afgelopen 7 dagen - project_centric: Feeds voor onafgeronde acties in een specifiek project datetime: prompts: minute: Minuut @@ -815,34 +820,34 @@ nl: other: over %{count} jaren half_a_minute: halve minuut login: - user_no_expiry: Blijf ingelogd - login_cas: Ga naar het CAS - sign_in: Meld aan openid_identity_url_not_found: Sorry, geen gebruiker met die identiteit URL bestaat (%{identity_url}) + login_cas: Ga naar het CAS + user_no_expiry: Blijf ingelogd + sign_in: Meld aan + cas_login: CAS Inloggen successful_with_session_info: "Login succesvol:" please_login: Log in om Tracks te gebruiken cas_logged_in_greeting: Hallo, %{username}! U bent geauthenticeerd. cas_no_user_found: Hallo,%{username}! Je hebt nog geen account op Tracks. - cas_login: CAS Inloggen cas_username_not_found: Sorry, geen gebruiker met die CAS gebruikersnaam bestaat (%{username}) - mobile_use_openid: ... if inloggen met een OpenID cas_create_account: Als u willen vragen ga hier om %{signup_link} - account_login: Account login + mobile_use_openid: ... if inloggen met een OpenID cas_signup_link: Aanvragen account + account_login: Account login session_will_not_expire: sessie zal niet verlopen. successful: Succesvol aangemeld. Welkom terug! + session_time_out: Sessie is verlopen. Gelieve %{link} session_will_expire: sessie zal verlopen na %{hours} u(u)r(en) van inactiviteit. option_separator: of, - session_time_out: Sessie is verlopen. Gelieve %{link} login_standard: Ga terug naar de standaard login + unsuccessful: Login mislukt. log_in_again: opnieuw in te loggen. logged_out: Je bent afgemeld bij Tracks. login_with_openid: inloggen met een OpenID - unsuccessful: Login mislukt. search: contexts_matching_query: Contexten passend bij zoekopdracht tags_matching_query: Tags passend bij zoekopdracht + no_results: Uw zoekopdracht heeft geen resultaten opgeleverd. todos_matching_query: Todos passend bij zoekopdracht projects_matching_query: Projecten passend bij zoekopdracht notes_matching_query: Notities passend bij zoekopdracht - no_results: Uw zoekopdracht heeft geen resultaten opgeleverd. diff --git a/features/calendar.feature b/features/calendar.feature index 5343bc9c..ddc68106 100644 --- a/features/calendar.feature +++ b/features/calendar.feature @@ -10,7 +10,7 @@ Feature: Show all due actions in a calendar view And I have logged in as "testuser" with password "secret" And I have a context called "@calendar" - @selenium + @selenium Scenario: Setting due date of a todo will show it in the calendar When I submit a new action with description "a new next action" in the context "@calendar" And I go to the calendar page @@ -22,7 +22,7 @@ Feature: Show all due actions in a calendar view Then the badge should show 1 And I should see "a new next action" - @selenium + @selenium Scenario: Clearing the due date of a todo will remove it from the calendar When I go to the home page And I submit a new action with description "a new next action" in the context "@calendar" @@ -32,7 +32,7 @@ Feature: Show all due actions in a calendar view When I clear the due date of "a new next action" Then I should not see "a new next action" - @selenium + @selenium Scenario: Marking a todo complete will remove it from the calendar Given I have a todo "a new next action" in the context "@calendar" which is due tomorrow When I go to the calendar page diff --git a/features/context_list.feature b/features/context_list.feature index a1c3afa8..3b864fef 100644 --- a/features/context_list.feature +++ b/features/context_list.feature @@ -9,6 +9,24 @@ Feature: Manage the list of contexts | testuser | secret | false | And I have logged in as "testuser" with password "secret" + Scenario: The list of contexts contain all contexts + Given I have the following contexts + | name | hide | + | @ipad | false | + | @home | false | + | @boss | false | + When I go to the contexts page + Then I should see "@ipad" + And I should see "@home" + And I should see "@boss" + And the badge should show 3 + + Scenario: Clicking on a project takes me to the context page + Given I have a context called "@computer" + When I go to the contexts page + And I follow "@computer" + Then I should be on the context page for "@computer" + @selenium Scenario: Delete context from context page should update badge Given I have a context called "@computer" @@ -76,13 +94,20 @@ Feature: Manage the list of contexts And I add a new active context "foo, bar" Then I should see "Name cannot contain the comma" - @selenium @wip + @selenium Scenario: I can drag and drop to order the contexts - # TODO: pending scenario - Given this is a pending scenario + Given I have the following contexts + | name | + | @ipad | + | @home | + | @boss | + When I go to the contexts page + Then context "@ipad" should be above context "@home" + When I drag context "@ipad" below context "@home" + Then context "@home" should be above context "@ipad" - @selenium @wip - Scenario: Hiding and unhiding the new project form + @selenium + Scenario: Hiding and unhiding the new context form When I go to the contexts page Then the new context form should be visible When I follow "Hide form" diff --git a/features/dependencies.feature b/features/dependencies.feature index b15f6377..591f345f 100644 --- a/features/dependencies.feature +++ b/features/dependencies.feature @@ -1,6 +1,6 @@ Feature: dependencies As a Tracks user - In order to keep track of complex todos + In order to keep track of complex todos that are dependent on each other I want to assign and manage todo dependencies Background: @@ -94,3 +94,16 @@ Feature: dependencies Scenario: Deleting a successor will update predecessor Given this is a pending scenario + + @selenium @wip + Scenario: Dragging an action to a completed action will not add it as a dependency + Given I have a context called "@pc" + And I have a project "dependencies" that has the following todos + | description | context | completed | + | test 1 | @pc | no | + | test 2 | @pc | no | + | test 3 | @pc | yes | + When I visit the "dependencies" project + And I drag "test 1" to "test 3" + Then I should see an error flash message saying "Cannot add this action as a dependency to a completed action!" + And I should see "test 1" in project container for "dependencies" \ No newline at end of file diff --git a/features/project_list.feature b/features/project_list.feature index e682797b..862716cd 100644 --- a/features/project_list.feature +++ b/features/project_list.feature @@ -12,10 +12,11 @@ Feature: Manage the list of projects And there exists a project "a project name starting with a" for user "testuser" And I have logged in as "testuser" with password "secret" - Scenario: The list of project contain all projects + Scenario: The list of projects contain all projects When I go to the projects page Then I should see "manage me" And I should see "upgrade jquery" + And I should see "a project name starting with a" And the badge should show 3 Scenario: Clicking on a project takes me to the project page diff --git a/features/step_definitions/context_list_steps.rb b/features/step_definitions/context_list_steps.rb index e808ceac..e7906782 100644 --- a/features/step_definitions/context_list_steps.rb +++ b/features/step_definitions/context_list_steps.rb @@ -42,6 +42,31 @@ When /^I add a new hidden context "([^"]*)"$/ do |context_name| submit_new_context_form end +Then /^context "([^"]*)" should be above context "([^"]*)"$/ do |context_high, context_low| + high_id = @current_user.contexts.find_by_name(context_high).id + low_id = @current_user.contexts.find_by_name(context_low).id + high_pos = selenium.get_element_position_top("//div[@id='context_#{high_id}']").to_i + low_pos = selenium.get_element_position_top("//div[@id='context_#{low_id}']").to_i + (high_pos < low_pos).should be_true +end + +When /^I drag context "([^"]*)" below context "([^"]*)"$/ do |context_drag, context_drop| + drag_id = @current_user.contexts.find_by_name(context_drag).id + drop_id = @current_user.contexts.find_by_name(context_drop).id + + container_height = selenium.get_element_height("//div[@id='container_context_#{drag_id}']").to_i + vertical_offset = container_height*2 + coord_string = "10,#{vertical_offset}" + + drag_context_handle_xpath = "//div[@id='context_#{drag_id}']//span[@class='handle']" + drop_context_container_xpath = "//div[@id='container_context_#{drop_id}']" + + selenium.mouse_down_at(drag_context_handle_xpath,"2,2") + selenium.mouse_move_at(drop_context_container_xpath,coord_string) + # no need to simulate mouse_over for this test + selenium.mouse_up_at(drop_context_container_xpath,coord_string) +end + Then /^I should see that a context named "([^"]*)" is not present$/ do |context_name| Then "I should not see \"#{context_name}\"" end @@ -60,6 +85,14 @@ Then /^I should see the context "([^"]*)" under "([^"]*)"$/ do |context_name, st response.should have_xpath("//div[@id='list-contexts-#{state}']//div[@id='context_#{context.id}']") end +Then /^the new context form should be visible$/ do + selenium.is_visible("context_new").should be_true +end + +Then /^the new context form should not be visible$/ do + selenium.is_visible("context_new").should be_false +end + Then /^the context list badge for ([^"]*) contexts should show (\d+)$/ do |state_name, count| selenium.get_text("xpath=//span[@id='#{state_name}-contexts-count']").should == count end diff --git a/features/step_definitions/context_steps.rb b/features/step_definitions/context_steps.rb index 5a7dfbfa..40a8b3ba 100644 --- a/features/step_definitions/context_steps.rb +++ b/features/step_definitions/context_steps.rb @@ -47,7 +47,11 @@ end Given /^I have the following contexts$/ do |table| Context.delete_all table.hashes.each do |hash| - context = Factory(:context, hash) + context = @current_user.contexts.create!(:name => hash[:name]) + unless hash[:hide].blank? + context.hide = hash[:hide] == true + context.save! + end end end diff --git a/features/step_definitions/dependencies_steps.rb b/features/step_definitions/dependencies_steps.rb index 26833079..5de5cde4 100644 --- a/features/step_definitions/dependencies_steps.rb +++ b/features/step_definitions/dependencies_steps.rb @@ -15,8 +15,7 @@ When /^I drag "(.*)" to "(.*)"$/ do |dragged, target| selenium.drag_and_drop_to_object(drag_name, drop_name) - arrow = "xpath=//div[@id='line_todo_#{drop_id}']/div/a[@class='show_successors']/img" - selenium.wait_for_element(arrow, :timeout_in_seconds => 5) + wait_for_ajax end When /^I expand the dependencies of "([^\"]*)"$/ do |todo_name| diff --git a/features/step_definitions/generic_steps.rb b/features/step_definitions/generic_steps.rb index c21113a5..be22dcdc 100644 --- a/features/step_definitions/generic_steps.rb +++ b/features/step_definitions/generic_steps.rb @@ -34,3 +34,34 @@ Then /^I should not see the context "([^"]*)"$/ do |context_name| !selenium.is_visible("xpath=//div[@id='c#{context.id}']") end end + +Then /^I should see an error flash message saying "([^"]*)"$/ do |message| + xpath = "//div[@id='message_holder']/h4[@id='flash']" + text = response.selenium.get_text("xpath=#{xpath}") + text.should == message +end + +Then /^I should see "([^"]*)" in context container for "([^"]*)"$/ do |todo_description, context_name| + context = @current_user.contexts.find_by_name(context_name) + context.should_not be_nil + todo = @current_user.todos.find_by_description(todo_description) + todo.should_not be_nil + + xpath = "xpath=//div[@id=\"c#{context.id}\"]//div[@id='line_todo_#{todo.id}']" + selenium.wait_for_element(xpath, :timeout_in_seconds => 5) + selenium.is_visible(xpath).should be_true +end + +Then /^I should see "([^"]*)" in project container for "([^"]*)"$/ do |todo_description, project_name| + todo = @current_user.todos.find_by_description(todo_description) + todo.should_not be_nil + + project = @current_user.projects.find_by_name(project_name) + project.should_not be_nil + + xpath = "//div[@id='p#{project.id}items']//div[@id='line_todo_#{todo.id}']" + + selenium.wait_for_element("xpath=#{xpath}", :timeout_in_seconds => 5) + selenium.is_visible(xpath).should be_true +end + diff --git a/features/step_definitions/todo_steps.rb b/features/step_definitions/todo_steps.rb index 776d6374..acedd92c 100644 --- a/features/step_definitions/todo_steps.rb +++ b/features/step_definitions/todo_steps.rb @@ -65,6 +65,9 @@ Given /^I have a project "([^"]*)" that has the following todos$/ do |project_na unless todo[:tags].nil? new_todo.tag_with(todo[:tags]) end + unless todo[:completed].nil? + new_todo.complete! if todo[:completed] == 'yes' + end end end @@ -291,10 +294,10 @@ Then /^I should see "([^"]*)" in the due next month container$/ do |todo_descrip todo = @current_user.todos.find_by_description(todo_description) todo.should_not be_nil - xpath = "xpath=//div[@id='due_after_this_month']//div[@id='line_todo_#{todo.id}']" + xpath = "//div[@id='due_after_this_month']//div[@id='line_todo_#{todo.id}']" wait_for :timeout => 5 do - !selenium.is_element_present(xpath) + selenium.is_element_present(xpath) end end diff --git a/public/javascripts/application.js b/public/javascripts/application.js index d964d8f7..592909ec 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -171,7 +171,7 @@ var TracksPages = { Nifty("div#project_new_project_container","normal"); }, page_notify: function(type, message, fade_duration_in_sec) { - var flash = $('h4#flash'); + var flash = $('div#message_holder'); flash.html("

"+message+"

"); flash = $('h4#flash'); flash.show(); @@ -228,6 +228,33 @@ var TracksPages = { selectFirst: true }); }, + setup_all_autocompleters: function() { + //fix for #1036 where closing a edit form before the autocomplete was filled + //resulted in a dropdown box that could not be removed. We remove all + //autocomplete boxes the hard way + $('.ac_results').remove(); + + // initialize autocompleters + ProjectItems.setup_autocomplete_for_projects('input[name=project_name]'); + ContextItems.setup_autocomplete_for_contexts('input[name=context_name]'); + ContextItems.setup_autocomplete_for_contexts('input[id="project_default_context_name"]'); + TracksPages.setup_autocomplete_for_tag_list('input[name=tag_list]'); + TracksPages.setup_autocomplete_for_tag_list('input[id="project_default_tags"]'); + TodoItems.setup_autocomplete_for_predecessor(); + }, + setup_datepicker: function() { + $('input.Date').datepicker({ + 'dateFormat': dateFormat, + 'firstDay': weekStart, + 'showButtonPanel': true, + 'showWeek': true, + 'changeMonth': true, + 'changeYear': true, + 'maxDate': '+5y', + 'minDate': '-1y', + 'showAnim': '' /* leave empty, see #1117 */ + }); + }, setup_behavior: function () { /* main menu */ $('ul.sf-menu').superfish({ @@ -436,6 +463,53 @@ var TodoItems = { selectFirst: true }); }, + drag_todo: function() { + $('.drop_target').show(); + $(this).parents(".container").find(".context_target").hide(); + }, + drop_todo: function(evt, ui) { + /* Drag & Drop for successor/predecessor */ + var dragged_todo = ui.draggable[0].id.split('_')[2]; + var dropped_todo = this.id.split('_')[2]; + ui.draggable.remove(); + $('.drop_target').hide(); // IE8 doesn't call stop() in this situation + + ajax_options = default_ajax_options_for_scripts('POST', relative_to_root('todos/add_predecessor'), $(this)); + ajax_options.data += "&predecessor="+dropped_todo + "&successor="+dragged_todo + $.ajax(ajax_options); + }, + drop_todo_on_context: function(evt, ui) { + /* Drag & drop for changing contexts */ + var target = $(this).parent().get(); + var dragged_todo = ui.draggable[0].id.split('_')[2]; + var context_id = this.id.split('_')[1]; + ui.draggable.remove(); + $('.drop_target').hide(); + + ajax_options = default_ajax_options_for_scripts('POST', relative_to_root('todos/change_context'), target); + ajax_options.data += "&todo[id]="+dragged_todo + "&todo[context_id]="+context_id + $.ajax(ajax_options); + }, + setup_drag_and_drop: function() { + $('.item-show').draggable({ + handle: '.grip', + revert: 'invalid', + start: TodoItems.drag_todo, + stop: function() { + $('.drop_target').hide(); + } + }); + $('.item-show').droppable({ + drop: TodoItems.drop_todo, + tolerance: 'pointer', + hoverClass: 'hover' + }); + $('.context_target').droppable({ + drop: TodoItems.drop_todo_on_context, + tolerance: 'pointer', + hoverClass: 'hover' + }); + }, setup_behavior: function() { /* show the notes of a todo */ $(".show_notes").live('click', function () { @@ -968,21 +1042,21 @@ function default_ajax_options_for_submit(ajax_type, element_to_block) { var options = { type: ajax_type, async: true, - context: element_to_block, + block_element: element_to_block, data: "_source_view=" + SOURCE_VIEW, beforeSend: function() { - // console.debug('data: '+this.data); - if (this.context) { - $(this.context).block({ + if (this.block_element) { + $(this.block_element).block({ message: null }); } }, complete: [function() { - if (this.context) { - $(this.context).unblock(); + if (this.block_element) { + $(this.block_element).unblock(); } - enable_rich_interaction(); + // delay a bit to wait for animations to finish + setTimeout(function(){enable_rich_interaction();}, 500); }], error: function(req, status) { TracksPages.page_notify('error', i18n['common.ajaxError']+': '+status, 8); @@ -1098,30 +1172,9 @@ function project_defaults(){ function enable_rich_interaction(){ // called after completion of all AJAX calls - //fix for #1036 where closing a edit form before the autocomplete was filled - //resulted in a dropdown box that could not be removed. We remove all - //autocomplete boxes the hard way - $('.ac_results').remove(); - - $('input.Date').datepicker({ - 'dateFormat': dateFormat, - 'firstDay': weekStart, - 'showButtonPanel': true, - 'showWeek': true, - 'changeMonth': true, - 'changeYear': true, - 'maxDate': '+5y', - 'minDate': '-1y', - 'showAnim': '' /* leave empty, see #1117 */ - }); - - /* Autocomplete */ - ProjectItems.setup_autocomplete_for_projects('input[name=project_name]'); - ContextItems.setup_autocomplete_for_contexts('input[name=context_name]'); - ContextItems.setup_autocomplete_for_contexts('input[id="project_default_context_name"]'); - TracksPages.setup_autocomplete_for_tag_list('input[name=tag_list]'); - TracksPages.setup_autocomplete_for_tag_list('input[id="project_default_tags"]'); - TodoItems.setup_autocomplete_for_predecessor(); + TracksPages.setup_datepicker(); + TracksPages.setup_all_autocompleters(); + TodoItems.setup_drag_and_drop(); /* have to bind on keypress because of limitations of live() */ $('input[name=project_name]').live('keypress', function(){ @@ -1134,72 +1187,11 @@ function enable_rich_interaction(){ $(this).attr('edited', 'true'); }); - /* Drag & Drop for successor/predecessor */ - function drop_todo(evt, ui) { - var dragged_todo = ui.draggable[0].id.split('_')[2]; - var dropped_todo = this.id.split('_')[2]; - ui.draggable.remove(); - $('.drop_target').hide(); // IE8 doesn't call stop() in this situation - - ajax_options = default_ajax_options_for_scripts('POST', relative_to_root('todos/add_predecessor'), $(this)); - ajax_options.data += "&predecessor="+dropped_todo + "&successor="+dragged_todo - $.ajax(ajax_options); - } - - function drag_todo(){ - $('.drop_target').show(); - $(this).parents(".container").find(".context_target").hide(); - } - - $('.item-show').draggable({ - handle: '.grip', - revert: 'invalid', - start: drag_todo, - stop: function() { - $('.drop_target').hide(); - } - }); - - $('.item-show').droppable({ - drop: drop_todo, - tolerance: 'pointer', - hoverClass: 'hover' - }); - - /* Drag & drop for changing contexts */ - function drop_todo_on_context(evt, ui) { - var target = $(this); - var dragged_todo = ui.draggable[0].id.split('_')[2]; - var context_id = this.id.split('_')[1]; - ui.draggable.remove(); - target.block({ - message: null - }); - setTimeout(function() { - target.show() - }, 0); - $.post(relative_to_root('todos/change_context'), - { - "todo[id]": dragged_todo, - "todo[context_id]": context_id - }, - function(){ - target.unblock(); - target.hide(); - }, 'script'); - } - - $('.context_target').droppable({ - drop: drop_todo_on_context, - tolerance: 'pointer', - hoverClass: 'hover' - }); - /* Reset auto updater */ field_touched = false; /* shrink the notes on the project pages. This is not live(), so this needs - * to be run after ajax adding of a new note */ + * to be run after ajax adding of a new note */ $('.note_wrapper').truncate({ max_length: 90, more: '', diff --git a/public/javascripts/jquery-ui-1.8.10.custom.min.js b/public/javascripts/jquery-ui-1.8.11.custom.min.js similarity index 74% rename from public/javascripts/jquery-ui-1.8.10.custom.min.js rename to public/javascripts/jquery-ui-1.8.11.custom.min.js index 7d4ff1ce..f8709e0f 100644 --- a/public/javascripts/jquery-ui-1.8.10.custom.min.js +++ b/public/javascripts/jquery-ui-1.8.11.custom.min.js @@ -1,5 +1,5 @@ /*! - * jQuery UI 1.8.10 + * jQuery UI 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -7,7 +7,7 @@ * * http://docs.jquery.com/UI */ -(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.10",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, +(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.11",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}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this, "position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position"); if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f, @@ -16,7 +16,7 @@ d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a); -return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&c.data(a.target,this.widgetName+".preventClickEvent", -true);this._mouseStop(a)}return false},_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(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +(function(b){b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent= +a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,e=a.which==1,f=typeof this.options.cancel=="string"?b(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted= +this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(d){return c._mouseMove(d)};this._mouseUpDelegate=function(d){return c._mouseUp(d)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled= +true}},_mouseMove:function(a){if(b.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate); +if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_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(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); ;/* - * jQuery UI Position 1.8.10 + * jQuery UI Position 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -64,7 +64,7 @@ d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a) a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); ;/* - * jQuery UI Draggable 1.8.10 + * jQuery UI Draggable 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -87,34 +87,34 @@ this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| 0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.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()}}else 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}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment== -"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"? -0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"), -10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor== -Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop(): -f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY; -if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/ -b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})}, -stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!= -document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-ethis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g= +this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])? +e:!(e-this.offset.click.left
').css({width:this.offsetWidth+ +"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity", +a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b, a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a, c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,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}}});e.extend(e.ui.resizable,{version:"1.8.10"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize= +originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.11"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize= b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width", "height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})}; if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height- @@ -187,7 +187,7 @@ a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.heigh b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/ (a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); ;/* - * jQuery UI Selectable 1.8.10 + * jQuery UI Selectable 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -207,9 +207,9 @@ c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){va this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); -this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this, -arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem= -c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);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};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset, -{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment(); -if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start", -a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute"); -if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a, -c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]== -document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=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 b=this.containers.length- -1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(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();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null}); -this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&& -a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h= -d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)}); -return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g= -d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top= -e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; +this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]= +b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false; +d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);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};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=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 b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(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();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left= +e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder); c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length=== 1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out", g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", -function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("").addClass("ui-icon "+ -a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.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 a=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("tabIndex"); +function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= +this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.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 a=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 b=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");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ @@ -294,12 +294,12 @@ if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.ac if(!b){a.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);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){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 g=this.active.next(), e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", -tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.10",animations:{slide:function(a,b){a= -c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);f[i]={value:j[1], -unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",paddingTop:"hide", -paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.11", +animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); +f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", +paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); ;/* - * jQuery UI Autocomplete 1.8.10 + * jQuery UI Autocomplete 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -312,17 +312,18 @@ paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show", * jquery.ui.widget.js * jquery.ui.position.js */ -(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.attr("readonly"))){g=false;var f=d.ui.keyCode; -switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem= -null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=d("
    ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo|| -"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&&a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"), -i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"); -this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source=== -"string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else 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",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b); -else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.attr("readonly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("
      ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else 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",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); (function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", -1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.attr("scrollTop"),c=this.element.height();if(b<0)this.element.attr("scrollTop",g+b);else b>=c&&this.element.attr("scrollTop",g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})}, deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},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(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0); @@ -330,7 +331,7 @@ e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this. g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first")); this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,f=d.primary&&d.secondary,e=[];if(d.primary||d.secondary){e.push("ui-button-text-icon"+(f?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){e.push(f?"ui-button-icons-only":"ui-button-icon-only"); -b.removeClass("ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary");this.hasTitle||b.attr("title",c)}}else e.push("ui-button-text-only");b.addClass(e.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(){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("ui-corner-left").end().filter(":last").addClass("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); +c=a("").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,f=d.primary&&d.secondary,e=[];if(d.primary||d.secondary){if(this.options.text)e.push("ui-button-text-icon"+(f?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){e.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||b.attr("title",c)}}else e.push("ui-button-text-only");b.addClass(e.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(){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("ui-corner-left").end().filter(":last").addClass("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 Dialog 1.8.10 + * jQuery UI Dialog 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -390,13 +390,13 @@ h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c l)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled"); break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=this.options,b,d,e= this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-b,0));this.uiDialog.is(":data(resizable)")&& -this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.10",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length=== +this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.11",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length=== 0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a=this._valueMax())return this._valueMax();var a=this.options.step>0?this.options.step:1,c=(b-this._valueMin())%a;alignValue=b-c;if(Math.abs(c)*2>=a)alignValue+=c>0?a:-a;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max}, _refreshValue:function(){var b=this.options.range,a=this.options,c=this,e=!this._animateOff?a.animate:false,f,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},a.animate); if(k===1)c.range[e?"animate":"css"]({width:f-g+"%"},{queue:false,duration:a.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},a.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:a.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1, -1)[e?"animate":"css"]({width:f+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.10"})})(jQuery); +1)[e?"animate":"css"]({width:f+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.11"})})(jQuery); ;/* - * jQuery UI Tabs 1.8.10 + * jQuery UI Tabs 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -461,10 +461,10 @@ if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1')}function E(a,b){d.extend(a,b);for(var c in b)if(b[c]== -null||b[c]==G)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.10"}});var y=(new Date).getTime();d.extend(K.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase(); +minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('
      ')}function F(a,b){d.extend(a,b);for(var c in b)if(b[c]== +null||b[c]==A)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.11"}});var y=(new Date).getTime();d.extend(K.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){F(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase(); f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('
      ')}}, _connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&& b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== ""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_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 e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(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=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), -true);this._updateDatepicker(b);this._updateAlternate(b);b.dpDiv.show()}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{}); +true);this._updateDatepicker(b);this._updateAlternate(b);b.dpDiv.show()}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}F(a.settings,e||{}); b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass); this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="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)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs, function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null: f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true}, -_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos= -d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b, -c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&& -d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a));var e=a.dpDiv.find("iframe.ui-datepicker-cover");e.length&&e.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout", -function(){d(this).removeClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!= --1&&d(this).addClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a, -"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var f=a.yearshtml;setTimeout(function(){f===a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);f=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))), -parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left, -b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); -this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, -_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): -0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear= -false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b=this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay= -d("a",e).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){a=d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a); -else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.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"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b= -a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/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 e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort, -g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=z+1-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target); +if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a); +d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");F(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-= +document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim"); +var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst= +b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a));var e=a.dpDiv.find("iframe.ui-datepicker-cover");e.length&&e.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover"); +this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+ +this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&& +a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var f=a.yearshtml;setTimeout(function(){f===a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);f=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth(): +0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a), +"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"? +"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a= +d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a= +d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c== +"M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b=this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).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){a=d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker(); +this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.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"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0); +a.setDate(1);return Math.floor(Math.round((b-a)/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 e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c? +c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=z+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}w=this._daylightSavingAdjust(new Date(c,j-1,l));if(w.getFullYear()!=c||w.getMonth()+1!=j||w.getDate()!=l)throw"Invalid date";return w},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 e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=k+112?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay= @@ -529,12 +530,12 @@ this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.g (c?"e":"w")+'">'+n+"":f?"":''+n+"";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";j=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&a.currentDay?u:b;j=!h?j:this.formatDate(j,r,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
      '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
      ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z= -this._get(a,"monthNames"),w=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),v=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var L=this._getDefaultDate(a),I="",C=0;C1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]- -1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
      '+(/all|left/.test(t)&&C==0?c?f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,C>0||D>0,z,w)+'
      ';var A=j?'":"";for(t=0;t<7;t++){var q= -(t+h)%7;A+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=A+"";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O";var P=!j?"":'";for(t=0;t<7;t++){var F= -p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,J=B&&!H||!F[0]||k&&qo;P+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+= -P+""}g++;if(g>11){g=0;m++}x+="
      '+this._get(a,"weekHeader")+"
      '+this._get(a,"calculateWeek")(q)+""+(B&&!v?" ":J?''+q.getDate()+"":''+q.getDate()+"")+"
      "+(l?""+(i[0]>0&&D==i[1]-1?'
      ':""):"");M+=x}I+=M}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'':"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
      ', +this._get(a,"monthNames"),w=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),v=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var L=this._getDefaultDate(a),I="",D=0;D1)switch(E){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]- +1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
      '+(/all|left/.test(t)&&D==0?c?f:n:"")+(/all|right/.test(t)&&D==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,D>0||E>0,z,w)+'
      ';var B=j?'":"";for(t=0;t<7;t++){var q= +(t+h)%7;B+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=B+"";B=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,B);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;B=l?6:Math.ceil((t+B)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O";var P=!j?"":'";for(t=0;t<7;t++){var G= +p?p.apply(a.input?a.input[0]:null,[q]):[true,""],C=q.getMonth()!=g,J=C&&!H||!G[0]||k&&qo;P+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+= +P+""}g++;if(g>11){g=0;m++}x+="
      '+this._get(a,"weekHeader")+"
      '+this._get(a,"calculateWeek")(q)+""+(C&&!v?" ":J?''+q.getDate()+"":''+q.getDate()+"")+"
      "+(l?"
      "+(i[0]>0&&E==i[1]-1?'
      ':""):"");M+=x}I+=M}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'':"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
      ', o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&& l)?" ":""));a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";if(d.browser.mozilla)k+='";else{k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
      ";return k},_adjustInstDate:function(a,b,c){var e= @@ -543,9 +544,9 @@ a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{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,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker, -[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new K;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.10";window["DP_jQuery_"+y]=d})(jQuery); +[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new K;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.11";window["DP_jQuery_"+y]=d})(jQuery); ;/* - * jQuery UI Progressbar 1.8.10 + * jQuery UI Progressbar 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -559,9 +560,9 @@ function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document */ (function(b,d){b.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=b("
      ").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();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return 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(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.10"})})(jQuery); +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.11"})})(jQuery); ;/* - * jQuery UI Effects 1.8.10 + * jQuery UI Effects 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -578,7 +579,7 @@ a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number 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]},r=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, d){if(f.isFunction(b)){d=b;b=null}return this.queue("fx",function(){var e=f(this),g=e.attr("style")||" ",h=q(p.call(this)),l,v=e.attr("className");f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});l=q(p.call(this));e.attr("className",v);e.animate(u(h,l),a,b,function(){f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)});h=f.queue(this);l=h.splice(h.length-1,1)[0]; h.splice(1,0,l);f.dequeue(this)})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c, -a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.10",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent", border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c); return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});return d.call(this,b)},_show:f.fn.show,show:function(c){if(m(c))return this._show.apply(this,arguments); @@ -591,7 +592,7 @@ g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2* h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c, a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); ;/* - * jQuery UI Effects Fade 1.8.10 + * jQuery UI Effects Fade 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -676,7 +677,7 @@ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.m */ (function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); ;/* - * jQuery UI Effects Fold 1.8.10 + * jQuery UI Effects Fold 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -690,7 +691,7 @@ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.m (function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], 10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); ;/* - * jQuery UI Effects Highlight 1.8.10 + * jQuery UI Effects Highlight 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -704,7 +705,7 @@ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.m (function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); ;/* - * jQuery UI Effects Pulsate 1.8.10 + * jQuery UI Effects Pulsate 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -718,7 +719,7 @@ this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments (function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c=" - !ruby/object:Gem::Version + hash: 3 + segments: + - 0 version: "0" - version: required_rubygems_version: !ruby/object:Gem::Requirement + none: false requirements: - - ">=" - !ruby/object:Gem::Version + hash: 3 + segments: + - 0 version: "0" - version: requirements: - none rubyforge_project: aws -rubygems_version: 1.3.5 +rubygems_version: 1.7.2 signing_key: specification_version: 2 summary: Web service support for Action Pack. diff --git a/vendor/gems/datanoise-actionwebservice-2.3.2/Rakefile b/vendor/gems/datanoise-actionwebservice-2.3.2/Rakefile index bd61b485..c4758806 100644 --- a/vendor/gems/datanoise-actionwebservice-2.3.2/Rakefile +++ b/vendor/gems/datanoise-actionwebservice-2.3.2/Rakefile @@ -72,8 +72,8 @@ spec = Gem::Specification.new do |s| s.rubyforge_project = "aws" s.homepage = "http://www.rubyonrails.org" - s.add_dependency('actionpack', '= 2.3.2' + PKG_BUILD) - s.add_dependency('activerecord', '= 2.3.2' + PKG_BUILD) + s.add_dependency('actionpack', '= 2.3.11' + PKG_BUILD) + s.add_dependency('activerecord', '= 2.3.11' + PKG_BUILD) s.has_rdoc = true s.requirements << 'none' diff --git a/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/container/action_controller_container.rb b/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/container/action_controller_container.rb index fd07b925..bbc28083 100644 --- a/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/container/action_controller_container.rb +++ b/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/container/action_controller_container.rb @@ -61,7 +61,7 @@ module ActionWebService # :nodoc: begin require_dependency(file_name) rescue LoadError => load_error - requiree = / -- (.*?)(\.rb)?$/.match(load_error.to_s).to_a[1] + requiree = / -- (.*?)(\.rb)?$/.match(load_error).to_a[1] msg = requiree == file_name ? "Missing API definition file in apis/#{file_name}.rb" : "Can't load file: #{requiree}" raise LoadError.new(msg).copy_blame!(load_error) end diff --git a/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/version.rb b/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/version.rb index 7a3fafa4..482b11dc 100644 --- a/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/version.rb +++ b/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/version.rb @@ -2,7 +2,7 @@ module ActionWebService module VERSION #:nodoc: MAJOR = 2 MINOR = 3 - TINY = 2 + TINY = 11 STRING = [MAJOR, MINOR, TINY].join('.') end