bhf 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/controllers/bhf/application_controller.rb +1 -1
- data/app/controllers/bhf/entries_controller.rb +1 -1
- data/app/helpers/bhf/application_helper.rb +3 -8
- data/app/helpers/bhf/pages_helper.rb +10 -2
- data/app/views/bhf/entries/form/column/_date.haml +1 -1
- data/app/views/bhf/entries/form/column/_multiple_fields.haml +2 -0
- data/app/views/bhf/pages/_platform.haml +13 -13
- data/app/views/bhf/pages/_search.haml +17 -0
- data/app/views/layouts/bhf/application.haml +1 -2
- data/config/locales/de.yml +59 -0
- data/config/locales/en.yml +1 -0
- data/lib/bhf/active_record.rb +2 -1
- data/lib/bhf/i18n.rb +37 -0
- data/lib/bhf/pagination.rb +5 -5
- data/lib/bhf/platform.rb +11 -3
- data/lib/bhf.rb +4 -1
- data/public/images/bhf/icon_delete_a.png +0 -0
- data/public/images/bhf/icon_drag_a.png +0 -0
- data/public/images/bhf/icon_edit_a.png +0 -0
- data/public/javascripts/bhf.js +19 -5
- data/public/stylesheets/bhf.css +1 -1
- metadata +9 -4
|
@@ -64,7 +64,7 @@ class Bhf::EntriesController < Bhf::ApplicationController
|
|
|
64
64
|
|
|
65
65
|
def destroy
|
|
66
66
|
@object.destroy
|
|
67
|
-
redirect_back_or_default(
|
|
67
|
+
redirect_back_or_default(bhf_page_path(@platform.page_name, :anchor => "#{@platform.name}_platform"), :notice => set_message('destory.success', @model))
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
private
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
module Bhf
|
|
2
2
|
module ApplicationHelper
|
|
3
|
-
|
|
4
3
|
|
|
5
4
|
def new_t(platform)
|
|
6
|
-
t("bhf.helpers.entry.models.#{platform.model_name}.new", :platform_name => platform.title.singularize.downcase, :default => t('bhf.helpers.entry.new'))
|
|
5
|
+
t("bhf.helpers.entry.models.#{platform.model_name}.new", :platform_name => platform.title.singularize.downcase, :default => t('bhf.helpers.entry.new')).capitalize
|
|
7
6
|
end
|
|
8
7
|
|
|
9
8
|
def edit_t(platform)
|
|
10
|
-
t("bhf.helpers.entry.models.#{platform.model_name}.edit", :platform_name => platform.title.singularize.downcase, :default => t('bhf.helpers.entry.edit'))
|
|
9
|
+
t("bhf.helpers.entry.models.#{platform.model_name}.edit", :platform_name => platform.title.singularize.downcase, :default => t('bhf.helpers.entry.edit')).capitalize
|
|
11
10
|
end
|
|
12
11
|
|
|
13
12
|
def delete_t(platform)
|
|
14
|
-
t("bhf.helpers.entry.models.#{platform.model_name}.delete", :platform_name => platform.title.singularize.downcase, :default => t('bhf.helpers.entry.delete'))
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def current_path(overwrite = {})
|
|
18
|
-
url_for params.merge(overwrite.merge(:only_path => true))
|
|
13
|
+
t("bhf.helpers.entry.models.#{platform.model_name}.delete", :platform_name => platform.title.singularize.downcase, :default => t('bhf.helpers.entry.delete')).capitalize
|
|
19
14
|
end
|
|
20
15
|
|
|
21
16
|
end
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
module Bhf
|
|
2
2
|
module PagesHelper
|
|
3
3
|
|
|
4
|
-
def get_value(key,
|
|
5
|
-
|
|
4
|
+
def get_value(key, p)
|
|
5
|
+
return unless p.is_a?(Hash)
|
|
6
|
+
|
|
7
|
+
return p[key[0]][key[1]] if key.is_a?(Array) && p[key[0]].is_a?(Hash) && p[key[0]][key[1]].is_a?(String) #omg
|
|
8
|
+
|
|
9
|
+
p[key] if p[key] && p[key].is_a?(String)
|
|
6
10
|
end
|
|
7
11
|
|
|
8
12
|
def current_order_path(order_by, platform_name)
|
|
@@ -25,6 +29,10 @@ module Bhf
|
|
|
25
29
|
|
|
26
30
|
params_platfrom['direction'] == 'desc' ? 'sorted desc' : 'sorted asc'
|
|
27
31
|
end
|
|
32
|
+
|
|
33
|
+
def has_link?(display_type)
|
|
34
|
+
display_type.to_s.include? '_link'
|
|
35
|
+
end
|
|
28
36
|
|
|
29
37
|
end
|
|
30
38
|
end
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
= node f, field do
|
|
2
|
-
= f.text_field field.name, :class => "
|
|
2
|
+
= f.text_field field.name, :class => "picker #{field.type}", :value => l(f.object.send(field.name) || Date.today, :format => '%Y.%m.%d %H:%M')
|
|
@@ -2,21 +2,16 @@
|
|
|
2
2
|
%table{:id => "#{@platform.name}_platform", :class => (@platform.custom_columns? ? 'custom_columns' : 'default_columns')}
|
|
3
3
|
%caption
|
|
4
4
|
%h4= @platform.title
|
|
5
|
-
%p.info= @platform.pagination.info @platform
|
|
5
|
+
%p.info= @platform.pagination.info @platform
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
= form_for @platform.name, :html => {:method => 'get', :class => 'search'} do |f|
|
|
9
|
-
= f.text_field :search, :value => get_value(:search, @platform.name), :placeholder => t('bhf.helpers.searchform.placeholder')
|
|
10
|
-
= f.hidden_field :per_page, :value => get_value(:per_page, @platform.name)
|
|
11
|
-
= f.hidden_field :order, :value => get_value(:order, @platform.name)
|
|
12
|
-
= f.hidden_field :direction, :value => get_value(:direction, @platform.name)
|
|
7
|
+
= render :partial => 'search', :locals => {:platform => @platform} if @platform.search?
|
|
13
8
|
|
|
14
9
|
%p.create= link_to new_t(@platform), new_bhf_entry_path(@platform.name), :class => 'alt_button'
|
|
15
10
|
|
|
16
11
|
%thead
|
|
17
12
|
%tr
|
|
18
13
|
- if @platform.sortable
|
|
19
|
-
%th
|
|
14
|
+
%th.drag
|
|
20
15
|
- @platform.columns.each do |column|
|
|
21
16
|
%th{:class => "#{column.field.macro} #{column.field.display_type} #{order_class(column.name, @platform.name)}"}
|
|
22
17
|
- column_name = @platform.model.human_attribute_name(column.name)
|
|
@@ -24,10 +19,12 @@
|
|
|
24
19
|
= column.field.macro == :column ? link : column_name
|
|
25
20
|
|
|
26
21
|
%th.action
|
|
22
|
+
|
|
27
23
|
%tfoot
|
|
28
24
|
%tr
|
|
29
25
|
%td{:colspan => @platform.columns_count}
|
|
30
26
|
= @platform.pagination.create(@platform) unless @platform.sortable
|
|
27
|
+
|
|
31
28
|
%tbody{:class => ('sortable' if @platform.sortable), :'data-sort-url' => sort_bhf_entries_path(@platform.name)}
|
|
32
29
|
- if @platform.objects.any?
|
|
33
30
|
- @platform.objects.each do |object|
|
|
@@ -38,14 +35,17 @@
|
|
|
38
35
|
%span.handle
|
|
39
36
|
- @platform.columns.each do |column|
|
|
40
37
|
%td{:class => "#{column.field.macro} #{column.field.display_type}", :'data-column-name' => column.name}
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
- a = if column.field.display_type != :boolean && object.send(column.name).blank?
|
|
39
|
+
- ' '
|
|
40
|
+
- else
|
|
41
|
+
- render(:partial => "bhf/pages/macro/#{column.field.macro}/#{column.field.display_type}", :locals => {:column => column, :object => object})
|
|
42
|
+
|
|
43
|
+
= has_link?(column.field.overwrite_display_type) ? a.html_safe : link_to(a.html_safe, edit_link, :class => 'quick_edit')
|
|
44
44
|
%td.action
|
|
45
45
|
= link_to edit_t(@platform), edit_link, :class => 'edit'
|
|
46
46
|
= link_to delete_t(@platform), bhf_entry_path(@platform.name, object), :method => :delete, :confirm => t('bhf.helpers.promts.confirm'), :class => 'delete'
|
|
47
|
-
-# TODO: :remote => true
|
|
47
|
+
-# TODO: :remote => true, authlogic problem?
|
|
48
48
|
- else
|
|
49
49
|
%td.no_entries{:colspan => @platform.columns_count}
|
|
50
|
-
= t 'bhf.pagination.info.nothing_found', :name => t('bhf.pagination.
|
|
50
|
+
= t 'bhf.pagination.info.nothing_found', :name => t('bhf.pagination.entries')
|
|
51
51
|
= link_to new_t(@platform), new_bhf_entry_path(@platform.name)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
= form_for platform.name, :html => {:method => 'get', :class => 'search'} do |f|
|
|
2
|
+
- p = params[platform.name]
|
|
3
|
+
= f.fields_for :search do |s|
|
|
4
|
+
- if platform.search_field?
|
|
5
|
+
= s.text_field :text, :value => get_value([:search, :text], p), :placeholder => t('bhf.helpers.searchform.placeholder')
|
|
6
|
+
|
|
7
|
+
- if p && p[:search].is_a?(Hash)
|
|
8
|
+
- p[:search].each do |key, value|
|
|
9
|
+
= s.hidden_field key, :value => value, :id => nil
|
|
10
|
+
|
|
11
|
+
- if platform.custom_search
|
|
12
|
+
= render :partial => platform.custom_search, :locals => { :platform => platform, :f => f, :s => s, :p => p }
|
|
13
|
+
|
|
14
|
+
= f.hidden_field :per_page, :value => get_value(:per_page, p)
|
|
15
|
+
= f.hidden_field :order, :value => get_value(:order, p)
|
|
16
|
+
= f.hidden_field :direction, :value => get_value(:direction, p)
|
|
17
|
+
|
|
@@ -7,10 +7,9 @@
|
|
|
7
7
|
%link{:href => '/favicon.ico', :rel => 'icon', :type => 'image/x-icon'}
|
|
8
8
|
= stylesheet_link_tag(['bhf'] + Bhf::Engine.config.css.to_a)
|
|
9
9
|
= javascript_include_tag 'bhf'
|
|
10
|
-
=# javascript_include_tag 'mootools-core-1.3.1-full-compat-yc.js', 'mootools-more-1.3.1.1.js', 'mootools_rails_driver-0.4.1.js', 'class/BrowserUpdate', 'class/Ajaxify', 'class/AjaxEdit', 'class/MooEditable', 'class/Datepicker', 'bhf_application'
|
|
10
|
+
=# javascript_include_tag 'bhf/mootools-core-1.3.1-full-compat-yc.js', 'bhf/mootools-more-1.3.1.1.js', 'bhf/mootools_rails_driver-0.4.1.js', 'bhf/class/BrowserUpdate', 'bhf/class/Ajaxify', 'bhf/class/AjaxEdit', 'bhf/class/MooEditable', 'bhf/class/Datepicker', 'bhf/class/MultipleFields', 'bhf/bhf_application'
|
|
11
11
|
%body
|
|
12
12
|
%header
|
|
13
|
-
-# TODO: logo as css bg for better cache and no jumping?
|
|
14
13
|
%h1= link_to image_tag('logo_bhf.png'), root_url
|
|
15
14
|
- if @config && @config.pages.any?
|
|
16
15
|
%nav
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
de:
|
|
2
|
+
bhf:
|
|
3
|
+
helpers:
|
|
4
|
+
boolean:
|
|
5
|
+
a: ja
|
|
6
|
+
b: nein
|
|
7
|
+
searchform:
|
|
8
|
+
placeholder: Suche
|
|
9
|
+
promts:
|
|
10
|
+
confirm: Sind Sie sicher?
|
|
11
|
+
entry:
|
|
12
|
+
new: "%{platform_name} anlegen"
|
|
13
|
+
edit: "%{platform_name} editieren"
|
|
14
|
+
delete: "%{platform_name} löschen"
|
|
15
|
+
empty: Leer
|
|
16
|
+
cancel: Abbrechen
|
|
17
|
+
entries:
|
|
18
|
+
empty: Leer
|
|
19
|
+
login:
|
|
20
|
+
success: Login war erfolgreich
|
|
21
|
+
error: Konnte nicht eingeloggen
|
|
22
|
+
activated:
|
|
23
|
+
success: "%{model} wurde erfolgreich aktiviert"
|
|
24
|
+
error: "%{model} Fehler"
|
|
25
|
+
validation:
|
|
26
|
+
header: "Durch diese Fehler konnte %{name} nicht gespeichert werden:"
|
|
27
|
+
error: Fehler
|
|
28
|
+
|
|
29
|
+
quick_edit:
|
|
30
|
+
buttons:
|
|
31
|
+
cancel: Abbrechen
|
|
32
|
+
open: Öffnen
|
|
33
|
+
save: Speichern
|
|
34
|
+
save_and_next: Speichern und weiter
|
|
35
|
+
|
|
36
|
+
pagination:
|
|
37
|
+
previous_label: « Vorheriges
|
|
38
|
+
next_label: Nächstes »
|
|
39
|
+
load_more: Mehr anzeigen
|
|
40
|
+
load_less: Weniger anzeigen
|
|
41
|
+
entry: Eintrag
|
|
42
|
+
entries: Einträge
|
|
43
|
+
info:
|
|
44
|
+
default: "Es werden angezeigt <strong>%{offset_start} - %{offset_end}</strong> von <strong>%{total_count}</strong> %{name}"
|
|
45
|
+
nothing_found: "Es wurde nichts gefunden"
|
|
46
|
+
one_found: "Es wird <strong>1</strong> %{name} angezeigt"
|
|
47
|
+
all_displayed: "Es werden <strong>alle %{total_count}</strong> %{name} angezeigt"
|
|
48
|
+
activerecord:
|
|
49
|
+
notices:
|
|
50
|
+
messages:
|
|
51
|
+
create:
|
|
52
|
+
success: "%{model} wurde erfolgreich erstellt"
|
|
53
|
+
error: "%{model} Fehler"
|
|
54
|
+
update:
|
|
55
|
+
success: "%{model} wurde erfolgreich editiert"
|
|
56
|
+
error: "%{model} Fehler"
|
|
57
|
+
destory:
|
|
58
|
+
success: "%{model} wurde erfolgreich gelöscht"
|
|
59
|
+
error: "%{model} Fehler"
|
data/config/locales/en.yml
CHANGED
|
@@ -42,6 +42,7 @@ en:
|
|
|
42
42
|
load_more: Show more entries
|
|
43
43
|
load_less: Show less entries
|
|
44
44
|
entry: entry
|
|
45
|
+
entries: entries
|
|
45
46
|
info:
|
|
46
47
|
default: "Displaying <strong>%{offset_start} - %{offset_end}</strong> of <strong>%{total_count}</strong> %{name} in total"
|
|
47
48
|
nothing_found: "No %{name} found"
|
data/lib/bhf/active_record.rb
CHANGED
|
@@ -17,7 +17,8 @@ module Bhf
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
module Self
|
|
20
|
-
def bhf_default_search(
|
|
20
|
+
def bhf_default_search(search_params)
|
|
21
|
+
return if (search_term = search_params[:text]).blank?
|
|
21
22
|
where_statement = []
|
|
22
23
|
columns_hash.each_pair do |name, props|
|
|
23
24
|
is_number = search_term.to_i.to_s == search_term || search_term.to_f.to_s == search_term
|
data/lib/bhf/i18n.rb
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module Bhf
|
|
2
|
+
module I18nTranslationFallbackHelper
|
|
3
|
+
def self.included(base)
|
|
4
|
+
base.module_eval do
|
|
5
|
+
class << self
|
|
6
|
+
def translate_with_fallback(text, options = {})
|
|
7
|
+
return translate_without_fallback(text, options) unless text.to_s.split('.')[0] == 'bhf'
|
|
8
|
+
|
|
9
|
+
default = options.delete(:default)
|
|
10
|
+
|
|
11
|
+
[locale, :en].each do |lookup_locale|
|
|
12
|
+
translation_found, translation = attempt_translation(text, options.merge(:locale => lookup_locale))
|
|
13
|
+
return translation if translation_found
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Ensure 'translation missing' return is exactly the default behaviour
|
|
17
|
+
translate_without_fallback(text, options.merge(:default => default))
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def attempt_translation(text, options = {})
|
|
21
|
+
puts "Attempting translation of '#{text}' with locale '#{options[:locale]}'." if options[:debug]
|
|
22
|
+
translation = translate_without_fallback(text, options.merge(:raise => true))
|
|
23
|
+
translation_found = options[:locale]
|
|
24
|
+
rescue I18n::MissingTranslationData
|
|
25
|
+
translation_found = nil
|
|
26
|
+
translation = "translation missing: #{options[:locale]}, #{text}"
|
|
27
|
+
ensure
|
|
28
|
+
return translation_found, translation
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
alias_method_chain :translate, :fallback
|
|
32
|
+
alias_method :t, :translate_with_fallback
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
data/lib/bhf/pagination.rb
CHANGED
|
@@ -36,21 +36,21 @@ module Bhf
|
|
|
36
36
|
collection = collection.paginate({:page => 1, :per_page => collection.count+1})
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
entry_name =
|
|
40
|
-
|
|
39
|
+
entry_name = collection.empty? ? I18n.t('bhf.pagination.entry') : collection.first.class.model_name.human
|
|
40
|
+
entries_name = collection.empty? ? I18n.t('bhf.pagination.entries') : collection.first.class.model_name.human.pluralize
|
|
41
41
|
|
|
42
42
|
info = if collection.total_pages < 2
|
|
43
43
|
case collection.size
|
|
44
44
|
when 0
|
|
45
|
-
I18n.t 'bhf.pagination.info.nothing_found', :name =>
|
|
45
|
+
I18n.t 'bhf.pagination.info.nothing_found', :name => entries_name
|
|
46
46
|
when 1
|
|
47
47
|
I18n.t 'bhf.pagination.info.one_found', :name => entry_name
|
|
48
48
|
else
|
|
49
|
-
I18n.t 'bhf.pagination.info.all_displayed', :total_count => collection.size, :name =>
|
|
49
|
+
I18n.t 'bhf.pagination.info.all_displayed', :total_count => collection.size, :name => entries_name
|
|
50
50
|
end
|
|
51
51
|
else
|
|
52
52
|
I18n.t('bhf.pagination.info.default', {
|
|
53
|
-
:name =>
|
|
53
|
+
:name => entries_name,
|
|
54
54
|
:total_count => collection.total_entries,
|
|
55
55
|
:offset_start => collection.offset + 1,
|
|
56
56
|
:offset_end => collection.offset + collection.length
|
data/lib/bhf/platform.rb
CHANGED
|
@@ -28,6 +28,14 @@ module Bhf
|
|
|
28
28
|
def search?
|
|
29
29
|
table_options(:search) != false
|
|
30
30
|
end
|
|
31
|
+
|
|
32
|
+
def search_field?
|
|
33
|
+
table_options(:search_field) != false
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def custom_search
|
|
37
|
+
table_options(:custom_search)
|
|
38
|
+
end
|
|
31
39
|
|
|
32
40
|
def custom_columns?
|
|
33
41
|
table_options(:columns).is_a?(Array)
|
|
@@ -123,11 +131,11 @@ module Bhf
|
|
|
123
131
|
|
|
124
132
|
private
|
|
125
133
|
|
|
126
|
-
def do_search(chain,
|
|
134
|
+
def do_search(chain, search_params)
|
|
127
135
|
search_condition = if table_options(:search)
|
|
128
|
-
|
|
136
|
+
search_params
|
|
129
137
|
else
|
|
130
|
-
model.bhf_default_search(
|
|
138
|
+
model.bhf_default_search(search_params)
|
|
131
139
|
end
|
|
132
140
|
|
|
133
141
|
chain.send search_source, search_condition
|
data/lib/bhf.rb
CHANGED
|
@@ -3,6 +3,7 @@ def d(var)
|
|
|
3
3
|
end
|
|
4
4
|
|
|
5
5
|
require 'engine' if defined?(Rails) && Rails::VERSION::MAJOR == 3
|
|
6
|
+
require 'bhf/i18n'
|
|
6
7
|
require 'bhf/active_record'
|
|
7
8
|
require 'bhf/data'
|
|
8
9
|
require 'bhf/platform'
|
|
@@ -10,5 +11,7 @@ require 'bhf/settings'
|
|
|
10
11
|
require 'bhf/pagination'
|
|
11
12
|
require 'bhf/form'
|
|
12
13
|
|
|
14
|
+
I18n.send :include, Bhf::I18nTranslationFallbackHelper
|
|
15
|
+
|
|
13
16
|
::ActiveRecord::Base.send :include, Bhf::ActiveRecord::Object
|
|
14
|
-
::ActiveRecord::Base.send :extend, Bhf::ActiveRecord::Self
|
|
17
|
+
::ActiveRecord::Base.send :extend, Bhf::ActiveRecord::Self
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/public/javascripts/bhf.js
CHANGED
|
@@ -483,8 +483,8 @@ params.movie=path;}else{properties.type="application/x-shockwave-flash";}propert
|
|
|
483
483
|
},replaces:function(element){element=document.id(element,true);element.parentNode.replaceChild(this.toElement(),element);return this;},inject:function(element){document.id(element,true).appendChild(this.toElement());
|
|
484
484
|
return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].append(arguments));}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");
|
|
485
485
|
return eval(rs);};}).call(this);// MooTools: the javascript framework.
|
|
486
|
-
// Load this file's selection again by visiting: http://mootools.net/more/
|
|
487
|
-
// Or build this file again with packager using: packager build More/Events.Pseudos More/Element.Event.Pseudos More/Element.Event.Pseudos.Keys More/Element.Delegation More/Sortables
|
|
486
|
+
// Load this file's selection again by visiting: http://mootools.net/more/1fb4058f12f7b5fffd7027d84e76772e
|
|
487
|
+
// Or build this file again with packager using: packager build More/Events.Pseudos More/Element.Event.Pseudos More/Element.Event.Pseudos.Keys More/Element.Delegation More/Sortables More/Locale More/Locale.en-US.Date More/Locale.de-DE.Date
|
|
488
488
|
/*
|
|
489
489
|
---
|
|
490
490
|
copyrights:
|
|
@@ -555,7 +555,7 @@ if(c.getStyle("position")=="fixed"){var a=window.getScroll();b.left+=a.x;b.right
|
|
|
555
555
|
var b=this.mouse.now;return(b.x>d.left&&b.x<d.right&&b.y<d.bottom&&b.y>d.top);},this).getLast();if(this.overed!=a){if(this.overed){this.fireEvent("leave",[this.element,this.overed]);
|
|
556
556
|
}if(a){this.fireEvent("enter",[this.element,a]);}this.overed=a;}},drag:function(a){this.parent(a);if(this.options.checkDroppables&&this.droppables.length){this.checkDroppables();
|
|
557
557
|
}},stop:function(a){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed,a]);this.overed=null;return this.parent(a);}});Element.implement({makeDraggable:function(a){var b=new Drag.Move(this,a);
|
|
558
|
-
this.store("dragger",b);return b;}});var Sortables=new Class({Implements:[Events,Options],options:{opacity:1,clone:false,revert:false,handle:false,dragOptions:{}
|
|
558
|
+
this.store("dragger",b);return b;}});var Sortables=new Class({Implements:[Events,Options],options:{opacity:1,clone:false,revert:false,handle:false,dragOptions:{}},initialize:function(a,b){this.setOptions(b);
|
|
559
559
|
this.elements=[];this.lists=[];this.idle=true;this.addLists($$(document.id(a)||a));if(!this.options.clone){this.options.revert=false;}if(this.options.revert){this.effect=new Fx.Morph(null,Object.merge({duration:250,link:"cancel"},this.options.revert));
|
|
560
560
|
}},attach:function(){this.addLists(this.lists);return this;},detach:function(){this.lists=this.removeLists(this.lists);return this;},addItems:function(){Array.flatten(arguments).each(function(a){this.elements.push(a);
|
|
561
561
|
var b=a.retrieve("sortables:start",function(c){this.start.call(this,c,a);}.bind(this));(this.options.handle?a.getElement(this.options.handle)||a:a).addEvent("mousedown",b);
|
|
@@ -569,10 +569,24 @@ return a;},this));},removeLists:function(){return $$(Array.flatten(arguments).ma
|
|
|
569
569
|
if(!this.options.constrain){a.append(this.lists).erase(this.list);}return a;},insert:function(c,b){var a="inside";if(this.lists.contains(b)){this.list=b;
|
|
570
570
|
this.drag.droppables=this.getDroppables();}else{a=this.element.getAllPrevious().contains(b)?"before":"after";}this.element.inject(b,a);this.fireEvent("sort",[this.element,this.clone]);
|
|
571
571
|
},start:function(b,a){if(!this.idle||b.rightClick||["button","input","a"].contains(b.target.get("tag"))){return;}this.idle=false;this.element=a;this.opacity=a.get("opacity");
|
|
572
|
-
this.list=a.getParent();this.clone=this.getClone(b,a);this.drag=new Drag.Move(this.clone,Object.merge({
|
|
572
|
+
this.list=a.getParent();this.clone=this.getClone(b,a);this.drag=new Drag.Move(this.clone,Object.merge({droppables:this.getDroppables()},this.options.dragOptions)).addEvents({onSnap:function(){b.stop();
|
|
573
573
|
this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start",[this.element,this.clone]);}.bind(this),onEnter:this.insert.bind(this),onCancel:this.end.bind(this),onComplete:this.end.bind(this)});
|
|
574
574
|
this.clone.inject(this.element,"before");this.drag.start(b);},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var b=this.element.getStyles("width","height"),d=this.clone,c=d.computePosition(this.element.getPosition(this.clone.getOffsetParent()));
|
|
575
575
|
var a=function(){this.removeEvent("cancel",a);d.destroy();};this.effect.element=d;this.effect.start({top:c.top,left:c.left,width:b.width,height:b.height,opacity:0.25}).addEvent("cancel",a).chain(a);
|
|
576
576
|
}else{this.clone.destroy();}this.reset();},reset:function(){this.idle=true;this.fireEvent("complete",this.element);},serialize:function(){var c=Array.link(arguments,{modifier:Type.isFunction,index:function(d){return d!=null;
|
|
577
577
|
}});var b=this.lists.map(function(d){return d.getChildren().map(c.modifier||function(e){return e.get("id");},this);},this);var a=c.index;if(this.lists.length==1){a=0;
|
|
578
|
-
}return(a||a===0)&&a>=0&&a<this.lists.length?b[a]:b;}});(function($){window.rails={applyEvents:function(el){el=$(el||document.body);var apply=function(selector,action,callback){el.getElements(selector).addEvent(action,callback)};apply('form[data-remote="true"]',"submit",rails.handleRemote);apply('a[data-remote="true"], input[data-remote="true"]',"click",rails.handleRemote);apply("a[data-method][data-remote!=true]","click",function(e){e.preventDefault();if(rails.confirmed(this)){var form=new Element("form",{method:"post",action:this.get("href"),styles:{display:"none"}}).inject(this,"after");var methodInput=new Element("input",{type:"hidden",name:"_method",value:this.get("data-method")});var csrfInput=new Element("input",{type:"hidden",name:rails.csrf.param,value:rails.csrf.token});form.adopt(methodInput,csrfInput).submit()}});var noMethodNorRemoteConfirm=":not([data-method]):not([data-remote=true])[data-confirm]";apply("a"+noMethodNorRemoteConfirm+",input"+noMethodNorRemoteConfirm,"click",function(){return rails.confirmed(this)})},getCsrf:function(name){var meta=document.getElement("meta[name=csrf-"+name+"]");return(meta?meta.get("content"):null)},confirmed:function(el){var confirmMessage=el.get("data-confirm");if(confirmMessage&&!confirm(confirmMessage)){return false}return true},disable:function(el){var button=el.get("data-disable-with")?el:el.getElement("[data-disable-with]");if(button){var enableWith=button.get("value");el.addEvent("ajax:complete",function(){button.set({value:enableWith,disabled:false})});button.set({value:button.get("data-disable-with"),disabled:true})}},handleRemote:function(e){e.preventDefault();if(rails.confirmed(this)){this.request=new Request.Rails(this);rails.disable(this);this.request.send()}}};Request.Rails=new Class({Extends:Request,initialize:function(element,options){this.el=element;this.parent(Object.merge({},{method:this.el.get("method")||this.el.get("data-method")||"get",url:this.el.get("action")||this.el.get("href")},options));this.headers.Accept="*/*";this.addRailsEvents()},send:function(options){this.el.fireEvent("ajax:before");if(this.el.get("tag")=="form"){this.options.data=this.el}this.parent(options);this.el.fireEvent("ajax:after",this.xhr)},addRailsEvents:function(){this.addEvent("request",function(){this.el.fireEvent("ajax:loading",this.xhr)});this.addEvent("success",function(){this.el.fireEvent("ajax:success",this.xhr)});this.addEvent("complete",function(){this.el.fireEvent("ajax:complete",this.xhr);this.el.fireEvent("ajax:loaded",this.xhr)});this.addEvent("failure",function(){this.el.fireEvent("ajax:failure",this.xhr)})}})})(document.id);window.addEvent("domready",function(){rails.csrf={token:rails.getCsrf("token"),param:rails.getCsrf("param")};rails.applyEvents()});var BrowserUpdate=new Class({initialize:function(op,test){var b,jsv=5,n=window.navigator;this.op=op||{};this.op.l=op.l||n.language||n.userLanguage||document.documentElement.getAttribute("lang")||"en";this.op.vsakt={i:8,f:3.6,o:10.6,s:5,n:10};this.op.vsdefault={i:6,f:2,o:9.64,s:3,n:10};this.op.vs=op.vs||this.op.vsdefault;for(b in this.op.vsakt){if(this.op.vs[b]>=this.op.vsakt[b]){this.op.vs[b]=this.op.vsdefault[b]}}if(!op.reminder||op.reminder<0.1){this.op.reminder=0}else{this.op.reminder=op.reminder||24}this.op.onshow=op.onshow||function(o){};this.op.url=op.url||"http://browser-update.org/update.html";this.op.pageurl=op.pageurl||window.location.hostname||"unknown";this.op.newwindow=op.newwindow||false;this.op.test=test||op.test||false;if(window.location.hash=="#test-bu"){this.op.test=true}function getBrowser(){var n,v,t,ua=navigator.userAgent,names={i:"Internet Explorer",f:"Firefox",o:"Opera",s:"Apple Safari",n:"Netscape Navigator",c:"Chrome",x:"Other"};if(/like firefox|chromeframe|seamonkey|opera mini|meego|netfront|moblin|maemo|arora|camino|flot|k-meleon|fennec|kazehakase|galeon|android|mobile|iphone|ipod|ipad|symbian|webos/i.test(ua)){n="x"}else{if(/MSIE (\d+\.\d+);/.test(ua)){n="i"}else{if(/Chrome.(\d+\.\d+)/i.test(ua)){n="c"}else{if(/Firefox.(\d+\.\d+)/i.test(ua)){n="f"}else{if(/Version.(\d+.\d+).{0,10}Safari/i.test(ua)){n="s"}else{if(/Safari.(\d+)/i.test(ua)){n="so"}else{if(/Opera.*Version.(\d+\.\d+)/i.test(ua)){n="o"}else{if(/Opera.(\d+\.\d+)/i.test(ua)){n="o"}else{if(/Netscape.(\d+)/i.test(ua)){n="n"}else{return{n:"x",v:0,t:names[n]}}}}}}}}}}if(n=="x"){return{n:"x",v:0,t:names[n]}}v=new Number(RegExp.$1);if(n=="so"){v=((v<100)&&1)||((v<130)&&1.2)||((v<320)&&1.3)||((v<520)&&2)||((v<524)&&3)||((v<526)&&3.2)||4;n="s"}if(n=="i"&&v==7&&window.XDomainRequest){v=8}return{n:n,v:v,t:names[n]+" "+v}}this.op.browser=getBrowser();if(!this.op.test&&(!this.op.browser||!this.op.browser.n||this.op.browser.n=="x"||this.op.browser.n=="c"||document.cookie.indexOf("browserupdateorg=pause")>-1||this.op.browser.v>this.op.vs[this.op.browser.n])){return}if(this.op.reminder>0){var d=new Date(new Date().getTime()+1000*3600*this.op.reminder);document.cookie="browserupdateorg=pause; expires="+d.toGMTString()+"; path=/"}var ll=this.op.l.substr(0,2);var languages="de,en";if(languages.indexOf(ll)!==false){this.op.url="http://browser-update.org/"+ll+"/update.html#"+jsv}var tar="";if(this.op.newwindow){tar=' target="_blank"'}function busprintf(){var args=arguments;var data=args[0];for(var k=1;k<args.length;++k){data=data.replace(/%s/,args[k])}return data}ll=(window.Locale)?Locale.getCurrent().name:"en-US";var t="Your browser (%s) is <b>out of date</b>. It has known <b>security flaws</b> and may <b>not display all features</b> of this and other websites. <a%s>Learn how to update your browser</a>";if(ll=="de-DE"){t="Sie verwenden einen <b>veralteten Browser</b> (%s) mit <b>Sicherheitsschwachstellen</b> und <b>können nicht alle Funktionen dieser Webseite nutzen</b>. <a%s>Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können</a>."}if(op.text){t=op.text}this.op.text=busprintf(t,this.op.browser.t,' href="'+this.op.url+'"'+tar);var div=document.createElement("div");this.op.div=div;div.id="buorg";div.className="buorg";div.innerHTML="<div>"+this.op.text+'<div id="buorgclose">X</div></div>';var sheet=document.createElement("style");var style=".buorg {position:absolute;z-index:111111; width:100%; top:0px; left:0px; border-bottom:1px solid #A29330; background:#FDF2AB no-repeat 10px center url(http://browser-update.org/img/dialog-warning.gif); text-align:left; cursor:pointer; font-family: Arial,Helvetica,sans-serif; color:#000; font-size: 12px;} .buorg div { padding:5px 36px 5px 40px; } .buorg a,.buorg a:visited {color:#E25600; text-decoration: underline;} #buorgclose { position: absolute; right: .5em; top:.2em; height: 20px; width: 12px; font-weight: bold;font-size:14px; padding:0; }";document.body.insertBefore(div,document.body.firstChild);document.getElementsByTagName("head")[0].appendChild(sheet);try{sheet.innerText=style;sheet.innerHTML=style}catch(e){try{sheet.styleSheet.cssText=style}catch(e){return}}var me=this;div.onclick=function(){if(me.op.newwindow){window.open(me.op.url,"_blank")}else{window.location.href=me.op.url}return false};div.getElementsByTagName("a")[0].onclick=function(e){var e=e||window.event;if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true}return true};this.op.bodymt=document.body.style.paddingTop;document.body.style.paddingTop=(div.clientHeight)+"px";document.getElementById("buorgclose").onclick=function(e){var e=e||window.event;if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true}me.op.div.style.display="none";document.body.style.paddingTop=me.op.bodymt;return true};op.onshow(this.op)}});var Ajaxify=new Class({version:0.2,Implements:[Options,Events],options:{events:{loading:{name:"ajax:loading",text:"Loading…"},success:{name:"ajax:success",text:"Changes successfully saved!"},failure:{name:"ajax:failure",text:"Oops, something went wrong…"}},holder:new Element("div#ajax_holder"),fadeOutDuration:2000},initialize:function(_options){this.setOptions(_options);this.holder=this.options.holder},applyEvents:function(el){el=document.id(el||document.body);var apply=function(action,callback){el.getElements('[data-remote="true"]').addEvent(action,callback)};apply(this.options.events.loading.name,this.loading.bind(this));apply(this.options.events.success.name,this.success.bind(this));apply(this.options.events.failure.name,this.failure.bind(this))},loading:function(xhr){this.setMessage("loading",false)},success:function(xhr){this.setMessage("success",true)},failure:function(xhr){this.setMessage("failure",true)},setMessage:function(status,fadeOut){this.holder.set("class",status).set("text",this.options.events[status].text).inject(document.body);if(fadeOut){this.holder.addClass("fadeout");setTimeout(function(){this.holder.dispose()}.bind(this),this.options.fadeOutDuration)}}});var AjaxEdit=new Class({version:0.2,options:{holderParent:document.body},Implements:[Options,Events],holder:new Element("div.quick_edit_holder"),initialize:function(_options){this.setOptions(_options);this.holder.addEvents({"click:relay(.open)":function(e){e.preventDefault();location.href=this.wrapElement.getElement("a").get("href")}.bind(this),"click:relay(.cancel)":function(e){e.preventDefault();this.close()}.bind(this),"click:relay(.save_and_next)":function(e){e.preventDefault();this.submit(["successAndChange","successAndNext"])}.bind(this),"click:relay(.save)":function(e){e.preventDefault();this.submit(["successAndChange"])}.bind(this),"submit:relay(form)":function(e){e.preventDefault();this.submit(["successAndChange"])}.bind(this)})},startEdit:function(element,wrapElement){this.clean();this.wrapElement=wrapElement?wrapElement:element;this.wrapElement.addClass("live_edit");new Request({method:"get",url:element.get("href"),onSuccess:function(html){this.injectForm(html)}.bind(this)}).send()},submit:function(eventNames){var form=this.holder.getElement("form");this.fireEvent("beforeSubmit");new Request.JSON({method:form.get("method"),url:form.get("action"),onRequest:function(){this.disableButtons()}.bind(this),onFailure:function(invalidForm){this.injectForm(invalidForm.response)}.bind(this),onSuccess:function(json){if(!eventNames.contains("successAndNext")){this.close()}eventNames.each(function(eventName){this.fireEvent(eventName,[json])}.bind(this))}.bind(this)}).send({data:form})},disableButtons:function(){this.holder.getElements(".open, .cancel, .save_and_next, .save").set("disabled","disabled")},clean:function(){document.body.getElements(".live_edit").removeClass("live_edit")},close:function(){this.clean();this.holder.dispose()},injectForm:function(form){this.holder.innerHTML=form;this.holder.inject(this.options.holderParent);this.fireEvent("formInjected",[this.holder])}});(function(){var blockEls=/^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|SCRIPT|NOSCRIPT|STYLE)$/i;var urlRegex=/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i;var protectRegex=/<(script|noscript|style)[\u0000-\uFFFF]*?<\/(script|noscript|style)>/g;this.MooEditable=new Class({Implements:[Events,Options],options:{toolbar:true,cleanup:true,paragraphise:true,xhtml:true,semantics:true,actions:"bold italic underline strikethrough | insertunorderedlist insertorderedlist indent outdent | undo redo | createlink unlink | urlimage | toggleview",handleSubmit:true,handleLabel:true,disabled:false,baseCSS:"html{ height: 100%; cursor: text; } body{ font-family: sans-serif; }",extraCSS:"",externalCSS:"",html:'<!DOCTYPE html><html><head><meta charset="UTF-8">{BASEHREF}<style>{BASECSS} {EXTRACSS}</style>{EXTERNALCSS}</head><body></body></html>',rootElement:"p",baseURL:"",dimensions:null},initialize:function(el,options){this.setOptions(options);this.textarea=document.id(el);this.textarea.store("MooEditable",this);this.actions=this.options.actions.clean().split(" ");this.keys={};this.dialogs={};this.protectedElements=[];this.actions.each(function(action){var act=MooEditable.Actions[action];if(!act){return}if(act.options){var key=act.options.shortcut;if(key){this.keys[key]=action}}if(act.dialogs){Object.each(act.dialogs,function(dialog,name){dialog=dialog.attempt(this);dialog.name=action+":"+name;if(typeOf(this.dialogs[action])!="object"){this.dialogs[action]={}}this.dialogs[action][name]=dialog},this)}if(act.events){Object.each(act.events,function(fn,event){this.addEvent(event,fn)},this)}}.bind(this));this.render()},toElement:function(){return this.textarea},render:function(){var self=this;var dimensions=this.options.dimensions||this.textarea.getSize();this.container=new Element("div",{id:(this.textarea.id)?this.textarea.id+"-mooeditable-container":null,"class":"mooeditable-container",styles:{width:dimensions.x}});this.textarea.addClass("mooeditable-textarea").setStyle("height",dimensions.y);this.iframe=new IFrame({"class":"mooeditable-iframe",frameBorder:0,src:'javascript:""',styles:{height:dimensions.y}});this.toolbar=new MooEditable.UI.Toolbar({onItemAction:function(){var args=Array.from(arguments);var item=args[0];self.action(item.name,args)}});this.attach.delay(1,this);if(this.options.handleLabel&&this.textarea.id){$$('label[for="'+this.textarea.id+'"]').addEvent("click",function(e){if(self.mode!="iframe"){return}e.preventDefault();self.focus()})}if(this.options.handleSubmit){this.form=this.textarea.getParent("form");if(!this.form){return}this.form.addEvent("submit",function(){if(self.mode=="iframe"){self.saveContent()}})}this.fireEvent("render",this)},attach:function(){var self=this;this.mode="iframe";this.editorDisabled=false;this.container.wraps(this.textarea);this.textarea.setStyle("display","none");this.iframe.setStyle("display","").inject(this.textarea,"before");Object.each(this.dialogs,function(action,name){Object.each(action,function(dialog){document.id(dialog).inject(self.iframe,"before");var range;dialog.addEvents({open:function(){range=self.selection.getRange();self.editorDisabled=true;self.toolbar.disable(name);self.fireEvent("dialogOpen",this)},close:function(){self.toolbar.enable();self.editorDisabled=false;self.focus();if(range){self.selection.setRange(range)}self.fireEvent("dialogClose",this)}})})});this.win=this.iframe.contentWindow;this.doc=this.win.document;if(Browser.firefox){this.doc.designMode="On"}var docHTML=this.options.html.substitute({BASECSS:this.options.baseCSS,EXTRACSS:this.options.extraCSS,EXTERNALCSS:(this.options.externalCSS)?'<link rel="stylesheet" href="'+this.options.externalCSS+'">':"",BASEHREF:(this.options.baseURL)?'<base href="'+this.options.baseURL+'" />':""});this.doc.open();this.doc.write(docHTML);this.doc.close();(Browser.ie)?this.doc.body.contentEditable=true:this.doc.designMode="On";Object.append(this.win,new Window);Object.append(this.doc,new Document);if(Browser.Element){var winElement=this.win.Element.prototype;for(var method in Element){if(!method.test(/^[A-Z]|\$|prototype|mooEditable/)){winElement[method]=Element.prototype[method]}}}else{document.id(this.doc.body)}this.setContent(this.textarea.get("value"));this.doc.addEvents({mouseup:this.editorMouseUp.bind(this),mousedown:this.editorMouseDown.bind(this),mouseover:this.editorMouseOver.bind(this),mouseout:this.editorMouseOut.bind(this),mouseenter:this.editorMouseEnter.bind(this),mouseleave:this.editorMouseLeave.bind(this),contextmenu:this.editorContextMenu.bind(this),click:this.editorClick.bind(this),dblclick:this.editorDoubleClick.bind(this),keypress:this.editorKeyPress.bind(this),keyup:this.editorKeyUp.bind(this),keydown:this.editorKeyDown.bind(this),focus:this.editorFocus.bind(this),blur:this.editorBlur.bind(this)});this.win.addEvents({focus:this.editorFocus.bind(this),blur:this.editorBlur.bind(this)});["cut","copy","paste"].each(function(event){self.doc.body.addListener(event,self["editor"+event.capitalize()].bind(self))});this.textarea.addEvent("keypress",this.textarea.retrieve("mooeditable:textareaKeyListener",this.keyListener.bind(this)));if(Browser.firefox2){this.doc.addEvent("focus",function(){self.win.fireEvent("focus").focus()})}if(this.doc.addEventListener){this.doc.addEventListener("focus",function(){self.win.fireEvent("focus")},true)}if(!Browser.ie&&!Browser.opera){var styleCSS=function(){self.execute("styleWithCSS",false,false);self.doc.removeEvent("focus",styleCSS)};this.win.addEvent("focus",styleCSS)}if(this.options.toolbar){document.id(this.toolbar).inject(this.container,"top");this.toolbar.render(this.actions)}if(this.options.disabled){this.disable()}this.selection=new MooEditable.Selection(this.win);this.oldContent=this.getContent();this.fireEvent("attach",this);return this},detach:function(){this.saveContent();this.textarea.setStyle("display","").removeClass("mooeditable-textarea").inject(this.container,"before");this.textarea.removeEvent("keypress",this.textarea.retrieve("mooeditable:textareaKeyListener"));this.container.dispose();this.fireEvent("detach",this);return this},enable:function(){this.editorDisabled=false;this.toolbar.enable();return this},disable:function(){this.editorDisabled=true;this.toolbar.disable();return this},editorFocus:function(e){this.oldContent="";this.fireEvent("editorFocus",[e,this])},editorBlur:function(e){this.oldContent=this.saveContent().getContent();this.fireEvent("editorBlur",[e,this])},editorMouseUp:function(e){if(this.editorDisabled){e.stop();return}if(this.options.toolbar){this.checkStates()}this.fireEvent("editorMouseUp",[e,this])},editorMouseDown:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseDown",[e,this])},editorMouseOver:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseOver",[e,this])},editorMouseOut:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseOut",[e,this])},editorMouseEnter:function(e){if(this.editorDisabled){e.stop();return}if(this.oldContent&&this.getContent()!=this.oldContent){this.focus();this.fireEvent("editorPaste",[e,this])}this.fireEvent("editorMouseEnter",[e,this])},editorMouseLeave:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseLeave",[e,this])},editorContextMenu:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorContextMenu",[e,this])},editorClick:function(e){if(Browser.safari||Browser.chrome){var el=e.target;if(Element.get(el,"tag")=="img"){if(this.options.baseURL){if(el.getProperty("src").indexOf("http://")==-1){el.setProperty("src",this.options.baseURL+el.getProperty("src"))}}this.selection.selectNode(el);this.checkStates()}}this.fireEvent("editorClick",[e,this])},editorDoubleClick:function(e){this.fireEvent("editorDoubleClick",[e,this])},editorKeyPress:function(e){if(this.editorDisabled){e.stop();return}this.keyListener(e);this.fireEvent("editorKeyPress",[e,this])},editorKeyUp:function(e){if(this.editorDisabled){e.stop();return}var c=e.code;if(this.options.toolbar&&(/^enter|left|up|right|down|delete|backspace$/i.test(e.key)||(c>=33&&c<=36)||c==45||e.meta||e.control)){if(Browser.ie6){clearTimeout(this.checkStatesDelay);this.checkStatesDelay=this.checkStates.delay(500,this)}else{this.checkStates()}}this.fireEvent("editorKeyUp",[e,this])},editorKeyDown:function(e){if(this.editorDisabled){e.stop();return}if(e.key=="enter"){if(this.options.paragraphise){if(e.shift&&(Browser.safari||Browser.chrome)){var s=this.selection;var r=s.getRange();var br=this.doc.createElement("br");r.insertNode(br);r.setStartAfter(br);r.setEndAfter(br);s.setRange(r);if(s.getSelection().focusNode==br.previousSibling){var nbsp=this.doc.createTextNode("\u00a0");var p=br.parentNode;var ns=br.nextSibling;(ns)?p.insertBefore(nbsp,ns):p.appendChild(nbsp);s.selectNode(nbsp);s.collapse(1)}this.win.scrollTo(0,Element.getOffsets(s.getRange().startContainer).y);e.preventDefault()}else{if(Browser.firefox||Browser.safari||Browser.chrome){var node=this.selection.getNode();var isBlock=Element.getParents(node).include(node).some(function(el){return el.nodeName.test(blockEls)});if(!isBlock){this.execute("insertparagraph")}}}}else{if(Browser.ie){var r=this.selection.getRange();var node=this.selection.getNode();if(r&&node.get("tag")!="li"){this.selection.insertContent("<br>");this.selection.collapse(false)}e.preventDefault()}}}if(Browser.opera){var ctrlmeta=e.control||e.meta;if(ctrlmeta&&e.key=="x"){this.fireEvent("editorCut",[e,this])}else{if(ctrlmeta&&e.key=="c"){this.fireEvent("editorCopy",[e,this])}else{if((ctrlmeta&&e.key=="v")||(e.shift&&e.code==45)){this.fireEvent("editorPaste",[e,this])}}}}this.fireEvent("editorKeyDown",[e,this])},editorCut:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorCut",[e,this])},editorCopy:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorCopy",[e,this])},editorPaste:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorPaste",[e,this])},keyListener:function(e){var key=(Browser.Platform.mac)?e.meta:e.control;if(!key||!this.keys[e.key]){return}e.preventDefault();var item=this.toolbar.getItem(this.keys[e.key]);item.action(e)},focus:function(){(this.mode=="iframe"?this.win:this.textarea).focus();this.fireEvent("focus",this);return this},action:function(command,args){var action=MooEditable.Actions[command];if(action.command&&typeOf(action.command)=="function"){action.command.apply(this,args)}else{this.focus();this.execute(command,false,args);if(this.mode=="iframe"){this.checkStates()}}},execute:function(command,param1,param2){if(this.busy){return}this.busy=true;this.doc.execCommand(command,param1,param2);this.saveContent();this.busy=false;return false},toggleView:function(){this.fireEvent("beforeToggleView",this);if(this.mode=="textarea"){this.mode="iframe";this.iframe.setStyle("display","");this.setContent(this.textarea.value);this.textarea.setStyle("display","none")}else{this.saveContent();this.mode="textarea";this.textarea.setStyle("display","");this.iframe.setStyle("display","none")}this.fireEvent("toggleView",this);this.focus.delay(10,this);return this},getContent:function(){var protect=this.protectedElements;var html=this.doc.body.get("html").replace(/<!-- mooeditable:protect:([0-9]+) -->/g,function(a,b){return protect[b.toInt()]});return this.cleanup(this.ensureRootElement(html))},setContent:function(content){var protect=this.protectedElements;content=content.replace(protectRegex,function(a){protect.push(a);return"<!-- mooeditable:protect:"+(protect.length-1)+" -->"});this.doc.body.set("html",this.ensureRootElement(content));return this},saveContent:function(){if(this.mode=="iframe"){this.textarea.set("value",this.getContent())}return this},ensureRootElement:function(val){if(this.options.rootElement){var el=new Element("div",{html:val.trim()});var start=-1;var create=false;var html="";var length=el.childNodes.length;for(var i=0;i<length;i++){var childNode=el.childNodes[i];var nodeName=childNode.nodeName;if(!nodeName.test(blockEls)&&nodeName!=="#comment"){if(nodeName==="#text"){if(childNode.nodeValue.trim()){if(start<0){start=i}html+=childNode.nodeValue}}else{if(start<0){start=i}html+=new Element("div").adopt($(childNode).clone()).get("html")}}else{create=true}if(i==(length-1)){create=true}if(start>=0&&create){var newel=new Element(this.options.rootElement,{html:html});el.replaceChild(newel,el.childNodes[start]);for(var k=start+1;k<i;k++){el.removeChild(el.childNodes[k]);length--;i--;k--}start=-1;create=false;html=""}}val=el.get("html").replace(/\n\n/g,"")}return val},checkStates:function(){var element=this.selection.getNode();if(!element){return}if(typeOf(element)!="element"){return}this.actions.each(function(action){var item=this.toolbar.getItem(action);if(!item){return}item.deactivate();var states=MooEditable.Actions[action]["states"];if(!states){return}if(typeOf(states)=="function"){states.attempt([document.id(element),item],this);return}try{if(this.doc.queryCommandState(action)){item.activate();return}}catch(e){}if(states.tags){var el=element;do{var tag=el.tagName.toLowerCase();if(states.tags.contains(tag)){item.activate(tag);break}}while((el=Element.getParent(el))!=null)}if(states.css){var el=element;do{var found=false;for(var prop in states.css){var css=states.css[prop];if(el.style[prop.camelCase()].contains(css)){item.activate(css);found=true}}if(found||el.tagName.test(blockEls)){break}}while((el=Element.getParent(el))!=null)}}.bind(this))},cleanup:function(source){if(!this.options.cleanup){return source.trim()}do{var oSource=source;if(this.options.baseURL){source=source.replace('="'+this.options.baseURL,'="')}source=source.replace(/<br class\="webkit-block-placeholder">/gi,"<br />");source=source.replace(/<span class="Apple-style-span">(.*)<\/span>/gi,"$1");source=source.replace(/ class="Apple-style-span"/gi,"");source=source.replace(/<span style="">/gi,"");source=source.replace(/<p>\s*<br ?\/?>\s*<\/p>/gi,"<p>\u00a0</p>");source=source.replace(/<p>( |\s)*<\/p>/gi,"<p>\u00a0</p>");if(!this.options.semantics){source=source.replace(/\s*<br ?\/?>\s*<\/p>/gi,"</p>")}if(this.options.xhtml){source=source.replace(/<br>/gi,"<br />")}if(this.options.semantics){if(Browser.ie){source=source.replace(/<li>\s*<div>(.+?)<\/div><\/li>/g,"<li>$1</li>")}if(Browser.safari||Browser.chrome){source=source.replace(/^([\w\s]+.*?)<div>/i,"<p>$1</p><div>");source=source.replace(/<div>(.+?)<\/div>/ig,"<p>$1</p>")}if(!Browser.ie){source=source.replace(/<p>[\s\n]*(<(?:ul|ol)>.*?<\/(?:ul|ol)>)(.*?)<\/p>/ig,"$1<p>$2</p>");source=source.replace(/<\/(ol|ul)>\s*(?!<(?:p|ol|ul|img).*?>)((?:<[^>]*>)?\w.*)$/g,"</$1><p>$2</p>")}source=source.replace(/<br[^>]*><\/p>/g,"</p>");source=source.replace(/<p>\s*(<img[^>]+>)\s*<\/p>/ig,"$1\n");source=source.replace(/<p([^>]*)>(.*?)<\/p>(?!\n)/g,"<p$1>$2</p>\n");source=source.replace(/<\/(ul|ol|p)>(?!\n)/g,"</$1>\n");source=source.replace(/><li>/g,">\n\t<li>");source=source.replace(/([^\n])<\/(ol|ul)>/g,"$1\n</$2>");source=source.replace(/([^\n])<img/ig,"$1\n<img");source=source.replace(/^\s*$/g,"")}source=source.replace(/<br ?\/?>$/gi,"");source=source.replace(/^<br ?\/?>/gi,"");if(this.options.paragraphise){source=source.replace(/(h[1-6]|p|div|address|pre|li|ol|ul|blockquote|center|dl|dt|dd)><br ?\/?>/gi,"$1>")}source=source.replace(/<br ?\/?>\s*<\/(h1|h2|h3|h4|h5|h6|li|p)/gi,"</$1");source=source.replace(/<span style="font-weight: bold;">(.*)<\/span>/gi,"<strong>$1</strong>");source=source.replace(/<span style="font-style: italic;">(.*)<\/span>/gi,"<em>$1</em>");source=source.replace(/<b\b[^>]*>(.*?)<\/b[^>]*>/gi,"<strong>$1</strong>");source=source.replace(/<i\b[^>]*>(.*?)<\/i[^>]*>/gi,"<em>$1</em>");source=source.replace(/<u\b[^>]*>(.*?)<\/u[^>]*>/gi,'<span style="text-decoration: underline;">$1</span>');source=source.replace(/<strong><span style="font-weight: normal;">(.*)<\/span><\/strong>/gi,"$1");source=source.replace(/<em><span style="font-weight: normal;">(.*)<\/span><\/em>/gi,"$1");source=source.replace(/<span style="text-decoration: underline;"><span style="font-weight: normal;">(.*)<\/span><\/span>/gi,"$1");source=source.replace(/<strong style="font-weight: normal;">(.*)<\/strong>/gi,"$1");source=source.replace(/<em style="font-weight: normal;">(.*)<\/em>/gi,"$1");source=source.replace(/<[^> ]*/g,function(match){return match.toLowerCase()});source=source.replace(/<[^>]*>/g,function(match){match=match.replace(/ [^=]+=/g,function(match2){return match2.toLowerCase()});return match});source=source.replace(/<[^!][^>]*>/g,function(match){match=match.replace(/( [^=]+=)([^"][^ >]*)/g,'$1"$2"');return match});if(this.options.xhtml){source=source.replace(/<img([^>]+)(\s*[^\/])>(<\/img>)*/gi,"<img$1$2 />")}source=source.replace(/<p>(?:\s*)<p>/g,"<p>");source=source.replace(/<\/p>\s*<\/p>/g,"</p>");source=source.replace(/<pre[^>]*>.*?<\/pre>/gi,function(match){return match.replace(/<br ?\/?>/gi,"\n")});source=source.trim()}while(source!=oSource);return source}});MooEditable.Selection=new Class({initialize:function(win){this.win=win},getSelection:function(){this.win.focus();return(this.win.getSelection)?this.win.getSelection():this.win.document.selection},getRange:function(){var s=this.getSelection();if(!s){return null}try{return s.rangeCount>0?s.getRangeAt(0):(s.createRange?s.createRange():null)}catch(e){return this.doc.body.createTextRange()}},setRange:function(range){if(range.select){Function.attempt(function(){range.select()})}else{var s=this.getSelection();if(s.addRange){s.removeAllRanges();s.addRange(range)}}},selectNode:function(node,collapse){var r=this.getRange();var s=this.getSelection();if(r.moveToElementText){Function.attempt(function(){r.moveToElementText(node);r.select()})}else{if(s.addRange){collapse?r.selectNodeContents(node):r.selectNode(node);s.removeAllRanges();s.addRange(r)}else{s.setBaseAndExtent(node,0,node,1)}}return node},isCollapsed:function(){var r=this.getRange();if(r.item){return false}return r.boundingWidth==0||this.getSelection().isCollapsed},collapse:function(toStart){var r=this.getRange();var s=this.getSelection();if(r.select){r.collapse(toStart);r.select()}else{toStart?s.collapseToStart():s.collapseToEnd()}},getContent:function(){var r=this.getRange();var body=new Element("body");if(this.isCollapsed()){return""}if(r.cloneContents){body.appendChild(r.cloneContents())}else{if(r.item!=undefined||r.htmlText!=undefined){body.set("html",r.item?r.item(0).outerHTML:r.htmlText)}else{body.set("html",r.toString())}}var content=body.get("html");return content},getText:function(){var r=this.getRange();var s=this.getSelection();return this.isCollapsed()?"":r.text||(s.toString?s.toString():"")},getNode:function(){var r=this.getRange();if(!Browser.ie||Browser.version>=9){var el=null;if(r){el=r.commonAncestorContainer;if(!r.collapsed){if(r.startContainer==r.endContainer){if(r.startOffset-r.endOffset<2){if(r.startContainer.hasChildNodes()){el=r.startContainer.childNodes[r.startOffset]}}}}while(typeOf(el)!="element"){el=el.parentNode}}return document.id(el)}return document.id(r.item?r.item(0):r.parentElement())},insertContent:function(content){if(Browser.ie){var r=this.getRange();if(r.pasteHTML){r.pasteHTML(content);r.collapse(false);r.select()}else{if(r.insertNode){r.deleteContents();if(r.createContextualFragment){r.insertNode(r.createContextualFragment(content))}else{var doc=this.win.document;var fragment=doc.createDocumentFragment();var temp=doc.createElement("div");fragment.appendChild(temp);temp.outerHTML=content;r.insertNode(fragment)}}}}else{this.win.document.execCommand("insertHTML",false,content)}}});var phrases={};MooEditable.Locale={define:function(key,value){if(typeOf(window.Locale)!="null"){return Locale.define("en-US","MooEditable",key,value)}if(typeOf(key)=="object"){Object.merge(phrases,key)}else{phrases[key]=value}},get:function(key){if(typeOf(window.Locale)!="null"){return Locale.get("MooEditable."+key)}return key?phrases[key]:""}};MooEditable.Locale.define({ok:"OK",cancel:"Cancel",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",unorderedList:"Unordered List",orderedList:"Ordered List",indent:"Indent",outdent:"Outdent",undo:"Undo",redo:"Redo",removeHyperlink:"Remove Hyperlink",addHyperlink:"Add Hyperlink",selectTextHyperlink:"Please select the text you wish to hyperlink.",enterURL:"Enter URL",enterImageURL:"Enter image URL",addImage:"Add Image",toggleView:"Toggle View"});MooEditable.UI={};MooEditable.UI.Toolbar=new Class({Implements:[Events,Options],options:{"class":""},initialize:function(options){this.setOptions(options);this.el=new Element("div",{"class":"mooeditable-ui-toolbar "+this.options["class"]});this.items={};this.content=null},toElement:function(){return this.el},render:function(actions){if(this.content){this.el.adopt(this.content)}else{this.content=actions.map(function(action){return(action=="|")?this.addSeparator():this.addItem(action)}.bind(this))}return this},addItem:function(action){var self=this;var act=MooEditable.Actions[action];if(!act){return}var type=act.type||"button";var options=act.options||{};var item=new MooEditable.UI[type.camelCase().capitalize()](Object.append(options,{name:action,"class":action+"-item toolbar-item",title:act.title,onAction:self.itemAction.bind(self)}));this.items[action]=item;document.id(item).inject(this.el);return item},getItem:function(action){return this.items[action]},addSeparator:function(){return new Element("span",{"class":"toolbar-separator"}).inject(this.el)},itemAction:function(){this.fireEvent("itemAction",arguments)},disable:function(except){Object.each(this.items,function(item){(item.name==except)?item.activate():item.deactivate().disable()});return this},enable:function(){Object.each(this.items,function(item){item.enable()});return this},show:function(){this.el.setStyle("display","");return this},hide:function(){this.el.setStyle("display","none");return this}});MooEditable.UI.Button=new Class({Implements:[Events,Options],options:{title:"",name:"",text:"Button","class":"",shortcut:"",mode:"icon"},initialize:function(options){this.setOptions(options);this.name=this.options.name;this.render()},toElement:function(){return this.el},render:function(){var self=this;var key=(Browser.Platform.mac)?"Cmd":"Ctrl";var shortcut=(this.options.shortcut)?" ( "+key+"+"+this.options.shortcut.toUpperCase()+" )":"";var text=this.options.title||name;var title=text+shortcut;this.el=new Element("button",{"class":"mooeditable-ui-button "+self.options["class"],title:title,html:'<span class="button-icon"></span><span class="button-text">'+text+"</span>",events:{click:self.click.bind(self),mousedown:function(e){e.preventDefault()}}});if(this.options.mode!="icon"){this.el.addClass("mooeditable-ui-button-"+this.options.mode)}this.active=false;this.disabled=false;if(Browser.ie){this.el.addEvents({mouseenter:function(e){this.addClass("hover")},mouseleave:function(e){this.removeClass("hover")}})}return this},click:function(e){e.preventDefault();if(this.disabled){return}this.action(e)},action:function(){this.fireEvent("action",[this].concat(Array.from(arguments)))},enable:function(){if(this.active){this.el.removeClass("onActive")}if(!this.disabled){return}this.disabled=false;this.el.removeClass("disabled").set({disabled:false,opacity:1});return this},disable:function(){if(this.disabled){return}this.disabled=true;this.el.addClass("disabled").set({disabled:true,opacity:0.4});return this},activate:function(){if(this.disabled){return}this.active=true;this.el.addClass("onActive");return this},deactivate:function(){this.active=false;this.el.removeClass("onActive");return this}});MooEditable.UI.Dialog=new Class({Implements:[Events,Options],options:{"class":"",contentClass:""},initialize:function(html,options){this.setOptions(options);this.html=html;var self=this;this.el=new Element("div",{"class":"mooeditable-ui-dialog "+self.options["class"],html:'<div class="dialog-content '+self.options.contentClass+'">'+html+"</div>",styles:{display:"none"},events:{click:self.click.bind(self)}})},toElement:function(){return this.el},click:function(){this.fireEvent("click",arguments);return this},open:function(){this.el.setStyle("display","");this.fireEvent("open",this);return this},close:function(){this.el.setStyle("display","none");this.fireEvent("close",this);return this}});MooEditable.UI.AlertDialog=function(alertText){if(!alertText){return}var html=alertText+' <button class="dialog-ok-button">'+MooEditable.Locale.get("ok")+"</button>";return new MooEditable.UI.Dialog(html,{"class":"mooeditable-alert-dialog",onOpen:function(){var button=this.el.getElement(".dialog-ok-button");(function(){button.focus()}).delay(10)},onClick:function(e){e.preventDefault();if(e.target.tagName.toLowerCase()!="button"){return}if(document.id(e.target).hasClass("dialog-ok-button")){this.close()}}})};MooEditable.UI.PromptDialog=function(questionText,answerText,fn){if(!questionText){return}var html='<label class="dialog-label">'+questionText+' <input type="text" class="text dialog-input" value="'+answerText+'"></label> <button class="dialog-button dialog-ok-button">'+MooEditable.Locale.get("ok")+'</button><button class="dialog-button dialog-cancel-button">'+MooEditable.Locale.get("cancel")+"</button>";return new MooEditable.UI.Dialog(html,{"class":"mooeditable-prompt-dialog",onOpen:function(){var input=this.el.getElement(".dialog-input");(function(){input.focus();input.select()}).delay(10)},onClick:function(e){e.preventDefault();if(e.target.tagName.toLowerCase()!="button"){return}var button=document.id(e.target);var input=this.el.getElement(".dialog-input");if(button.hasClass("dialog-cancel-button")){input.set("value",answerText);this.close()}else{if(button.hasClass("dialog-ok-button")){var answer=input.get("value");input.set("value",answerText);this.close();if(fn){fn.attempt(answer,this)}}}}})};MooEditable.Actions={bold:{title:MooEditable.Locale.get("bold"),options:{shortcut:"b"},states:{tags:["b","strong"],css:{"font-weight":"bold"}},events:{beforeToggleView:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<strong([^>]*)>/gi,"<b$1>").replace(/<\/strong>/gi,"</b>");if(value!=newValue){this.textarea.set("value",newValue)}}},attach:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<strong([^>]*)>/gi,"<b$1>").replace(/<\/strong>/gi,"</b>");if(value!=newValue){this.textarea.set("value",newValue);this.setContent(newValue)}}}}},italic:{title:MooEditable.Locale.get("italic"),options:{shortcut:"i"},states:{tags:["i","em"],css:{"font-style":"italic"}},events:{beforeToggleView:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<embed([^>]*)>/gi,"<tmpembed$1>").replace(/<em([^>]*)>/gi,"<i$1>").replace(/<tmpembed([^>]*)>/gi,"<embed$1>").replace(/<\/em>/gi,"</i>");if(value!=newValue){this.textarea.set("value",newValue)}}},attach:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<embed([^>]*)>/gi,"<tmpembed$1>").replace(/<em([^>]*)>/gi,"<i$1>").replace(/<tmpembed([^>]*)>/gi,"<embed$1>").replace(/<\/em>/gi,"</i>");if(value!=newValue){this.textarea.set("value",newValue);this.setContent(newValue)}}}}},underline:{title:MooEditable.Locale.get("underline"),options:{shortcut:"u"},states:{tags:["u"],css:{"text-decoration":"underline"}}},strikethrough:{title:MooEditable.Locale.get("strikethrough"),options:{shortcut:"s"},states:{tags:["s","strike"],css:{"text-decoration":"line-through"}}},insertunorderedlist:{title:MooEditable.Locale.get("unorderedList"),states:{tags:["ul"]}},insertorderedlist:{title:MooEditable.Locale.get("orderedList"),states:{tags:["ol"]}},indent:{title:MooEditable.Locale.get("indent"),states:{tags:["blockquote"]}},outdent:{title:MooEditable.Locale.get("outdent")},undo:{title:MooEditable.Locale.get("undo"),options:{shortcut:"z"}},redo:{title:MooEditable.Locale.get("redo"),options:{shortcut:"y"}},unlink:{title:MooEditable.Locale.get("removeHyperlink")},createlink:{title:MooEditable.Locale.get("addHyperlink"),options:{shortcut:"l"},states:{tags:["a"]},dialogs:{alert:MooEditable.UI.AlertDialog.pass(MooEditable.Locale.get("selectTextHyperlink")),prompt:function(editor){return MooEditable.UI.PromptDialog(MooEditable.Locale.get("enterURL"),"http://",function(url){editor.execute("createlink",false,url.trim())})}},command:function(){var selection=this.selection;var dialogs=this.dialogs.createlink;if(selection.isCollapsed()){var node=selection.getNode();if(node.get("tag")=="a"&&node.get("href")){selection.selectNode(node);var prompt=dialogs.prompt;prompt.el.getElement(".dialog-input").set("value",node.get("href"));prompt.open()}else{dialogs.alert.open()}}else{var text=selection.getText();var prompt=dialogs.prompt;if(urlRegex.test(text)){prompt.el.getElement(".dialog-input").set("value",text)}prompt.open()}}},urlimage:{title:MooEditable.Locale.get("addImage"),options:{shortcut:"m"},dialogs:{prompt:function(editor){return MooEditable.UI.PromptDialog(MooEditable.Locale.get("enterImageURL"),"http://",function(url){editor.execute("insertimage",false,url.trim())})}},command:function(){this.dialogs.urlimage.prompt.open()}},toggleview:{title:MooEditable.Locale.get("toggleView"),command:function(){(this.mode=="textarea")?this.toolbar.enable():this.toolbar.disable("toggleview");this.toggleView()}}};MooEditable.Actions.Settings={};Element.Properties.mooeditable={get:function(){return this.retrieve("MooEditable")}};Element.implement({mooEditable:function(options){var mooeditable=this.get("mooeditable");if(!mooeditable){mooeditable=new MooEditable(this,options)}return mooeditable}})})();var DatePicker=new Class({Implements:Options,d:"",today:"",choice:{},bodysize:{},limit:{},attachTo:null,picker:null,slider:null,oldContents:null,newContents:null,input:null,visual:null,options:{pickerClass:"datepicker",days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayShort:2,monthShort:3,startDay:1,timePicker:false,timePickerOnly:false,yearPicker:true,yearsPerPage:20,format:"d-m-Y",allowEmpty:false,inputOutputFormat:"U",animationDuration:400,useFadeInOut:!Browser.Engine.trident,startView:"month",positionOffset:{x:0,y:0},minDate:null,maxDate:null,debug:false,toggleElements:null,onShow:$empty,onClose:$empty,onSelect:$empty},initialize:function(attachTo,options){this.attachTo=attachTo;this.setOptions(options).attach();if(this.options.timePickerOnly){this.options.timePicker=true;this.options.startView="time"}this.formatMinMaxDates();document.addEvent("mousedown",this.close.bind(this))},formatMinMaxDates:function(){if(this.options.minDate&&this.options.minDate.format){this.options.minDate=this.unformat(this.options.minDate.date,this.options.minDate.format)}if(this.options.maxDate&&this.options.maxDate.format){this.options.maxDate=this.unformat(this.options.maxDate.date,this.options.maxDate.format);this.options.maxDate.setHours(23);this.options.maxDate.setMinutes(59);this.options.maxDate.setSeconds(59)}},attach:function(){if($chk(this.options.toggleElements)){var togglers=$$(this.options.toggleElements);document.addEvents({keydown:function(e){if(e.key=="tab"){this.close(null,true)}}.bind(this)})}$$(this.attachTo).each(function(item,index){if(item.retrieve("datepicker")){return}if($chk(item.get("value"))){var init_clone_val=this.format(new Date(this.unformat(item.get("value"),this.options.inputOutputFormat)),this.options.format)}else{if(!this.options.allowEmpty){var init_clone_val=this.format(new Date(),this.options.format)}else{var init_clone_val=""}}var display=item.getStyle("display");var clone=item.setStyle("display",this.options.debug?display:"none").store("datepicker",true).clone().store("datepicker",true).removeProperty("name").setStyle("display",display).set("value",init_clone_val).inject(item,"after");if($chk(this.options.toggleElements)){togglers[index].setStyle("cursor","pointer").addEvents({click:function(e){this.onFocus(item,clone)}.bind(this)});clone.addEvents({blur:function(){item.set("value",clone.get("value"))}})}else{clone.addEvents({keydown:function(e){if(this.options.allowEmpty&&(e.key=="delete"||e.key=="backspace")){item.set("value","");e.target.set("value","");this.close(null,true)}else{if(e.key=="tab"){this.close(null,true)}else{e.stop()}}}.bind(this),focus:function(e){this.onFocus(item,clone)}.bind(this)})}}.bind(this))},onFocus:function(original_input,visual_input){var init_visual_date,d=visual_input.getCoordinates();if($chk(original_input.get("value"))){init_visual_date=this.unformat(original_input.get("value"),this.options.inputOutputFormat).valueOf()}else{init_visual_date=new Date();if($chk(this.options.maxDate)&&init_visual_date.valueOf()>this.options.maxDate.valueOf()){init_visual_date=new Date(this.options.maxDate.valueOf())}if($chk(this.options.minDate)&&init_visual_date.valueOf()<this.options.minDate.valueOf()){init_visual_date=new Date(this.options.minDate.valueOf())}}this.show({left:d.left+this.options.positionOffset.x,top:d.top+d.height+this.options.positionOffset.y},init_visual_date);this.input=original_input;this.visual=visual_input;this.options.onShow()},dateToObject:function(d){return{year:d.getFullYear(),month:d.getMonth(),day:d.getDate(),hours:d.getHours(),minutes:d.getMinutes(),seconds:d.getSeconds()}},dateFromObject:function(values){var d=new Date();d.setDate(1);["year","month","day","hours","minutes","seconds"].each(function(type){var v=values[type];if(!$chk(v)){return}switch(type){case"day":d.setDate(v);break;case"month":d.setMonth(v);break;case"year":d.setFullYear(v);break;case"hours":d.setHours(v);break;case"minutes":d.setMinutes(v);break;case"seconds":d.setSeconds(v);break}});return d},show:function(position,timestamp){this.formatMinMaxDates();if($chk(timestamp)){this.d=new Date(timestamp)}else{this.d=new Date()}this.today=new Date();this.choice=this.dateToObject(this.d);this.mode=(this.options.startView=="time"&&!this.options.timePicker)?"month":this.options.startView;this.render();this.picker.setStyles(position)},render:function(fx){if(!$chk(this.picker)){this.constructPicker()}else{var o=this.oldContents;this.oldContents=this.newContents;this.newContents=o;this.newContents.empty()}var startDate=new Date(this.d.getTime());this.limit={right:false,left:false};if(this.mode=="decades"){this.renderDecades()}else{if(this.mode=="year"){this.renderYear()}else{if(this.mode=="time"){this.renderTime();this.limit={right:true,left:true}}else{this.renderMonth()}}}this.picker.getElement(".previous").setStyle("visibility",this.limit.left?"hidden":"visible");this.picker.getElement(".next").setStyle("visibility",this.limit.right?"hidden":"visible");this.picker.getElement(".titleText").setStyle("cursor",this.allowZoomOut()?"pointer":"default");this.d=startDate;if(this.picker.getStyle("opacity")==0){this.picker.tween("opacity",0,1)}if($chk(fx)){this.fx(fx)}},fx:function(fx){if(fx=="right"){this.oldContents.setStyles({left:0,opacity:1});this.newContents.setStyles({left:this.bodysize.x,opacity:1});this.slider.setStyle("left",0).tween("left",0,-this.bodysize.x)}else{if(fx=="left"){this.oldContents.setStyles({left:this.bodysize.x,opacity:1});this.newContents.setStyles({left:0,opacity:1});this.slider.setStyle("left",-this.bodysize.x).tween("left",-this.bodysize.x,0)}else{if(fx=="fade"){this.slider.setStyle("left",0);this.oldContents.setStyle("left",0).set("tween",{duration:this.options.animationDuration/2}).tween("opacity",1,0);this.newContents.setStyles({opacity:0,left:0}).set("tween",{duration:this.options.animationDuration}).tween("opacity",0,1)}}}},constructPicker:function(){this.picker=new Element("div",{"class":this.options.pickerClass}).inject(document.body);if(this.options.useFadeInOut){this.picker.setStyle("opacity",0).set("tween",{duration:this.options.animationDuration})}var h=new Element("div",{"class":"header"}).inject(this.picker);var titlecontainer=new Element("div",{"class":"title"}).inject(h);new Element("div",{"class":"previous"}).addEvent("click",this.previous.bind(this)).set("text","«").inject(h);new Element("div",{"class":"next"}).addEvent("click",this.next.bind(this)).set("text","»").inject(h);new Element("div",{"class":"closeButton"}).addEvent("click",this.close.bindWithEvent(this,true)).set("text","x").inject(h);new Element("span",{"class":"titleText"}).addEvent("click",this.zoomOut.bind(this)).inject(titlecontainer);var b=new Element("div",{"class":"body"}).inject(this.picker);this.bodysize=b.getSize();this.slider=new Element("div",{styles:{position:"absolute",top:0,left:0,width:2*this.bodysize.x,height:this.bodysize.y}}).set("tween",{duration:this.options.animationDuration,transition:Fx.Transitions.Quad.easeInOut}).inject(b);this.oldContents=new Element("div",{styles:{position:"absolute",top:0,left:this.bodysize.x,width:this.bodysize.x,height:this.bodysize.y}}).inject(this.slider);this.newContents=new Element("div",{styles:{position:"absolute",top:0,left:0,width:this.bodysize.x,height:this.bodysize.y}}).inject(this.slider)},renderTime:function(){var container=new Element("div",{"class":"time"}).inject(this.newContents);if(this.options.timePickerOnly){this.picker.getElement(".titleText").set("text","Select a time")}else{this.picker.getElement(".titleText").set("text",this.format(this.d,"j M, Y"))}new Element("input",{type:"text","class":"hour"}).set("value",this.leadZero(this.d.getHours())).addEvents({mousewheel:function(e){var i=e.target,v=i.get("value").toInt();i.focus();if(e.wheel>0){v=(v<23)?v+1:0}else{v=(v>0)?v-1:23}i.set("value",this.leadZero(v));e.stop()}.bind(this)}).set("maxlength",2).inject(container);new Element("input",{type:"text","class":"minutes"}).set("value",this.leadZero(this.d.getMinutes())).addEvents({mousewheel:function(e){var i=e.target,v=i.get("value").toInt();i.focus();if(e.wheel>0){v=(v<59)?v+1:0}else{v=(v>0)?v-1:59}i.set("value",this.leadZero(v));e.stop()}.bind(this)}).set("maxlength",2).inject(container);new Element("div",{"class":"separator"}).set("text",":").inject(container);new Element("input",{type:"submit",value:"OK","class":"ok"}).addEvents({click:function(e){e.stop();this.select($merge(this.dateToObject(this.d),{hours:this.picker.getElement(".hour").get("value").toInt(),minutes:this.picker.getElement(".minutes").get("value").toInt()}))}.bind(this)}).set("maxlength",2).inject(container)},renderMonth:function(){var month=this.d.getMonth();this.picker.getElement(".titleText").set("text",this.options.months[month]+" "+this.d.getFullYear());this.d.setDate(1);while(this.d.getDay()!=this.options.startDay){this.d.setDate(this.d.getDate()-1)}var container=new Element("div",{"class":"days"}).inject(this.newContents);var titles=new Element("div",{"class":"titles"}).inject(container);var d,i,classes,e,weekcontainer;for(d=this.options.startDay;d<(this.options.startDay+7);d++){new Element("div",{"class":"title day day"+(d%7)}).set("text",this.options.days[(d%7)].substring(0,this.options.dayShort)).inject(titles)}var available=false;var t=this.today.toDateString();var currentChoice=this.dateFromObject(this.choice).toDateString();for(i=0;i<42;i++){classes=[];classes.push("day");classes.push("day"+this.d.getDay());if(this.d.toDateString()==t){classes.push("today")}if(this.d.toDateString()==currentChoice){classes.push("selected")}if(this.d.getMonth()!=month){classes.push("otherMonth")}if(i%7==0){weekcontainer=new Element("div",{"class":"week week"+(Math.floor(i/7))}).inject(container)}e=new Element("div",{"class":classes.join(" ")}).set("text",this.d.getDate()).inject(weekcontainer);if(this.limited("date")){e.addClass("unavailable");if(available){this.limit.right=true}else{if(this.d.getMonth()==month){this.limit.left=true}}}else{available=true;e.addEvent("click",function(e,d){if(this.options.timePicker){this.d.setDate(d.day);this.d.setMonth(d.month);this.mode="time";this.render("fade")}else{this.select(d)}}.bindWithEvent(this,{day:this.d.getDate(),month:this.d.getMonth(),year:this.d.getFullYear()}))}this.d.setDate(this.d.getDate()+1)}if(!available){this.limit.right=true}},renderYear:function(){var month=this.today.getMonth();var thisyear=this.d.getFullYear()==this.today.getFullYear();var selectedyear=this.d.getFullYear()==this.choice.year;this.picker.getElement(".titleText").set("text",this.d.getFullYear());this.d.setMonth(0);var i,e;var available=false;var container=new Element("div",{"class":"months"}).inject(this.newContents);for(i=0;i<=11;i++){e=new Element("div",{"class":"month month"+(i+1)+(i==month&&thisyear?" today":"")+(i==this.choice.month&&selectedyear?" selected":"")}).set("text",this.options.monthShort?this.options.months[i].substring(0,this.options.monthShort):this.options.months[i]).inject(container);if(this.limited("month")){e.addClass("unavailable");if(available){this.limit.right=true}else{this.limit.left=true}}else{available=true;e.addEvent("click",function(e,d){this.d.setDate(1);this.d.setMonth(d);this.mode="month";this.render("fade")}.bindWithEvent(this,i))}this.d.setMonth(i)}if(!available){this.limit.right=true}},renderDecades:function(){while(this.d.getFullYear()%this.options.yearsPerPage>0){this.d.setFullYear(this.d.getFullYear()-1)}this.picker.getElement(".titleText").set("text",this.d.getFullYear()+"-"+(this.d.getFullYear()+this.options.yearsPerPage-1));var i,y,e;var available=false;var container=new Element("div",{"class":"years"}).inject(this.newContents);if($chk(this.options.minDate)&&this.d.getFullYear()<=this.options.minDate.getFullYear()){this.limit.left=true}for(i=0;i<this.options.yearsPerPage;i++){y=this.d.getFullYear();e=new Element("div",{"class":"year year"+i+(y==this.today.getFullYear()?" today":"")+(y==this.choice.year?" selected":"")}).set("text",y).inject(container);if(this.limited("year")){e.addClass("unavailable");if(available){this.limit.right=true}else{this.limit.left=true}}else{available=true;e.addEvent("click",function(e,d){this.d.setFullYear(d);this.mode="year";this.render("fade")}.bindWithEvent(this,y))}this.d.setFullYear(this.d.getFullYear()+1)}if(!available){this.limit.right=true}if($chk(this.options.maxDate)&&this.d.getFullYear()>=this.options.maxDate.getFullYear()){this.limit.right=true}},limited:function(type){var cs=$chk(this.options.minDate);var ce=$chk(this.options.maxDate);if(!cs&&!ce){return false}switch(type){case"year":return(cs&&this.d.getFullYear()<this.options.minDate.getFullYear())||(ce&&this.d.getFullYear()>this.options.maxDate.getFullYear());case"month":var ms=(""+this.d.getFullYear()+this.leadZero(this.d.getMonth())).toInt();return cs&&ms<(""+this.options.minDate.getFullYear()+this.leadZero(this.options.minDate.getMonth())).toInt()||ce&&ms>(""+this.options.maxDate.getFullYear()+this.leadZero(this.options.maxDate.getMonth())).toInt();case"date":return(cs&&this.d<this.options.minDate)||(ce&&this.d>this.options.maxDate)}},allowZoomOut:function(){if(this.mode=="time"&&this.options.timePickerOnly){return false}if(this.mode=="decades"){return false}if(this.mode=="year"&&!this.options.yearPicker){return false}return true},zoomOut:function(){if(!this.allowZoomOut()){return}if(this.mode=="year"){this.mode="decades"}else{if(this.mode=="time"){this.mode="month"}else{this.mode="year"}}this.render("fade")},previous:function(){if(this.mode=="decades"){this.d.setFullYear(this.d.getFullYear()-this.options.yearsPerPage)}else{if(this.mode=="year"){this.d.setFullYear(this.d.getFullYear()-1)}else{if(this.mode=="month"){this.d.setMonth(this.d.getMonth()-1)}}}this.render("left")},next:function(){if(this.mode=="decades"){this.d.setFullYear(this.d.getFullYear()+this.options.yearsPerPage)}else{if(this.mode=="year"){this.d.setFullYear(this.d.getFullYear()+1)}else{if(this.mode=="month"){this.d.setMonth(this.d.getMonth()+1)}}}this.render("right")},close:function(e,force){if(!$(this.picker)){return}var clickOutside=($chk(e)&&e.target!=this.picker&&!this.picker.hasChild(e.target)&&e.target!=this.visual);if(force||clickOutside){if(this.options.useFadeInOut){this.picker.set("tween",{duration:this.options.animationDuration/2,onComplete:this.destroy.bind(this)}).tween("opacity",1,0)}else{this.destroy()}}},destroy:function(){this.picker.destroy();this.picker=null;this.options.onClose()},select:function(values){this.choice=$merge(this.choice,values);var d=this.dateFromObject(this.choice);this.input.set("value",this.format(d,this.options.inputOutputFormat));this.visual.set("value",this.format(d,this.options.format));this.options.onSelect(d);this.close(null,true)},leadZero:function(v){return v<10?"0"+v:v},format:function(t,format){var f="";var h=t.getHours();var m=t.getMonth();for(var i=0;i<format.length;i++){switch(format.charAt(i)){case"\\":i++;f+=format.charAt(i);break;case"y":f+=(100+t.getYear()+"").substring(1);break;case"Y":f+=t.getFullYear();break;case"m":f+=this.leadZero(m+1);break;case"n":f+=(m+1);break;case"M":f+=this.options.months[m].substring(0,this.options.monthShort);break;case"F":f+=this.options.months[m];break;case"d":f+=this.leadZero(t.getDate());break;case"j":f+=t.getDate();break;case"D":f+=this.options.days[t.getDay()].substring(0,this.options.dayShort);break;case"l":f+=this.options.days[t.getDay()];break;case"G":f+=h;break;case"H":f+=this.leadZero(h);break;case"g":f+=(h%12?h%12:12);break;case"h":f+=this.leadZero(h%12?h%12:12);break;case"a":f+=(h>11?"pm":"am");break;case"A":f+=(h>11?"PM":"AM");break;case"i":f+=this.leadZero(t.getMinutes());break;case"s":f+=this.leadZero(t.getSeconds());break;case"U":f+=Math.floor(t.valueOf()/1000);break;default:f+=format.charAt(i)}}return f},unformat:function(t,format){var d=new Date();var a={};var c,m;t=t.toString();for(var i=0;i<format.length;i++){c=format.charAt(i);switch(c){case"\\":r=null;i++;break;case"y":r="[0-9]{2}";break;case"Y":r="[0-9]{4}";break;case"m":r="0[1-9]|1[012]";break;case"n":r="[1-9]|1[012]";break;case"M":r="[A-Za-z]{"+this.options.monthShort+"}";break;case"F":r="[A-Za-z]+";break;case"d":r="0[1-9]|[12][0-9]|3[01]";break;case"j":r="[1-9]|[12][0-9]|3[01]";break;case"D":r="[A-Za-z]{"+this.options.dayShort+"}";break;case"l":r="[A-Za-z]+";break;case"G":case"H":case"g":case"h":r="[0-9]{1,2}";break;case"a":r="(am|pm)";break;case"A":r="(AM|PM)";break;case"i":case"s":r="[012345][0-9]";break;case"U":r="-?[0-9]+$";break;default:r=null}if($chk(r)){m=t.match("^"+r);if($chk(m)){a[c]=m[0];t=t.substring(a[c].length)}else{if(this.options.debug){alert("Fatal Error in DatePicker\n\nUnexpected format at: '"+t+"' expected format character '"+c+"' (pattern '"+r+"')")}return d}}else{t=t.substring(1)}}for(c in a){var v=a[c];switch(c){case"y":d.setFullYear(v<30?2000+v.toInt():1900+v.toInt());break;case"Y":d.setFullYear(v);break;case"m":case"n":d.setMonth(v-1);break;case"M":v=this.options.months.filter(function(item,index){return item.substring(0,this.options.monthShort)==v}.bind(this))[0];case"F":d.setMonth(this.options.months.indexOf(v));break;case"d":case"j":d.setDate(v);break;case"G":case"H":d.setHours(v);break;case"g":case"h":if(a.a=="pm"||a.A=="PM"){d.setHours(v==12?0:v.toInt()+12)}else{d.setHours(v)}break;case"i":d.setMinutes(v);break;case"s":d.setSeconds(v);break;case"U":d=new Date(v.toInt()*1000)}}return d}});window.addEvent("domready",function(){var wysiwyg=[];var setupJsForm=function(scope){scope.getElements(".wysiwyg").each(function(elem){wysiwyg.push(elem.mooEditable())});new DatePicker(scope.getElements(".datepicker.datetime"),{timePicker:true,format:"d.m.Y H:i"});new DatePicker(scope.getElements(".datepicker.date"),{format:"d.m.Y"});new DatePicker(scope.getElements(".datepicker.time"),{timePickerOnly:true,format:"H:i"})};var quickEdit=new AjaxEdit({holderParent:$("content"),onFormInjected:function(form){setupJsForm(form)},onBeforeSubmit:function(){wysiwyg.each(function(elem){elem.saveContent()})}});var platforms=document.body.getElements(".platform");var main_form=document.id("main_form");if(platforms.length){var setupSortables=function(scope){new Sortables(scope.getElements(".sortable"),{handle:".handle",onStart:function(element,clone){element.addClass("dragged")},onComplete:function(element){element.removeClass("dragged");new Request({method:"get",url:this.element.getParent("tbody").get("data-sort-url")}).send({data:{order:this.serialize()}})}})};var updatePlatform=function(href,platform,callback){new Request({method:"get",url:href,onSuccess:function(html){platform.innerHTML=html;if(callback){callback.call()}setupSortables(platform)}}).send()};platforms.addEvents({"click:relay(.pagination a, thead a)":function(e){e.preventDefault();updatePlatform(this.get("href"),this.getParent(".platform"))},"submit:relay(.search)":function(e){e.preventDefault();var parent=this.getParent(".platform");new Request({method:"get",url:this.get("action"),onSuccess:function(html){parent.innerHTML=html;setupSortables(platform)}}).send({data:this})},"click:relay(.quick_edit)":function(e){e.preventDefault();quickEdit.startEdit(this,this.getParent("tr"))},"ajax:complete:relay(a[data-method=delete][data-remote])":function(e){e.preventDefault();this.getParent("tr").dispose()}});quickEdit.addEvents({successAndChange:function(json){var tr=this.wrapElement;tr.getElements("td").each(function(td){var name=td.get("data-column-name");if(!name){return}var a=td.getElement("a");(a?a:td).innerHTML=json[name]||""})},successAndNext:function(json){var tr=this.wrapElement;var nextTr=tr.getNext("tr");if(nextTr){quickEdit.startEdit(nextTr.getElement("a"),nextTr)}else{var platform=tr.getParent(".platform");var loadMore=platform.getElement(".load_more");if(loadMore){trIndex=tr.getParent("tbody").getElements("tr").indexOf(tr);updatePlatform(loadMore.get("href"),platform,function(){platform.getElements("tbody tr").each(function(newTr,index){if(trIndex===index){nextTr=newTr.getNext("tr");quickEdit.startEdit(nextTr.getElement("a"),nextTr)}})})}else{nextTr=platform.getElements("tbody tr")[0];quickEdit.startEdit(nextTr.getElement("a"),nextTr)}}}});setupSortables(document.body)}else{if(main_form){setupJsForm(main_form);main_form.addEvents({"click:relay(.quick_edit)":function(e){e.preventDefault();quickEdit.startEdit(this,this)}});quickEdit.addEvents({successAndChange:function(json){this.wrapElement.set("text",json.to_bhf_s||"")},successAndNext:function(json){var a=this.wrapElement;var li=a.getParent("li");if(!li){this.close();return}var holder=li.getNext("li");if(!holder){holder=li.getParent("ul")}quickEdit.startEdit(holder.getElement("a"))}})}}setTimeout(function(){var fm=$("flash_massages");if(fm){fm.fade("out")}},4000);new BrowserUpdate({vs:{i:8,f:3,o:10.01,s:2,n:9}})});
|
|
578
|
+
}return(a||a===0)&&a>=0&&a<this.lists.length?b[a]:b;}});(function(){var b=function(c){return c!=null;};var a=Object.prototype.hasOwnProperty;Object.extend({getFromPath:function(e,f){if(typeof f=="string"){f=f.split(".");
|
|
579
|
+
}for(var d=0,c=f.length;d<c;d++){if(a.call(e,f[d])){e=e[f[d]];}else{return null;}}return e;},cleanValues:function(c,e){e=e||b;for(var d in c){if(!e(c[d])){delete c[d];
|
|
580
|
+
}}return c;},erase:function(c,d){if(a.call(c,d)){delete c[d];}return c;},run:function(d){var c=Array.slice(arguments,1);for(var e in d){if(d[e].apply){d[e].apply(d,c);
|
|
581
|
+
}}return d;}});}).call(this);(function(){var b=null,a={},d={};var c=function(f){if(instanceOf(f,e.Set)){return f;}else{return a[f];}};var e=this.Locale={define:function(f,j,h,i){var g;
|
|
582
|
+
if(instanceOf(f,e.Set)){g=f.name;if(g){a[g]=f;}}else{g=f;if(!a[g]){a[g]=new e.Set(g);}f=a[g];}if(j){f.define(j,h,i);}if(!b){b=f;}return f;},use:function(f){f=c(f);
|
|
583
|
+
if(f){b=f;this.fireEvent("change",f);}return this;},getCurrent:function(){return b;},get:function(g,f){return(b)?b.get(g,f):"";},inherit:function(f,g,h){f=c(f);
|
|
584
|
+
if(f){f.inherit(g,h);}return this;},list:function(){return Object.keys(a);}};Object.append(e,new Events);e.Set=new Class({sets:{},inherits:{locales:[],sets:{}},initialize:function(f){this.name=f||"";
|
|
585
|
+
},define:function(i,g,h){var f=this.sets[i];if(!f){f={};}if(g){if(typeOf(g)=="object"){f=Object.merge(f,g);}else{f[g]=h;}}this.sets[i]=f;return this;},get:function(r,j,q){var p=Object.getFromPath(this.sets,r);
|
|
586
|
+
if(p!=null){var m=typeOf(p);if(m=="function"){p=p.apply(null,Array.from(j));}else{if(m=="object"){p=Object.clone(p);}}return p;}var h=r.indexOf("."),o=h<0?r:r.substr(0,h),k=(this.inherits.sets[o]||[]).combine(this.inherits.locales).include("en-US");
|
|
587
|
+
if(!q){q=[];}for(var g=0,f=k.length;g<f;g++){if(q.contains(k[g])){continue;}q.include(k[g]);var n=a[k[g]];if(!n){continue;}p=n.get(r,j,q);if(p!=null){return p;
|
|
588
|
+
}}return"";},inherit:function(g,h){g=Array.from(g);if(h&&!this.inherits.sets[h]){this.inherits.sets[h]=[];}var f=g.length;while(f--){(h?this.inherits.sets[h]:this.inherits.locales).unshift(g[f]);
|
|
589
|
+
}return this;}});}).call(this);Locale.define("en-US","Date",{months:["January","February","March","April","May","June","July","August","September","October","November","December"],months_abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],days_abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dateOrder:["month","date","year"],shortDate:"%m/%d/%Y",shortTime:"%I:%M%p",AM:"AM",PM:"PM",firstDayOfWeek:0,ordinal:function(a){return(a>3&&a<21)?"th":["th","st","nd","rd","th"][Math.min(a%10,4)];
|
|
590
|
+
},lessThanMinuteAgo:"less than a minute ago",minuteAgo:"about a minute ago",minutesAgo:"{delta} minutes ago",hourAgo:"about an hour ago",hoursAgo:"about {delta} hours ago",dayAgo:"1 day ago",daysAgo:"{delta} days ago",weekAgo:"1 week ago",weeksAgo:"{delta} weeks ago",monthAgo:"1 month ago",monthsAgo:"{delta} months ago",yearAgo:"1 year ago",yearsAgo:"{delta} years ago",lessThanMinuteUntil:"less than a minute from now",minuteUntil:"about a minute from now",minutesUntil:"{delta} minutes from now",hourUntil:"about an hour from now",hoursUntil:"about {delta} hours from now",dayUntil:"1 day from now",daysUntil:"{delta} days from now",weekUntil:"1 week from now",weeksUntil:"{delta} weeks from now",monthUntil:"1 month from now",monthsUntil:"{delta} months from now",yearUntil:"1 year from now",yearsUntil:"{delta} years from now"});
|
|
591
|
+
Locale.define("de-DE","Date",{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],months_abbr:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],days_abbr:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],dateOrder:["date","month","year"],shortDate:"%d.%m.%Y",shortTime:"%H:%M",AM:"vormittags",PM:"nachmittags",firstDayOfWeek:1,ordinal:".",lessThanMinuteAgo:"vor weniger als einer Minute",minuteAgo:"vor einer Minute",minutesAgo:"vor {delta} Minuten",hourAgo:"vor einer Stunde",hoursAgo:"vor {delta} Stunden",dayAgo:"vor einem Tag",daysAgo:"vor {delta} Tagen",weekAgo:"vor einer Woche",weeksAgo:"vor {delta} Wochen",monthAgo:"vor einem Monat",monthsAgo:"vor {delta} Monaten",yearAgo:"vor einem Jahr",yearsAgo:"vor {delta} Jahren",lessThanMinuteUntil:"in weniger als einer Minute",minuteUntil:"in einer Minute",minutesUntil:"in {delta} Minuten",hourUntil:"in ca. einer Stunde",hoursUntil:"in ca. {delta} Stunden",dayUntil:"in einem Tag",daysUntil:"in {delta} Tagen",weekUntil:"in einer Woche",weeksUntil:"in {delta} Wochen",monthUntil:"in einem Monat",monthsUntil:"in {delta} Monaten",yearUntil:"in einem Jahr",yearsUntil:"in {delta} Jahren"});
|
|
592
|
+
(function($){window.rails={applyEvents:function(el){el=$(el||document.body);var apply=function(selector,action,callback){el.getElements(selector).addEvent(action,callback)};apply('form[data-remote="true"]',"submit",rails.handleRemote);apply('a[data-remote="true"], input[data-remote="true"]',"click",rails.handleRemote);apply("a[data-method][data-remote!=true]","click",function(e){e.preventDefault();if(rails.confirmed(this)){var form=new Element("form",{method:"post",action:this.get("href"),styles:{display:"none"}}).inject(this,"after");var methodInput=new Element("input",{type:"hidden",name:"_method",value:this.get("data-method")});var csrfInput=new Element("input",{type:"hidden",name:rails.csrf.param,value:rails.csrf.token});form.adopt(methodInput,csrfInput).submit()}});var noMethodNorRemoteConfirm=":not([data-method]):not([data-remote=true])[data-confirm]";apply("a"+noMethodNorRemoteConfirm+",input"+noMethodNorRemoteConfirm,"click",function(){return rails.confirmed(this)})},getCsrf:function(name){var meta=document.getElement("meta[name=csrf-"+name+"]");return(meta?meta.get("content"):null)},confirmed:function(el){var confirmMessage=el.get("data-confirm");if(confirmMessage&&!confirm(confirmMessage)){return false}return true},disable:function(el){var button=el.get("data-disable-with")?el:el.getElement("[data-disable-with]");if(button){var enableWith=button.get("value");el.addEvent("ajax:complete",function(){button.set({value:enableWith,disabled:false})});button.set({value:button.get("data-disable-with"),disabled:true})}},handleRemote:function(e){e.preventDefault();if(rails.confirmed(this)){this.request=new Request.Rails(this);rails.disable(this);this.request.send()}}};Request.Rails=new Class({Extends:Request,initialize:function(element,options){this.el=element;this.parent(Object.merge({},{method:this.el.get("method")||this.el.get("data-method")||"get",url:this.el.get("action")||this.el.get("href")},options));this.headers.Accept="*/*";this.addRailsEvents()},send:function(options){this.el.fireEvent("ajax:before");if(this.el.get("tag")=="form"){this.options.data=this.el}this.parent(options);this.el.fireEvent("ajax:after",this.xhr)},addRailsEvents:function(){this.addEvent("request",function(){this.el.fireEvent("ajax:loading",this.xhr)});this.addEvent("success",function(){this.el.fireEvent("ajax:success",this.xhr)});this.addEvent("complete",function(){this.el.fireEvent("ajax:complete",this.xhr);this.el.fireEvent("ajax:loaded",this.xhr)});this.addEvent("failure",function(){this.el.fireEvent("ajax:failure",this.xhr)})}})})(document.id);window.addEvent("domready",function(){rails.csrf={token:rails.getCsrf("token"),param:rails.getCsrf("param")};rails.applyEvents()});var BrowserUpdate=new Class({initialize:function(op,test){var b,jsv=5,n=window.navigator;this.op=op||{};this.op.l=op.l||n.language||n.userLanguage||document.documentElement.getAttribute("lang")||"en";this.op.vsakt={i:8,f:3.6,o:10.6,s:5,n:10};this.op.vsdefault={i:6,f:2,o:9.64,s:3,n:10};this.op.vs=op.vs||this.op.vsdefault;for(b in this.op.vsakt){if(this.op.vs[b]>=this.op.vsakt[b]){this.op.vs[b]=this.op.vsdefault[b]}}if(!op.reminder||op.reminder<0.1){this.op.reminder=0}else{this.op.reminder=op.reminder||24}this.op.onshow=op.onshow||function(o){};this.op.url=op.url||"http://browser-update.org/update.html";this.op.pageurl=op.pageurl||window.location.hostname||"unknown";this.op.newwindow=op.newwindow||false;this.op.test=test||op.test||false;if(window.location.hash=="#test-bu"){this.op.test=true}function getBrowser(){var n,v,t,ua=navigator.userAgent,names={i:"Internet Explorer",f:"Firefox",o:"Opera",s:"Apple Safari",n:"Netscape Navigator",c:"Chrome",x:"Other"};if(/like firefox|chromeframe|seamonkey|opera mini|meego|netfront|moblin|maemo|arora|camino|flot|k-meleon|fennec|kazehakase|galeon|android|mobile|iphone|ipod|ipad|symbian|webos/i.test(ua)){n="x"}else{if(/MSIE (\d+\.\d+);/.test(ua)){n="i"}else{if(/Chrome.(\d+\.\d+)/i.test(ua)){n="c"}else{if(/Firefox.(\d+\.\d+)/i.test(ua)){n="f"}else{if(/Version.(\d+.\d+).{0,10}Safari/i.test(ua)){n="s"}else{if(/Safari.(\d+)/i.test(ua)){n="so"}else{if(/Opera.*Version.(\d+\.\d+)/i.test(ua)){n="o"}else{if(/Opera.(\d+\.\d+)/i.test(ua)){n="o"}else{if(/Netscape.(\d+)/i.test(ua)){n="n"}else{return{n:"x",v:0,t:names[n]}}}}}}}}}}if(n=="x"){return{n:"x",v:0,t:names[n]}}v=new Number(RegExp.$1);if(n=="so"){v=((v<100)&&1)||((v<130)&&1.2)||((v<320)&&1.3)||((v<520)&&2)||((v<524)&&3)||((v<526)&&3.2)||4;n="s"}if(n=="i"&&v==7&&window.XDomainRequest){v=8}return{n:n,v:v,t:names[n]+" "+v}}this.op.browser=getBrowser();if(!this.op.test&&(!this.op.browser||!this.op.browser.n||this.op.browser.n=="x"||this.op.browser.n=="c"||document.cookie.indexOf("browserupdateorg=pause")>-1||this.op.browser.v>this.op.vs[this.op.browser.n])){return}if(this.op.reminder>0){var d=new Date(new Date().getTime()+1000*3600*this.op.reminder);document.cookie="browserupdateorg=pause; expires="+d.toGMTString()+"; path=/"}var ll=this.op.l.substr(0,2);var languages="de,en";if(languages.indexOf(ll)!==false){this.op.url="http://browser-update.org/"+ll+"/update.html#"+jsv}var tar="";if(this.op.newwindow){tar=' target="_blank"'}function busprintf(){var args=arguments;var data=args[0];for(var k=1;k<args.length;++k){data=data.replace(/%s/,args[k])}return data}ll=(window.Locale)?Locale.getCurrent().name:"en-US";var t="Your browser (%s) is <b>out of date</b>. It has known <b>security flaws</b> and may <b>not display all features</b> of this and other websites. <a%s>Learn how to update your browser</a>";if(ll=="de-DE"){t="Sie verwenden einen <b>veralteten Browser</b> (%s) mit <b>Sicherheitsschwachstellen</b> und <b>können nicht alle Funktionen dieser Webseite nutzen</b>. <a%s>Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können</a>."}if(op.text){t=op.text}this.op.text=busprintf(t,this.op.browser.t,' href="'+this.op.url+'"'+tar);var div=document.createElement("div");this.op.div=div;div.id="buorg";div.className="buorg";div.innerHTML="<div>"+this.op.text+'<div id="buorgclose">X</div></div>';var sheet=document.createElement("style");var style=".buorg {position:absolute;z-index:111111; width:100%; top:0px; left:0px; border-bottom:1px solid #A29330; background:#FDF2AB no-repeat 10px center url(http://browser-update.org/img/dialog-warning.gif); text-align:left; cursor:pointer; font-family: Arial,Helvetica,sans-serif; color:#000; font-size: 12px;} .buorg div { padding:5px 36px 5px 40px; } .buorg a,.buorg a:visited {color:#E25600; text-decoration: underline;} #buorgclose { position: absolute; right: .5em; top:.2em; height: 20px; width: 12px; font-weight: bold;font-size:14px; padding:0; }";document.body.insertBefore(div,document.body.firstChild);document.getElementsByTagName("head")[0].appendChild(sheet);try{sheet.innerText=style;sheet.innerHTML=style}catch(e){try{sheet.styleSheet.cssText=style}catch(e){return}}var me=this;div.onclick=function(){if(me.op.newwindow){window.open(me.op.url,"_blank")}else{window.location.href=me.op.url}return false};div.getElementsByTagName("a")[0].onclick=function(e){var e=e||window.event;if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true}return true};this.op.bodymt=document.body.style.paddingTop;document.body.style.paddingTop=(div.clientHeight)+"px";document.getElementById("buorgclose").onclick=function(e){var e=e||window.event;if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true}me.op.div.style.display="none";document.body.style.paddingTop=me.op.bodymt;return true};op.onshow(this.op)}});var Ajaxify=new Class({version:0.2,Implements:[Options,Events],options:{events:{loading:{name:"ajax:loading",text:"Loading…"},success:{name:"ajax:success",text:"Changes successfully saved!"},failure:{name:"ajax:failure",text:"Oops, something went wrong…"}},holder:new Element("div#ajax_holder"),fadeOutDuration:2000},initialize:function(_options){this.setOptions(_options);this.holder=this.options.holder},applyEvents:function(el){el=document.id(el||document.body);var apply=function(action,callback){el.getElements('[data-remote="true"]').addEvent(action,callback)};apply(this.options.events.loading.name,this.loading.bind(this));apply(this.options.events.success.name,this.success.bind(this));apply(this.options.events.failure.name,this.failure.bind(this))},loading:function(xhr){this.setMessage("loading",false)},success:function(xhr){this.setMessage("success",true)},failure:function(xhr){this.setMessage("failure",true)},setMessage:function(status,fadeOut){this.holder.set("class",status).set("text",this.options.events[status].text).inject(document.body);if(fadeOut){this.holder.addClass("fadeout");setTimeout(function(){this.holder.dispose()}.bind(this),this.options.fadeOutDuration)}}});var AjaxEdit=new Class({version:0.2,options:{holderParent:document.body},Implements:[Options,Events],holder:new Element("div.quick_edit_holder"),initialize:function(_options){this.setOptions(_options);this.holder.addEvents({"click:relay(.open)":function(e){e.preventDefault();location.href=this.wrapElement.getElement("a").get("href")}.bind(this),"click:relay(.cancel)":function(e){e.preventDefault();this.close()}.bind(this),"click:relay(.save_and_next)":function(e){e.preventDefault();this.submit(["successAndChange","successAndNext"])}.bind(this),"click:relay(.save)":function(e){e.preventDefault();this.submit(["successAndChange"])}.bind(this),"submit:relay(form)":function(e){e.preventDefault();this.submit(["successAndChange"])}.bind(this)})},startEdit:function(element,wrapElement){this.clean();this.wrapElement=wrapElement?wrapElement:element;this.wrapElement.addClass("live_edit");new Request({method:"get",url:element.get("href"),onSuccess:function(html){this.injectForm(html)}.bind(this)}).send()},submit:function(eventNames){var form=this.holder.getElement("form");this.fireEvent("beforeSubmit");new Request.JSON({method:form.get("method"),url:form.get("action"),onRequest:function(){this.disableButtons()}.bind(this),onFailure:function(invalidForm){this.injectForm(invalidForm.response)}.bind(this),onSuccess:function(json){if(!eventNames.contains("successAndNext")){this.close()}eventNames.each(function(eventName){this.fireEvent(eventName,[json])}.bind(this))}.bind(this)}).send({data:form})},disableButtons:function(){this.holder.getElements(".open, .cancel, .save_and_next, .save").set("disabled","disabled")},clean:function(){document.body.getElements(".live_edit").removeClass("live_edit")},close:function(){this.clean();this.holder.dispose()},injectForm:function(form){this.holder.innerHTML=form;this.holder.inject(this.options.holderParent);this.fireEvent("formInjected",[this.holder])}});(function(){var blockEls=/^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|SCRIPT|NOSCRIPT|STYLE)$/i;var urlRegex=/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i;var protectRegex=/<(script|noscript|style)[\u0000-\uFFFF]*?<\/(script|noscript|style)>/g;this.MooEditable=new Class({Implements:[Events,Options],options:{toolbar:true,cleanup:true,paragraphise:true,xhtml:true,semantics:true,actions:"bold italic underline strikethrough | insertunorderedlist insertorderedlist indent outdent | undo redo | createlink unlink | urlimage | toggleview",handleSubmit:true,handleLabel:true,disabled:false,baseCSS:"html{ height: 100%; cursor: text; } body{ font-family: sans-serif; }",extraCSS:"",externalCSS:"",html:'<!DOCTYPE html><html><head><meta charset="UTF-8">{BASEHREF}<style>{BASECSS} {EXTRACSS}</style>{EXTERNALCSS}</head><body></body></html>',rootElement:"p",baseURL:"",dimensions:null},initialize:function(el,options){this.setOptions(options);this.textarea=document.id(el);this.textarea.store("MooEditable",this);this.actions=this.options.actions.clean().split(" ");this.keys={};this.dialogs={};this.protectedElements=[];this.actions.each(function(action){var act=MooEditable.Actions[action];if(!act){return}if(act.options){var key=act.options.shortcut;if(key){this.keys[key]=action}}if(act.dialogs){Object.each(act.dialogs,function(dialog,name){dialog=dialog.attempt(this);dialog.name=action+":"+name;if(typeOf(this.dialogs[action])!="object"){this.dialogs[action]={}}this.dialogs[action][name]=dialog},this)}if(act.events){Object.each(act.events,function(fn,event){this.addEvent(event,fn)},this)}}.bind(this));this.render()},toElement:function(){return this.textarea},render:function(){var self=this;var dimensions=this.options.dimensions||this.textarea.getSize();this.container=new Element("div",{id:(this.textarea.id)?this.textarea.id+"-mooeditable-container":null,"class":"mooeditable-container",styles:{width:dimensions.x}});this.textarea.addClass("mooeditable-textarea").setStyle("height",dimensions.y);this.iframe=new IFrame({"class":"mooeditable-iframe",frameBorder:0,src:'javascript:""',styles:{height:dimensions.y}});this.toolbar=new MooEditable.UI.Toolbar({onItemAction:function(){var args=Array.from(arguments);var item=args[0];self.action(item.name,args)}});this.attach.delay(1,this);if(this.options.handleLabel&&this.textarea.id){$$('label[for="'+this.textarea.id+'"]').addEvent("click",function(e){if(self.mode!="iframe"){return}e.preventDefault();self.focus()})}if(this.options.handleSubmit){this.form=this.textarea.getParent("form");if(!this.form){return}this.form.addEvent("submit",function(){if(self.mode=="iframe"){self.saveContent()}})}this.fireEvent("render",this)},attach:function(){var self=this;this.mode="iframe";this.editorDisabled=false;this.container.wraps(this.textarea);this.textarea.setStyle("display","none");this.iframe.setStyle("display","").inject(this.textarea,"before");Object.each(this.dialogs,function(action,name){Object.each(action,function(dialog){document.id(dialog).inject(self.iframe,"before");var range;dialog.addEvents({open:function(){range=self.selection.getRange();self.editorDisabled=true;self.toolbar.disable(name);self.fireEvent("dialogOpen",this)},close:function(){self.toolbar.enable();self.editorDisabled=false;self.focus();if(range){self.selection.setRange(range)}self.fireEvent("dialogClose",this)}})})});this.win=this.iframe.contentWindow;this.doc=this.win.document;if(Browser.firefox){this.doc.designMode="On"}var docHTML=this.options.html.substitute({BASECSS:this.options.baseCSS,EXTRACSS:this.options.extraCSS,EXTERNALCSS:(this.options.externalCSS)?'<link rel="stylesheet" href="'+this.options.externalCSS+'">':"",BASEHREF:(this.options.baseURL)?'<base href="'+this.options.baseURL+'" />':""});this.doc.open();this.doc.write(docHTML);this.doc.close();(Browser.ie)?this.doc.body.contentEditable=true:this.doc.designMode="On";Object.append(this.win,new Window);Object.append(this.doc,new Document);if(Browser.Element){var winElement=this.win.Element.prototype;for(var method in Element){if(!method.test(/^[A-Z]|\$|prototype|mooEditable/)){winElement[method]=Element.prototype[method]}}}else{document.id(this.doc.body)}this.setContent(this.textarea.get("value"));this.doc.addEvents({mouseup:this.editorMouseUp.bind(this),mousedown:this.editorMouseDown.bind(this),mouseover:this.editorMouseOver.bind(this),mouseout:this.editorMouseOut.bind(this),mouseenter:this.editorMouseEnter.bind(this),mouseleave:this.editorMouseLeave.bind(this),contextmenu:this.editorContextMenu.bind(this),click:this.editorClick.bind(this),dblclick:this.editorDoubleClick.bind(this),keypress:this.editorKeyPress.bind(this),keyup:this.editorKeyUp.bind(this),keydown:this.editorKeyDown.bind(this),focus:this.editorFocus.bind(this),blur:this.editorBlur.bind(this)});this.win.addEvents({focus:this.editorFocus.bind(this),blur:this.editorBlur.bind(this)});["cut","copy","paste"].each(function(event){self.doc.body.addListener(event,self["editor"+event.capitalize()].bind(self))});this.textarea.addEvent("keypress",this.textarea.retrieve("mooeditable:textareaKeyListener",this.keyListener.bind(this)));if(Browser.firefox2){this.doc.addEvent("focus",function(){self.win.fireEvent("focus").focus()})}if(this.doc.addEventListener){this.doc.addEventListener("focus",function(){self.win.fireEvent("focus")},true)}if(!Browser.ie&&!Browser.opera){var styleCSS=function(){self.execute("styleWithCSS",false,false);self.doc.removeEvent("focus",styleCSS)};this.win.addEvent("focus",styleCSS)}if(this.options.toolbar){document.id(this.toolbar).inject(this.container,"top");this.toolbar.render(this.actions)}if(this.options.disabled){this.disable()}this.selection=new MooEditable.Selection(this.win);this.oldContent=this.getContent();this.fireEvent("attach",this);return this},detach:function(){this.saveContent();this.textarea.setStyle("display","").removeClass("mooeditable-textarea").inject(this.container,"before");this.textarea.removeEvent("keypress",this.textarea.retrieve("mooeditable:textareaKeyListener"));this.container.dispose();this.fireEvent("detach",this);return this},enable:function(){this.editorDisabled=false;this.toolbar.enable();return this},disable:function(){this.editorDisabled=true;this.toolbar.disable();return this},editorFocus:function(e){this.oldContent="";this.fireEvent("editorFocus",[e,this])},editorBlur:function(e){this.oldContent=this.saveContent().getContent();this.fireEvent("editorBlur",[e,this])},editorMouseUp:function(e){if(this.editorDisabled){e.stop();return}if(this.options.toolbar){this.checkStates()}this.fireEvent("editorMouseUp",[e,this])},editorMouseDown:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseDown",[e,this])},editorMouseOver:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseOver",[e,this])},editorMouseOut:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseOut",[e,this])},editorMouseEnter:function(e){if(this.editorDisabled){e.stop();return}if(this.oldContent&&this.getContent()!=this.oldContent){this.focus();this.fireEvent("editorPaste",[e,this])}this.fireEvent("editorMouseEnter",[e,this])},editorMouseLeave:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorMouseLeave",[e,this])},editorContextMenu:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorContextMenu",[e,this])},editorClick:function(e){if(Browser.safari||Browser.chrome){var el=e.target;if(Element.get(el,"tag")=="img"){if(this.options.baseURL){if(el.getProperty("src").indexOf("http://")==-1){el.setProperty("src",this.options.baseURL+el.getProperty("src"))}}this.selection.selectNode(el);this.checkStates()}}this.fireEvent("editorClick",[e,this])},editorDoubleClick:function(e){this.fireEvent("editorDoubleClick",[e,this])},editorKeyPress:function(e){if(this.editorDisabled){e.stop();return}this.keyListener(e);this.fireEvent("editorKeyPress",[e,this])},editorKeyUp:function(e){if(this.editorDisabled){e.stop();return}var c=e.code;if(this.options.toolbar&&(/^enter|left|up|right|down|delete|backspace$/i.test(e.key)||(c>=33&&c<=36)||c==45||e.meta||e.control)){if(Browser.ie6){clearTimeout(this.checkStatesDelay);this.checkStatesDelay=this.checkStates.delay(500,this)}else{this.checkStates()}}this.fireEvent("editorKeyUp",[e,this])},editorKeyDown:function(e){if(this.editorDisabled){e.stop();return}if(e.key=="enter"){if(this.options.paragraphise){if(e.shift&&(Browser.safari||Browser.chrome)){var s=this.selection;var r=s.getRange();var br=this.doc.createElement("br");r.insertNode(br);r.setStartAfter(br);r.setEndAfter(br);s.setRange(r);if(s.getSelection().focusNode==br.previousSibling){var nbsp=this.doc.createTextNode("\u00a0");var p=br.parentNode;var ns=br.nextSibling;(ns)?p.insertBefore(nbsp,ns):p.appendChild(nbsp);s.selectNode(nbsp);s.collapse(1)}this.win.scrollTo(0,Element.getOffsets(s.getRange().startContainer).y);e.preventDefault()}else{if(Browser.firefox||Browser.safari||Browser.chrome){var node=this.selection.getNode();var isBlock=Element.getParents(node).include(node).some(function(el){return el.nodeName.test(blockEls)});if(!isBlock){this.execute("insertparagraph")}}}}else{if(Browser.ie){var r=this.selection.getRange();var node=this.selection.getNode();if(r&&node.get("tag")!="li"){this.selection.insertContent("<br>");this.selection.collapse(false)}e.preventDefault()}}}if(Browser.opera){var ctrlmeta=e.control||e.meta;if(ctrlmeta&&e.key=="x"){this.fireEvent("editorCut",[e,this])}else{if(ctrlmeta&&e.key=="c"){this.fireEvent("editorCopy",[e,this])}else{if((ctrlmeta&&e.key=="v")||(e.shift&&e.code==45)){this.fireEvent("editorPaste",[e,this])}}}}this.fireEvent("editorKeyDown",[e,this])},editorCut:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorCut",[e,this])},editorCopy:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorCopy",[e,this])},editorPaste:function(e){if(this.editorDisabled){e.stop();return}this.fireEvent("editorPaste",[e,this])},keyListener:function(e){var key=(Browser.Platform.mac)?e.meta:e.control;if(!key||!this.keys[e.key]){return}e.preventDefault();var item=this.toolbar.getItem(this.keys[e.key]);item.action(e)},focus:function(){(this.mode=="iframe"?this.win:this.textarea).focus();this.fireEvent("focus",this);return this},action:function(command,args){var action=MooEditable.Actions[command];if(action.command&&typeOf(action.command)=="function"){action.command.apply(this,args)}else{this.focus();this.execute(command,false,args);if(this.mode=="iframe"){this.checkStates()}}},execute:function(command,param1,param2){if(this.busy){return}this.busy=true;this.doc.execCommand(command,param1,param2);this.saveContent();this.busy=false;return false},toggleView:function(){this.fireEvent("beforeToggleView",this);if(this.mode=="textarea"){this.mode="iframe";this.iframe.setStyle("display","");this.setContent(this.textarea.value);this.textarea.setStyle("display","none")}else{this.saveContent();this.mode="textarea";this.textarea.setStyle("display","");this.iframe.setStyle("display","none")}this.fireEvent("toggleView",this);this.focus.delay(10,this);return this},getContent:function(){var protect=this.protectedElements;var html=this.doc.body.get("html").replace(/<!-- mooeditable:protect:([0-9]+) -->/g,function(a,b){return protect[b.toInt()]});return this.cleanup(this.ensureRootElement(html))},setContent:function(content){var protect=this.protectedElements;content=content.replace(protectRegex,function(a){protect.push(a);return"<!-- mooeditable:protect:"+(protect.length-1)+" -->"});this.doc.body.set("html",this.ensureRootElement(content));return this},saveContent:function(){if(this.mode=="iframe"){this.textarea.set("value",this.getContent())}return this},ensureRootElement:function(val){if(this.options.rootElement){var el=new Element("div",{html:val.trim()});var start=-1;var create=false;var html="";var length=el.childNodes.length;for(var i=0;i<length;i++){var childNode=el.childNodes[i];var nodeName=childNode.nodeName;if(!nodeName.test(blockEls)&&nodeName!=="#comment"){if(nodeName==="#text"){if(childNode.nodeValue.trim()){if(start<0){start=i}html+=childNode.nodeValue}}else{if(start<0){start=i}html+=new Element("div").adopt($(childNode).clone()).get("html")}}else{create=true}if(i==(length-1)){create=true}if(start>=0&&create){var newel=new Element(this.options.rootElement,{html:html});el.replaceChild(newel,el.childNodes[start]);for(var k=start+1;k<i;k++){el.removeChild(el.childNodes[k]);length--;i--;k--}start=-1;create=false;html=""}}val=el.get("html").replace(/\n\n/g,"")}return val},checkStates:function(){var element=this.selection.getNode();if(!element){return}if(typeOf(element)!="element"){return}this.actions.each(function(action){var item=this.toolbar.getItem(action);if(!item){return}item.deactivate();var states=MooEditable.Actions[action]["states"];if(!states){return}if(typeOf(states)=="function"){states.attempt([document.id(element),item],this);return}try{if(this.doc.queryCommandState(action)){item.activate();return}}catch(e){}if(states.tags){var el=element;do{var tag=el.tagName.toLowerCase();if(states.tags.contains(tag)){item.activate(tag);break}}while((el=Element.getParent(el))!=null)}if(states.css){var el=element;do{var found=false;for(var prop in states.css){var css=states.css[prop];if(el.style[prop.camelCase()].contains(css)){item.activate(css);found=true}}if(found||el.tagName.test(blockEls)){break}}while((el=Element.getParent(el))!=null)}}.bind(this))},cleanup:function(source){if(!this.options.cleanup){return source.trim()}do{var oSource=source;if(this.options.baseURL){source=source.replace('="'+this.options.baseURL,'="')}source=source.replace(/<br class\="webkit-block-placeholder">/gi,"<br />");source=source.replace(/<span class="Apple-style-span">(.*)<\/span>/gi,"$1");source=source.replace(/ class="Apple-style-span"/gi,"");source=source.replace(/<span style="">/gi,"");source=source.replace(/<p>\s*<br ?\/?>\s*<\/p>/gi,"<p>\u00a0</p>");source=source.replace(/<p>( |\s)*<\/p>/gi,"<p>\u00a0</p>");if(!this.options.semantics){source=source.replace(/\s*<br ?\/?>\s*<\/p>/gi,"</p>")}if(this.options.xhtml){source=source.replace(/<br>/gi,"<br />")}if(this.options.semantics){if(Browser.ie){source=source.replace(/<li>\s*<div>(.+?)<\/div><\/li>/g,"<li>$1</li>")}if(Browser.safari||Browser.chrome){source=source.replace(/^([\w\s]+.*?)<div>/i,"<p>$1</p><div>");source=source.replace(/<div>(.+?)<\/div>/ig,"<p>$1</p>")}if(!Browser.ie){source=source.replace(/<p>[\s\n]*(<(?:ul|ol)>.*?<\/(?:ul|ol)>)(.*?)<\/p>/ig,"$1<p>$2</p>");source=source.replace(/<\/(ol|ul)>\s*(?!<(?:p|ol|ul|img).*?>)((?:<[^>]*>)?\w.*)$/g,"</$1><p>$2</p>")}source=source.replace(/<br[^>]*><\/p>/g,"</p>");source=source.replace(/<p>\s*(<img[^>]+>)\s*<\/p>/ig,"$1\n");source=source.replace(/<p([^>]*)>(.*?)<\/p>(?!\n)/g,"<p$1>$2</p>\n");source=source.replace(/<\/(ul|ol|p)>(?!\n)/g,"</$1>\n");source=source.replace(/><li>/g,">\n\t<li>");source=source.replace(/([^\n])<\/(ol|ul)>/g,"$1\n</$2>");source=source.replace(/([^\n])<img/ig,"$1\n<img");source=source.replace(/^\s*$/g,"")}source=source.replace(/<br ?\/?>$/gi,"");source=source.replace(/^<br ?\/?>/gi,"");if(this.options.paragraphise){source=source.replace(/(h[1-6]|p|div|address|pre|li|ol|ul|blockquote|center|dl|dt|dd)><br ?\/?>/gi,"$1>")}source=source.replace(/<br ?\/?>\s*<\/(h1|h2|h3|h4|h5|h6|li|p)/gi,"</$1");source=source.replace(/<span style="font-weight: bold;">(.*)<\/span>/gi,"<strong>$1</strong>");source=source.replace(/<span style="font-style: italic;">(.*)<\/span>/gi,"<em>$1</em>");source=source.replace(/<b\b[^>]*>(.*?)<\/b[^>]*>/gi,"<strong>$1</strong>");source=source.replace(/<i\b[^>]*>(.*?)<\/i[^>]*>/gi,"<em>$1</em>");source=source.replace(/<u\b[^>]*>(.*?)<\/u[^>]*>/gi,'<span style="text-decoration: underline;">$1</span>');source=source.replace(/<strong><span style="font-weight: normal;">(.*)<\/span><\/strong>/gi,"$1");source=source.replace(/<em><span style="font-weight: normal;">(.*)<\/span><\/em>/gi,"$1");source=source.replace(/<span style="text-decoration: underline;"><span style="font-weight: normal;">(.*)<\/span><\/span>/gi,"$1");source=source.replace(/<strong style="font-weight: normal;">(.*)<\/strong>/gi,"$1");source=source.replace(/<em style="font-weight: normal;">(.*)<\/em>/gi,"$1");source=source.replace(/<[^> ]*/g,function(match){return match.toLowerCase()});source=source.replace(/<[^>]*>/g,function(match){match=match.replace(/ [^=]+=/g,function(match2){return match2.toLowerCase()});return match});source=source.replace(/<[^!][^>]*>/g,function(match){match=match.replace(/( [^=]+=)([^"][^ >]*)/g,'$1"$2"');return match});if(this.options.xhtml){source=source.replace(/<img([^>]+)(\s*[^\/])>(<\/img>)*/gi,"<img$1$2 />")}source=source.replace(/<p>(?:\s*)<p>/g,"<p>");source=source.replace(/<\/p>\s*<\/p>/g,"</p>");source=source.replace(/<pre[^>]*>.*?<\/pre>/gi,function(match){return match.replace(/<br ?\/?>/gi,"\n")});source=source.trim()}while(source!=oSource);return source}});MooEditable.Selection=new Class({initialize:function(win){this.win=win},getSelection:function(){this.win.focus();return(this.win.getSelection)?this.win.getSelection():this.win.document.selection},getRange:function(){var s=this.getSelection();if(!s){return null}try{return s.rangeCount>0?s.getRangeAt(0):(s.createRange?s.createRange():null)}catch(e){return this.doc.body.createTextRange()}},setRange:function(range){if(range.select){Function.attempt(function(){range.select()})}else{var s=this.getSelection();if(s.addRange){s.removeAllRanges();s.addRange(range)}}},selectNode:function(node,collapse){var r=this.getRange();var s=this.getSelection();if(r.moveToElementText){Function.attempt(function(){r.moveToElementText(node);r.select()})}else{if(s.addRange){collapse?r.selectNodeContents(node):r.selectNode(node);s.removeAllRanges();s.addRange(r)}else{s.setBaseAndExtent(node,0,node,1)}}return node},isCollapsed:function(){var r=this.getRange();if(r.item){return false}return r.boundingWidth==0||this.getSelection().isCollapsed},collapse:function(toStart){var r=this.getRange();var s=this.getSelection();if(r.select){r.collapse(toStart);r.select()}else{toStart?s.collapseToStart():s.collapseToEnd()}},getContent:function(){var r=this.getRange();var body=new Element("body");if(this.isCollapsed()){return""}if(r.cloneContents){body.appendChild(r.cloneContents())}else{if(r.item!=undefined||r.htmlText!=undefined){body.set("html",r.item?r.item(0).outerHTML:r.htmlText)}else{body.set("html",r.toString())}}var content=body.get("html");return content},getText:function(){var r=this.getRange();var s=this.getSelection();return this.isCollapsed()?"":r.text||(s.toString?s.toString():"")},getNode:function(){var r=this.getRange();if(!Browser.ie||Browser.version>=9){var el=null;if(r){el=r.commonAncestorContainer;if(!r.collapsed){if(r.startContainer==r.endContainer){if(r.startOffset-r.endOffset<2){if(r.startContainer.hasChildNodes()){el=r.startContainer.childNodes[r.startOffset]}}}}while(typeOf(el)!="element"){el=el.parentNode}}return document.id(el)}return document.id(r.item?r.item(0):r.parentElement())},insertContent:function(content){if(Browser.ie){var r=this.getRange();if(r.pasteHTML){r.pasteHTML(content);r.collapse(false);r.select()}else{if(r.insertNode){r.deleteContents();if(r.createContextualFragment){r.insertNode(r.createContextualFragment(content))}else{var doc=this.win.document;var fragment=doc.createDocumentFragment();var temp=doc.createElement("div");fragment.appendChild(temp);temp.outerHTML=content;r.insertNode(fragment)}}}}else{this.win.document.execCommand("insertHTML",false,content)}}});var phrases={};MooEditable.Locale={define:function(key,value){if(typeOf(window.Locale)!="null"){return Locale.define("en-US","MooEditable",key,value)}if(typeOf(key)=="object"){Object.merge(phrases,key)}else{phrases[key]=value}},get:function(key){if(typeOf(window.Locale)!="null"){return Locale.get("MooEditable."+key)}return key?phrases[key]:""}};MooEditable.Locale.define({ok:"OK",cancel:"Cancel",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",unorderedList:"Unordered List",orderedList:"Ordered List",indent:"Indent",outdent:"Outdent",undo:"Undo",redo:"Redo",removeHyperlink:"Remove Hyperlink",addHyperlink:"Add Hyperlink",selectTextHyperlink:"Please select the text you wish to hyperlink.",enterURL:"Enter URL",enterImageURL:"Enter image URL",addImage:"Add Image",toggleView:"Toggle View"});MooEditable.UI={};MooEditable.UI.Toolbar=new Class({Implements:[Events,Options],options:{"class":""},initialize:function(options){this.setOptions(options);this.el=new Element("div",{"class":"mooeditable-ui-toolbar "+this.options["class"]});this.items={};this.content=null},toElement:function(){return this.el},render:function(actions){if(this.content){this.el.adopt(this.content)}else{this.content=actions.map(function(action){return(action=="|")?this.addSeparator():this.addItem(action)}.bind(this))}return this},addItem:function(action){var self=this;var act=MooEditable.Actions[action];if(!act){return}var type=act.type||"button";var options=act.options||{};var item=new MooEditable.UI[type.camelCase().capitalize()](Object.append(options,{name:action,"class":action+"-item toolbar-item",title:act.title,onAction:self.itemAction.bind(self)}));this.items[action]=item;document.id(item).inject(this.el);return item},getItem:function(action){return this.items[action]},addSeparator:function(){return new Element("span",{"class":"toolbar-separator"}).inject(this.el)},itemAction:function(){this.fireEvent("itemAction",arguments)},disable:function(except){Object.each(this.items,function(item){(item.name==except)?item.activate():item.deactivate().disable()});return this},enable:function(){Object.each(this.items,function(item){item.enable()});return this},show:function(){this.el.setStyle("display","");return this},hide:function(){this.el.setStyle("display","none");return this}});MooEditable.UI.Button=new Class({Implements:[Events,Options],options:{title:"",name:"",text:"Button","class":"",shortcut:"",mode:"icon"},initialize:function(options){this.setOptions(options);this.name=this.options.name;this.render()},toElement:function(){return this.el},render:function(){var self=this;var key=(Browser.Platform.mac)?"Cmd":"Ctrl";var shortcut=(this.options.shortcut)?" ( "+key+"+"+this.options.shortcut.toUpperCase()+" )":"";var text=this.options.title||name;var title=text+shortcut;this.el=new Element("button",{"class":"mooeditable-ui-button "+self.options["class"],title:title,html:'<span class="button-icon"></span><span class="button-text">'+text+"</span>",events:{click:self.click.bind(self),mousedown:function(e){e.preventDefault()}}});if(this.options.mode!="icon"){this.el.addClass("mooeditable-ui-button-"+this.options.mode)}this.active=false;this.disabled=false;if(Browser.ie){this.el.addEvents({mouseenter:function(e){this.addClass("hover")},mouseleave:function(e){this.removeClass("hover")}})}return this},click:function(e){e.preventDefault();if(this.disabled){return}this.action(e)},action:function(){this.fireEvent("action",[this].concat(Array.from(arguments)))},enable:function(){if(this.active){this.el.removeClass("onActive")}if(!this.disabled){return}this.disabled=false;this.el.removeClass("disabled").set({disabled:false,opacity:1});return this},disable:function(){if(this.disabled){return}this.disabled=true;this.el.addClass("disabled").set({disabled:true,opacity:0.4});return this},activate:function(){if(this.disabled){return}this.active=true;this.el.addClass("onActive");return this},deactivate:function(){this.active=false;this.el.removeClass("onActive");return this}});MooEditable.UI.Dialog=new Class({Implements:[Events,Options],options:{"class":"",contentClass:""},initialize:function(html,options){this.setOptions(options);this.html=html;var self=this;this.el=new Element("div",{"class":"mooeditable-ui-dialog "+self.options["class"],html:'<div class="dialog-content '+self.options.contentClass+'">'+html+"</div>",styles:{display:"none"},events:{click:self.click.bind(self)}})},toElement:function(){return this.el},click:function(){this.fireEvent("click",arguments);return this},open:function(){this.el.setStyle("display","");this.fireEvent("open",this);return this},close:function(){this.el.setStyle("display","none");this.fireEvent("close",this);return this}});MooEditable.UI.AlertDialog=function(alertText){if(!alertText){return}var html=alertText+' <button class="dialog-ok-button">'+MooEditable.Locale.get("ok")+"</button>";return new MooEditable.UI.Dialog(html,{"class":"mooeditable-alert-dialog",onOpen:function(){var button=this.el.getElement(".dialog-ok-button");(function(){button.focus()}).delay(10)},onClick:function(e){e.preventDefault();if(e.target.tagName.toLowerCase()!="button"){return}if(document.id(e.target).hasClass("dialog-ok-button")){this.close()}}})};MooEditable.UI.PromptDialog=function(questionText,answerText,fn){if(!questionText){return}var html='<label class="dialog-label">'+questionText+' <input type="text" class="text dialog-input" value="'+answerText+'"></label> <button class="dialog-button dialog-ok-button">'+MooEditable.Locale.get("ok")+'</button><button class="dialog-button dialog-cancel-button">'+MooEditable.Locale.get("cancel")+"</button>";return new MooEditable.UI.Dialog(html,{"class":"mooeditable-prompt-dialog",onOpen:function(){var input=this.el.getElement(".dialog-input");(function(){input.focus();input.select()}).delay(10)},onClick:function(e){e.preventDefault();if(e.target.tagName.toLowerCase()!="button"){return}var button=document.id(e.target);var input=this.el.getElement(".dialog-input");if(button.hasClass("dialog-cancel-button")){input.set("value",answerText);this.close()}else{if(button.hasClass("dialog-ok-button")){var answer=input.get("value");input.set("value",answerText);this.close();if(fn){fn.attempt(answer,this)}}}}})};MooEditable.Actions={bold:{title:MooEditable.Locale.get("bold"),options:{shortcut:"b"},states:{tags:["b","strong"],css:{"font-weight":"bold"}},events:{beforeToggleView:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<strong([^>]*)>/gi,"<b$1>").replace(/<\/strong>/gi,"</b>");if(value!=newValue){this.textarea.set("value",newValue)}}},attach:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<strong([^>]*)>/gi,"<b$1>").replace(/<\/strong>/gi,"</b>");if(value!=newValue){this.textarea.set("value",newValue);this.setContent(newValue)}}}}},italic:{title:MooEditable.Locale.get("italic"),options:{shortcut:"i"},states:{tags:["i","em"],css:{"font-style":"italic"}},events:{beforeToggleView:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<embed([^>]*)>/gi,"<tmpembed$1>").replace(/<em([^>]*)>/gi,"<i$1>").replace(/<tmpembed([^>]*)>/gi,"<embed$1>").replace(/<\/em>/gi,"</i>");if(value!=newValue){this.textarea.set("value",newValue)}}},attach:function(){if(Browser.firefox){var value=this.textarea.get("value");var newValue=value.replace(/<embed([^>]*)>/gi,"<tmpembed$1>").replace(/<em([^>]*)>/gi,"<i$1>").replace(/<tmpembed([^>]*)>/gi,"<embed$1>").replace(/<\/em>/gi,"</i>");if(value!=newValue){this.textarea.set("value",newValue);this.setContent(newValue)}}}}},underline:{title:MooEditable.Locale.get("underline"),options:{shortcut:"u"},states:{tags:["u"],css:{"text-decoration":"underline"}}},strikethrough:{title:MooEditable.Locale.get("strikethrough"),options:{shortcut:"s"},states:{tags:["s","strike"],css:{"text-decoration":"line-through"}}},insertunorderedlist:{title:MooEditable.Locale.get("unorderedList"),states:{tags:["ul"]}},insertorderedlist:{title:MooEditable.Locale.get("orderedList"),states:{tags:["ol"]}},indent:{title:MooEditable.Locale.get("indent"),states:{tags:["blockquote"]}},outdent:{title:MooEditable.Locale.get("outdent")},undo:{title:MooEditable.Locale.get("undo"),options:{shortcut:"z"}},redo:{title:MooEditable.Locale.get("redo"),options:{shortcut:"y"}},unlink:{title:MooEditable.Locale.get("removeHyperlink")},createlink:{title:MooEditable.Locale.get("addHyperlink"),options:{shortcut:"l"},states:{tags:["a"]},dialogs:{alert:MooEditable.UI.AlertDialog.pass(MooEditable.Locale.get("selectTextHyperlink")),prompt:function(editor){return MooEditable.UI.PromptDialog(MooEditable.Locale.get("enterURL"),"http://",function(url){editor.execute("createlink",false,url.trim())})}},command:function(){var selection=this.selection;var dialogs=this.dialogs.createlink;if(selection.isCollapsed()){var node=selection.getNode();if(node.get("tag")=="a"&&node.get("href")){selection.selectNode(node);var prompt=dialogs.prompt;prompt.el.getElement(".dialog-input").set("value",node.get("href"));prompt.open()}else{dialogs.alert.open()}}else{var text=selection.getText();var prompt=dialogs.prompt;if(urlRegex.test(text)){prompt.el.getElement(".dialog-input").set("value",text)}prompt.open()}}},urlimage:{title:MooEditable.Locale.get("addImage"),options:{shortcut:"m"},dialogs:{prompt:function(editor){return MooEditable.UI.PromptDialog(MooEditable.Locale.get("enterImageURL"),"http://",function(url){editor.execute("insertimage",false,url.trim())})}},command:function(){this.dialogs.urlimage.prompt.open()}},toggleview:{title:MooEditable.Locale.get("toggleView"),command:function(){(this.mode=="textarea")?this.toolbar.enable():this.toolbar.disable("toggleview");this.toggleView()}}};MooEditable.Actions.Settings={};Element.Properties.mooeditable={get:function(){return this.retrieve("MooEditable")}};Element.implement({mooEditable:function(options){var mooeditable=this.get("mooeditable");if(!mooeditable){mooeditable=new MooEditable(this,options)}return mooeditable}})})();var DatePicker=new Class({Implements:Options,d:"",today:"",choice:{},bodysize:{},limit:{},attachTo:null,picker:null,slider:null,oldContents:null,newContents:null,input:null,visual:null,options:{pickerClass:"datepicker",days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayShort:2,monthShort:3,startDay:1,timePicker:false,timePickerOnly:false,yearPicker:true,yearsPerPage:20,format:"d-m-Y",allowEmpty:false,inputOutputFormat:"U",animationDuration:400,useFadeInOut:!Browser.Engine.trident,startView:"month",positionOffset:{x:0,y:0},minDate:null,maxDate:null,debug:false,toggleElements:null,onShow:$empty,onClose:$empty,onSelect:$empty},initialize:function(attachTo,options){this.attachTo=attachTo;this.setOptions(options).attach();if(this.options.timePickerOnly){this.options.timePicker=true;this.options.startView="time"}this.formatMinMaxDates();document.addEvent("mousedown",this.close.bind(this))},formatMinMaxDates:function(){if(this.options.minDate&&this.options.minDate.format){this.options.minDate=this.unformat(this.options.minDate.date,this.options.minDate.format)}if(this.options.maxDate&&this.options.maxDate.format){this.options.maxDate=this.unformat(this.options.maxDate.date,this.options.maxDate.format);this.options.maxDate.setHours(23);this.options.maxDate.setMinutes(59);this.options.maxDate.setSeconds(59)}},attach:function(){if($chk(this.options.toggleElements)){var togglers=$$(this.options.toggleElements);document.addEvents({keydown:function(e){if(e.key=="tab"){this.close(null,true)}}.bind(this)})}$$(this.attachTo).each(function(item,index){if(item.retrieve("datepicker")){return}if($chk(item.get("value"))){var init_clone_val=this.format(new Date(this.unformat(item.get("value"),this.options.inputOutputFormat)),this.options.format)}else{if(!this.options.allowEmpty){var init_clone_val=this.format(new Date(),this.options.format)}else{var init_clone_val=""}}var display=item.getStyle("display");var clone=item.setStyle("display",this.options.debug?display:"none").store("datepicker",true).clone().store("datepicker",true).removeProperty("name").setStyle("display",display).set("value",init_clone_val).inject(item,"after");if($chk(this.options.toggleElements)){togglers[index].setStyle("cursor","pointer").addEvents({click:function(e){this.onFocus(item,clone)}.bind(this)});clone.addEvents({blur:function(){item.set("value",clone.get("value"))}})}else{clone.addEvents({keydown:function(e){if(this.options.allowEmpty&&(e.key=="delete"||e.key=="backspace")){item.set("value","");e.target.set("value","");this.close(null,true)}else{if(e.key=="tab"){this.close(null,true)}else{e.stop()}}}.bind(this),focus:function(e){this.onFocus(item,clone)}.bind(this)})}}.bind(this))},onFocus:function(original_input,visual_input){var init_visual_date,d=visual_input.getCoordinates();if($chk(original_input.get("value"))){init_visual_date=this.unformat(original_input.get("value"),this.options.inputOutputFormat).valueOf()}else{init_visual_date=new Date();if($chk(this.options.maxDate)&&init_visual_date.valueOf()>this.options.maxDate.valueOf()){init_visual_date=new Date(this.options.maxDate.valueOf())}if($chk(this.options.minDate)&&init_visual_date.valueOf()<this.options.minDate.valueOf()){init_visual_date=new Date(this.options.minDate.valueOf())}}this.show({left:d.left+this.options.positionOffset.x,top:d.top+d.height+this.options.positionOffset.y},init_visual_date);this.input=original_input;this.visual=visual_input;this.options.onShow()},dateToObject:function(d){return{year:d.getFullYear(),month:d.getMonth(),day:d.getDate(),hours:d.getHours(),minutes:d.getMinutes(),seconds:d.getSeconds()}},dateFromObject:function(values){var d=new Date();d.setDate(1);["year","month","day","hours","minutes","seconds"].each(function(type){var v=values[type];if(!$chk(v)){return}switch(type){case"day":d.setDate(v);break;case"month":d.setMonth(v);break;case"year":d.setFullYear(v);break;case"hours":d.setHours(v);break;case"minutes":d.setMinutes(v);break;case"seconds":d.setSeconds(v);break}});return d},show:function(position,timestamp){this.formatMinMaxDates();if($chk(timestamp)){this.d=new Date(timestamp)}else{this.d=new Date()}this.today=new Date();this.choice=this.dateToObject(this.d);this.mode=(this.options.startView=="time"&&!this.options.timePicker)?"month":this.options.startView;this.render();this.picker.setStyles(position)},render:function(fx){if(!$chk(this.picker)){this.constructPicker()}else{var o=this.oldContents;this.oldContents=this.newContents;this.newContents=o;this.newContents.empty()}var startDate=new Date(this.d.getTime());this.limit={right:false,left:false};if(this.mode=="decades"){this.renderDecades()}else{if(this.mode=="year"){this.renderYear()}else{if(this.mode=="time"){this.renderTime();this.limit={right:true,left:true}}else{this.renderMonth()}}}this.picker.getElement(".previous").setStyle("visibility",this.limit.left?"hidden":"visible");this.picker.getElement(".next").setStyle("visibility",this.limit.right?"hidden":"visible");this.picker.getElement(".titleText").setStyle("cursor",this.allowZoomOut()?"pointer":"default");this.d=startDate;if(this.picker.getStyle("opacity")==0){this.picker.tween("opacity",0,1)}if($chk(fx)){this.fx(fx)}},fx:function(fx){if(fx=="right"){this.oldContents.setStyles({left:0,opacity:1});this.newContents.setStyles({left:this.bodysize.x,opacity:1});this.slider.setStyle("left",0).tween("left",0,-this.bodysize.x)}else{if(fx=="left"){this.oldContents.setStyles({left:this.bodysize.x,opacity:1});this.newContents.setStyles({left:0,opacity:1});this.slider.setStyle("left",-this.bodysize.x).tween("left",-this.bodysize.x,0)}else{if(fx=="fade"){this.slider.setStyle("left",0);this.oldContents.setStyle("left",0).set("tween",{duration:this.options.animationDuration/2}).tween("opacity",1,0);this.newContents.setStyles({opacity:0,left:0}).set("tween",{duration:this.options.animationDuration}).tween("opacity",0,1)}}}},constructPicker:function(){this.picker=new Element("div",{"class":this.options.pickerClass}).inject(document.body);if(this.options.useFadeInOut){this.picker.setStyle("opacity",0).set("tween",{duration:this.options.animationDuration})}var h=new Element("div",{"class":"header"}).inject(this.picker);var titlecontainer=new Element("div",{"class":"title"}).inject(h);new Element("div",{"class":"previous"}).addEvent("click",this.previous.bind(this)).set("text","«").inject(h);new Element("div",{"class":"next"}).addEvent("click",this.next.bind(this)).set("text","»").inject(h);new Element("div",{"class":"closeButton"}).addEvent("click",this.close.bindWithEvent(this,true)).set("text","x").inject(h);new Element("span",{"class":"titleText"}).addEvent("click",this.zoomOut.bind(this)).inject(titlecontainer);var b=new Element("div",{"class":"body"}).inject(this.picker);this.bodysize=b.getSize();this.slider=new Element("div",{styles:{position:"absolute",top:0,left:0,width:2*this.bodysize.x,height:this.bodysize.y}}).set("tween",{duration:this.options.animationDuration,transition:Fx.Transitions.Quad.easeInOut}).inject(b);this.oldContents=new Element("div",{styles:{position:"absolute",top:0,left:this.bodysize.x,width:this.bodysize.x,height:this.bodysize.y}}).inject(this.slider);this.newContents=new Element("div",{styles:{position:"absolute",top:0,left:0,width:this.bodysize.x,height:this.bodysize.y}}).inject(this.slider)},renderTime:function(){var container=new Element("div",{"class":"time"}).inject(this.newContents);if(this.options.timePickerOnly){this.picker.getElement(".titleText").set("text","Select a time")}else{this.picker.getElement(".titleText").set("text",this.format(this.d,"j M, Y"))}new Element("input",{type:"text","class":"hour"}).set("value",this.leadZero(this.d.getHours())).addEvents({mousewheel:function(e){var i=e.target,v=i.get("value").toInt();i.focus();if(e.wheel>0){v=(v<23)?v+1:0}else{v=(v>0)?v-1:23}i.set("value",this.leadZero(v));e.stop()}.bind(this)}).set("maxlength",2).inject(container);new Element("input",{type:"text","class":"minutes"}).set("value",this.leadZero(this.d.getMinutes())).addEvents({mousewheel:function(e){var i=e.target,v=i.get("value").toInt();i.focus();if(e.wheel>0){v=(v<59)?v+1:0}else{v=(v>0)?v-1:59}i.set("value",this.leadZero(v));e.stop()}.bind(this)}).set("maxlength",2).inject(container);new Element("div",{"class":"separator"}).set("text",":").inject(container);new Element("input",{type:"submit",value:"OK","class":"ok"}).addEvents({click:function(e){e.stop();this.select($merge(this.dateToObject(this.d),{hours:this.picker.getElement(".hour").get("value").toInt(),minutes:this.picker.getElement(".minutes").get("value").toInt()}))}.bind(this)}).set("maxlength",2).inject(container)},renderMonth:function(){var month=this.d.getMonth();this.picker.getElement(".titleText").set("text",this.options.months[month]+" "+this.d.getFullYear());this.d.setDate(1);while(this.d.getDay()!=this.options.startDay){this.d.setDate(this.d.getDate()-1)}var container=new Element("div",{"class":"days"}).inject(this.newContents);var titles=new Element("div",{"class":"titles"}).inject(container);var d,i,classes,e,weekcontainer;for(d=this.options.startDay;d<(this.options.startDay+7);d++){new Element("div",{"class":"title day day"+(d%7)}).set("text",this.options.days[(d%7)].substring(0,this.options.dayShort)).inject(titles)}var available=false;var t=this.today.toDateString();var currentChoice=this.dateFromObject(this.choice).toDateString();for(i=0;i<42;i++){classes=[];classes.push("day");classes.push("day"+this.d.getDay());if(this.d.toDateString()==t){classes.push("today")}if(this.d.toDateString()==currentChoice){classes.push("selected")}if(this.d.getMonth()!=month){classes.push("otherMonth")}if(i%7==0){weekcontainer=new Element("div",{"class":"week week"+(Math.floor(i/7))}).inject(container)}e=new Element("div",{"class":classes.join(" ")}).set("text",this.d.getDate()).inject(weekcontainer);if(this.limited("date")){e.addClass("unavailable");if(available){this.limit.right=true}else{if(this.d.getMonth()==month){this.limit.left=true}}}else{available=true;e.addEvent("click",function(e,d){if(this.options.timePicker){this.d.setDate(d.day);this.d.setMonth(d.month);this.mode="time";this.render("fade")}else{this.select(d)}}.bindWithEvent(this,{day:this.d.getDate(),month:this.d.getMonth(),year:this.d.getFullYear()}))}this.d.setDate(this.d.getDate()+1)}if(!available){this.limit.right=true}},renderYear:function(){var month=this.today.getMonth();var thisyear=this.d.getFullYear()==this.today.getFullYear();var selectedyear=this.d.getFullYear()==this.choice.year;this.picker.getElement(".titleText").set("text",this.d.getFullYear());this.d.setMonth(0);var i,e;var available=false;var container=new Element("div",{"class":"months"}).inject(this.newContents);for(i=0;i<=11;i++){e=new Element("div",{"class":"month month"+(i+1)+(i==month&&thisyear?" today":"")+(i==this.choice.month&&selectedyear?" selected":"")}).set("text",this.options.monthShort?this.options.months[i].substring(0,this.options.monthShort):this.options.months[i]).inject(container);if(this.limited("month")){e.addClass("unavailable");if(available){this.limit.right=true}else{this.limit.left=true}}else{available=true;e.addEvent("click",function(e,d){this.d.setDate(1);this.d.setMonth(d);this.mode="month";this.render("fade")}.bindWithEvent(this,i))}this.d.setMonth(i)}if(!available){this.limit.right=true}},renderDecades:function(){while(this.d.getFullYear()%this.options.yearsPerPage>0){this.d.setFullYear(this.d.getFullYear()-1)}this.picker.getElement(".titleText").set("text",this.d.getFullYear()+"-"+(this.d.getFullYear()+this.options.yearsPerPage-1));var i,y,e;var available=false;var container=new Element("div",{"class":"years"}).inject(this.newContents);if($chk(this.options.minDate)&&this.d.getFullYear()<=this.options.minDate.getFullYear()){this.limit.left=true}for(i=0;i<this.options.yearsPerPage;i++){y=this.d.getFullYear();e=new Element("div",{"class":"year year"+i+(y==this.today.getFullYear()?" today":"")+(y==this.choice.year?" selected":"")}).set("text",y).inject(container);if(this.limited("year")){e.addClass("unavailable");if(available){this.limit.right=true}else{this.limit.left=true}}else{available=true;e.addEvent("click",function(e,d){this.d.setFullYear(d);this.mode="year";this.render("fade")}.bindWithEvent(this,y))}this.d.setFullYear(this.d.getFullYear()+1)}if(!available){this.limit.right=true}if($chk(this.options.maxDate)&&this.d.getFullYear()>=this.options.maxDate.getFullYear()){this.limit.right=true}},limited:function(type){var cs=$chk(this.options.minDate);var ce=$chk(this.options.maxDate);if(!cs&&!ce){return false}switch(type){case"year":return(cs&&this.d.getFullYear()<this.options.minDate.getFullYear())||(ce&&this.d.getFullYear()>this.options.maxDate.getFullYear());case"month":var ms=(""+this.d.getFullYear()+this.leadZero(this.d.getMonth())).toInt();return cs&&ms<(""+this.options.minDate.getFullYear()+this.leadZero(this.options.minDate.getMonth())).toInt()||ce&&ms>(""+this.options.maxDate.getFullYear()+this.leadZero(this.options.maxDate.getMonth())).toInt();case"date":return(cs&&this.d<this.options.minDate)||(ce&&this.d>this.options.maxDate)}},allowZoomOut:function(){if(this.mode=="time"&&this.options.timePickerOnly){return false}if(this.mode=="decades"){return false}if(this.mode=="year"&&!this.options.yearPicker){return false}return true},zoomOut:function(){if(!this.allowZoomOut()){return}if(this.mode=="year"){this.mode="decades"}else{if(this.mode=="time"){this.mode="month"}else{this.mode="year"}}this.render("fade")},previous:function(){if(this.mode=="decades"){this.d.setFullYear(this.d.getFullYear()-this.options.yearsPerPage)}else{if(this.mode=="year"){this.d.setFullYear(this.d.getFullYear()-1)}else{if(this.mode=="month"){this.d.setMonth(this.d.getMonth()-1)}}}this.render("left")},next:function(){if(this.mode=="decades"){this.d.setFullYear(this.d.getFullYear()+this.options.yearsPerPage)}else{if(this.mode=="year"){this.d.setFullYear(this.d.getFullYear()+1)}else{if(this.mode=="month"){this.d.setMonth(this.d.getMonth()+1)}}}this.render("right")},close:function(e,force){if(!$(this.picker)){return}var clickOutside=($chk(e)&&e.target!=this.picker&&!this.picker.hasChild(e.target)&&e.target!=this.visual);if(force||clickOutside){if(this.options.useFadeInOut){this.picker.set("tween",{duration:this.options.animationDuration/2,onComplete:this.destroy.bind(this)}).tween("opacity",1,0)}else{this.destroy()}}},destroy:function(){this.picker.destroy();this.picker=null;this.options.onClose()},select:function(values){this.choice=$merge(this.choice,values);var d=this.dateFromObject(this.choice);this.input.set("value",this.format(d,this.options.inputOutputFormat));this.visual.set("value",this.format(d,this.options.format));this.options.onSelect(d);this.close(null,true)},leadZero:function(v){return v<10?"0"+v:v},format:function(t,format){var f="";var h=t.getHours();var m=t.getMonth();for(var i=0;i<format.length;i++){switch(format.charAt(i)){case"\\":i++;f+=format.charAt(i);break;case"y":f+=(100+t.getYear()+"").substring(1);break;case"Y":f+=t.getFullYear();break;case"m":f+=this.leadZero(m+1);break;case"n":f+=(m+1);break;case"M":f+=this.options.months[m].substring(0,this.options.monthShort);break;case"F":f+=this.options.months[m];break;case"d":f+=this.leadZero(t.getDate());break;case"j":f+=t.getDate();break;case"D":f+=this.options.days[t.getDay()].substring(0,this.options.dayShort);break;case"l":f+=this.options.days[t.getDay()];break;case"G":f+=h;break;case"H":f+=this.leadZero(h);break;case"g":f+=(h%12?h%12:12);break;case"h":f+=this.leadZero(h%12?h%12:12);break;case"a":f+=(h>11?"pm":"am");break;case"A":f+=(h>11?"PM":"AM");break;case"i":f+=this.leadZero(t.getMinutes());break;case"s":f+=this.leadZero(t.getSeconds());break;case"U":f+=Math.floor(t.valueOf()/1000);break;default:f+=format.charAt(i)}}return f},unformat:function(t,format){var d=new Date();var a={};var c,m;t=t.toString();for(var i=0;i<format.length;i++){c=format.charAt(i);switch(c){case"\\":r=null;i++;break;case"y":r="[0-9]{2}";break;case"Y":r="[0-9]{4}";break;case"m":r="0[1-9]|1[012]";break;case"n":r="[1-9]|1[012]";break;case"M":r="[A-Za-z]{"+this.options.monthShort+"}";break;case"F":r="[A-Za-z]+";break;case"d":r="0[1-9]|[12][0-9]|3[01]";break;case"j":r="[1-9]|[12][0-9]|3[01]";break;case"D":r="[A-Za-z]{"+this.options.dayShort+"}";break;case"l":r="[A-Za-z]+";break;case"G":case"H":case"g":case"h":r="[0-9]{1,2}";break;case"a":r="(am|pm)";break;case"A":r="(AM|PM)";break;case"i":case"s":r="[012345][0-9]";break;case"U":r="-?[0-9]+$";break;default:r=null}if($chk(r)){m=t.match("^"+r);if($chk(m)){a[c]=m[0];t=t.substring(a[c].length)}else{if(this.options.debug){alert("Fatal Error in DatePicker\n\nUnexpected format at: '"+t+"' expected format character '"+c+"' (pattern '"+r+"')")}return d}}else{t=t.substring(1)}}for(c in a){var v=a[c];switch(c){case"y":d.setFullYear(v<30?2000+v.toInt():1900+v.toInt());break;case"Y":d.setFullYear(v);break;case"m":case"n":d.setMonth(v-1);break;case"M":v=this.options.months.filter(function(item,index){return item.substring(0,this.options.monthShort)==v}.bind(this))[0];case"F":d.setMonth(this.options.months.indexOf(v));break;case"d":case"j":d.setDate(v);break;case"G":case"H":d.setHours(v);break;case"g":case"h":if(a.a=="pm"||a.A=="PM"){d.setHours(v==12?0:v.toInt()+12)}else{d.setHours(v)}break;case"i":d.setMinutes(v);break;case"s":d.setSeconds(v);break;case"U":d=new Date(v.toInt()*1000)}}return d}});var MultipleFields=new Class({version:0.1,options:{spliter:";"},initialize:function(_object,_options){if(!_object){return}if(_object.get("data-spliter")){this.options.spliter=_object.get("data-spliter")}this.inputFields=_object;this.inputFields.each(function(elem){var template=elem.clone().erase("name").erase("id").erase("data-spliter").erase("value").addClass("template");elem.set("type","hidden");new Element("span.add_field",{text:"+"}).inject(elem,"after").addEvent("click",function(e){this.addField(elem,template)}.bind(this));elem.get("value").toString().split(this.options.spliter).each(function(data){this.addField(elem,template,data)}.bind(this))}.bind(this))},addField:function(elem,template,data){template.clone().set("value",data).addEvent("change",function(e){var values=[];e.target.getParent(".input").getElements(".template").each(function(template){if(template.value.trim()){values.push(template.value.trim())}});elem.set("value",values.join(this.options.spliter))}.bind(this)).inject(elem.getParent(".input").getElement(".add_field"),"before")}});window.addEvent("domready",function(){var lang=document.html.get("lang");if(lang==="en"){lang="en-US"}else{lang=lang+"-"+lang.toUpperCase()}Locale.use("de-DE"||lang);var wysiwyg=[];var setupJsForm=function(scope){scope.getElements(".wysiwyg").each(function(elem){wysiwyg.push(elem.mooEditable())});new MultipleFields(scope.getElements(".multiple_fields"));var dateFormat=Locale.get("Date.shortDate").replace(/%/g,"");var timeFormat="H:i";var dateMonths=Locale.get("Date.months");var dateDays=Locale.get("Date.days");new DatePicker(scope.getElements(".picker.datetime, .picker.timestamp"),{inputOutputFormat:"Y-m-d H:i",months:dateMonths,days:dateDays,timePicker:true,format:dateFormat+" "+timeFormat});new DatePicker(scope.getElements(".picker.date"),{inputOutputFormat:"Y-m-d H:i",months:dateMonths,days:dateDays,format:dateFormat});new DatePicker(scope.getElements(".picker.time"),{inputOutputFormat:"Y-m-d H:i",months:dateMonths,days:dateDays,timePickerOnly:true,format:timeFormat})};var quickEdit=new AjaxEdit({holderParent:$("content"),onFormInjected:function(form){setupJsForm(form)},onBeforeSubmit:function(){wysiwyg.each(function(elem){elem.saveContent()})}});var platforms=document.body.getElements(".platform");var main_form=document.id("main_form");if(platforms.length){var setupSortables=function(scope){new Sortables(scope.getElements(".sortable"),{handle:".handle",onStart:function(element,clone){element.addClass("dragged")},onComplete:function(element){element.removeClass("dragged");new Request({method:"get",url:this.element.getParent("tbody").get("data-sort-url")}).send({data:{order:this.serialize()}})}})};var updatePlatform=function(href,platform,callback){new Request({method:"get",url:href,onSuccess:function(html){platform.innerHTML=html;if(callback){callback.call()}setupSortables(platform)}}).send()};platforms.addEvents({"click:relay(.pagination a, thead a)":function(e){e.preventDefault();updatePlatform(this.get("href"),this.getParent(".platform"))},"submit:relay(.search)":function(e){e.preventDefault();var parent=this.getParent(".platform");new Request({method:"get",url:this.get("action"),onSuccess:function(html){parent.innerHTML=html;setupSortables(platform)}}).send({data:this})},"click:relay(.quick_edit)":function(e){e.preventDefault();quickEdit.startEdit(this,this.getParent("tr"))},"ajax:complete:relay(a[data-method=delete][data-remote])":function(e){e.preventDefault();this.getParent("tr").dispose()}});quickEdit.addEvents({successAndChange:function(json){var tr=this.wrapElement;tr.getElements("td").each(function(td){var name=td.get("data-column-name");if(!name){return}var a=td.getElement("a");(a?a:td).innerHTML=json[name]||""})},successAndNext:function(json){var tr=this.wrapElement;var nextTr=tr.getNext("tr");if(nextTr){quickEdit.startEdit(nextTr.getElement("a"),nextTr)}else{var platform=tr.getParent(".platform");var loadMore=platform.getElement(".load_more");if(loadMore){trIndex=tr.getParent("tbody").getElements("tr").indexOf(tr);updatePlatform(loadMore.get("href"),platform,function(){platform.getElements("tbody tr").each(function(newTr,index){if(trIndex===index){nextTr=newTr.getNext("tr");quickEdit.startEdit(nextTr.getElement("a"),nextTr)}})})}else{nextTr=platform.getElements("tbody tr")[0];quickEdit.startEdit(nextTr.getElement("a"),nextTr)}}}});setupSortables(document.body)}else{if(main_form){setupJsForm(main_form);main_form.addEvents({"click:relay(.quick_edit)":function(e){e.preventDefault();quickEdit.startEdit(this,this)}});quickEdit.addEvents({successAndChange:function(json){this.wrapElement.set("text",json.to_bhf_s||"")},successAndNext:function(json){var a=this.wrapElement;var li=a.getParent("li");if(!li){this.close();return}var holder=li.getNext("li");if(!holder){holder=li.getParent("ul")}quickEdit.startEdit(holder.getElement("a"))}})}}var fm=$("flash_massages");if(fm){fm.addClass("show").removeClass.delay(4000,fm,"show")}new BrowserUpdate({vs:{i:8,f:3,o:10.01,s:2,n:9}})});
|
data/public/stylesheets/bhf.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}ins{text-decoration:none}del{text-decoration:line-through}table{border-spacing:0}textarea,input,button,body{font:14px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif}a:focus{outline:1px dotted}hr{border:0 #C8C8C8 solid;border-top-width:1px;clear:both;height:0;margin-bottom:20px}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}html{min-width:700px;height:100%;overflow-y:scroll;background:#303030 url(/images/bhf/bg.png)}body{min-width:960px;min-height:100%;box-shadow:inset 0px 0px 8px #000;-moz-box-shadow:inset 0px 0px 8px #000;-webkit-box-shadow:inset 0px 0px 8px #000}a{text-decoration:none;color:inherit}header{display:block;overflow:hidden;clear:both;padding:0 20px}header h1{float:right;height:83px;overflow:hidden}header nav{padding-top:25px}header nav li{float:left;font-weight:bold;margin-right:20px}header nav li.active a{text-shadow:#fff 0px -1px 0px;background:#d5d5d5;background:-moz-linear-gradient(top, #d5d5d5, #fff);background:-webkit-gradient(linear, left top, left bottom, from(#d5d5d5), to(#fff));box-shadow:0px 1px 4px #000;-moz-box-shadow:0px 1px 4px #000;-webkit-box-shadow:0px 1px 4px #000;color:#414756}header nav li.active a:hover{background:#fff;background:-moz-linear-gradient(top, #fff, #d5d5d5);background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#d5d5d5));border-color:#fff;text-shadow:#fff 0px 1px 0px;color:#414756;box-shadow:inset 0px 0px 3px #fff;-moz-box-shadow:inset 0px 0px 3px #fff;-webkit-box-shadow:inset 0px 0px 3px #fff}header nav li a{text-decoration:none;display:block;padding:5px 23px;border:1px solid transparent;color:#eaeaea;text-shadow:#000 0px -1px 0px}header nav li a:hover{background:#38a5e9;background:-moz-linear-gradient(top, #38a5e9, #0f8fdd);background:-webkit-gradient(linear, left top, left bottom, from(#38a5e9), to(#0f8fdd));color:#fff;border-color:#38a5e9;box-shadow:0px 1px 4px #000;-moz-box-shadow:0px 1px 4px #000;-webkit-box-shadow:0px 1px 4px #000;text-shadow:#0068b3 0px 1px 0px}header nav li a:active{background:#0f8fdd;background:-moz-linear-gradient(top, #0f8fdd, #38a5e9);background:-webkit-gradient(linear, left top, left bottom, from(#0f8fdd), to(#38a5e9));text-shadow:#0068b3 0px -1px 0px}#content{display:table;width:100%;box-sizing:border-box;margin-top:-20px;border-spacing:20px}#content h2{text-shadow:#fff 0px 1px 0px}.quick_edit_holder,#main{display:table-cell;background:#eaeaea;border:3px solid #fff;box-sizing:border-box;padding:10px 20px;box-shadow:0px 1px 4px rgba(0,0,0,0.5);-moz-box-shadow:0px 1px 4px rgba(0,0,0,0.5);-webkit-box-shadow:0px 1px 4px rgba(0,0,0,0.5)}#content .quick_edit_holder{position:relative;width:400px;vertical-align:top}#content .quick_edit_holder form{padding-bottom:10px}#content .quick_edit_holder .node,#content .quick_edit_holder .input,#content .quick_edit_holder .label{display:block}#content .quick_edit_holder .input{padding-top:0;min-height:31px}#content .quick_edit_holder .input input[type="password"],#content .quick_edit_holder .input input[type="text"],#content .quick_edit_holder .input select,#content .quick_edit_holder .input textarea{margin-left:-6px}#content .quick_edit_holder textarea{width:300px;height:100px}#content .quick_edit_holder > button.save,#content .quick_edit_holder > button.save_and_next{margin-left:-5px;margin-right:20px;padding:6px 25px}#content .quick_edit_holder > button.cancel,#content .quick_edit_holder > button.open{float:right}#content .quick_edit_holder > button.save,#content .quick_edit_holder > button.open{margin-right:10px}table{margin-top:20px;margin-bottom:40px;width:100%}table caption{height:28px;padding:10px 10px 10px 20px;background-image:url(/images/bhf/button_bg_2.png);border-radius:0px;border-top-right-radius:4px;border-top-left-radius:4px;-moz-border-radius:0px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;text-align:left;box-shadow:0px 1px 4px #ccc;-moz-box-shadow:0px 1px 4px #ccc;-webkit-box-shadow:0px 1px 4px #ccc}table caption h4,table caption .info{display:inline-block;text-shadow:#fff 0px 1px 0px}table caption h4{color:#3e3e3e}table caption .info{padding:5px 20px;text-transform:uppercase;font-size:12px;color:#7f7f7f}table caption form{display:inline-block}table caption .create{float:right}table caption .create a:hover{background:#38a5e9}table td:first-child,table th:first-child{border-radius:0px;border-top-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius:0px;-moz-border-radius-topleft:4px;-moz-border-radius-bottomleft:4px}table td:last-child,table th:last-child{border-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius:0px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}table thead th{padding:4px 0;padding-left:5px;text-align:left;border-top:1px solid #c6c6c6;border-bottom:1px solid #1b1b1b;white-space:nowrap;background:#3e3e3e;text-shadow:#000 0px -1px 0px;color:#c2c2c2}table thead th.primary_key{text-transform:uppercase}table thead th.sorted{box-shadow:inset 0px -15px 50px #000;-moz-box-shadow:inset 0px -15px 50px #000;-webkit-box-shadow:inset 0px -15px 50px #000}table thead th.sorted a:after,table thead th.sorted.desc:hover a:after{content:" ▼"}table thead th.sorted:hover a:after,table thead th.sorted.desc a:after{content:" ▲"}table thead th.sorted a{color:#fff;text-shadow:#000 0px 1px 0px}table tbody td{border-top:1px solid #fff;border-bottom:1px solid #c6c6c6}table tbody td.has_many,table tbody td.has_and_belongs_to_many,table tbody td.text{max-width:200px;white-space:nowrap;overflow:hidden}table tbody td.has_many a,table tbody td.has_and_belongs_to_many a,table tbody td.text a{-webkit-mask-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #000), to(rgba(255,255,255,0)))}table tbody td.no_entries{text-align:center;text-transform:uppercase;padding:10px 0;color:#7f7f7f}table tbody td.no_entries a{font-weight:bold;display:inline}table tbody a{display:block;padding:5px 3px}table tbody a.edit,table tbody a.delete{padding:0;margin-right:5px;display:inline-block;text-indent:-9999px;width:20px;height:20px}table tbody a.edit:active,table tbody a.delete:active{background-position:0 1px}table tbody a.edit{background:url(/images/bhf/icon_edit.png)}table tbody a.edit:hover{background-image:url(/images/bhf/icon_edit_a.png)}table tbody a.delete{background:url(/images/bhf/icon_delete.png)}table tbody a.delete:hover{background-image:url(/images/bhf/icon_delete_a.png)}table tbody tr:hover td,table tbody tr.live_edit td{background:#38a5e9;background:-moz-linear-gradient(top, #38a5e9, #0f8fdd);background:-webkit-gradient(linear, left top, left bottom, from(#38a5e9), to(#0f8fdd));color:#fff}table tbody tr.live_edit td{background:#0f8fdd;background:-moz-linear-gradient(top, #0f8fdd, #38a5e9);background:-webkit-gradient(linear, left top, left bottom, from(#0f8fdd), to(#38a5e9))}table tbody tr.dragged td{opacity:0.4;background-color:gray}table tfoot td{padding-top:10px;border-top:1px solid #fff}table thead .primary_key,table thead .number,table tbody .primary_key,table tbody .number{padding-right:10px;text-align:right}table thead .primary_key,table tbody .primary_key{width:30px}table thead .handle,table tbody .handle{background:url(/images/bhf/icon_drag.png) no-repeat right 0;padding-right:4px;cursor:move;display:block}table thead .action,table tbody .action{width:50px}.default_input,.search input,form .node .input input[type="password"],form .node .input input[type="text"],form .node .input textarea,.mooeditable-container{border:1px solid #bbb;background:#fff;border-radius:2px;-moz-border-radius:2px;box-shadow:0px 1px 0px #fff;-moz-box-shadow:0px 1px 0px #fff;-webkit-box-shadow:0px 1px 0px #fff;padding:3px 5px 1px 5px;width:300px}.default_input:focus,.search input:focus,form .node .input input[type="password"]:focus,form .node .input input[type="text"]:focus,form .node .input textarea:focus,.mooeditable-container:focus{outline:0;transition-duration:1s;-moz-transition-duration:1s;-webkit-transition-duration:1s;-webkit-box-shadow:0 1px 12px #0f8fdd;border-color:#0f8fdd}.search input{width:200px}form .node{display:table-row}form .node.string .input,form .node.string .label,form .node.text .input,form .node.text .label,form .node.password .input,form .node.password .label{padding-top:5px}form .node.string .label label,form .node.text .label label,form .node.password .label label{padding-top:5px}form .node .label{width:200px}form .node .label label{display:block}form .node .label .field_with_errors{color:red}form .node.primary_key .label{text-transform:uppercase}form .node .input,form .node .label{padding-top:10px;vertical-align:top;display:table-cell}form .node .input textarea{width:500px;height:200px}form .node .input textarea.wysiwyg{height:400px}form .node .input .errors{color:red}form .node .input .field_with_errors input{border-color:red}form .node .input [disabled]{background:#ccc !important}form .node .cancel{margin-left:20px;color:#7f7f7f}form .node .cancel:hover{color:#424242;text-decoration:underline}form .error_explanation label{color:red;cursor:pointer;display:block}form .error_explanation label:hover{color:#f90}footer{padding-bottom:20px;text-shadow:#000 0px -1px 0px;text-align:center;color:gray;font-size:12px;line-height:20px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}input[type="submit"],button,.button{display:inline-block;border:0;padding:12px 50px;background:url(/images/bhf/button_bg.png);border-radius:4px;-moz-border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.5),inset 0 2px 0 rgba(255,255,255,0.3),inset 0 1px 0 rgba(0,0,0,0.9);text-decoration:none;font-weight:bold;color:#f1f1f1;font-size:13px;text-shadow:#000 0px -1px 0px;cursor:pointer;transition-duration:0.8s;-moz-transition-duration:0.8s;-webkit-transition-duration:0.8s;transition-property:color;-moz-transition-property:color;-webkit-transition-property:color}input[type="submit"]:hover,button:hover,.button:hover{-webkit-box-shadow:inset 0 1px 6px rgba(0,0,0,0.3),inset 0 -1px 0 #0f8fdd,inset 0 -2px 0 rgba(255,255,255,0.6);background:url(/images/bhf/button_bg_a.png);color:#fff}input[type="submit"]:active,button:active,.button:active{-webkit-box-shadow:inset 0 10px 20px 5px #000,inset 0 -2px 0 rgba(255,255,255,0.5),inset 0 -1px 0 #000;color:#38a5e9;background:url(/images/bhf/button_bg.png);text-shadow:0 1px 0 #000}input[type="submit"]:focus,button:focus,.button:focus{outline:0;padding:10px 48px;transition-duration:1s;-moz-transition-duration:1s;-webkit-transition-duration:1s;transition-property:-webkit-box-shadow;-moz-transition-property:-webkit-box-shadow;-webkit-transition-property:-webkit-box-shadow;-webkit-box-shadow:0 1px 12px #0f8fdd;border:2px solid #0f8fdd}input[type="submit"][disabeled],button[disabeled],.button[disabeled]{background:red}.alt_button,.pagination a,.pagination span,.pagination em{display:inline-block;padding:12px 50px;border-radius:4px;-moz-border-radius:4px;text-decoration:none;border:1px solid gray;font-size:13px;cursor:pointer;background:#666;padding:5px 10px;-webkit-box-shadow:inset 0 1px 0 rgba(170,171,170,0.7);color:#fff;text-shadow:#444 0px -1px 0px}.alt_button:hover,.pagination a:hover,.pagination span:hover,.pagination em:hover{border-color:#0f8fdd;-webkit-box-shadow:inset 0 -1px 0 rgba(170,171,170,0.7)}.alt_button:active,.pagination a:active,.pagination span:active,.pagination em:active{margin-top:1px}.alt_button:focus,.pagination a:focus,.pagination span:focus,.pagination em:focus{outline:0;transition-duration:1s;-moz-transition-duration:1s;-webkit-transition-duration:1s;transition-property:-webkit-box-shadow;-moz-transition-property:-webkit-box-shadow;-webkit-transition-property:-webkit-box-shadow;-webkit-box-shadow:0 1px 12px #0f8fdd}#flash_massages{background:#38a5e9;border:1px solid #fff;padding:5px 10px;margin:0 -13px 10px -13px;color:#fff;text-shadow:#0f8fdd 0px -1px 0px}.pagination .current{background:#888;-webkit-box-shadow:inset 0 -1px 0 rgba(170,171,170,0.7)}@media (max-width: 800px);@media (max-width: 960px){.default_columns thead th:nth-last-child(2),.default_columns tbody td:nth-last-child(2),.default_columns thead th:nth-last-child(3),.default_columns tbody td:nth-last-child(3){display:none}}.mooeditable-container{position:relative;border:2px solid #ddd}.mooeditable-ui-toolbar{color:inherit;background-color:#eee;padding:2px}.mooeditable-ui-toolbar:after{content:".";display:block;height:0;clear:both;visibility:hidden}.mooeditable-ui-toolbar .toolbar-item,.mooeditable-ui-toolbar .toolbar-separator{display:-moz-inline-box;display:inline-block;vertical-align:middle}.mooeditable-ui-toolbar .mooeditable-ui-button{cursor:pointer;border:0;width:auto;height:auto;margin:2px;padding:2px;vertical-align:middle;color:inherit;background-color:transparent}* html .mooeditable-ui-toolbar .mooeditable-ui-button{width:24px;overflow:visible;padding:2px 4px}*:first-child + html .mooeditable-ui-toolbar .mooeditable-ui-button{min-width:24px;overflow:visible;padding:2px 4px}.mooeditable-ui-toolbar .mooeditable-ui-button.active,.mooeditable-ui-toolbar .mooeditable-ui-button.onActive{color:inherit;background-color:#ddd}.mooeditable-ui-toolbar .mooeditable-ui-button:hover,.mooeditable-ui-toolbar .mooeditable-ui-button.hover{color:inherit;background-color:#fff}.mooeditable-ui-toolbar .mooeditable-ui-button.disabled{cursor:default}.mooeditable-ui-toolbar .mooeditable-ui-button.disabled:hover{color:inherit;background-color:transparent}.mooeditable-ui-toolbar .mooeditable-ui-button .button-icon{display:-moz-inline-box;display:inline-block;width:16px;height:16px;vertical-align:middle;color:inherit;background:transparent url(/images/bhf/mooeditable-toolbarbuttons-tango.png) no-repeat 0 -8px}.mooeditable-ui-toolbar .mooeditable-ui-button .button-text{display:none;font-size:13px;vertical-align:middle}.mooeditable-ui-toolbar .mooeditable-ui-button-text .button-icon{display:none}.mooeditable-ui-toolbar .mooeditable-ui-button-text .button-text{display:inline}.mooeditable-ui-toolbar .mooeditable-ui-button-icon-text{width:auto}.mooeditable-ui-toolbar .mooeditable-ui-button-icon-text .button-text{display:inline;margin-left:4px}.mooeditable-ui-toolbar .toolbar-separator{width:1px;height:24px;margin:2px;text-indent:-999em;color:inherit;background-color:#fafafa}.mooeditable-ui-toolbar .bold-item .button-icon{background-position:0 0}.mooeditable-ui-toolbar .createlink-item .button-icon{background-position:0 -16px}.mooeditable-ui-toolbar .indent-item .button-icon{background-position:0 -32px}.mooeditable-ui-toolbar .insertorderedlist-item .button-icon{background-position:0 -48px}.mooeditable-ui-toolbar .insertunorderedlist-item .button-icon{background-position:0 -64px}.mooeditable-ui-toolbar .italic-item .button-icon{background-position:0 -80px}.mooeditable-ui-toolbar .outdent-item .button-icon{background-position:0 -96px}.mooeditable-ui-toolbar .redo-item .button-icon{background-position:0 -112px}.mooeditable-ui-toolbar .strikethrough-item .button-icon{background-position:0 -128px}.mooeditable-ui-toolbar .toggleview-item .button-icon{background-position:0 -144px}.mooeditable-ui-toolbar .underline-item .button-icon{background-position:0 -160px}.mooeditable-ui-toolbar .undo-item .button-icon{background-position:0 -176px}.mooeditable-ui-toolbar .unlink-item .button-icon{background-position:0 -192px}.mooeditable-ui-toolbar .urlimage-item .button-icon{background-position:0 -208px}.mooeditable-iframe{margin:0;padding:0;border:0;width:100%;vertical-align:top}.mooeditable-textarea{margin:0 !important;padding:0 !important;border:0 !important;width:100% !important;resize:none !important;outline:0 !important}.mooeditable-ui-dialog{color:inherit;background-color:#ddd;position:absolute;display:block;cursor:default;font-size:12px;z-index:100;width:100%}.mooeditable-ui-dialog .dialog-content{padding:4px 10px}.mooeditable-ui-dialog .dialog-content *{vertical-align:middle}.mooeditable-ui-dialog input{margin:0 8px}.mooeditable-ui-dialog input.text{width:300px}.mooeditable-ui-button-overlay{color:inherit;background-color:#ddd;font-size:12px;z-index:100;outline:0;-moz-outline:0;-webkit-outline:0}.mooeditable-ui-button-overlay .overlay-content{padding:10px}.mooeditable-container{background:#fff;border-width:1px}.mooeditable-container .toolbar-separator{background:#ccc}.mooeditable-container .mooeditable-ui-toolbar{border-radius:2px;-moz-border-radius:2px;margin-top:2px}.mooeditable-container button{background:#fff !important;padding:2px 4px 4px 4px !important;-webkit-box-shadow:none}.mooeditable-container button:hover{background:#ccc !important}.datepicker{position:absolute;width:172px;padding:5px 10px;background:#e5e5e5;border:1px solid #c1c2dc;box-shadow:inset 0px 1px 0px #fff;-moz-box-shadow:inset 0px 1px 0px #fff;-webkit-box-shadow:inset 0px 1px 0px #fff;border-radius:2px;-moz-border-radius:2px;text-shadow:#fff 0px 1px 0px;color:#535b6f}.datepicker .header{position:relative;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid #c1c2dc;box-shadow:0px 1px 0px #fff;-moz-box-shadow:0px 1px 0px #fff;-webkit-box-shadow:0px 1px 0px #fff}.datepicker .header .title{padding-top:3px;text-align:center;margin:0 18px 0 18px}.datepicker .header .previous,.datepicker .header .next,.datepicker .header .closeButton{position:absolute;cursor:pointer;overflow:hidden;width:12px;top:2px;font-weight:bold}.datepicker .header .previous:hover,.datepicker .header .next:hover,.datepicker .header .closeButton:hover{color:#2f4d7b}.datepicker .header .previous{left:4px}.datepicker .header .next{right:4px}.datepicker .header .closeButton{display:none;right:0px;top:0px}.datepicker .titles{font-weight:bold;font-size:12px}.datepicker .titles .title.day{color:#535b6f}.datepicker .body{position:relative;top:0px;width:170px;height:156px;overflow:hidden}.datepicker .body > div{margin-top:2px;margin-left:2px}.datepicker .time{position:relative;width:100%;height:100%}.datepicker .time .hour,.datepicker .time .separator,.datepicker .time .minutes{color:#535b6f;background:#fff;width:50px;font-size:32px;position:absolute;top:10px;text-align:center;padding:2px}.datepicker .time .hour,.datepicker .time .minutes{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;text-shadow:#ccc 0px 1px 0px;margin-top:8px;border:none;left:15px}.datepicker .time .separator{background:transparent;border:0px;width:10px;left:76px}.datepicker .time .minutes{left:95px}.datepicker .time .ok{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;text-shadow:#ccc 0px 1px 0px;color:#535b6f;background:#fff;position:absolute;border:none;cursor:pointer;top:73px;left:15px;width:134px;padding:4px 0;font-size:16px}.datepicker .time .ok:hover,.datepicker .time .ok:focus,.datepicker .time .ok:active{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .days .day{float:left;text-align:center;overflow:hidden;width:23px;margin:0 1px 1px 0;color:#262626}.datepicker .days .day0{margin-right:0}.datepicker .days .week5 .day{margin-bottom:0}.datepicker .days .week .day{cursor:pointer}.datepicker .days .week .day:hover{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;background-color:#fff;color:#2f4d7b;text-shadow:#ccc 0px 1px 0px}.datepicker .days .otherMonth{color:#aaa}.datepicker .days .selected{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .months .month{float:left;cursor:pointer;text-align:center;margin-top:2px;padding-top:3px;padding-bottom:3px;width:55px;overflow:hidden;margin:0 1px 1px 0}.datepicker .months .month3,.datepicker .months .month6,.datepicker .months .month9,.datepicker .months .month12{margin-right:0}.datepicker .months .month10,.datepicker .months .month11,.datepicker .months .month12{margin-bottom:0}.datepicker .months .month:hover{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;background-color:#fff;color:#2f4d7b;text-shadow:#ccc 0px 1px 0px}.datepicker .months .selected{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .years .year{float:left;cursor:pointer;text-align:center;margin-top:2px;padding-top:3px;padding-bottom:3px;width:32px;font-size:12px;overflow:hidden;margin:0 1px 1px 0}.datepicker .years .year4,.datepicker .years .year9,.datepicker .years .year14,.datepicker .years .year19{margin-right:0}.datepicker .years .year15,.datepicker .years .year16,.datepicker .years .year17,.datepicker .years .year18,.datepicker .years .year19{margin-bottom:0}.datepicker .years .year:hover{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;background-color:#fff;color:#2f4d7b;text-shadow:#ccc 0px 1px 0px}.datepicker .years .selected{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .unavailable{background:none !important;color:#fbb !important;cursor:default !important}
|
|
1
|
+
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}ins{text-decoration:none}del{text-decoration:line-through}table{border-spacing:0}textarea,input,button,body{font:14px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif}a:focus{outline:1px dotted}hr{border:0 #C8C8C8 solid;border-top-width:1px;clear:both;height:0;margin-bottom:20px}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}html{min-width:700px;height:100%;overflow-y:scroll;background:#303030 url(/images/bhf/bg.png)}body{min-width:960px;min-height:100%;box-shadow:inset 0px 0px 8px #000;-moz-box-shadow:inset 0px 0px 8px #000;-webkit-box-shadow:inset 0px 0px 8px #000}a{text-decoration:none;color:inherit}header{display:block;overflow:hidden;clear:both;padding:0 20px}header h1{float:right;height:83px;overflow:hidden}header nav{padding-top:25px}header nav li{float:left;font-weight:bold;margin-right:20px}header nav li.active a{text-shadow:#fff 0px -1px 0px;background:#d5d5d5;background:-moz-linear-gradient(top, #d5d5d5, #fff);background:-webkit-gradient(linear, left top, left bottom, from(#d5d5d5), to(#fff));box-shadow:0px 1px 4px #000;-moz-box-shadow:0px 1px 4px #000;-webkit-box-shadow:0px 1px 4px #000;color:#414756}header nav li.active a:hover{background:#fff;background:-moz-linear-gradient(top, #fff, #d5d5d5);background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#d5d5d5));border-color:#fff;text-shadow:#fff 0px 1px 0px;color:#414756;box-shadow:inset 0px 0px 3px #fff;-moz-box-shadow:inset 0px 0px 3px #fff;-webkit-box-shadow:inset 0px 0px 3px #fff}header nav li a{text-decoration:none;display:block;padding:5px 23px;border:1px solid transparent;color:#eaeaea;text-shadow:#000 0px -1px 0px}header nav li a:hover{background:#38a5e9;background:-moz-linear-gradient(top, #38a5e9, #0f8fdd);background:-webkit-gradient(linear, left top, left bottom, from(#38a5e9), to(#0f8fdd));color:#fff;border-color:#38a5e9;box-shadow:0px 1px 4px #000;-moz-box-shadow:0px 1px 4px #000;-webkit-box-shadow:0px 1px 4px #000;text-shadow:#0068b3 0px 1px 0px}header nav li a:active{background:#0f8fdd;background:-moz-linear-gradient(top, #0f8fdd, #38a5e9);background:-webkit-gradient(linear, left top, left bottom, from(#0f8fdd), to(#38a5e9));text-shadow:#0068b3 0px -1px 0px}#content{display:table;width:100%;box-sizing:border-box;margin-top:-20px;border-spacing:20px}#content h2{text-shadow:#fff 0px 1px 0px}.quick_edit_holder,#main{display:table-cell;overflow:hidden;background:#eaeaea;border:3px solid #fff;box-sizing:border-box;padding:10px 20px;box-shadow:0px 1px 4px rgba(0,0,0,0.5);-moz-box-shadow:0px 1px 4px rgba(0,0,0,0.5);-webkit-box-shadow:0px 1px 4px rgba(0,0,0,0.5)}#main_form{margin-left:-20px}#content .quick_edit_holder{overflow-x:auto;position:relative;max-width:400px;width:400px;vertical-align:top}#content .quick_edit_holder form{margin-left:0;padding-bottom:10px}#content .quick_edit_holder .node,#content .quick_edit_holder .input,#content .quick_edit_holder .label{display:block}#content .quick_edit_holder .input{padding-top:0;min-height:31px}#content .quick_edit_holder textarea{width:300px;height:100px}#content .quick_edit_holder > button.save,#content .quick_edit_holder > button.save_and_next{margin-left:-5px;margin-right:20px;padding:6px 25px}#content .quick_edit_holder > button.cancel,#content .quick_edit_holder > button.open{float:right}#content .quick_edit_holder > button.save,#content .quick_edit_holder > button.open{margin-right:10px}table{margin-top:20px;margin-bottom:40px;width:100%}table caption{height:28px;padding:10px 10px 10px 20px;background-image:url(/images/bhf/button_bg_2.png);border-radius:0px;border-top-right-radius:4px;border-top-left-radius:4px;-moz-border-radius:0px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;text-align:left;box-shadow:0px 1px 4px #ccc;-moz-box-shadow:0px 1px 4px #ccc;-webkit-box-shadow:0px 1px 4px #ccc}table caption h4,table caption .info{display:inline-block;text-shadow:#fff 0px 1px 0px}table caption h4{color:#3e3e3e}table caption .info{padding:5px 20px;width:290px;text-transform:uppercase;font-size:12px;color:#7f7f7f}table caption form{display:inline-block}table caption .create{float:right}table td:first-child,table th:first-child{border-radius:0px;border-top-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius:0px;-moz-border-radius-topleft:4px;-moz-border-radius-bottomleft:4px}table td:last-child,table th:last-child{border-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius:0px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}table thead th{padding:4px 0;padding-left:3px;text-align:left;border-top:1px solid #c6c6c6;border-bottom:1px solid #1b1b1b;white-space:nowrap;background:#3e3e3e;text-shadow:#000 0px -1px 0px;color:#c2c2c2}table thead th.primary_key{text-transform:uppercase}table thead th.sorted{box-shadow:inset 0px -15px 50px #000;-moz-box-shadow:inset 0px -15px 50px #000;-webkit-box-shadow:inset 0px -15px 50px #000}table thead th.sorted a:after,table thead th.sorted.desc:hover a:after{content:" ▼"}table thead th.sorted:hover a:after,table thead th.sorted.desc a:after{content:" ▲"}table thead th.sorted a{color:#fff;text-shadow:#000 0px 1px 0px}table tbody td{border-top:1px solid #fff;border-bottom:1px solid #c6c6c6}table tbody td.has_many,table tbody td.has_and_belongs_to_many,table tbody td.text{max-width:200px;white-space:nowrap;overflow:hidden}table tbody td.has_many a,table tbody td.has_and_belongs_to_many a,table tbody td.text a{-webkit-mask-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #000), to(rgba(255,255,255,0)))}table tbody td.no_entries{text-align:center;text-transform:uppercase;padding:10px 0;color:#7f7f7f}table tbody td.no_entries a{font-weight:bold;display:inline}table tbody a{display:block;padding:5px 3px}table tbody a.edit,table tbody a.delete{padding:0;margin-right:5px;display:inline-block;text-indent:-9999px;width:20px;height:20px}table tbody a.edit:active,table tbody a.delete:active{background-position:0 1px}table tbody a.edit{background:url(/images/bhf/icon_edit.png)}table tbody a.delete{background:url(/images/bhf/icon_delete.png)}table tbody .handle{background:url(/images/bhf/icon_drag.png) no-repeat 7px 0;cursor:move;display:block}table tbody tr:hover td,table tbody tr.live_edit td{background:#38a5e9;background:-moz-linear-gradient(top, #38a5e9, #0f8fdd);background:-webkit-gradient(linear, left top, left bottom, from(#38a5e9), to(#0f8fdd));color:#fff}table tbody tr:hover td .edit,table tbody tr.live_edit td .edit{background-image:url(/images/bhf/icon_edit_a.png)}table tbody tr:hover td .delete,table tbody tr.live_edit td .delete{background-image:url(/images/bhf/icon_delete_a.png)}table tbody tr:hover td .handle,table tbody tr.live_edit td .handle{background-image:url(/images/bhf/icon_drag_a.png)}table tbody tr.live_edit td{background:#0f8fdd;background:-moz-linear-gradient(top, #0f8fdd, #38a5e9);background:-webkit-gradient(linear, left top, left bottom, from(#0f8fdd), to(#38a5e9))}table tbody tr.dragged td{opacity:0.4;background-color:gray}table thead th.drag{width:24px}table tfoot td{padding-top:10px;border-top:1px solid #fff}table thead .primary_key,table thead .number,table tbody .primary_key,table tbody .number{padding-right:10px;text-align:right}table thead .primary_key,table tbody .primary_key{width:30px}table thead .action,table tbody .action{width:54px}.default_input,.search input[type="text"],form .node .input input[type="password"],form .node .input input[type="text"],form .node .input textarea,.mooeditable-container{border:1px solid #bbb;background:#fff;border-radius:2px;-moz-border-radius:2px;box-shadow:0px 1px 0px #fff;-moz-box-shadow:0px 1px 0px #fff;-webkit-box-shadow:0px 1px 0px #fff;padding:3px 5px 1px 5px;width:300px}.default_input:focus,.search input[type="text"]:focus,form .node .input input[type="password"]:focus,form .node .input input[type="text"]:focus,form .node .input textarea:focus,.mooeditable-container:focus{outline:0;transition-duration:1s;-moz-transition-duration:1s;-webkit-transition-duration:1s;-webkit-box-shadow:0 1px 12px #0f8fdd;border-color:#0f8fdd}.search input[type="text"]{width:200px}form .node{display:table-row}form .node.string .input,form .node.string .label,form .node.text .input,form .node.text .label,form .node.password .input,form .node.password .label{padding-top:0}form .node.string .label label,form .node.text .label label,form .node.password .label label{padding-top:5px}form .node .label{width:200px}form .node .label label{display:block}form .node .label .field_with_errors{color:red}form .node.primary_key .label{text-transform:uppercase}form .node .input,form .node .label{padding-top:5px;vertical-align:top;display:table-cell}form .node .input textarea{width:500px;height:200px}form .node .input textarea.wysiwyg{height:400px}form .node .input .errors{color:red}form .node .input .field_with_errors input{border-color:red}form .node .input [disabled]{background:#ccc !important}form .node .input input[type="password"],form .node .input input[type="text"],form .node .input select,form .node .input textarea,form .node .input .mooeditable-container{margin-left:-6px}form .node .input .multiple_fields.template{display:block}form .node .input .add_field{display:block;font-size:20px;font-weight:bold;width:30px;margin-left:-8px;cursor:pointer;text-align:center}form .node .input .add_field:hover{color:#38a5e9}form .node .cancel{margin-left:20px;color:#7f7f7f}form .node .cancel:hover{color:#424242;text-decoration:underline}form .error_explanation{margin-left:20px}form .error_explanation label{color:red;cursor:pointer;display:block}form .error_explanation label:hover{color:#f90}footer{padding-bottom:20px;text-shadow:#000 0px -1px 0px;text-align:center;color:gray;font-size:12px;line-height:20px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}input[type="submit"],button,.button{display:inline-block;border:0;padding:12px 50px;background:url(/images/bhf/button_bg.png);border-radius:4px;-moz-border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.5),inset 0 2px 0 rgba(255,255,255,0.3),inset 0 1px 0 rgba(0,0,0,0.9);text-decoration:none;font-weight:bold;color:#f1f1f1;font-size:13px;text-shadow:#000 0px -1px 0px;cursor:pointer;transition-duration:0.8s;-moz-transition-duration:0.8s;-webkit-transition-duration:0.8s;transition-property:color;-moz-transition-property:color;-webkit-transition-property:color}input[type="submit"]:hover,button:hover,.button:hover{-webkit-box-shadow:inset 0 1px 6px rgba(0,0,0,0.3),inset 0 -1px 0 #0f8fdd,inset 0 -2px 0 rgba(255,255,255,0.6);background:url(/images/bhf/button_bg_a.png);color:#fff}input[type="submit"]:active,button:active,.button:active{-webkit-box-shadow:inset 0 10px 20px 5px #000,inset 0 -2px 0 rgba(255,255,255,0.5),inset 0 -1px 0 #000;color:#38a5e9;background:url(/images/bhf/button_bg.png);text-shadow:0 1px 0 #000}input[type="submit"]:focus,button:focus,.button:focus{outline:0;padding:10px 48px;transition-duration:1s;-moz-transition-duration:1s;-webkit-transition-duration:1s;transition-property:-webkit-box-shadow;-moz-transition-property:-webkit-box-shadow;-webkit-transition-property:-webkit-box-shadow;-webkit-box-shadow:0 1px 12px #0f8fdd;border:2px solid #0f8fdd}input[type="submit"][disabeled],button[disabeled],.button[disabeled]{background:red}input[type="submit"].alt_button,.alt_button,.pagination a,.pagination a,.pagination span,.pagination span,.pagination em,.pagination em{display:inline-block;padding:12px 50px;border-radius:4px;-moz-border-radius:4px;text-decoration:none;border:1px solid gray;font-size:13px;cursor:pointer;background:#666;padding:5px 10px;-webkit-box-shadow:inset 0 1px 0 rgba(170,171,170,0.7);color:#fff;text-shadow:#444 0px -1px 0px}input[type="submit"].alt_button:hover,.alt_button:hover,.pagination a:hover,.pagination a:hover,.pagination span:hover,.pagination span:hover,.pagination em:hover,.pagination em:hover{border-color:#0f8fdd;-webkit-box-shadow:inset 0 -1px 0 rgba(170,171,170,0.7);background:#38a5e9}input[type="submit"].alt_button:active,.alt_button:active,.pagination a:active,.pagination a:active,.pagination span:active,.pagination span:active,.pagination em:active,.pagination em:active{border-color:#7f7f7f}input[type="submit"].alt_button:focus,.alt_button:focus,.pagination a:focus,.pagination a:focus,.pagination span:focus,.pagination span:focus,.pagination em:focus,.pagination em:focus{outline:0;transition-duration:1s;-moz-transition-duration:1s;-webkit-transition-duration:1s;transition-property:-webkit-box-shadow;-moz-transition-property:-webkit-box-shadow;-webkit-transition-property:-webkit-box-shadow;-webkit-box-shadow:0 1px 12px #0f8fdd}#flash_massages{display:block;padding:5px 20px;margin:-45px 0 10px 0;border:1px solid #38a5e9;background:#38a5e9;background:-moz-linear-gradient(top, #38a5e9, #0f8fdd);background:-webkit-gradient(linear, left top, left bottom, from(#38a5e9), to(#0f8fdd));color:#fff;text-shadow:#0068b3 0px 1px 0px;overflow:hidden;height:100%;transition-duration:0.6s;-moz-transition-duration:0.6s;-webkit-transition-duration:0.6s;opacity:0}#flash_massages.show{opacity:1;margin-top:0px}.pagination .current{background:#888;-webkit-box-shadow:inset 0 -1px 0 rgba(170,171,170,0.7)}@media (max-width: 800px);@media (max-width: 960px){.default_columns thead th:nth-last-child(2),.default_columns tbody td:nth-last-child(2),.default_columns thead th:nth-last-child(3),.default_columns tbody td:nth-last-child(3){display:none}}.mooeditable-container{position:relative;border:2px solid #ddd}.mooeditable-ui-toolbar{color:inherit;background-color:#eee;padding:2px}.mooeditable-ui-toolbar:after{content:".";display:block;height:0;clear:both;visibility:hidden}.mooeditable-ui-toolbar .toolbar-item,.mooeditable-ui-toolbar .toolbar-separator{display:-moz-inline-box;display:inline-block;vertical-align:middle}.mooeditable-ui-toolbar .mooeditable-ui-button{cursor:pointer;border:0;width:auto;height:auto;margin:2px;padding:2px;vertical-align:middle;color:inherit;background-color:transparent}* html .mooeditable-ui-toolbar .mooeditable-ui-button{width:24px;overflow:visible;padding:2px 4px}*:first-child + html .mooeditable-ui-toolbar .mooeditable-ui-button{min-width:24px;overflow:visible;padding:2px 4px}.mooeditable-ui-toolbar .mooeditable-ui-button.active,.mooeditable-ui-toolbar .mooeditable-ui-button.onActive{color:inherit;background-color:#ddd}.mooeditable-ui-toolbar .mooeditable-ui-button:hover,.mooeditable-ui-toolbar .mooeditable-ui-button.hover{color:inherit;background-color:#fff}.mooeditable-ui-toolbar .mooeditable-ui-button.disabled{cursor:default}.mooeditable-ui-toolbar .mooeditable-ui-button.disabled:hover{color:inherit;background-color:transparent}.mooeditable-ui-toolbar .mooeditable-ui-button .button-icon{display:-moz-inline-box;display:inline-block;width:16px;height:16px;vertical-align:middle;color:inherit;background:transparent url(/images/bhf/mooeditable-toolbarbuttons-tango.png) no-repeat 0 -8px}.mooeditable-ui-toolbar .mooeditable-ui-button .button-text{display:none;font-size:13px;vertical-align:middle}.mooeditable-ui-toolbar .mooeditable-ui-button-text .button-icon{display:none}.mooeditable-ui-toolbar .mooeditable-ui-button-text .button-text{display:inline}.mooeditable-ui-toolbar .mooeditable-ui-button-icon-text{width:auto}.mooeditable-ui-toolbar .mooeditable-ui-button-icon-text .button-text{display:inline;margin-left:4px}.mooeditable-ui-toolbar .toolbar-separator{width:1px;height:24px;margin:2px;text-indent:-999em;color:inherit;background-color:#fafafa}.mooeditable-ui-toolbar .bold-item .button-icon{background-position:0 0}.mooeditable-ui-toolbar .createlink-item .button-icon{background-position:0 -16px}.mooeditable-ui-toolbar .indent-item .button-icon{background-position:0 -32px}.mooeditable-ui-toolbar .insertorderedlist-item .button-icon{background-position:0 -48px}.mooeditable-ui-toolbar .insertunorderedlist-item .button-icon{background-position:0 -64px}.mooeditable-ui-toolbar .italic-item .button-icon{background-position:0 -80px}.mooeditable-ui-toolbar .outdent-item .button-icon{background-position:0 -96px}.mooeditable-ui-toolbar .redo-item .button-icon{background-position:0 -112px}.mooeditable-ui-toolbar .strikethrough-item .button-icon{background-position:0 -128px}.mooeditable-ui-toolbar .toggleview-item .button-icon{background-position:0 -144px}.mooeditable-ui-toolbar .underline-item .button-icon{background-position:0 -160px}.mooeditable-ui-toolbar .undo-item .button-icon{background-position:0 -176px}.mooeditable-ui-toolbar .unlink-item .button-icon{background-position:0 -192px}.mooeditable-ui-toolbar .urlimage-item .button-icon{background-position:0 -208px}.mooeditable-iframe{margin:0;padding:0;border:0;width:100%;vertical-align:top}.mooeditable-textarea{margin:0 !important;padding:0 !important;border:0 !important;width:100% !important;resize:none !important;outline:0 !important}.mooeditable-ui-dialog{color:inherit;background-color:#ddd;position:absolute;display:block;cursor:default;font-size:12px;z-index:100;width:100%}.mooeditable-ui-dialog .dialog-content{padding:4px 10px}.mooeditable-ui-dialog .dialog-content *{vertical-align:middle}.mooeditable-ui-dialog input{margin:0 8px}.mooeditable-ui-dialog input.text{width:300px}.mooeditable-ui-button-overlay{color:inherit;background-color:#ddd;font-size:12px;z-index:100;outline:0;-moz-outline:0;-webkit-outline:0}.mooeditable-ui-button-overlay .overlay-content{padding:10px}.mooeditable-container{background:#fff;border:1px solid #bbb}.mooeditable-container .toolbar-separator{background:#ccc}.mooeditable-container .mooeditable-ui-toolbar{border-radius:2px;-moz-border-radius:2px;margin-top:2px}.mooeditable-container button{background:#fff !important;padding:2px 4px 4px 4px !important;-webkit-box-shadow:none}.mooeditable-container button:hover{background:#ccc !important}.datepicker{position:absolute;width:172px;padding:5px 10px;background:#e5e5e5;border:1px solid #c1c2dc;box-shadow:inset 0px 1px 0px #fff;-moz-box-shadow:inset 0px 1px 0px #fff;-webkit-box-shadow:inset 0px 1px 0px #fff;border-radius:2px;-moz-border-radius:2px;text-shadow:#fff 0px 1px 0px;color:#535b6f}.datepicker .header{position:relative;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid #c1c2dc;box-shadow:0px 1px 0px #fff;-moz-box-shadow:0px 1px 0px #fff;-webkit-box-shadow:0px 1px 0px #fff}.datepicker .header .title{padding-top:3px;text-align:center;margin:0 18px 0 18px}.datepicker .header .previous,.datepicker .header .next,.datepicker .header .closeButton{position:absolute;cursor:pointer;overflow:hidden;width:12px;top:2px;font-weight:bold}.datepicker .header .previous:hover,.datepicker .header .next:hover,.datepicker .header .closeButton:hover{color:#2f4d7b}.datepicker .header .previous{left:4px}.datepicker .header .next{right:4px}.datepicker .header .closeButton{display:none;right:0px;top:0px}.datepicker .titles{font-weight:bold;font-size:12px}.datepicker .titles .title.day{color:#535b6f}.datepicker .body{position:relative;top:0px;width:170px;height:156px;overflow:hidden}.datepicker .body > div{margin-top:2px;margin-left:2px}.datepicker .time{position:relative;width:100%;height:100%}.datepicker .time .hour,.datepicker .time .separator,.datepicker .time .minutes{color:#535b6f;background:#fff;width:50px;font-size:32px;position:absolute;top:10px;text-align:center;padding:2px}.datepicker .time .hour,.datepicker .time .minutes{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;text-shadow:#ccc 0px 1px 0px;margin-top:8px;border:none;left:15px}.datepicker .time .separator{background:transparent;border:0px;width:10px;left:76px}.datepicker .time .minutes{left:95px}.datepicker .time .ok{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;text-shadow:#ccc 0px 1px 0px;color:#535b6f;background:#fff;position:absolute;border:none;cursor:pointer;top:73px;left:15px;width:134px;padding:4px 0;font-size:16px}.datepicker .time .ok:hover,.datepicker .time .ok:focus,.datepicker .time .ok:active{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .days .day{float:left;text-align:center;overflow:hidden;width:23px;margin:0 1px 1px 0;color:#262626}.datepicker .days .day0{margin-right:0}.datepicker .days .week5 .day{margin-bottom:0}.datepicker .days .week .day{cursor:pointer}.datepicker .days .week .day:hover{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;background-color:#fff;color:#2f4d7b;text-shadow:#ccc 0px 1px 0px}.datepicker .days .otherMonth{color:#aaa}.datepicker .days .selected{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .months .month{float:left;cursor:pointer;text-align:center;margin-top:2px;padding-top:3px;padding-bottom:3px;width:55px;overflow:hidden;margin:0 1px 1px 0}.datepicker .months .month3,.datepicker .months .month6,.datepicker .months .month9,.datepicker .months .month12{margin-right:0}.datepicker .months .month10,.datepicker .months .month11,.datepicker .months .month12{margin-bottom:0}.datepicker .months .month:hover{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;background-color:#fff;color:#2f4d7b;text-shadow:#ccc 0px 1px 0px}.datepicker .months .selected{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .years .year{float:left;cursor:pointer;text-align:center;margin-top:2px;padding-top:3px;padding-bottom:3px;width:32px;font-size:12px;overflow:hidden;margin:0 1px 1px 0}.datepicker .years .year4,.datepicker .years .year9,.datepicker .years .year14,.datepicker .years .year19{margin-right:0}.datepicker .years .year15,.datepicker .years .year16,.datepicker .years .year17,.datepicker .years .year18,.datepicker .years .year19{margin-bottom:0}.datepicker .years .year:hover{box-shadow:0px 0px 1px #2f4d7b;-moz-box-shadow:0px 0px 1px #2f4d7b;-webkit-box-shadow:0px 0px 1px #2f4d7b;background-color:#fff;color:#2f4d7b;text-shadow:#ccc 0px 1px 0px}.datepicker .years .selected{background-color:#2f4d7b;color:#fff;text-shadow:#000 0px 1px 0px;box-shadow:0px 0px 1px #fff;-moz-box-shadow:0px 0px 1px #fff;-webkit-box-shadow:0px 0px 1px #fff}.datepicker .unavailable{background:none !important;color:#fbb !important;cursor:default !important}.hide{display:none !important}
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bhf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 31
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 2
|
|
9
|
-
-
|
|
10
|
-
version: 0.2.
|
|
9
|
+
- 4
|
|
10
|
+
version: 0.2.4
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Anton Pawlik
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2011-04-
|
|
18
|
+
date: 2011-04-23 00:00:00 +02:00
|
|
19
19
|
default_executable:
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -95,6 +95,7 @@ files:
|
|
|
95
95
|
- app/views/bhf/entries/form/column/_date.haml
|
|
96
96
|
- app/views/bhf/entries/form/column/_file.haml
|
|
97
97
|
- app/views/bhf/entries/form/column/_markdown.haml
|
|
98
|
+
- app/views/bhf/entries/form/column/_multiple_fields.haml
|
|
98
99
|
- app/views/bhf/entries/form/column/_number.haml
|
|
99
100
|
- app/views/bhf/entries/form/column/_password.haml
|
|
100
101
|
- app/views/bhf/entries/form/column/_static.haml
|
|
@@ -115,6 +116,7 @@ files:
|
|
|
115
116
|
- app/views/bhf/helper/_node.haml
|
|
116
117
|
- app/views/bhf/helper/_reflection_node.haml
|
|
117
118
|
- app/views/bhf/pages/_platform.haml
|
|
119
|
+
- app/views/bhf/pages/_search.haml
|
|
118
120
|
- app/views/bhf/pages/macro/belongs_to/_default.haml
|
|
119
121
|
- app/views/bhf/pages/macro/column/_boolean.haml
|
|
120
122
|
- app/views/bhf/pages/macro/column/_date.haml
|
|
@@ -128,12 +130,14 @@ files:
|
|
|
128
130
|
- app/views/bhf/pages/show.haml
|
|
129
131
|
- app/views/layouts/bhf/application.haml
|
|
130
132
|
- app/views/layouts/bhf/quick_edit.haml
|
|
133
|
+
- config/locales/de.yml
|
|
131
134
|
- config/locales/en.yml
|
|
132
135
|
- config/routes.rb
|
|
133
136
|
- lib/bhf.rb
|
|
134
137
|
- lib/bhf/active_record.rb
|
|
135
138
|
- lib/bhf/data.rb
|
|
136
139
|
- lib/bhf/form.rb
|
|
140
|
+
- lib/bhf/i18n.rb
|
|
137
141
|
- lib/bhf/pagination.rb
|
|
138
142
|
- lib/bhf/platform.rb
|
|
139
143
|
- lib/bhf/settings.rb
|
|
@@ -146,6 +150,7 @@ files:
|
|
|
146
150
|
- public/images/bhf/icon_delete.png
|
|
147
151
|
- public/images/bhf/icon_delete_a.png
|
|
148
152
|
- public/images/bhf/icon_drag.png
|
|
153
|
+
- public/images/bhf/icon_drag_a.png
|
|
149
154
|
- public/images/bhf/icon_edit.png
|
|
150
155
|
- public/images/bhf/icon_edit_a.png
|
|
151
156
|
- public/images/bhf/mooeditable-toolbarbuttons-tango.png
|