hope 0.1.0-java

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.
Files changed (46) hide show
  1. data/Gemfile +11 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.rdoc +19 -0
  4. data/bin/hope-web +16 -0
  5. data/hope.gemspec +34 -0
  6. data/lib/hope.rb +103 -0
  7. data/lib/hope/core_ext/object.rb +78 -0
  8. data/lib/hope/engine.rb +189 -0
  9. data/lib/hope/event_type.rb +22 -0
  10. data/lib/hope/jars/antlr-runtime-3.2.jar +0 -0
  11. data/lib/hope/jars/cglib-nodep-2.2.jar +0 -0
  12. data/lib/hope/jars/commons-logging-1.1.1.jar +0 -0
  13. data/lib/hope/jars/esper-4.3.0.jar +0 -0
  14. data/lib/hope/jars/log4j-1.2.16.jar +0 -0
  15. data/lib/hope/jars/msgpack-0.6.0-devel.jar +0 -0
  16. data/lib/hope/listener/base.rb +40 -0
  17. data/lib/hope/server.rb +43 -0
  18. data/lib/hope/server/app.rb +40 -0
  19. data/lib/hope/server/public/css/Aristo/images/bg_fallback.png +0 -0
  20. data/lib/hope/server/public/css/Aristo/images/icon_sprite.png +0 -0
  21. data/lib/hope/server/public/css/Aristo/images/progress_bar.gif +0 -0
  22. data/lib/hope/server/public/css/Aristo/images/slider_handles.png +0 -0
  23. data/lib/hope/server/public/css/Aristo/images/ui-icons_222222_256x240.png +0 -0
  24. data/lib/hope/server/public/css/Aristo/images/ui-icons_454545_256x240.png +0 -0
  25. data/lib/hope/server/public/css/Aristo/jquery-ui-1.8.7.custom.css +703 -0
  26. data/lib/hope/server/public/css/hope.css +235 -0
  27. data/lib/hope/server/public/favicon.ico +0 -0
  28. data/lib/hope/server/public/hope.js +995 -0
  29. data/lib/hope/server/public/js/backbone-0.3.3.js +1011 -0
  30. data/lib/hope/server/public/js/backbone-0.5.1.js +1149 -0
  31. data/lib/hope/server/public/js/hope.js +993 -0
  32. data/lib/hope/server/public/js/inflection.js +656 -0
  33. data/lib/hope/server/public/js/jquery-1.6.1.js +8936 -0
  34. data/lib/hope/server/public/js/jquery-ui-1.8.14.custom.min.js +789 -0
  35. data/lib/hope/server/public/js/underscore-1.1.6.js +807 -0
  36. data/lib/hope/server/resources/engine.rb +60 -0
  37. data/lib/hope/server/resources/source.rb +22 -0
  38. data/lib/hope/server/resources/statement.rb +62 -0
  39. data/lib/hope/server/views/app.erb +24 -0
  40. data/lib/hope/source.rb +20 -0
  41. data/lib/hope/source/base.rb +30 -0
  42. data/lib/hope/source/sub.rb +24 -0
  43. data/lib/hope/source/twitter.rb +123 -0
  44. data/lib/hope/statement.rb +73 -0
  45. data/lib/hope/version.rb +3 -0
  46. metadata +241 -0
