right-rails 1.0.10 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/README.rdoc +4 -4
  2. data/Rakefile +4 -4
  3. data/lib/right_rails.rb +1 -1
  4. data/public/javascripts/right/autocompleter-src.js +115 -106
  5. data/public/javascripts/right/autocompleter.js +3 -14
  6. data/public/javascripts/right/billboard-src.js +58 -38
  7. data/public/javascripts/right/billboard.js +3 -13
  8. data/public/javascripts/right/calendar-src.js +136 -133
  9. data/public/javascripts/right/calendar.js +4 -33
  10. data/public/javascripts/right/colorpicker-src.js +128 -125
  11. data/public/javascripts/right/colorpicker.js +4 -23
  12. data/public/javascripts/right/dialog-src.js +67 -37
  13. data/public/javascripts/right/dialog.js +3 -17
  14. data/public/javascripts/right/dnd-src.js +44 -43
  15. data/public/javascripts/right/dnd.js +3 -16
  16. data/public/javascripts/right/effects-src.js +125 -98
  17. data/public/javascripts/right/effects.js +3 -13
  18. data/public/javascripts/right/in-edit-src.js +54 -38
  19. data/public/javascripts/right/in-edit.js +4 -10
  20. data/public/javascripts/right/jquerysh-src.js +344 -20
  21. data/public/javascripts/right/jquerysh.js +3 -3
  22. data/public/javascripts/right/json-src.js +22 -35
  23. data/public/javascripts/right/json.js +4 -7
  24. data/public/javascripts/right/keys-src.js +87 -0
  25. data/public/javascripts/right/keys.js +7 -0
  26. data/public/javascripts/right/lightbox-src.js +76 -58
  27. data/public/javascripts/right/lightbox.js +3 -20
  28. data/public/javascripts/right/rails-src.js +108 -107
  29. data/public/javascripts/right/rails.js +4 -11
  30. data/public/javascripts/right/rater-src.js +47 -31
  31. data/public/javascripts/right/rater.js +3 -9
  32. data/public/javascripts/right/resizable-src.js +60 -33
  33. data/public/javascripts/right/resizable.js +3 -11
  34. data/public/javascripts/right/selectable-src.js +87 -51
  35. data/public/javascripts/right/selectable.js +3 -18
  36. data/public/javascripts/right/sizzle-src.js +15 -10
  37. data/public/javascripts/right/sizzle.js +4 -27
  38. data/public/javascripts/right/slider-src.js +49 -33
  39. data/public/javascripts/right/slider.js +3 -10
  40. data/public/javascripts/right/sortable-src.js +46 -32
  41. data/public/javascripts/right/sortable.js +4 -13
  42. data/public/javascripts/right/table-src.js +19 -10
  43. data/public/javascripts/right/table.js +4 -6
  44. data/public/javascripts/right/tabs-src.js +69 -47
  45. data/public/javascripts/right/tabs.js +4 -26
  46. data/public/javascripts/right/tooltips-src.js +78 -56
  47. data/public/javascripts/right/tooltips.js +4 -9
  48. data/public/javascripts/right/uploader-src.js +50 -34
  49. data/public/javascripts/right/uploader.js +3 -9
  50. data/public/javascripts/right-olds-src.js +528 -355
  51. data/public/javascripts/right-olds.js +4 -13
  52. data/public/javascripts/right-safe-src.js +4 -99
  53. data/public/javascripts/right-safe.js +3 -4
  54. data/public/javascripts/right-src.js +1618 -1245
  55. data/public/javascripts/right.js +4 -91
  56. metadata +8 -6
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Tabs widget for RightJS (http://rightjs.org/ui/tabs)
2
+ * RightJS-UI Tabs v2.2.2
3
+ * http://rightjs.org/ui/tabs
3
4
  *
4
- * Copyright (C) 2009-2010 Nikolay Nemshilov
5
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
5
6
  */
6
7
  var Tabs = RightJS.Tabs = (function(document, parseInt, RightJS) {
7
8
  /**
@@ -9,33 +10,8 @@ var Tabs = RightJS.Tabs = (function(document, parseInt, RightJS) {
9
10
  * it creates an abstract proxy with the common functionality
10
11
  * which then we reuse and override in the actual widgets
11
12
  *
12
- * Copyright (C) 2010 Nikolay Nemshilov
13
- */
14
-
15
- /**
16
- * The tabs init-script
17
- *
18
- * Copyright (C) 2010 Nikolay Nemshilov
13
+ * Copyright (C) 2010-2011 Nikolay Nemshilov
19
14
  */
20
- var R = RightJS,
21
- $ = RightJS.$,
22
- $$ = RightJS.$$,
23
- $w = RightJS.$w,
24
- $E = RightJS.$E,
25
- Fx = RightJS.Fx,
26
- Object = RightJS.Object,
27
- Browser = RightJS.Browser,
28
- isArray = RightJS.isArray,
29
- isNumber = RightJS.isNumber,
30
- Wrapper = RightJS.Wrapper,
31
- Element = RightJS.Element,
32
- Cookie = RightJS.Cookie;
33
-
34
-
35
-
36
-
37
-
38
-
39
15
 
40
16
  /**
41
17
  * The widget units constructor
@@ -55,7 +31,7 @@ function Widget(tag_name, methods) {
55
31
  *
56
32
  * Copyright (C) 2010 Nikolay Nemshilov
57
33
  */
58
- var AbstractWidget = new RightJS.Wrapper(RightJS.Element.Wrappers[tag_name] || RightJS.Element, {
34
+ var AbstractWidget = new RightJS.Class(RightJS.Element.Wrappers[tag_name] || RightJS.Element, {
59
35
  /**
60
36
  * The common constructor
61
37
  *
@@ -87,7 +63,8 @@ function Widget(tag_name, methods) {
87
63
  options = {};
88
64
  }
89
65
  this.setOptions(options, this);
90
- return this;
66
+
67
+ return (RightJS.Wrapper.Cache[RightJS.$uid(this._)] = this);
91
68
  },
92
69
 
93
70
  // protected
@@ -100,12 +77,16 @@ function Widget(tag_name, methods) {
100
77
  * @return void
101
78
  */
102
79
  setOptions: function(options, element) {
103
- element = element || this;
104
- RightJS.Options.setOptions.call(this,
105
- RightJS.Object.merge(options, eval("("+(
80
+ if (element) {
81
+ options = RightJS.Object.merge(options, new Function("return "+(
106
82
  element.get('data-'+ this.key) || '{}'
107
- )+")"))
108
- );
83
+ ))());
84
+ }
85
+
86
+ if (options) {
87
+ RightJS.Options.setOptions.call(this, RightJS.Object.merge(this.options, options));
88
+ }
89
+
109
90
  return this;
110
91
  }
111
92
  });
@@ -114,7 +95,7 @@ function Widget(tag_name, methods) {
114
95
  * Creating the actual widget class
115
96
  *
116
97
  */
117
- var Klass = new RightJS.Wrapper(AbstractWidget, methods);
98
+ var Klass = new RightJS.Class(AbstractWidget, methods);
118
99
 
119
100
  // creating the widget related shortcuts
120
101
  RightJS.Observer.createShortcuts(Klass.prototype, Klass.EVENTS || []);
@@ -126,9 +107,9 @@ function Widget(tag_name, methods) {
126
107
  /**
127
108
  * A shared module to create textual spinners
128
109
  *
129
- * Copyright (C) 2010 Nikolay Nemshilov
110
+ * Copyright (C) 2010-2011 Nikolay Nemshilov
130
111
  */
131
- var Spinner = new RightJS.Wrapper(RightJS.Element, {
112
+ var Spinner = new RightJS.Class(RightJS.Element, {
132
113
  /**
133
114
  * Constructor
134
115
  *
@@ -163,14 +144,39 @@ var Spinner = new RightJS.Wrapper(RightJS.Element, {
163
144
  });
164
145
 
165
146
 
147
+ /**
148
+ * The tabs init-script
149
+ *
150
+ * Copyright (C) 2010-2011 Nikolay Nemshilov
151
+ */
152
+ var R = RightJS,
153
+ $ = RightJS.$,
154
+ $$ = RightJS.$$,
155
+ $w = RightJS.$w,
156
+ $E = RightJS.$E,
157
+ Fx = RightJS.Fx,
158
+ Object = RightJS.Object,
159
+ Browser = RightJS.Browser,
160
+ isArray = RightJS.isArray,
161
+ isNumber = RightJS.isNumber,
162
+ Class = RightJS.Class,
163
+ Element = RightJS.Element,
164
+ Cookie = RightJS.Cookie;
165
+
166
+
167
+
168
+
169
+
170
+
171
+
166
172
  /**
167
173
  * The basic tabs handling engine
168
174
  *
169
- * Copyright (C) 2009-2010 Nikolay Nemshilov
175
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
170
176
  */
171
177
  var Tabs = new Widget('UL', {
172
178
  extend: {
173
- version: '2.0.1',
179
+ version: '2.2.2',
174
180
 
175
181
  EVENTS: $w('select hide load disable enable add remove move'),
176
182
 
@@ -325,9 +331,9 @@ var Tabs = new Widget('UL', {
325
331
  /**
326
332
  * A single tab handling object
327
333
  *
328
- * Copyright (C) 2009-2010 Nikolay Nemshilov
334
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
329
335
  */
330
- var Tab = Tabs.Tab = new Wrapper(Element, {
336
+ var Tab = Tabs.Tab = new Class(Element, {
331
337
  extend: {
332
338
  autoId: 0
333
339
  },
@@ -414,7 +420,12 @@ var Tab = Tabs.Tab = new Wrapper(Element, {
414
420
  this.main.tabs.splice(this.main.tabs.indexOf(this), 1);
415
421
  this.panel.remove();
416
422
 
417
- return this.$super().fire('remove');
423
+ var parent = this.parent();
424
+ this.fire('beforeremove');
425
+ this.$super();
426
+ parent.fire('remove', {target: this});
427
+
428
+ return this;
418
429
  },
419
430
 
420
431
  // protected
@@ -456,9 +467,9 @@ var Tab = Tabs.Tab = new Wrapper(Element, {
456
467
  /**
457
468
  * The tab panels behavior logic
458
469
  *
459
- * Copyright (C) 2009-2010 Nikolay Nemshilov
470
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
460
471
  */
461
- var Panel = Tabs.Panel = new Wrapper(Element, {
472
+ var Panel = Tabs.Panel = new Class(Element, {
462
473
 
463
474
  /**
464
475
  * Basic constructor
@@ -972,7 +983,7 @@ Tabs.include({
972
983
  * @return Tabs this
973
984
  */
974
985
  remove: function(tab) {
975
- return this.callTab(tab, 'remove');
986
+ return arguments.length === 0 ? this.$super() : this.callTab(tab, 'remove');
976
987
  }
977
988
 
978
989
  });
@@ -1127,7 +1138,18 @@ $(document).onReady(function() {
1127
1138
  });
1128
1139
 
1129
1140
 
1130
- document.write("<style type=\"text/css\">div.rui-spinner,div.rui-spinner div{margin:0;padding:0;border:none;background:none;list-style:none;font-weight:normal;float:none;display:inline-block; *display:inline; *zoom:1;border-radius:.12em;-moz-border-radius:.12em;-webkit-border-radius:.12em}div.rui-spinner{text-align:center;white-space:nowrap;background:#EEE;border:1px solid #DDD;height:1.2em;padding:0 .2em}div.rui-spinner div{width:.4em;height:70%;background:#BBB;margin-left:1px}div.rui-spinner div:first-child{margin-left:0}div.rui-spinner div.glowing{background:#777}.rui-tabs,.rui-tabs-list,.rui-tabs-tab,.rui-tabs-panel,.rui-tabs-scroll-left,.rui-tabs-scroll-right,.rui-tabs-scroll-body,.rui-tabs-panel-locker,.rui-tabs-resizer{margin:0;padding:0;background:none;border:none;list-style:none;display:block;width:auto;height:auto}.rui-tabs{display:block;visibility:hidden;border-bottom:1px solid #CCC}.rui-tabs-resizer{overflow:hidden}.rui-tabs-list{display:block;position:relative;padding:0 .5em;border-bottom:1px solid #CCC;white-space:nowrap}.rui-tabs-list .rui-tabs-tab,.rui-tabs-tab *,.rui-tabs-tab *:hover{display:inline-block; *display:inline; *zoom:1;cursor:pointer;text-decoration:none;vertical-align:center}.rui-tabs-list .rui-tabs-tab{vertical-align:bottom;margin-right:.1em}.rui-tabs-tab a{outline:none;position:relative;border:1px solid #CCC;background:#DDD;color:#444;padding:.3em 1em;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}.rui-tabs-tab a:hover{border-color:#CCC;background:#EEE}.rui-tabs-list .rui-tabs-current a,.rui-tabs-list .rui-tabs-current a:hover{font-weight:bold;color:#000;background:#FFF;border-bottom:1px solid #FFF;border-top-width:2px;padding-top:.34em;padding-bottom:.34em;top:1px}.rui-tabs-tab a img{border:none;opacity:.6;filter:alpha(opacity=60)}.rui-tabs-tab a:hover img,.rui-tabs-list .rui-tabs-current a img{opacity:1;filter:alpha(opacity=100)}.rui-tabs-disabled a,.rui-tabs-disabled a:hover{background:#EEE;border-color:#DDD;color:#AAA;cursor:default}.rui-tabs-disabled a img,.rui-tabs-disabled a:hover img{opacity:.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon{display:inline-block; *display:inline; *zoom:1;margin-right:-0.5em;margin-left:0.5em;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon:hover{opacity:1;filter:alpha(opacity=100);color:#B00;text-shadow:#888 .15em .15em .2em}.rui-tabs-panel{display:none;position:relative;min-height:4em;padding:.5em 0}.rui-tabs-current{display:block}.rui-tabs-scroller{position:relative;padding:0 1.4em}.rui-tabs-scroller-prev,.rui-tabs-scroller-next{width:1.1em;text-align:center;background:#EEE;color:#666;cursor:pointer;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;position:absolute;bottom:0px;left:0px;padding:0.3em 0;user-select:none;-moz-user-select:none;-webkit-user-select:none}.rui-tabs-scroller-prev:hover,.rui-tabs-scroller-next:hover{color:#000;background:#DDD;border-color:#AAA}.rui-tabs-scroller-prev:active,.rui-tabs-scroller-next:active{background:#eee;border-color:#ccc}.rui-tabs-scroller-next{left:auto;right:0px}.rui-tabs-scroller-disabled,.rui-tabs-scroller-disabled:hover{cursor:default;background:#DDD;border-color:#DDD;color:#AAA}.rui-tabs-scroller-body{overflow:hidden;width:100%;position:relative}.rui-tabs-scroller .rui-tabs-list{padding-left:0;padding-right:0;width:9999em;z-index:10}.rui-tabs-panel-locker{position:absolute;top:0px;left:0px;opacity:0.5;filter:alpha(opacity=50);background:#CCC;width:100%;height:100%;text-align:center}.rui-tabs-panel-locker .rui-spinner{position:absolute;left:44%;top:44%;background:none;border:none;height:2em}.rui-tabs-panel-locker .rui-spinner div{background:#666;width:.65em;margin-left:.15em}.rui-tabs-panel-locker .rui-spinner div.glowing{background:#000}.rui-tabs-carousel .rui-tabs-list{border:none}.rui-tabs-carousel .rui-tabs-tab a,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-prev,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-next{height:6em;line-height:6em;padding:0;border-bottom:1px solid #ccc;border-radius:.25em;-moz-border-radius:.25em;-webkit-border-radius:.25em}.rui-tabs-carousel .rui-tabs-tab{margin-right:3px}.rui-tabs-carousel .rui-tabs-tab a img{border:1px solid #CCC;vertical-align:middle;margin:.4em;padding:0;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a{border-width:1px;border-color:#AAA;padding:0;top:auto}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a img{border-color:#bbb}.rui-tabs-carousel .rui-tabs-panel{text-align:center}dl.rui-tabs{border:none}dt.rui-tabs-tab,dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{display:block;float:none}dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{padding:.2em 1em;border:1px solid #ccc;border-radius:.25em;-moz-border-radius:.3em;-webkit-border-radius:.3em}dl.rui-tabs dt.rui-tabs-current a{background:#EEE;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}dl.rui-tabs dd.rui-tabs-current+dt.rui-tabs-tab a{border-top-left-radius:0;border-top-right-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0}</style>");
1141
+ var embed_style = document.createElement('style'),
1142
+ embed_rules = document.createTextNode("div.rui-spinner,div.rui-spinner div{margin:0;padding:0;border:none;background:none;list-style:none;font-weight:normal;float:none;display:inline-block; *display:inline; *zoom:1;border-radius:.12em;-moz-border-radius:.12em;-webkit-border-radius:.12em}div.rui-spinner{text-align:center;white-space:nowrap;background:#EEE;border:1px solid #DDD;height:1.2em;padding:0 .2em}div.rui-spinner div{width:.4em;height:70%;background:#BBB;margin-left:1px}div.rui-spinner div:first-child{margin-left:0}div.rui-spinner div.glowing{background:#777}.rui-tabs,.rui-tabs-list,.rui-tabs-tab,.rui-tabs-panel,.rui-tabs-scroll-left,.rui-tabs-scroll-right,.rui-tabs-scroll-body,.rui-tabs-panel-locker,.rui-tabs-resizer{margin:0;padding:0;background:none;border:none;list-style:none;display:block;width:auto;height:auto}.rui-tabs{display:block;visibility:hidden;border-bottom:1px solid #CCC}.rui-tabs-resizer{overflow:hidden}.rui-tabs-list{display:block;position:relative;padding:0 .5em;border-bottom:1px solid #CCC;white-space:nowrap}.rui-tabs-list .rui-tabs-tab,.rui-tabs-tab *,.rui-tabs-tab *:hover{display:inline-block; *display:inline; *zoom:1;cursor:pointer;text-decoration:none;vertical-align:center}.rui-tabs-list .rui-tabs-tab{vertical-align:bottom;margin-right:.1em}.rui-tabs-tab a{outline:none;position:relative;border:1px solid #CCC;background:#DDD;color:#444;padding:.3em 1em;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}.rui-tabs-tab a:hover{border-color:#CCC;background:#EEE}.rui-tabs-list .rui-tabs-current a,.rui-tabs-list .rui-tabs-current a:hover{font-weight:bold;color:#000;background:#FFF;border-bottom:1px solid #FFF;border-top-width:2px;padding-top:.34em;padding-bottom:.34em;top:1px}.rui-tabs-tab a img{border:none;opacity:.6;filter:alpha(opacity=60)}.rui-tabs-tab a:hover img,.rui-tabs-list .rui-tabs-current a img{opacity:1;filter:alpha(opacity=100)}.rui-tabs-disabled a,.rui-tabs-disabled a:hover{background:#EEE;border-color:#DDD;color:#AAA;cursor:default}.rui-tabs-disabled a img,.rui-tabs-disabled a:hover img{opacity:.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon{display:inline-block; *display:inline; *zoom:1;margin-right:-0.5em;margin-left:0.5em;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon:hover{opacity:1;filter:alpha(opacity=100);color:#B00;text-shadow:#888 .15em .15em .2em}.rui-tabs-panel{display:none;position:relative;min-height:4em;padding:.5em 0}.rui-tabs-current{display:block}.rui-tabs-scroller{position:relative;padding:0 1.4em}.rui-tabs-scroller-prev,.rui-tabs-scroller-next{width:1.1em;text-align:center;background:#EEE;color:#666;cursor:pointer;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;position:absolute;bottom:0px;left:0px;padding:0.3em 0;user-select:none;-moz-user-select:none;-webkit-user-select:none}.rui-tabs-scroller-prev:hover,.rui-tabs-scroller-next:hover{color:#000;background:#DDD;border-color:#AAA}.rui-tabs-scroller-prev:active,.rui-tabs-scroller-next:active{background:#eee;border-color:#ccc}.rui-tabs-scroller-next{left:auto;right:0px}.rui-tabs-scroller-disabled,.rui-tabs-scroller-disabled:hover{cursor:default;background:#DDD;border-color:#DDD;color:#AAA}.rui-tabs-scroller-body{overflow:hidden;width:100%;position:relative}.rui-tabs-scroller .rui-tabs-list{padding-left:0;padding-right:0;width:9999em;z-index:10}.rui-tabs-panel-locker{position:absolute;top:0px;left:0px;opacity:0.5;filter:alpha(opacity=50);background:#CCC;width:100%;height:100%;text-align:center}.rui-tabs-panel-locker .rui-spinner{position:absolute;left:44%;top:44%;background:none;border:none;height:2em}.rui-tabs-panel-locker .rui-spinner div{background:#666;width:.65em;margin-left:.15em}.rui-tabs-panel-locker .rui-spinner div.glowing{background:#000}.rui-tabs-carousel .rui-tabs-list{border:none}.rui-tabs-carousel .rui-tabs-tab a,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-prev,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-next{height:6em;line-height:6em;padding:0;border-bottom:1px solid #ccc;border-radius:.25em;-moz-border-radius:.25em;-webkit-border-radius:.25em}.rui-tabs-carousel .rui-tabs-tab{margin-right:3px}.rui-tabs-carousel .rui-tabs-tab a img{border:1px solid #CCC;vertical-align:middle;margin:.4em;padding:0;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a{border-width:1px;border-color:#AAA;padding:0;top:auto}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a img{border-color:#bbb}.rui-tabs-carousel .rui-tabs-panel{text-align:center}dl.rui-tabs{border:none}dt.rui-tabs-tab,dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{display:block;float:none}dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{padding:.2em 1em;border:1px solid #ccc;border-radius:.25em;-moz-border-radius:.3em;-webkit-border-radius:.3em}dl.rui-tabs dt.rui-tabs-current a{background:#EEE;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}dl.rui-tabs dd.rui-tabs-current+dt.rui-tabs-tab a{border-top-left-radius:0;border-top-right-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0}");
1143
+
1144
+ embed_style.type = 'text/css';
1145
+ document.getElementsByTagName('head')[0].appendChild(embed_style);
1146
+
1147
+ if(embed_style.styleSheet) {
1148
+ embed_style.styleSheet.cssText = embed_rules.nodeValue;
1149
+ } else {
1150
+ embed_style.appendChild(embed_rules);
1151
+ }
1152
+
1131
1153
 
1132
1154
  return Tabs;
1133
1155
  })(document, parseInt, RightJS);
@@ -1,29 +1,7 @@
1
1
  /**
2
- * Tabs widget for RightJS (http://rightjs.org/ui/tabs)
2
+ * RightJS-UI Tabs v2.2.2
3
+ * http://rightjs.org/ui/tabs
3
4
  *
4
- * Copyright (C) 2009-2010 Nikolay Nemshilov
5
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
5
6
  */
6
- var Tabs=RightJS.Tabs=function(q,t,e){function u(){return h(e.Cookie?(v.get("right-tabs-indexes")||"").split(","):[])}function z(a,b,c){if(e.Cookie){var f=u();f=f.without.apply(f,b.map("id"));f.push(c.target.id);v.set("right-tabs-indexes",f.uniq().join(","),a)}}var h=e,r=e.$,A=e.$w,g=e.$E,B=e.Fx,C=e.Object,D=e.Browser,E=e.isArray,F=e.isNumber,w=e.Wrapper,s=e.Element,v=e.Cookie,G=new e.Wrapper(e.Element,{initialize:function(a){this.$super("div",{"class":"rui-spinner"});this.dots=[];for(var b=0;b<(a||
7
- 4);b++)this.dots.push(new e.Element("div"));this.dots[0].addClass("glowing");this.insert(this.dots);e(this.shift).bind(this).periodical(300)},shift:function(){if(this.visible()){var a=this.dots.pop();this.dots.unshift(a);this.insert(a,"top")}}}),j=new (function(a,b){if(!b){b=a;a="DIV"}var c=new e.Wrapper(e.Element.Wrappers[a]||e.Element,{initialize:function(f,d){this.key=f;var i=[{"class":"rui-"+f}];this instanceof e.Input||this instanceof e.Form||i.unshift(a);this.$super.apply(this,i);if(e.isString(d))d=
8
- e.$(d);if(d instanceof e.Element){this._=d._;if("$listeners"in d)d.$listeners=d.$listeners;d={}}this.setOptions(d,this);return this},setOptions:function(f,d){d=d||this;e.Options.setOptions.call(this,e.Object.merge(f,eval("("+(d.get("data-"+this.key)||"{}")+")")));return this}});c=new e.Wrapper(c,b);e.Observer.createShortcuts(c.prototype,c.EVENTS||[]);return c})("UL",{extend:{version:"2.0.1",EVENTS:A("select hide load disable enable add remove move"),Options:{idPrefix:"",tabsElement:null,resizeFx:"both",
9
- resizeDuration:400,scrollTabs:false,scrollDuration:400,selected:null,disabled:null,closable:false,loop:false,loopPause:true,url:false,cache:false,Xhr:null,Cookie:null},rescan:function(a){r(a||q).find(".rui-tabs,*[data-tabs]").each(function(b){b instanceof j||new j(b)})}},initialize:function(a,b){this.$super("tabs",a).setOptions(b).addClass("rui-tabs");this.isHarmonica=this._.tagName==="DL";this.isCarousel=this.hasClass("rui-tabs-carousel");this.isSimple=!this.isHarmonica&&!this.isCarousel;this.findTabs().initScrolls().findCurrent().setStyle("visibility:visible");
10
- this.options.disabled&&this.disable(this.options.disabled);this.options.loop&&this.startLoop()},select:function(a){return this.callTab(a,"select")},disable:function(a){return this.callTab(a,"disable")},enable:function(a){return this.callTab(a,"enable")},current:function(){return this.tabs.first("current")},enabled:function(){return this.tabs.filter("enabled")},callTab:function(a,b){h(E(a)?a:[a]).each(function(c){if(F(c))c=this.tabs[c];c&&c instanceof n&&c[b]()},this);return this},findTabs:function(){this.tabsList=
11
- this.isHarmonica?this:r(this.options.tabsElement)||this.first(".rui-tabs-list")||(this.first("UL")||g("UL").insertTo(this)).addClass("rui-tabs-list");this.tabs=h([]);this.tabsList.children(this.isHarmonica?"dt":null).map(function(c){this.tabs.push(new n(c,this))},this);for(var a=0,b=this.tabsList.get("childNodes");a<b.length;a++)b[a].nodeType==3&&this.tabsList._.removeChild(b[a]);return this}}),n=j.Tab=new w(s,{extend:{autoId:0},initialize:function(a,b){this.$super(a._);this.addClass("rui-tabs-tab");
12
- this.main=b;this.link=this.first("a");this.id=this.link.get("href").split("#")[1]||n.autoId++;this.panel=new H(this.findPanel(),this);this.current()&&this.select();b.options.closable&&this.link.insert(g("div",{"class":"rui-tabs-tab-close-icon",html:"&times;"}).onClick(h(this.remove).bind(this)));this.onClick(this._clicked)},select:function(){if(this.enabled()){var a=this.main.current();a&&a.removeClass("rui-tabs-current").fire("hide");this.addClass("rui-tabs-current");this.main.scrollToTab(this);
13
- this.panel.show()}return this.fire("select")},disable:function(){return this.addClass("rui-tabs-disabled").fire("disable")},enable:function(){return this.removeClass("rui-tabs-disabled").fire("enable")},disabled:function(){return!this.enabled()},enabled:function(){return!this.hasClass("rui-tabs-disabled")},current:function(){return this.hasClass("rui-tabs-current")},remove:function(a){a&&a.stop();if(this.current()){a=this.main.enabled();(a=a[a.indexOf(this)+1]||a[a.indexOf(this)-1])&&a.select()}this.main.tabs.splice(this.main.tabs.indexOf(this),
14
- 1);this.panel.remove();return this.$super().fire("remove")},_clicked:function(a){a.stop();return this.select()},findPanel:function(){var a=this.main,b=a.options.idPrefix+this.id;if(a.isHarmonica)a=(a=this.next())&&a._.tagName==="DD"?a:g("DD").insertTo(this,"after");else a=r(b)||g(a._.tagName==="UL"?"LI":"DIV").insertTo(a);return a.set("id",b)},width:function(){var a=this.next();return a?a.position().x-this.position().x:this.size().x+1}}),H=j.Panel=new w(s,{initialize:function(a,b){this.$super(a._);
15
- this.addClass("rui-tabs-panel");this.tab=b;this.id=this.get("id")},show:function(){return this.resizing(function(){this.tab.main.find(".rui-tabs-panel").each(function(a){a[a===this?"addClass":"removeClass"]("rui-tabs-current")},this)})},update:function(a){this.tab.current()?this.resizing(function(){s.prototype.update.call(this,a||"")}):this.$super(a||"");return this},lock:function(){this.insert(this.locker(),"top")},resizing:function(a){var b=this.tab.main;if(b.__working)return this.resizing.bind(this,
16
- a).delay(100);var c=b.options,f=b.first(".rui-tabs-panel.rui-tabs-current"),d=this,i=f!==d,p=this.first("div.rui-tabs-panel-locker");d.parent().hasClass("rui-tabs-resizer")&&d.insertTo(f.parent());if(c.resizeFx&&e.Fx&&f&&(i||p)){b.__working=true;var m=c.resizeFx==="both"&&p?"slide":c.resizeFx,k=c.resizeDuration;k=B.Durations[k]||k;c=m==="fade"?0:m==="slide"?k:k/2;p=k-c;m!=="slide"&&d.setStyle({opacity:0});k=b.isHarmonica&&i?0:f.size().y;a.call(this);a=d.size().y;var l=null,o=null,x=null;if(m!=="fade"&&
17
- k!==a){b._.style.height=b.size().y+"px";l=g("div",{"class":"rui-tabs-resizer",style:"height: "+k+"px"});if(b.isHarmonica&&i){f.addClass("rui-tabs-current");o=g("div",{"class":"rui-tabs-resizer"});o._.style.height=f.size().y+"px";x=function(){o.replace(f.removeClass("rui-tabs-current"))};f.wrap(o);l._.style.height="0px"}d.wrap(l);b._.style.height="auto"}else{rezise_duration=0;k=p}var y=0;i=function(){if(l){if(m=="both"&&!y)return y++;l.replace(d)}b.__working=false};o&&o.morph({height:"0px"},{duration:c,
18
- onFinish:x});l&&l.morph({height:a+"px"},{duration:c,onFinish:i});m!=="slide"&&d.morph.bind(d,{opacity:1},{duration:p,onFinish:i}).delay(c);!l&&m==="slide"&&i()}else a.call(this);return this},locker:function(){return this._locker||(this._locker=g("div",{"class":"rui-tabs-panel-locker"}).insert(new G(5)))}});j.include({next:function(){return this.pickTab(+1)},prev:function(){return this.pickTab(-1)},scrollLeft:function(){this.prevButton.hasClass("rui-tabs-scroller-disabled")||this[this.isCarousel?"prev":
19
- "justScroll"](+0.6);return this},scrollRight:function(){this.nextButton.hasClass("rui-tabs-scroller-disabled")||this[this.isCarousel?"next":"justScroll"](-0.6);return this},initScrolls:function(){if(this.scrollable=this.options.scrollTabs||this.isCarousel)this.buildScroller();return this},buildScroller:function(){if(!((this.prevButton=this.first(".rui-tabs-scroller-prev"))&&(this.nextButton=this.first(".rui-tabs-scroller-next")))){this.prevButton=g("div",{"class":"rui-tabs-scroller-prev",html:"&laquo;"});
20
- this.nextButton=g("div",{"class":"rui-tabs-scroller-next",html:"&raquo;"});g("div").insertTo(this.tabsList,"before").replace(g("div",{"class":"rui-tabs-scroller"}).insert([this.prevButton,this.nextButton,this.scroller=g("div",{"class":"rui-tabs-scroller-body"}).insert(this.tabsList)])).remove()}this.prevButton.onClick(h(this.scrollLeft).bind(this));this.nextButton.onClick(h(this.scrollRight).bind(this))},pickTab:function(a){var b=this.current();if(b&&b.enabled()){var c=this.enabled();(a=c[c.indexOf(b)+
21
- a])&&a.select()}},scrollToTab:function(a){if(this.scroller){for(var b=0,c=0;c<this.tabs.length;c++){b+=this.tabs[c].width();if(this.tabs[c]===a)break}c=this.scroller.size().x;var f=(this.isCarousel?c/2+a.width()/2:c)-b;if(!this.isCarousel){var d=t(this.tabsList.getStyle("left")||0,10);if(f>=d&&f<d+c-a.width())f=d;else if(d>-b&&d<=a.width()-b)f=a.width()-b}this.scrollTo(f)}},justScroll:function(a){if(!this.scroller)return this;var b=t(this.tabsList.getStyle("left")||0,10),c=this.scroller.size().x;
22
- this.scrollTo(b+c*a)},scrollTo:function(a){var b=this.scroller.size().x,c=this.tabs.map("width").sum();if(a<b-c)a=b-c;if(a>0)a=0;this.tabsList.morph({left:a+"px"},{duration:this.options.scrollDuration});this.checkScrollButtons(c,b,a)},checkScrollButtons:function(a,b,c){var f=false,d=false;if(this.isCarousel){a=this.enabled();if(b=a.first("current")){d=a.indexOf(b);f=d>0;d=d<a.length-1}}else{f=c!==0;d=c>b-a}this.prevButton[f?"removeClass":"addClass"]("rui-tabs-scroller-disabled");this.nextButton[d?
23
- "removeClass":"addClass"]("rui-tabs-scroller-disabled")}});j.include({findCurrent:function(){var a=this.enabled();(a=this.tabs[this.options.selected]||this.tabs[this.urlIndex()]||this.tabs[this.cookieIndex()]||a.first("current")||a[0])&&a.select();this.options.Cookie&&this.onSelect(h(z).curry(this.options.Cookie,this.tabs));return this},urlIndex:function(){var a=-1,b=q.location.href.split("#")[1];if(b)for(var c=0;c<this.tabs.length;c++)if(this.tabs[c].id==b){a=c;break}return a},cookieIndex:function(){var a=
24
- -1;if(this.options.Cookie)for(var b=u(),c=0;c<this.tabs.length;c++)if(b.include(this.tabs[c].id)){a=c;break}return a}});j.include({add:function(a,b,c){c=c||{};a=g(this.isHarmonica?"dt":"li").insert(g("a",{html:a,href:c.url||"#"+(c.id||"")})).insertTo(this.tabsList);a=new n(a,this);a.panel.update(b||"");this.tabs.push(a);a.fire("add");"position"in c&&this.move(a,c.position);return this},move:function(a,b){a=this.tabs[a]||a;if(this.tabs[b]&&this.tabs[b]!==a){this.tabs[b].insert(a,b===this.tabs.length-
25
- 1?"after":"before");this.isHarmonica&&a.insert(a.panel,"after");this.tabs.splice(this.tabs.indexOf(a),1);this.tabs.splice(b,0,a);a.fire("move",{index:b})}return this},remove:function(a){return this.callTab(a,"remove")}});var I=n.prototype.select;n.include({select:function(){if(this.dogPiling(arguments))return this;var a=I.apply(this,arguments),b=h(this.link.get("href")),c=this.main.options;if(b.includes("#"))b=c.url?c.url.replace("%{id}",b.split("#")[1]):null;if(b&&!this.request&&!(c.cache||this.cache)){this.panel.lock();
26
- try{this.request=(new e.Xhr(b,C.merge({method:"get"},c.Xhr))).onComplete(h(function(d){if(this.main.__working)return arguments.callee.bind(this,d).delay(100);this.panel.update(d.text);this.request=null;if(c.cache)this.cache=true;this.fire("load")}).bind(this)).send()}catch(f){if(!D.OLD)throw f;}}return a},dogPiling:function(a){if(this.main.__working){this.main.__timeout&&this.main.__timeout.cancel();this.main.__timeout=h(function(b){this.select.apply(this,b)}).bind(this,a).delay(100);return true}return this.main.__timeout=
27
- null}});j.include({startLoop:function(a){if(!a&&!this.options.loop)return this;if(this.options.loopPause){this._stopLoop=this._stopLoop||h(this.stopLoop).bind(this,true);this._startLoop=this._startLoop||h(this.startLoop).bind(this,a);this.forgetHovers().on({mouseover:this._stopLoop,mouseout:this._startLoop})}this.timer&&this.timer.stop();this.timer=h(function(){var b=this.enabled(),c=this.current();this.select(b[b.indexOf(c)+1]||b.first())}).bind(this).periodical(this.options.loop||a);return this},
28
- stopLoop:function(a,b){if(this.timer){this.timer.stop();this.timer=null}!b&&this._startLoop&&this.forgetHovers()},forgetHovers:function(){return this.stopObserving("mouseover",this._stopLoop).stopObserving("mouseout",this._startLoop)}});r(q).onReady(function(){j.rescan()});q.write('<style type="text/css">div.rui-spinner,div.rui-spinner div{margin:0;padding:0;border:none;background:none;list-style:none;font-weight:normal;float:none;display:inline-block; *display:inline; *zoom:1;border-radius:.12em;-moz-border-radius:.12em;-webkit-border-radius:.12em}div.rui-spinner{text-align:center;white-space:nowrap;background:#EEE;border:1px solid #DDD;height:1.2em;padding:0 .2em}div.rui-spinner div{width:.4em;height:70%;background:#BBB;margin-left:1px}div.rui-spinner div:first-child{margin-left:0}div.rui-spinner div.glowing{background:#777}.rui-tabs,.rui-tabs-list,.rui-tabs-tab,.rui-tabs-panel,.rui-tabs-scroll-left,.rui-tabs-scroll-right,.rui-tabs-scroll-body,.rui-tabs-panel-locker,.rui-tabs-resizer{margin:0;padding:0;background:none;border:none;list-style:none;display:block;width:auto;height:auto}.rui-tabs{display:block;visibility:hidden;border-bottom:1px solid #CCC}.rui-tabs-resizer{overflow:hidden}.rui-tabs-list{display:block;position:relative;padding:0 .5em;border-bottom:1px solid #CCC;white-space:nowrap}.rui-tabs-list .rui-tabs-tab,.rui-tabs-tab *,.rui-tabs-tab *:hover{display:inline-block; *display:inline; *zoom:1;cursor:pointer;text-decoration:none;vertical-align:center}.rui-tabs-list .rui-tabs-tab{vertical-align:bottom;margin-right:.1em}.rui-tabs-tab a{outline:none;position:relative;border:1px solid #CCC;background:#DDD;color:#444;padding:.3em 1em;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}.rui-tabs-tab a:hover{border-color:#CCC;background:#EEE}.rui-tabs-list .rui-tabs-current a,.rui-tabs-list .rui-tabs-current a:hover{font-weight:bold;color:#000;background:#FFF;border-bottom:1px solid #FFF;border-top-width:2px;padding-top:.34em;padding-bottom:.34em;top:1px}.rui-tabs-tab a img{border:none;opacity:.6;filter:alpha(opacity=60)}.rui-tabs-tab a:hover img,.rui-tabs-list .rui-tabs-current a img{opacity:1;filter:alpha(opacity=100)}.rui-tabs-disabled a,.rui-tabs-disabled a:hover{background:#EEE;border-color:#DDD;color:#AAA;cursor:default}.rui-tabs-disabled a img,.rui-tabs-disabled a:hover img{opacity:.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon{display:inline-block; *display:inline; *zoom:1;margin-right:-0.5em;margin-left:0.5em;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon:hover{opacity:1;filter:alpha(opacity=100);color:#B00;text-shadow:#888 .15em .15em .2em}.rui-tabs-panel{display:none;position:relative;min-height:4em;padding:.5em 0}.rui-tabs-current{display:block}.rui-tabs-scroller{position:relative;padding:0 1.4em}.rui-tabs-scroller-prev,.rui-tabs-scroller-next{width:1.1em;text-align:center;background:#EEE;color:#666;cursor:pointer;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;position:absolute;bottom:0px;left:0px;padding:0.3em 0;user-select:none;-moz-user-select:none;-webkit-user-select:none}.rui-tabs-scroller-prev:hover,.rui-tabs-scroller-next:hover{color:#000;background:#DDD;border-color:#AAA}.rui-tabs-scroller-prev:active,.rui-tabs-scroller-next:active{background:#eee;border-color:#ccc}.rui-tabs-scroller-next{left:auto;right:0px}.rui-tabs-scroller-disabled,.rui-tabs-scroller-disabled:hover{cursor:default;background:#DDD;border-color:#DDD;color:#AAA}.rui-tabs-scroller-body{overflow:hidden;width:100%;position:relative}.rui-tabs-scroller .rui-tabs-list{padding-left:0;padding-right:0;width:9999em;z-index:10}.rui-tabs-panel-locker{position:absolute;top:0px;left:0px;opacity:0.5;filter:alpha(opacity=50);background:#CCC;width:100%;height:100%;text-align:center}.rui-tabs-panel-locker .rui-spinner{position:absolute;left:44%;top:44%;background:none;border:none;height:2em}.rui-tabs-panel-locker .rui-spinner div{background:#666;width:.65em;margin-left:.15em}.rui-tabs-panel-locker .rui-spinner div.glowing{background:#000}.rui-tabs-carousel .rui-tabs-list{border:none}.rui-tabs-carousel .rui-tabs-tab a,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-prev,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-next{height:6em;line-height:6em;padding:0;border-bottom:1px solid #ccc;border-radius:.25em;-moz-border-radius:.25em;-webkit-border-radius:.25em}.rui-tabs-carousel .rui-tabs-tab{margin-right:3px}.rui-tabs-carousel .rui-tabs-tab a img{border:1px solid #CCC;vertical-align:middle;margin:.4em;padding:0;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a{border-width:1px;border-color:#AAA;padding:0;top:auto}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a img{border-color:#bbb}.rui-tabs-carousel .rui-tabs-panel{text-align:center}dl.rui-tabs{border:none}dt.rui-tabs-tab,dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{display:block;float:none}dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{padding:.2em 1em;border:1px solid #ccc;border-radius:.25em;-moz-border-radius:.3em;-webkit-border-radius:.3em}dl.rui-tabs dt.rui-tabs-current a{background:#EEE;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}dl.rui-tabs dd.rui-tabs-current+dt.rui-tabs-tab a{border-top-left-radius:0;border-top-right-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0}</style>');
29
- return j}(document,parseInt,RightJS);
7
+ var Tabs=RightJS.Tabs=function(a,b,c){function w(a,b,d){if(c.Cookie){var e=v();e=e.without.apply(e,b.map("id")),e.push(d.target.id),r.set("right-tabs-indexes",e.uniq().join(","),a)}}function v(){return f(c.Cookie?(r.get("right-tabs-indexes")||"").split(","):[])}function d(a,b){b||(b=a,a="DIV");var d=new c.Class(c.Element.Wrappers[a]||c.Element,{initialize:function(b,d){this.key=b;var e=[{"class":"rui-"+b}];this instanceof c.Input||this instanceof c.Form||e.unshift(a),this.$super.apply(this,e),c.isString(d)&&(d=c.$(d)),d instanceof c.Element&&(this._=d._,"$listeners"in d&&(d.$listeners=d.$listeners),d={}),this.setOptions(d,this);return c.Wrapper.Cache[c.$uid(this._)]=this},setOptions:function(a,b){b&&(a=c.Object.merge(a,(new Function("return "+(b.get("data-"+this.key)||"{}")))())),a&&c.Options.setOptions.call(this,c.Object.merge(this.options,a));return this}}),e=new c.Class(d,b);c.Observer.createShortcuts(e.prototype,e.EVENTS||[]);return e}var e=new c.Class(c.Element,{initialize:function(a){this.$super("div",{"class":"rui-spinner"}),this.dots=[];for(var b=0;b<(a||4);b++)this.dots.push(new c.Element("div"));this.dots[0].addClass("glowing"),this.insert(this.dots),c(this.shift).bind(this).periodical(300)},shift:function(){if(this.visible()){var a=this.dots.pop();this.dots.unshift(a),this.insert(a,"top")}}}),f=c,g=c.$,h=c.$$,i=c.$w,j=c.$E,k=c.Fx,l=c.Object,m=c.Browser,n=c.isArray,o=c.isNumber,p=c.Class,q=c.Element,r=c.Cookie,s=new d("UL",{extend:{version:"2.2.2",EVENTS:i("select hide load disable enable add remove move"),Options:{idPrefix:"",tabsElement:null,resizeFx:"both",resizeDuration:400,scrollTabs:!1,scrollDuration:400,selected:null,disabled:null,closable:!1,loop:!1,loopPause:!0,url:!1,cache:!1,Xhr:null,Cookie:null},rescan:function(b){g(b||a).find(".rui-tabs,*[data-tabs]").each(function(a){a=a instanceof s?a:new s(a)})}},initialize:function(a,b){this.$super("tabs",a).setOptions(b).addClass("rui-tabs"),this.isHarmonica=this._.tagName==="DL",this.isCarousel=this.hasClass("rui-tabs-carousel"),this.isSimple=!this.isHarmonica&&!this.isCarousel,this.findTabs().initScrolls().findCurrent().setStyle("visibility:visible"),this.options.disabled&&this.disable(this.options.disabled),this.options.loop&&this.startLoop()},select:function(a){return this.callTab(a,"select")},disable:function(a){return this.callTab(a,"disable")},enable:function(a){return this.callTab(a,"enable")},current:function(){return this.tabs.first("current")},enabled:function(){return this.tabs.filter("enabled")},callTab:function(a,b){f(n(a)?a:[a]).each(function(a){o(a)&&(a=this.tabs[a]),a&&a instanceof t&&a[b]()},this);return this},findTabs:function(){this.tabsList=this.isHarmonica?this:g(this.options.tabsElement)||this.first(".rui-tabs-list")||(this.first("UL")||j("UL").insertTo(this)).addClass("rui-tabs-list"),this.tabs=f([]),this.tabsList.children(this.isHarmonica?"dt":null).map(function(a){this.tabs.push(new t(a,this))},this);for(var a=0,b=this.tabsList.get("childNodes");a<b.length;a++)b[a].nodeType==3&&this.tabsList._.removeChild(b[a]);return this}}),t=s.Tab=new p(q,{extend:{autoId:0},initialize:function(a,b){this.$super(a._),this.addClass("rui-tabs-tab"),this.main=b,this.link=this.first("a"),this.id=this.link.get("href").split("#")[1]||t.autoId++,this.panel=new u(this.findPanel(),this),this.current()&&this.select(),b.options.closable&&this.link.insert(j("div",{"class":"rui-tabs-tab-close-icon",html:"&times;"}).onClick(f(this.remove).bind(this))),this.onClick(this._clicked)},select:function(){if(this.enabled()){var a=this.main.current();a&&a.removeClass("rui-tabs-current").fire("hide"),this.addClass("rui-tabs-current"),this.main.scrollToTab(this),this.panel.show()}return this.fire("select")},disable:function(){return this.addClass("rui-tabs-disabled").fire("disable")},enable:function(){return this.removeClass("rui-tabs-disabled").fire("enable")},disabled:function(){return!this.enabled()},enabled:function(){return!this.hasClass("rui-tabs-disabled")},current:function(){return this.hasClass("rui-tabs-current")},remove:function(a){a&&a.stop();if(this.current()){var b=this.main.enabled(),c=b[b.indexOf(this)+1]||b[b.indexOf(this)-1];c&&c.select()}this.main.tabs.splice(this.main.tabs.indexOf(this),1),this.panel.remove();var d=this.parent();this.fire("beforeremove"),this.$super(),d.fire("remove",{target:this});return this},_clicked:function(a){a.stop();return this.select()},findPanel:function(){var a=this.main,b=a.options.idPrefix+this.id,c;if(a.isHarmonica){var d=this.next();c=d&&d._.tagName==="DD"?d:j("DD").insertTo(this,"after")}else c=g(b)||j(a._.tagName==="UL"?"LI":"DIV").insertTo(a);return c.set("id",b)},width:function(){var a=this.next();return a?a.position().x-this.position().x:this.size().x+1}}),u=s.Panel=new p(q,{initialize:function(a,b){this.$super(a._),this.addClass("rui-tabs-panel"),this.tab=b,this.id=this.get("id")},show:function(){return this.resizing(function(){this.tab.main.find(".rui-tabs-panel").each(function(a){a[a===this?"addClass":"removeClass"]("rui-tabs-current")},this)})},update:function(a){this.tab.current()?this.resizing(function(){q.prototype.update.call(this,a||"")}):this.$super(a||"");return this},lock:function(){this.insert(this.locker(),"top")},resizing:function(a){var b=this.tab.main;if(b.__working)return this.resizing.bind(this,a).delay(100);var d=b.options,e=b.first(".rui-tabs-panel.rui-tabs-current"),f=this,g=e!==f,h=this.first("div.rui-tabs-panel-locker");f.parent().hasClass("rui-tabs-resizer")&&f.insertTo(e.parent());if(d.resizeFx&&c.Fx&&e&&(g||h)){b.__working=!0;var i=function(){b.__working=!1},l=d.resizeFx==="both"&&h?"slide":d.resizeFx,m=d.resizeDuration;m=k.Durations[m]||m;var n=l==="fade"?0:l==="slide"?m:m/2,o=m-n;l!=="slide"&&f.setStyle({opacity:0});var p=b.isHarmonica&&g?0:e.size().y;a.call(this);var q=f.size().y,r=null,s=null,t=null;l!=="fade"&&p!==q?(b._.style.height=b.size().y+"px",r=j("div",{"class":"rui-tabs-resizer",style:"height: "+p+"px"}),b.isHarmonica&&g&&(e.addClass("rui-tabs-current"),s=j("div",{"class":"rui-tabs-resizer"}),s._.style.height=e.size().y+"px",t=function(){s.replace(e.removeClass("rui-tabs-current"))},e.wrap(s),r._.style.height="0px"),f.wrap(r),b._.style.height="auto"):(rezise_duration=0,m=o);var u=0,v=function(){if(r){if(l=="both"&&!u)return u++;r.replace(f)}i()};s&&s.morph({height:"0px"},{duration:n,onFinish:t}),r&&r.morph({height:q+"px"},{duration:n,onFinish:v}),l!=="slide"&&f.morph.bind(f,{opacity:1},{duration:o,onFinish:v}).delay(n),!r&&l==="slide"&&v()}else a.call(this);return this},locker:function(){return this._locker||(this._locker=j("div",{"class":"rui-tabs-panel-locker"}).insert(new e(5)))}});s.include({next:function(){return this.pickTab(+1)},prev:function(){return this.pickTab(-1)},scrollLeft:function(){this.prevButton.hasClass("rui-tabs-scroller-disabled")||this[this.isCarousel?"prev":"justScroll"](+.6);return this},scrollRight:function(){this.nextButton.hasClass("rui-tabs-scroller-disabled")||this[this.isCarousel?"next":"justScroll"](-.6);return this},initScrolls:function(){(this.scrollable=this.options.scrollTabs||this.isCarousel)&&this.buildScroller();return this},buildScroller:function(){if(!(this.prevButton=this.first(".rui-tabs-scroller-prev"))||!(this.nextButton=this.first(".rui-tabs-scroller-next")))this.prevButton=j("div",{"class":"rui-tabs-scroller-prev",html:"&laquo;"}),this.nextButton=j("div",{"class":"rui-tabs-scroller-next",html:"&raquo;"}),j("div").insertTo(this.tabsList,"before").replace(j("div",{"class":"rui-tabs-scroller"}).insert([this.prevButton,this.nextButton,this.scroller=j("div",{"class":"rui-tabs-scroller-body"}).insert(this.tabsList)])).remove();this.prevButton.onClick(f(this.scrollLeft).bind(this)),this.nextButton.onClick(f(this.scrollRight).bind(this))},pickTab:function(a){var b=this.current();if(b&&b.enabled()){var c=this.enabled(),d=c[c.indexOf(b)+a];d&&d.select()}},scrollToTab:function(a){if(this.scroller){var c=0;for(var d=0;d<this.tabs.length;d++){c+=this.tabs[d].width();if(this.tabs[d]===a)break}var e=this.scroller.size().x,f=(this.isCarousel?e/2+a.width()/2:e)-c;if(!this.isCarousel){var g=b(this.tabsList.getStyle("left")||0,10);f>=g&&f<g+e-a.width()?f=g:g>-c&&g<=a.width()-c&&(f=a.width()-c)}this.scrollTo(f)}},justScroll:function(a){if(!this.scroller)return this;var c=b(this.tabsList.getStyle("left")||0,10),d=this.scroller.size().x;this.scrollTo(c+d*a)},scrollTo:function(a){var b=this.scroller.size().x,c=this.tabs.map("width").sum();a<b-c&&(a=b-c),a>0&&(a=0),this.tabsList.morph({left:a+"px"},{duration:this.options.scrollDuration}),this.checkScrollButtons(c,b,a)},checkScrollButtons:function(a,b,c){var d=!1,e=!1;if(this.isCarousel){var f=this.enabled(),g=f.first("current");if(g){var h=f.indexOf(g);d=h>0,e=h<f.length-1}}else d=c!==0,e=c>b-a;this.prevButton[d?"removeClass":"addClass"]("rui-tabs-scroller-disabled"),this.nextButton[e?"removeClass":"addClass"]("rui-tabs-scroller-disabled")}}),s.include({findCurrent:function(){var a=this.enabled(),b=this.tabs[this.options.selected]||this.tabs[this.urlIndex()]||this.tabs[this.cookieIndex()]||a.first("current")||a[0];b&&b.select(),this.options.Cookie&&this.onSelect(f(w).curry(this.options.Cookie,this.tabs));return this},urlIndex:function(){var b=-1,c=a.location.href.split("#")[1];if(c)for(var d=0;d<this.tabs.length;d++)if(this.tabs[d].id==c){b=d;break}return b},cookieIndex:function(){var a=-1;if(this.options.Cookie){var b=v();for(var c=0;c<this.tabs.length;c++)if(b.include(this.tabs[c].id)){a=c;break}}return a}}),s.include({add:function(a,b,c){c=c||{};var d=j(this.isHarmonica?"dt":"li").insert(j("a",{html:a,href:c.url||"#"+(c.id||"")})).insertTo(this.tabsList),e=new t(d,this);e.panel.update(b||""),this.tabs.push(e),e.fire("add"),"position"in c&&this.move(e,c.position);return this},move:function(a,b){a=this.tabs[a]||a,this.tabs[b]&&this.tabs[b]!==a&&(this.tabs[b].insert(a,b===this.tabs.length-1?"after":"before"),this.isHarmonica&&a.insert(a.panel,"after"),this.tabs.splice(this.tabs.indexOf(a),1),this.tabs.splice(b,0,a),a.fire("move",{index:b}));return this},remove:function(a){return arguments.length===0?this.$super():this.callTab(a,"remove")}});var x=t.prototype.select;t.include({select:function(){if(this.dogPiling(arguments))return this;var a=x.apply(this,arguments),b=f(this.link.get("href")),d=this.main.options;b.includes("#")&&(b=d.url?d.url.replace("%{id}",b.split("#")[1]):null);if(b&&!this.request&&(!d.cache&&!this.cache)){this.panel.lock();try{this.request=(new c.Xhr(b,l.merge({method:"get"},d.Xhr))).onComplete(f(function(a){if(this.main.__working)return arguments.callee.bind(this,a).delay(100);this.panel.update(a.text),this.request=null,d.cache&&(this.cache=!0),this.fire("load")}).bind(this)).send()}catch(e){if(!m.OLD)throw e}}return a},dogPiling:function(a){if(this.main.__working){this.main.__timeout&&this.main.__timeout.cancel(),this.main.__timeout=f(function(a){this.select.apply(this,a)}).bind(this,a).delay(100);return!0}return this.main.__timeout=null}}),s.include({startLoop:function(a){if(!a&&!this.options.loop)return this;this.options.loopPause&&(this._stopLoop=this._stopLoop||f(this.stopLoop).bind(this,!0),this._startLoop=this._startLoop||f(this.startLoop).bind(this,a),this.forgetHovers().on({mouseover:this._stopLoop,mouseout:this._startLoop})),this.timer&&this.timer.stop(),this.timer=f(function(){var a=this.enabled(),b=this.current(),c=a[a.indexOf(b)+1];this.select(c||a.first())}).bind(this).periodical(this.options.loop||a);return this},stopLoop:function(a,b){this.timer&&(this.timer.stop(),this.timer=null),!b&&this._startLoop&&this.forgetHovers()},forgetHovers:function(){return this.stopObserving("mouseover",this._stopLoop).stopObserving("mouseout",this._startLoop)}}),g(a).onReady(function(){s.rescan()});var y=a.createElement("style"),z=a.createTextNode("div.rui-spinner,div.rui-spinner div{margin:0;padding:0;border:none;background:none;list-style:none;font-weight:normal;float:none;display:inline-block; *display:inline; *zoom:1;border-radius:.12em;-moz-border-radius:.12em;-webkit-border-radius:.12em}div.rui-spinner{text-align:center;white-space:nowrap;background:#EEE;border:1px solid #DDD;height:1.2em;padding:0 .2em}div.rui-spinner div{width:.4em;height:70%;background:#BBB;margin-left:1px}div.rui-spinner div:first-child{margin-left:0}div.rui-spinner div.glowing{background:#777}.rui-tabs,.rui-tabs-list,.rui-tabs-tab,.rui-tabs-panel,.rui-tabs-scroll-left,.rui-tabs-scroll-right,.rui-tabs-scroll-body,.rui-tabs-panel-locker,.rui-tabs-resizer{margin:0;padding:0;background:none;border:none;list-style:none;display:block;width:auto;height:auto}.rui-tabs{display:block;visibility:hidden;border-bottom:1px solid #CCC}.rui-tabs-resizer{overflow:hidden}.rui-tabs-list{display:block;position:relative;padding:0 .5em;border-bottom:1px solid #CCC;white-space:nowrap}.rui-tabs-list .rui-tabs-tab,.rui-tabs-tab *,.rui-tabs-tab *:hover{display:inline-block; *display:inline; *zoom:1;cursor:pointer;text-decoration:none;vertical-align:center}.rui-tabs-list .rui-tabs-tab{vertical-align:bottom;margin-right:.1em}.rui-tabs-tab a{outline:none;position:relative;border:1px solid #CCC;background:#DDD;color:#444;padding:.3em 1em;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}.rui-tabs-tab a:hover{border-color:#CCC;background:#EEE}.rui-tabs-list .rui-tabs-current a,.rui-tabs-list .rui-tabs-current a:hover{font-weight:bold;color:#000;background:#FFF;border-bottom:1px solid #FFF;border-top-width:2px;padding-top:.34em;padding-bottom:.34em;top:1px}.rui-tabs-tab a img{border:none;opacity:.6;filter:alpha(opacity=60)}.rui-tabs-tab a:hover img,.rui-tabs-list .rui-tabs-current a img{opacity:1;filter:alpha(opacity=100)}.rui-tabs-disabled a,.rui-tabs-disabled a:hover{background:#EEE;border-color:#DDD;color:#AAA;cursor:default}.rui-tabs-disabled a img,.rui-tabs-disabled a:hover img{opacity:.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon{display:inline-block; *display:inline; *zoom:1;margin-right:-0.5em;margin-left:0.5em;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}.rui-tabs-tab-close-icon:hover{opacity:1;filter:alpha(opacity=100);color:#B00;text-shadow:#888 .15em .15em .2em}.rui-tabs-panel{display:none;position:relative;min-height:4em;padding:.5em 0}.rui-tabs-current{display:block}.rui-tabs-scroller{position:relative;padding:0 1.4em}.rui-tabs-scroller-prev,.rui-tabs-scroller-next{width:1.1em;text-align:center;background:#EEE;color:#666;cursor:pointer;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;position:absolute;bottom:0px;left:0px;padding:0.3em 0;user-select:none;-moz-user-select:none;-webkit-user-select:none}.rui-tabs-scroller-prev:hover,.rui-tabs-scroller-next:hover{color:#000;background:#DDD;border-color:#AAA}.rui-tabs-scroller-prev:active,.rui-tabs-scroller-next:active{background:#eee;border-color:#ccc}.rui-tabs-scroller-next{left:auto;right:0px}.rui-tabs-scroller-disabled,.rui-tabs-scroller-disabled:hover{cursor:default;background:#DDD;border-color:#DDD;color:#AAA}.rui-tabs-scroller-body{overflow:hidden;width:100%;position:relative}.rui-tabs-scroller .rui-tabs-list{padding-left:0;padding-right:0;width:9999em;z-index:10}.rui-tabs-panel-locker{position:absolute;top:0px;left:0px;opacity:0.5;filter:alpha(opacity=50);background:#CCC;width:100%;height:100%;text-align:center}.rui-tabs-panel-locker .rui-spinner{position:absolute;left:44%;top:44%;background:none;border:none;height:2em}.rui-tabs-panel-locker .rui-spinner div{background:#666;width:.65em;margin-left:.15em}.rui-tabs-panel-locker .rui-spinner div.glowing{background:#000}.rui-tabs-carousel .rui-tabs-list{border:none}.rui-tabs-carousel .rui-tabs-tab a,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-prev,.rui-tabs-carousel .rui-tabs-scroller .rui-tabs-scroller-next{height:6em;line-height:6em;padding:0;border-bottom:1px solid #ccc;border-radius:.25em;-moz-border-radius:.25em;-webkit-border-radius:.25em}.rui-tabs-carousel .rui-tabs-tab{margin-right:3px}.rui-tabs-carousel .rui-tabs-tab a img{border:1px solid #CCC;vertical-align:middle;margin:.4em;padding:0;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a{border-width:1px;border-color:#AAA;padding:0;top:auto}.rui-tabs-carousel .rui-tabs-list .rui-tabs-current a img{border-color:#bbb}.rui-tabs-carousel .rui-tabs-panel{text-align:center}dl.rui-tabs{border:none}dt.rui-tabs-tab,dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{display:block;float:none}dt.rui-tabs-tab a,dt.rui-tabs-tab a:hover{padding:.2em 1em;border:1px solid #ccc;border-radius:.25em;-moz-border-radius:.3em;-webkit-border-radius:.3em}dl.rui-tabs dt.rui-tabs-current a{background:#EEE;border-bottom-left-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}dl.rui-tabs dd.rui-tabs-current+dt.rui-tabs-tab a{border-top-left-radius:0;border-top-right-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0}");y.type="text/css",a.getElementsByTagName("head")[0].appendChild(y),y.styleSheet?y.styleSheet.cssText=z.nodeValue:y.appendChild(z);return s}(document,parseInt,RightJS)
@@ -1,8 +1,8 @@
1
1
  /**
2
- * The tooltips feature for RightJS
3
- * See http://rightjs.org/ui/tooltips
2
+ * RightJS-UI Tooltips v2.2.1
3
+ * http://rightjs.org/ui/tooltips
4
4
  *
5
- * Copyright (C) 2009-2010 Nikolay Nemshilov
5
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
6
6
  */
7
7
  var Tooltip = RightJS.Tooltip = (function(document, RightJS) {
8
8
  /**
@@ -10,23 +10,9 @@ var Tooltip = RightJS.Tooltip = (function(document, RightJS) {
10
10
  * it creates an abstract proxy with the common functionality
11
11
  * which then we reuse and override in the actual widgets
12
12
  *
13
- * Copyright (C) 2010 Nikolay Nemshilov
13
+ * Copyright (C) 2010-2011 Nikolay Nemshilov
14
14
  */
15
15
 
16
- /**
17
- * The tooltips initialization script
18
- *
19
- * Copyright (C) 2010 Nikolay Nemshilov
20
- */
21
- var R = RightJS,
22
- $ = RightJS.$,
23
- $w = RightJS.$w,
24
- $uid = RightJS.$uid,
25
- Element = RightJS.Element;
26
-
27
-
28
-
29
-
30
16
  /**
31
17
  * The widget units constructor
32
18
  *
@@ -45,7 +31,7 @@ function Widget(tag_name, methods) {
45
31
  *
46
32
  * Copyright (C) 2010 Nikolay Nemshilov
47
33
  */
48
- var AbstractWidget = new RightJS.Wrapper(RightJS.Element.Wrappers[tag_name] || RightJS.Element, {
34
+ var AbstractWidget = new RightJS.Class(RightJS.Element.Wrappers[tag_name] || RightJS.Element, {
49
35
  /**
50
36
  * The common constructor
51
37
  *
@@ -77,7 +63,8 @@ function Widget(tag_name, methods) {
77
63
  options = {};
78
64
  }
79
65
  this.setOptions(options, this);
80
- return this;
66
+
67
+ return (RightJS.Wrapper.Cache[RightJS.$uid(this._)] = this);
81
68
  },
82
69
 
83
70
  // protected
@@ -90,12 +77,16 @@ function Widget(tag_name, methods) {
90
77
  * @return void
91
78
  */
92
79
  setOptions: function(options, element) {
93
- element = element || this;
94
- RightJS.Options.setOptions.call(this,
95
- RightJS.Object.merge(options, eval("("+(
80
+ if (element) {
81
+ options = RightJS.Object.merge(options, new Function("return "+(
96
82
  element.get('data-'+ this.key) || '{}'
97
- )+")"))
98
- );
83
+ ))());
84
+ }
85
+
86
+ if (options) {
87
+ RightJS.Options.setOptions.call(this, RightJS.Object.merge(this.options, options));
88
+ }
89
+
99
90
  return this;
100
91
  }
101
92
  });
@@ -104,7 +95,7 @@ function Widget(tag_name, methods) {
104
95
  * Creating the actual widget class
105
96
  *
106
97
  */
107
- var Klass = new RightJS.Wrapper(AbstractWidget, methods);
98
+ var Klass = new RightJS.Class(AbstractWidget, methods);
108
99
 
109
100
  // creating the widget related shortcuts
110
101
  RightJS.Observer.createShortcuts(Klass.prototype, Klass.EVENTS || []);
@@ -113,14 +104,28 @@ function Widget(tag_name, methods) {
113
104
  }
114
105
 
115
106
 
107
+ /**
108
+ * The tooltips initialization script
109
+ *
110
+ * Copyright (C) 2010 Nikolay Nemshilov
111
+ */
112
+ var R = RightJS,
113
+ $ = RightJS.$,
114
+ $w = RightJS.$w,
115
+ $uid = RightJS.$uid,
116
+ Element = RightJS.Element;
117
+
118
+
119
+
120
+
116
121
  /**
117
122
  * The native tooltips feature for RithJS
118
123
  *
119
- * Copyright (C) 2009-2010 Nikolay Nemshilov
124
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
120
125
  */
121
126
  var Tooltip = new Widget({
122
127
  extend: {
123
- version: '2.0.0',
128
+ version: '2.2.1',
124
129
 
125
130
  EVENTS: $w('show hide'),
126
131
 
@@ -141,9 +146,9 @@ var Tooltip = new Widget({
141
146
 
142
147
  // tries to find a tip closest to the event
143
148
  find: function(event) {
144
- var element = event.find(Tooltip.Options.cssRule);
149
+ var element = event.target;
145
150
 
146
- if (element) {
151
+ if (element.match(Tooltip.Options.cssRule)) {
147
152
  var uid = $uid(element);
148
153
  return (Tooltip.instances[uid] || (Tooltip.instances[uid] = new Tooltip(element)));
149
154
  }
@@ -168,7 +173,7 @@ var Tooltip = new Widget({
168
173
  '</div>'
169
174
  )
170
175
  .on({
171
- mouseout: 'stopEvent',
176
+ mouseout: this._mouseOut,
172
177
  mouseover: this._cancelTimer
173
178
  })
174
179
  .insertTo(document.body);
@@ -192,13 +197,10 @@ var Tooltip = new Widget({
192
197
 
193
198
  this._timer = R(function() {
194
199
  Element.prototype.hide.call(this, this.options.fxName, {
195
- duration: this.options.fxDuration,
196
- onFinish: R(function() {
197
- if (Tooltip.current === this) {
198
- Tooltip.current = null;
199
- }
200
- }).bind(this)
200
+ engine: 'javascript', // Webkit too slow in here
201
+ duration: this.options.fxDuration
201
202
  });
203
+ Tooltip.current = null;
202
204
  this.fire('hide');
203
205
  }).bind(this).delay(100);
204
206
 
@@ -220,7 +222,10 @@ var Tooltip = new Widget({
220
222
  // show the tooltip with a delay
221
223
  this._timer = R(function() {
222
224
  Element.prototype.show.call(this.stop(),
223
- this.options.fxName, {duration: this.options.fxDuration}
225
+ this.options.fxName, {
226
+ engine: 'javascript', // webkit it too slow on that
227
+ duration: this.options.fxDuration
228
+ }
224
229
  );
225
230
 
226
231
  Tooltip.current = this.fire('show');
@@ -235,8 +240,10 @@ var Tooltip = new Widget({
235
240
  * @return Tooltip this
236
241
  */
237
242
  moveToEvent: function(event) {
238
- this._.style.left = event.pageX + 'px';
239
- this._.style.top = event.pageY + 'px';
243
+ if (this.options.move) {
244
+ this._.style.left = event.pageX + 'px';
245
+ this._.style.top = event.pageY + 'px';
246
+ }
240
247
 
241
248
  return this;
242
249
  },
@@ -244,12 +251,19 @@ var Tooltip = new Widget({
244
251
  // protected
245
252
 
246
253
  // cancels a show timeout
247
- _cancelTimer: function(event) {
248
- if (event) { event.stop(); }
254
+ _cancelTimer: function() {
249
255
  if (this._timer) {
250
256
  this._timer.cancel();
251
257
  this._timer = null;
252
258
  }
259
+ return false;
260
+ },
261
+
262
+ _mouseOut: function(event) {
263
+ event.stop();
264
+ if (event.relatedTarget !== this.associate) {
265
+ this.hide();
266
+ }
253
267
  }
254
268
  });
255
269
 
@@ -257,7 +271,7 @@ var Tooltip = new Widget({
257
271
  /**
258
272
  * The post load tooltips initialization script
259
273
  *
260
- * Copyright (C) 2009-2010 Nikolay Nemshilov
274
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
261
275
  */
262
276
  $(document).on({
263
277
  /**
@@ -266,13 +280,10 @@ $(document).on({
266
280
  *
267
281
  * @param Event event
268
282
  */
269
- mouseover: function(event) {
270
- var prev_tip = Tooltip.current, this_tip = Tooltip.find(event);
271
- if (this_tip) {
272
- if (prev_tip && prev_tip !== this_tip) { prev_tip.hide(); }
273
- if (this_tip.hidden()) { this_tip.show(); }
274
-
275
- this_tip.moveToEvent(event);
283
+ mouseenter: function(event) {
284
+ var tip = Tooltip.find(event);
285
+ if (tip) {
286
+ tip.show().moveToEvent(event);
276
287
  }
277
288
  },
278
289
 
@@ -281,11 +292,11 @@ $(document).on({
281
292
  *
282
293
  * @param Event event
283
294
  */
284
- mouseout: function(event) {
285
- var curr_tip = Tooltip.current, this_tip = Tooltip.find(event);
295
+ mouseleave: function(event) {
296
+ var tip = Tooltip.find(event);
286
297
 
287
- if (curr_tip && (!this_tip || this_tip === curr_tip)) {
288
- curr_tip.hide();
298
+ if (tip) {
299
+ tip.hide();
289
300
  }
290
301
  },
291
302
 
@@ -296,14 +307,25 @@ $(document).on({
296
307
  */
297
308
  mousemove: function(event) {
298
309
  var tip = Tooltip.current;
299
- if (tip && tip.options.move) {
310
+ if (tip !== null && tip.options.move) {
300
311
  tip.moveToEvent(event);
301
312
  }
302
313
  }
303
314
  });
304
315
 
305
316
 
306
- document.write("<style type=\"text/css\">div.rui-tooltip{display:none;position:absolute;z-index:99999;font-size:90%;margin-top:16pt;margin-left:5pt;color:#FFF;text-shadow:0 0 .2em #000;border:.3em solid rgba(255,255,255,0.2);background-color:rgba(25,25,25,0.92); *background-color:#000; *border:.3em solid #444;background-image:-webkit-gradient(linear,0% 0%,0% 100%,from(transparent) ,to(#000) );border-radius:.4em;-moz-border-radius:.4em;-webkit-border-radius:.4em;box-shadow:0 0 .4em #555;-moz-box-shadow:0 0 .4em #555;-webkit-box-shadow:0 0 .4em #555}div.rui-tooltip-container{margin:.4em .6em}</style>");
317
+ var embed_style = document.createElement('style'),
318
+ embed_rules = document.createTextNode("div.rui-tooltip{display:none;position:absolute;z-index:99999;font-size:90%;margin-top:16pt;margin-left:5pt;color:#FFF;text-shadow:0 0 .2em #000;border:.3em solid rgba(255,255,255,0.2);background-color:rgba(25,25,25,0.92);background-color:#000 \\9;border:.3em solid #444 \\9;background-image:-webkit-gradient(linear,0% 0%,0% 100%,from(transparent) ,to(#000) );border-radius:.4em;-moz-border-radius:.4em;-webkit-border-radius:.4em;box-shadow:0 0 .4em #555;-moz-box-shadow:0 0 .4em #555;-webkit-box-shadow:0 0 .4em #555}div.rui-tooltip-container{margin:.4em .6em}");
319
+
320
+ embed_style.type = 'text/css';
321
+ document.getElementsByTagName('head')[0].appendChild(embed_style);
322
+
323
+ if(embed_style.styleSheet) {
324
+ embed_style.styleSheet.cssText = embed_rules.nodeValue;
325
+ } else {
326
+ embed_style.appendChild(embed_rules);
327
+ }
328
+
307
329
 
308
330
  return Tooltip;
309
331
  })(document, RightJS);
@@ -1,12 +1,7 @@
1
1
  /**
2
- * The tooltips feature for RightJS
3
- * See http://rightjs.org/ui/tooltips
2
+ * RightJS-UI Tooltips v2.2.1
3
+ * http://rightjs.org/ui/tooltips
4
4
  *
5
- * Copyright (C) 2009-2010 Nikolay Nemshilov
5
+ * Copyright (C) 2009-2011 Nikolay Nemshilov
6
6
  */
7
- var Tooltip=RightJS.Tooltip=function(h,b){var i=b.$,l=b.$w,m=b.$uid,j=b.Element,d=new (function(a,c){if(!c){c=a;a="DIV"}var f=new b.Wrapper(b.Element.Wrappers[a]||b.Element,{initialize:function(g,e){this.key=g;var k=[{"class":"rui-"+g}];this instanceof b.Input||this instanceof b.Form||k.unshift(a);this.$super.apply(this,k);if(b.isString(e))e=b.$(e);if(e instanceof b.Element){this._=e._;if("$listeners"in e)e.$listeners=e.$listeners;e={}}this.setOptions(e,this);return this},setOptions:function(g,e){e=
8
- e||this;b.Options.setOptions.call(this,b.Object.merge(g,eval("("+(e.get("data-"+this.key)||"{}")+")")));return this}});f=new b.Wrapper(f,c);b.Observer.createShortcuts(f.prototype,f.EVENTS||[]);return f})({extend:{version:"2.0.0",EVENTS:l("show hide"),Options:{cssRule:"[data-tooltip]",fxName:"fade",fxDuration:400,delay:400,move:true,idSuffix:"-tooltip"},current:null,instances:b([]),find:function(a){if(a=a.find(d.Options.cssRule)){var c=m(a);return d.instances[c]||(d.instances[c]=new d(a))}}},initialize:function(a,
9
- c){this.associate=a=i(a);this.$super("tooltip").setOptions(c,a).insert('<div class="rui-tooltip-arrow"></div><div class="rui-tooltip-container">'+(a.get("title")||a.get("alt"))+"</div>").on({mouseout:"stopEvent",mouseover:this._cancelTimer}).insertTo(h.body);a.has("id")&&this.set("id",a.get("id")+this.options.idSuffix);a.set({title:"",alt:""})},hide:function(){this._cancelTimer();this._timer=b(function(){j.prototype.hide.call(this,this.options.fxName,{duration:this.options.fxDuration,onFinish:b(function(){if(d.current===
10
- this)d.current=null}).bind(this)});this.fire("hide")}).bind(this).delay(100);return this},show:function(){d.instances.each(function(a){a&&a!==this&&a.hide()},this);this._timer=b(function(){j.prototype.show.call(this.stop(),this.options.fxName,{duration:this.options.fxDuration});d.current=this.fire("show")}).bind(this).delay(this.options.delay);return d.current=this},moveToEvent:function(a){this._.style.left=a.pageX+"px";this._.style.top=a.pageY+"px";return this},_cancelTimer:function(a){a&&a.stop();
11
- if(this._timer){this._timer.cancel();this._timer=null}}});i(h).on({mouseover:function(a){var c=d.current,f=d.find(a);if(f){c&&c!==f&&c.hide();f.hidden()&&f.show();f.moveToEvent(a)}},mouseout:function(a){var c=d.current;a=d.find(a);if(c&&(!a||a===c))c.hide()},mousemove:function(a){var c=d.current;c&&c.options.move&&c.moveToEvent(a)}});h.write('<style type="text/css">div.rui-tooltip{display:none;position:absolute;z-index:99999;font-size:90%;margin-top:16pt;margin-left:5pt;color:#FFF;text-shadow:0 0 .2em #000;border:.3em solid rgba(255,255,255,0.2);background-color:rgba(25,25,25,0.92); *background-color:#000; *border:.3em solid #444;background-image:-webkit-gradient(linear,0% 0%,0% 100%,from(transparent) ,to(#000) );border-radius:.4em;-moz-border-radius:.4em;-webkit-border-radius:.4em;box-shadow:0 0 .4em #555;-moz-box-shadow:0 0 .4em #555;-webkit-box-shadow:0 0 .4em #555}div.rui-tooltip-container{margin:.4em .6em}</style>');
12
- return d}(document,RightJS);
7
+ var Tooltip=RightJS.Tooltip=function(a,b){function c(a,c){c||(c=a,a="DIV");var d=new b.Class(b.Element.Wrappers[a]||b.Element,{initialize:function(c,d){this.key=c;var e=[{"class":"rui-"+c}];this instanceof b.Input||this instanceof b.Form||e.unshift(a),this.$super.apply(this,e),b.isString(d)&&(d=b.$(d)),d instanceof b.Element&&(this._=d._,"$listeners"in d&&(d.$listeners=d.$listeners),d={}),this.setOptions(d,this);return b.Wrapper.Cache[b.$uid(this._)]=this},setOptions:function(a,c){c&&(a=b.Object.merge(a,(new Function("return "+(c.get("data-"+this.key)||"{}")))())),a&&b.Options.setOptions.call(this,b.Object.merge(this.options,a));return this}}),e=new b.Class(d,c);b.Observer.createShortcuts(e.prototype,e.EVENTS||[]);return e}var d=b,e=b.$,f=b.$w,g=b.$uid,h=b.Element,i=new c({extend:{version:"2.2.1",EVENTS:f("show hide"),Options:{cssRule:"[data-tooltip]",fxName:"fade",fxDuration:400,delay:400,move:!0,idSuffix:"-tooltip"},current:null,instances:d([]),find:function(a){var b=a.target;if(b.match(i.Options.cssRule)){var c=g(b);return i.instances[c]||(i.instances[c]=new i(b))}}},initialize:function(b,c){this.associate=b=e(b),this.$super("tooltip").setOptions(c,b).insert('<div class="rui-tooltip-arrow"></div><div class="rui-tooltip-container">'+(b.get("title")||b.get("alt"))+"</div>").on({mouseout:this._mouseOut,mouseover:this._cancelTimer}).insertTo(a.body),b.has("id")&&this.set("id",b.get("id")+this.options.idSuffix),b.set({title:"",alt:""})},hide:function(){this._cancelTimer(),this._timer=d(function(){h.prototype.hide.call(this,this.options.fxName,{engine:"javascript",duration:this.options.fxDuration}),i.current=null,this.fire("hide")}).bind(this).delay(100);return this},show:function(a){i.instances.each(function(a){a&&a!==this&&a.hide()},this),this._timer=d(function(){h.prototype.show.call(this.stop(),this.options.fxName,{engine:"javascript",duration:this.options.fxDuration}),i.current=this.fire("show")}).bind(this).delay(this.options.delay);return i.current=this},moveToEvent:function(a){this.options.move&&(this._.style.left=a.pageX+"px",this._.style.top=a.pageY+"px");return this},_cancelTimer:function(){this._timer&&(this._timer.cancel(),this._timer=null);return!1},_mouseOut:function(a){a.stop(),a.relatedTarget!==this.associate&&this.hide()}});e(a).on({mouseenter:function(a){var b=i.find(a);b&&b.show().moveToEvent(a)},mouseleave:function(a){var b=i.find(a);b&&b.hide()},mousemove:function(a){var b=i.current;b!==null&&b.options.move&&b.moveToEvent(a)}});var j=a.createElement("style"),k=a.createTextNode("div.rui-tooltip{display:none;position:absolute;z-index:99999;font-size:90%;margin-top:16pt;margin-left:5pt;color:#FFF;text-shadow:0 0 .2em #000;border:.3em solid rgba(255,255,255,0.2);background-color:rgba(25,25,25,0.92);background-color:#000 \\9;border:.3em solid #444 \\9;background-image:-webkit-gradient(linear,0% 0%,0% 100%,from(transparent) ,to(#000) );border-radius:.4em;-moz-border-radius:.4em;-webkit-border-radius:.4em;box-shadow:0 0 .4em #555;-moz-box-shadow:0 0 .4em #555;-webkit-box-shadow:0 0 .4em #555}div.rui-tooltip-container{margin:.4em .6em}");j.type="text/css",a.getElementsByTagName("head")[0].appendChild(j),j.styleSheet?j.styleSheet.cssText=k.nodeValue:j.appendChild(k);return i}(document,RightJS)