@@ -0,0 +1,22 @@
1
+ require 'ostruct'
2
+
3
+ java_import 'com.espertech.esper.client.ConfigurationEventTypeLegacy'
4
+
5
+ module Hope
6
+ class EventType < OpenStruct
7
+
8
+ def self.schema
9
+ schema_name = self.name.split("::").last
10
+ "create schema #{schema_name} as (#{properties.map { |k,v| [k,v].join(" ") }.join(", ")})"
11
+ end
12
+
13
+ def self.register(engine)
14
+ engine.add_epl(self.schema)
15
+ end
16
+
17
+ def get n
18
+ puts "getting #{n} from #{self.name}"
19
+ self.send n.to_sym
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,40 @@
1
+ include_class 'com.espertech.esper.client.UpdateListener'
2
+
3
+ module Hope
4
+ module Listener
5
+ class Base
6
+
7
+ include UpdateListener
8
+
9
+ attr_reader :name
10
+
11
+ def initialize name, *args
12
+ puts "Initialized new Listener: #{self.class.name}, with args: #{args.inspect}"
13
+ @name = name
14
+ end
15
+
16
+ def update(newEvents, oldEvents)
17
+ newEvents.each do |event|
18
+ puts "[#{@name}] New event (#{event.getUnderlying.class}): #{event.getUnderlying.toString rescue event.getUnderlying.inspect}"
19
+ end unless newEvents.nil?
20
+
21
+ unless oldEvents.nil?
22
+ oldEvents.each do |event|
23
+ puts "[#{@name}] Old Event (#{event.getUnderlying.class}): #{event.getUnderlying.toString rescue event.getUnderlying.inspect}"
24
+ end
25
+ else
26
+ puts "NO oldEvents here..."
27
+ end
28
+
29
+ end
30
+
31
+ def serializable_hash
32
+ {
33
+ :id => name,
34
+ :name => name
35
+ }
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,43 @@
1
+ require 'sinatra/base'
2
+ require 'erb'
3
+
4
+ module Hope
5
+ module Server
6
+
7
+ module Helpers
8
+
9
+ # Getters...
10
+ def statement
11
+ statement_id = params[:statement_id] || params[:id]
12
+ engine.statement(statement_id) or not_found
13
+ end
14
+
15
+ def engine
16
+ engine_id = params[:engine_id] || params[:id]
17
+ Hope::Engine.get(engine_id) or not_found
18
+ end
19
+
20
+ # Response...
21
+ def respond_with d, code=200
22
+ content_type :json
23
+ status code
24
+ d.to_json
25
+ end
26
+
27
+ def error_with message, code=400
28
+ respond_with({ :error => message.to_s }, code)
29
+ end
30
+
31
+ # Request...
32
+ def body
33
+ @body ||= JSON.parse request.body.read rescue {}
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+
40
+ require 'hope/server/resources/engine'
41
+ require 'hope/server/resources/statement'
42
+ require 'hope/server/resources/source'
43
+ require 'hope/server/app'
@@ -0,0 +1,40 @@
1
+ module Hope
2
+
3
+ module Server
4
+ ROOT_DIR = File.dirname(File.expand_path(__FILE__))
5
+ class App < Sinatra::Base
6
+
7
+ configure do
8
+ puts "Configure with reloader..."
9
+ require 'sinatra/reloader'
10
+ register Sinatra::Reloader
11
+
12
+ also_reload "lib/**/*.rb"
13
+ end
14
+
15
+ set :views, "#{Hope::Server::ROOT_DIR}/views"
16
+ set :public, "#{Hope::Server::ROOT_DIR}/public"
17
+ set :static, true
18
+
19
+ # Helpers
20
+ helpers Hope::Server::Helpers
21
+
22
+ # Resources
23
+ register Hope::Server::Resources::Engine
24
+ register Hope::Server::Resources::Statement
25
+ register Hope::Server::Resources::Source
26
+
27
+ get "/?" do
28
+ erb :app
29
+ end
30
+
31
+ get "/bootstrap" do
32
+ respond_with({
33
+ :engines => Hope.engines.values.map { |e| e.serializable_hash },
34
+ :sources => Hope::Source.sources.values.map(&:serializable_hash)
35
+ })
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,703 @@
1
+ /*
2
+ * jQuery UI CSS Framework 1.8.7
3
+ *
4
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
5
+ * Dual licensed under the MIT or GPL Version 2 licenses.
6
+ * http://jquery.org/license
7
+ *
8
+ * http://docs.jquery.com/UI/Theming/API
9
+ */
10
+
11
+ /* Layout helpers
12
+ ----------------------------------*/
13
+ .ui-helper-hidden { display: none; }
14
+ .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
15
+ .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
16
+ .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
17
+ .ui-helper-clearfix { display: inline-block; }
18
+ /* required comment for clearfix to work in Opera \*/
19
+ * html .ui-helper-clearfix { height:1%; }
20
+ .ui-helper-clearfix { display:block; }
21
+ /* end clearfix */
22
+ .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
23
+
24
+
25
+ /* Interaction Cues
26
+ ----------------------------------*/
27
+ .ui-state-disabled { cursor: default !important; }
28
+
29
+
30
+ /* Icons
31
+ ----------------------------------*/
32
+
33
+ /* states and images */
34
+ .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
35
+
36
+
37
+ /* Misc visuals
38
+ ----------------------------------*/
39
+
40
+ /* Overlays */
41
+ .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
42
+
43
+
44
+ /*
45
+ * jQuery UI CSS Framework 1.8.7
46
+ *
47
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
48
+ * Dual licensed under the MIT or GPL Version 2 licenses.
49
+ * http://jquery.org/license
50
+ *
51
+ * http://docs.jquery.com/UI/Theming/API
52
+ *
53
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller
54
+ */
55
+
56
+
57
+ /* Component containers
58
+ ----------------------------------*/
59
+ .ui-widget { font-family: Helvetica,Arial,sans-serif; font-size: 1.1em; }
60
+ .ui-widget .ui-widget { font-size: 1em; }
61
+ .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Helvetica,Arial,sans-serif; font-size: 1em; }
62
+ .ui-widget-content { border: 1px solid #B6B6B6; background: #ffffff; color: #4F4F4F; }
63
+ .ui-widget-content a { color: #4F4F4F; }
64
+ .ui-widget-header { border: 1px solid #B6B6B6; color: #4F4F4F; font-weight: bold; }
65
+ .ui-widget-header {
66
+ background: url(images/bg_fallback.png) 0 0 repeat-x;
67
+ background: -webkit-gradient(
68
+ linear,
69
+ left bottom,
70
+ left top,
71
+ color-stop(1, rgb(237,237,237)),
72
+ color-stop(0, rgb(196,196,196))
73
+ );
74
+ background: -moz-linear-gradient(
75
+ center top,
76
+ rgb(237,237,237),
77
+ rgb(196,196,196)
78
+ );
79
+ }
80
+ .ui-widget-header a { color: #4F4F4F; }
81
+
82
+ /* Interaction states
83
+ ----------------------------------*/
84
+ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B6B6B6; font-weight: normal; color: #4F4F4F; }
85
+ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
86
+ background: url(images/bg_fallback.png) 0 0 repeat-x;
87
+ background: -webkit-gradient(
88
+ linear,
89
+ left bottom,
90
+ left top,
91
+ color-stop(1, rgb(237,237,237)),
92
+ color-stop(0, rgb(196,196,196))
93
+ );
94
+ background: -moz-linear-gradient(
95
+ center top,
96
+ rgb(237,237,237),
97
+ rgb(196,196,196)
98
+ );
99
+ -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
100
+ -moz-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
101
+ }
102
+ .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #4F4F4F; text-decoration: none; }
103
+ .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #9D9D9D; font-weight: normal; color: #313131; }
104
+ .ui-state-hover a, .ui-state-hover a:hover { color: #313131; text-decoration: none; }
105
+ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
106
+ outline: none;
107
+ color: #1c4257; border: 1px solid #7096ab;
108
+ background: url(images/bg_fallback.png) 0 -50px repeat-x;
109
+ background: -webkit-gradient(
110
+ linear,
111
+ left bottom,
112
+ left top,
113
+ color-stop(1, rgb(185,224,245)),
114
+ color-stop(0, rgb(146,189,214))
115
+ );
116
+ background: -moz-linear-gradient(
117
+ center top,
118
+ rgb(185,224,245),
119
+ rgb(146,189,214)
120
+ );
121
+ -webkit-box-shadow: none;
122
+ -moz-box-shadow: none;
123
+ }
124
+ .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #313131; text-decoration: none; }
125
+ .ui-widget :active { outline: none; }
126
+
127
+ /* Interaction Cues
128
+ ----------------------------------*/
129
+ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #d2dbf4; background: #f4f8fd; color: #0d2054; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
130
+ .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
131
+ .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #e2d0d0; background: #fcf0f0; color: #280b0b; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
132
+ .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
133
+ .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
134
+ .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
135
+ .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
136
+ .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
137
+
138
+ /* Icons
139
+ ----------------------------------*/
140
+
141
+ /* states and images */
142
+ .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
143
+ .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
144
+ .ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
145
+ .ui-state-default .ui-icon { background-image: url(images/ui-icons_454545_256x240.png); }
146
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
147
+ .ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
148
+ .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
149
+ .ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background: url(images/icon_sprite.png) -16px 0 no-repeat !important; }
150
+ .ui-state-highlight .ui-icon, .ui-state-error .ui-icon { margin-top: -1px; }
151
+
152
+ /* positioning */
153
+ .ui-icon-carat-1-n { background-position: 0 0; }
154
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
155
+ .ui-icon-carat-1-e { background-position: -32px 0; }
156
+ .ui-icon-carat-1-se { background-position: -48px 0; }
157
+ .ui-icon-carat-1-s { background-position: -64px 0; }
158
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
159
+ .ui-icon-carat-1-w { background-position: -96px 0; }
160
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
161
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
162
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
163
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
164
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
165
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
166
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
167
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
168
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
169
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
170
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
171
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
172
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
173
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
174
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
175
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
176
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
177
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
178
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
179
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
180
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
181
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
182
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
183
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
184
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
185
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
186
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
187
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
188
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
189
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
190
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
191
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
192
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
193
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
194
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
195
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
196
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
197
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
198
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
199
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
200
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
201
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
202
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
203
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
204
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
205
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
206
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
207
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
208
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
209
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
210
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
211
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
212
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
213
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
214
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
215
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
216
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
217
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
218
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
219
+ .ui-icon-extlink { background-position: -32px -80px; }
220
+ .ui-icon-newwin { background-position: -48px -80px; }
221
+ .ui-icon-refresh { background-position: -64px -80px; }
222
+ .ui-icon-shuffle { background-position: -80px -80px; }
223
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
224
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
225
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
226
+ .ui-icon-folder-open { background-position: -16px -96px; }
227
+ .ui-icon-document { background-position: -32px -96px; }
228
+ .ui-icon-document-b { background-position: -48px -96px; }
229
+ .ui-icon-note { background-position: -64px -96px; }
230
+ .ui-icon-mail-closed { background-position: -80px -96px; }
231
+ .ui-icon-mail-open { background-position: -96px -96px; }
232
+ .ui-icon-suitcase { background-position: -112px -96px; }
233
+ .ui-icon-comment { background-position: -128px -96px; }
234
+ .ui-icon-person { background-position: -144px -96px; }
235
+ .ui-icon-print { background-position: -160px -96px; }
236
+ .ui-icon-trash { background-position: -176px -96px; }
237
+ .ui-icon-locked { background-position: -192px -96px; }
238
+ .ui-icon-unlocked { background-position: -208px -96px; }
239
+ .ui-icon-bookmark { background-position: -224px -96px; }
240
+ .ui-icon-tag { background-position: -240px -96px; }
241
+ .ui-icon-home { background-position: 0 -112px; }
242
+ .ui-icon-flag { background-position: -16px -112px; }
243
+ .ui-icon-calendar { background-position: -32px -112px; }
244
+ .ui-icon-cart { background-position: -48px -112px; }
245
+ .ui-icon-pencil { background-position: -64px -112px; }
246
+ .ui-icon-clock { background-position: -80px -112px; }
247
+ .ui-icon-disk { background-position: -96px -112px; }
248
+ .ui-icon-calculator { background-position: -112px -112px; }
249
+ .ui-icon-zoomin { background-position: -128px -112px; }
250
+ .ui-icon-zoomout { background-position: -144px -112px; }
251
+ .ui-icon-search { background-position: -160px -112px; }
252
+ .ui-icon-wrench { background-position: -176px -112px; }
253
+ .ui-icon-gear { background-position: -192px -112px; }
254
+ .ui-icon-heart { background-position: -208px -112px; }
255
+ .ui-icon-star { background-position: -224px -112px; }
256
+ .ui-icon-link { background-position: -240px -112px; }
257
+ .ui-icon-cancel { background-position: 0 -128px; }
258
+ .ui-icon-plus { background-position: -16px -128px; }
259
+ .ui-icon-plusthick { background-position: -32px -128px; }
260
+ .ui-icon-minus { background-position: -48px -128px; }
261
+ .ui-icon-minusthick { background-position: -64px -128px; }
262
+ .ui-icon-close { background-position: -80px -128px; }
263
+ .ui-icon-closethick { background-position: -96px -128px; }
264
+ .ui-icon-key { background-position: -112px -128px; }
265
+ .ui-icon-lightbulb { background-position: -128px -128px; }
266
+ .ui-icon-scissors { background-position: -144px -128px; }
267
+ .ui-icon-clipboard { background-position: -160px -128px; }
268
+ .ui-icon-copy { background-position: -176px -128px; }
269
+ .ui-icon-contact { background-position: -192px -128px; }
270
+ .ui-icon-image { background-position: -208px -128px; }
271
+ .ui-icon-video { background-position: -224px -128px; }
272
+ .ui-icon-script { background-position: -240px -128px; }
273
+ .ui-icon-alert { background-position: 0 -144px; }
274
+ .ui-icon-info { background: url(images/icon_sprite.png) 0 0 no-repeat !important; }
275
+ .ui-icon-notice { background-position: -32px -144px; }
276
+ .ui-icon-help { background-position: -48px -144px; }
277
+ .ui-icon-check { background-position: -64px -144px; }
278
+ .ui-icon-bullet { background-position: -80px -144px; }
279
+ .ui-icon-radio-off { background-position: -96px -144px; }
280
+ .ui-icon-radio-on { background-position: -112px -144px; }
281
+ .ui-icon-pin-w { background-position: -128px -144px; }
282
+ .ui-icon-pin-s { background-position: -144px -144px; }
283
+ .ui-icon-play { background-position: 0 -160px; }
284
+ .ui-icon-pause { background-position: -16px -160px; }
285
+ .ui-icon-seek-next { background-position: -32px -160px; }
286
+ .ui-icon-seek-prev { background-position: -48px -160px; }
287
+ .ui-icon-seek-end { background-position: -64px -160px; }
288
+ .ui-icon-seek-start { background-position: -80px -160px; }
289
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
290
+ .ui-icon-seek-first { background-position: -80px -160px; }
291
+ .ui-icon-stop { background-position: -96px -160px; }
292
+ .ui-icon-eject { background-position: -112px -160px; }
293
+ .ui-icon-volume-off { background-position: -128px -160px; }
294
+ .ui-icon-volume-on { background-position: -144px -160px; }
295
+ .ui-icon-power { background-position: 0 -176px; }
296
+ .ui-icon-signal-diag { background-position: -16px -176px; }
297
+ .ui-icon-signal { background-position: -32px -176px; }
298
+ .ui-icon-battery-0 { background-position: -48px -176px; }
299
+ .ui-icon-battery-1 { background-position: -64px -176px; }
300
+ .ui-icon-battery-2 { background-position: -80px -176px; }
301
+ .ui-icon-battery-3 { background-position: -96px -176px; }
302
+ .ui-icon-circle-plus { background-position: 0 -192px; }
303
+ .ui-icon-circle-minus { background-position: -16px -192px; }
304
+ .ui-icon-circle-close { background-position: -32px -192px; }
305
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
306
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
307
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
308
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
309
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
310
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
311
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
312
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
313
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
314
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
315
+ .ui-icon-circle-check { background-position: -208px -192px; }
316
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
317
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
318
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
319
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
320
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
321
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
322
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
323
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
324
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
325
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
326
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
327
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
328
+
329
+
330
+ /* Misc visuals
331
+ ----------------------------------*/
332
+
333
+ /* Corner radius */
334
+ .ui-corner-tl { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; }
335
+ .ui-corner-tr { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; }
336
+ .ui-corner-bl { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; }
337
+ .ui-corner-br { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
338
+ .ui-corner-top { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; }
339
+ .ui-corner-bottom { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
340
+ .ui-corner-right { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
341
+ .ui-corner-left { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; }
342
+ .ui-corner-all { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
343
+
344
+ /* Overlays */
345
+ .ui-widget-overlay { background: #262b33; opacity: .70;filter:Alpha(Opacity=70); }
346
+ .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #000000; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
347
+ * jQuery UI Resizable 1.8.7
348
+ *
349
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
350
+ * Dual licensed under the MIT or GPL Version 2 licenses.
351
+ * http://jquery.org/license
352
+ *
353
+ * http://docs.jquery.com/UI/Resizable#theming
354
+ */
355
+ .ui-resizable { position: relative;}
356
+ .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
357
+ .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
358
+ .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
359
+ .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
360
+ .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
361
+ .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
362
+ .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
363
+ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
364
+ .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
365
+ .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
366
+ * jQuery UI Selectable 1.8.7
367
+ *
368
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
369
+ * Dual licensed under the MIT or GPL Version 2 licenses.
370
+ * http://jquery.org/license
371
+ *
372
+ * http://docs.jquery.com/UI/Selectable#theming
373
+ */
374
+ .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
375
+ /*
376
+ * jQuery UI Accordion 1.8.7
377
+ *
378
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
379
+ * Dual licensed under the MIT or GPL Version 2 licenses.
380
+ * http://jquery.org/license
381
+ *
382
+ * http://docs.jquery.com/UI/Accordion#theming
383
+ */
384
+ /* IE/Win - Fix animation bug - #4615 */
385
+ .ui-accordion { width: 100%; }
386
+ .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
387
+ .ui-accordion .ui-accordion-header, .ui-accordion .ui-accordion-content { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
388
+ .ui-accordion .ui-accordion-li-fix { display: inline; }
389
+ .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
390
+ .ui-accordion .ui-accordion-header a { display: block; font-size: 12px; font-weight: bold; padding: .5em .5em .5em .7em; }
391
+ .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
392
+ .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
393
+ .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
394
+ .ui-accordion .ui-accordion-content-active { display: block; }/*
395
+ * jQuery UI Autocomplete 1.8.7
396
+ *
397
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
398
+ * Dual licensed under the MIT or GPL Version 2 licenses.
399
+ * http://jquery.org/license
400
+ *
401
+ * http://docs.jquery.com/UI/Autocomplete#theming
402
+ */
403
+ .ui-autocomplete {
404
+ position: absolute; cursor: default;
405
+ -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
406
+ -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
407
+ -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
408
+ }
409
+
410
+ /* workarounds */
411
+ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
412
+
413
+ /*
414
+ * jQuery UI Menu 1.8.7
415
+ *
416
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
417
+ * Dual licensed under the MIT or GPL Version 2 licenses.
418
+ * http://jquery.org/license
419
+ *
420
+ * http://docs.jquery.com/UI/Menu#theming
421
+ */
422
+ .ui-menu {
423
+ list-style:none;
424
+ padding: 2px;
425
+ margin: 0;
426
+ display:block;
427
+ float: left;
428
+ }
429
+ .ui-menu .ui-menu {
430
+ margin-top: -3px;
431
+ }
432
+ .ui-menu .ui-menu-item {
433
+ margin:0;
434
+ padding: 0;
435
+ zoom: 1;
436
+ float: left;
437
+ clear: left;
438
+ width: 100%;
439
+ }
440
+ .ui-menu .ui-menu-item a {
441
+ text-decoration:none;
442
+ display:block;
443
+ padding:.2em .4em;
444
+ line-height:1.5;
445
+ zoom:1;
446
+ }
447
+ .ui-menu .ui-menu-item a.ui-state-hover,
448
+ .ui-menu .ui-menu-item a.ui-state-active {
449
+ font-weight: normal;
450
+ margin: -1px;
451
+ background: #5f83b9;
452
+ color: #FFFFFF;
453
+ text-shadow: 0px 1px 1px #234386;
454
+ border-color: #466086;
455
+ -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
456
+ }
457
+ /*
458
+ * jQuery UI Button 1.8.7
459
+ *
460
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
461
+ * Dual licensed under the MIT or GPL Version 2 licenses.
462
+ * http://jquery.org/license
463
+ *
464
+ * http://docs.jquery.com/UI/Button#theming
465
+ */
466
+ .ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
467
+ .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
468
+ button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
469
+ .ui-button-icons-only { width: 3.4em; }
470
+ button.ui-button-icons-only { width: 3.7em; }
471
+
472
+ /*states*/
473
+ .ui-button.ui-state-hover {
474
+ -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
475
+ -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
476
+ }
477
+ .ui-button.ui-state-focus {
478
+ outline: none;
479
+ color: #1c4257; border-color: #7096ab;
480
+ background-image: -webkit-gradient(
481
+ linear,
482
+ left bottom,
483
+ left top,
484
+ color-stop(1, rgb(185,224,245)),
485
+ color-stop(0, rgb(146,189,214))
486
+ );
487
+ background-image: -moz-linear-gradient(
488
+ center top,
489
+ rgb(185,224,245),
490
+ rgb(146,189,214)
491
+ );
492
+ -webkit-box-shadow: none;
493
+ -moz-box-shadow: none;
494
+ }
495
+
496
+ /*button text element */
497
+ .ui-button .ui-button-text { display: block; line-height: 1.4; font-size: 14px; font-weight: bold; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); }
498
+ .ui-button-text-only .ui-button-text { padding: .4em 1em; }
499
+ .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
500
+ .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
501
+ .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
502
+ .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
503
+ /* no icon support for input elements, provide padding by default */
504
+ input.ui-button { padding: .4em 1em; }
505
+
506
+ /*button icon element(s) */
507
+ .ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
508
+ .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
509
+ .ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
510
+ .ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
511
+ .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
512
+
513
+ /*button sets*/
514
+ .ui-buttonset { margin-right: 7px; }
515
+ .ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
516
+ .ui-buttonset .ui-button.ui-state-active { color: #1c4257; border-color: #7096ab; }
517
+ .ui-buttonset .ui-button.ui-state-active {
518
+ background-image: -webkit-gradient(
519
+ linear,
520
+ left bottom,
521
+ left top,
522
+ color-stop(1, rgb(185,224,245)),
523
+ color-stop(0, rgb(146,189,214))
524
+ );
525
+ background-image: -moz-linear-gradient(
526
+ center top,
527
+ rgb(185,224,245),
528
+ rgb(146,189,214)
529
+ );
530
+ -webkit-box-shadow: none;
531
+ -moz-box-shadow: none;
532
+ }
533
+
534
+ /* workarounds */
535
+ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
536
+ /*
537
+ * jQuery UI Dialog 1.8.7
538
+ *
539
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
540
+ * Dual licensed under the MIT or GPL Version 2 licenses.
541
+ * http://jquery.org/license
542
+ *
543
+ * http://docs.jquery.com/UI/Dialog#theming
544
+ */
545
+ .ui-dialog { position: absolute; padding: 0; width: 300px; overflow: hidden; }
546
+ .ui-dialog {
547
+ -webkit-box-shadow: 0 2px 12px rgba(0,0,0,0.6);
548
+ -moz-box-shadow: 0 2px 12px rgba(0,0,0,0.6);
549
+ }
550
+ .ui-dialog .ui-dialog-titlebar { padding: 0.7em 1em 0.6em 1em; position: relative; border: none; border-bottom: 1px solid #979797; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
551
+ .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; font-size: 14px; text-shadow: 0 1px 0 rgba(255,255,255,0.5); }
552
+ .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .8em; top: 55%; width: 16px; margin: -10px 0 0 0; padding: 0; height: 16px; }
553
+ .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; background: url(images/icon_sprite.png) 0 -16px no-repeat; }
554
+ .ui-dialog .ui-dialog-titlebar-close:hover span { background-position: -16px -16px; }
555
+ .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; border: 0; }
556
+ .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
557
+ .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
558
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
559
+ .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
560
+ .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
561
+ .ui-draggable .ui-dialog-titlebar { cursor: move; }
562
+ /*
563
+ * jQuery UI Slider 1.8.7
564
+ *
565
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
566
+ * Dual licensed under the MIT or GPL Version 2 licenses.
567
+ * http://jquery.org/license
568
+ *
569
+ * http://docs.jquery.com/UI/Slider#theming
570
+ */
571
+ .ui-slider { position: relative; text-align: left; background: #d7d7d7; }
572
+ .ui-slider { -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; }
573
+ .ui-slider .ui-slider-handle { background: url(images/slider_handles.png) 0px -23px no-repeat; position: absolute; z-index: 2; width: 23px; height: 23px; cursor: default; border: none; outline: none; -moz-box-shadow: none; -webkit-box-shadow: none; }
574
+ .ui-slider .ui-state-hover, .ui-slider .ui-state-active { background-position: 0 0; }
575
+ .ui-slider .ui-slider-range { background: #a3cae0; position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
576
+ .ui-slider .ui-slider-range { -moz-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; -webkit-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; }
577
+
578
+
579
+ .ui-slider-horizontal { height: 5px; }
580
+ .ui-slider-horizontal .ui-slider-handle { top: -8px; margin-left: -13px; }
581
+ .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
582
+ .ui-slider-horizontal .ui-slider-range-min { left: 0; }
583
+ .ui-slider-horizontal .ui-slider-range-max { right: 0; }
584
+
585
+ .ui-slider-vertical { width: 5px; height: 100px; }
586
+ .ui-slider-vertical .ui-slider-handle { left: -8px; margin-left: 0; margin-bottom: -13px; }
587
+ .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
588
+ .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
589
+ .ui-slider-vertical .ui-slider-range-max { top: 0; }/*
590
+ * jQuery UI Tabs 1.8.7
591
+ *
592
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
593
+ * Dual licensed under the MIT or GPL Version 2 licenses.
594
+ * http://jquery.org/license
595
+ *
596
+ * http://docs.jquery.com/UI/Tabs#theming
597
+ */
598
+ .ui-tabs { position: relative; zoom: 1; border: 0; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
599
+ .ui-tabs .ui-tabs-nav { margin: 0; padding: 0; background: transparent; border-width: 0 0 1px 0; }
600
+ .ui-tabs .ui-tabs-nav {
601
+ -moz-border-radius: 0;
602
+ -webkit-border-radius: 0;
603
+ border-radius: 0;
604
+ }
605
+ .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
606
+ .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; font-size: 12px; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,0.5); }
607
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; background: #fff; border-color: #B6B6B6; }
608
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; outline: none; }
609
+ .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
610
+ .ui-tabs .ui-tabs-panel { display: block; border-width: 0 1px 1px 1px; padding: 1em 1.4em; background: none; }
611
+ .ui-tabs .ui-tabs-panel {
612
+ -moz-border-radius: 0;
613
+ -webkit-border-radius: 0;
614
+ border-radius: 0;
615
+ }
616
+ .ui-tabs .ui-tabs-hide { display: none !important; }
617
+ /*
618
+ * jQuery UI Datepicker 1.8.7
619
+ *
620
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
621
+ * Dual licensed under the MIT or GPL Version 2 licenses.
622
+ * http://jquery.org/license
623
+ *
624
+ * http://docs.jquery.com/UI/Datepicker#theming
625
+ */
626
+ .ui-datepicker { width: 17em; padding: 0; display: none; border-color: #DDDDDD; }
627
+ .ui-datepicker {
628
+ -moz-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
629
+ -webkit-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
630
+ box-shadow: 0 4px 8px rgba(0,0,0,0.5);
631
+ }
632
+ .ui-datepicker .ui-datepicker-header { position:relative; padding:.35em 0; border: none; border-bottom: 1px solid #B6B6B6; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
633
+ .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 6px; width: 1.8em; height: 1.8em; }
634
+ .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { border: 1px none; }
635
+ .ui-datepicker .ui-datepicker-prev { left:2px; }
636
+ .ui-datepicker .ui-datepicker-next { right:2px; }
637
+ .ui-datepicker .ui-datepicker-prev span { background-position: 0px -32px !important; }
638
+ .ui-datepicker .ui-datepicker-next span { background-position: -16px -32px !important; }
639
+ .ui-datepicker .ui-datepicker-prev-hover span { background-position: 0px -48px !important; }
640
+ .ui-datepicker .ui-datepicker-next-hover span { background-position: -16px -48px !important; }
641
+ .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; background: url(images/icon_sprite.png) no-repeat; }
642
+ .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; font-size: 12px; text-shadow: 0 1px 0 rgba(255,255,255,0.6); }
643
+ .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
644
+ .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
645
+ .ui-datepicker select.ui-datepicker-month,
646
+ .ui-datepicker select.ui-datepicker-year { width: 49%;}
647
+ .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
648
+ .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
649
+ .ui-datepicker td { border: 0; padding: 1px; }
650
+ .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
651
+ .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
652
+ .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
653
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
654
+ .ui-datepicker .ui-state-default { background: transparent; border-color: #FFF; }
655
+ .ui-datepicker .ui-state-active { background: #5F83B9; border-color: #5F83B9; color: #FFF; font-weight: bold; text-shadow: 0 1px 1px #234386; }
656
+
657
+ /* with multiple calendars */
658
+ .ui-datepicker.ui-datepicker-multi { width:auto; }
659
+ .ui-datepicker-multi .ui-datepicker-group { float:left; }
660
+ .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
661
+ .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
662
+ .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
663
+ .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
664
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
665
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
666
+ .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
667
+ .ui-datepicker-row-break { clear:both; width:100%; }
668
+
669
+ /* RTL support */
670
+ .ui-datepicker-rtl { direction: rtl; }
671
+ .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
672
+ .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
673
+ .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
674
+ .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
675
+ .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
676
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
677
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
678
+ .ui-datepicker-rtl .ui-datepicker-group { float:right; }
679
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
680
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
681
+
682
+ /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
683
+ .ui-datepicker-cover {
684
+ display: none; /*sorry for IE5*/
685
+ display/**/: block; /*sorry for IE5*/
686
+ position: absolute; /*must have*/
687
+ z-index: -1; /*must have*/
688
+ filter: mask(); /*must have*/
689
+ top: -4px; /*must have*/
690
+ left: -4px; /*must have*/
691
+ width: 200px; /*must have*/
692
+ height: 200px; /*must have*/
693
+ }/*
694
+ * jQuery UI Progressbar 1.8.7
695
+ *
696
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
697
+ * Dual licensed under the MIT or GPL Version 2 licenses.
698
+ * http://jquery.org/license
699
+ *
700
+ * http://docs.jquery.com/UI/Progressbar#theming
701
+ */
702
+ .ui-progressbar { height: 12px; text-align: left; background: url(images/progress_bar.gif) 0 -14px repeat-x; }
703
+ .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; background: url(images/progress_bar.gif) 0 0 repeat-x; }