right-rails 1.0.3 → 1.0.5

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 (36) hide show
  1. data/CHANGELOG +8 -2
  2. data/Rakefile +28 -28
  3. data/lib/right_rails/java_script_generator.rb +59 -51
  4. data/public/images/{colorpicker.png → rightjs-ui/colorpicker.png} +0 -0
  5. data/public/images/{resizable.png → rightjs-ui/resizable.png} +0 -0
  6. data/public/javascripts/right-olds-src.js +47 -46
  7. data/public/javascripts/right-safe-src.js +103 -102
  8. data/public/javascripts/right-safe.js +1 -1
  9. data/public/javascripts/right-src.js +611 -541
  10. data/public/javascripts/right.js +86 -85
  11. data/public/javascripts/right/autocompleter-src.js +81 -77
  12. data/public/javascripts/right/autocompleter.js +1 -1
  13. data/public/javascripts/right/calendar-src.js +209 -197
  14. data/public/javascripts/right/calendar.js +6 -6
  15. data/public/javascripts/right/colorpicker-src.js +127 -117
  16. data/public/javascripts/right/colorpicker.js +6 -6
  17. data/public/javascripts/right/dnd-src.js +63 -63
  18. data/public/javascripts/right/dnd.js +2 -2
  19. data/public/javascripts/right/in-edit-src.js +53 -48
  20. data/public/javascripts/right/in-edit.js +2 -2
  21. data/public/javascripts/right/lightbox-src.js +107 -99
  22. data/public/javascripts/right/lightbox.js +2 -2
  23. data/public/javascripts/right/rater-src.js +48 -46
  24. data/public/javascripts/right/rater.js +3 -3
  25. data/public/javascripts/right/resizable-src.js +53 -61
  26. data/public/javascripts/right/resizable.js +4 -4
  27. data/public/javascripts/right/selectable-src.js +97 -95
  28. data/public/javascripts/right/selectable.js +2 -2
  29. data/public/javascripts/right/slider-src.js +47 -45
  30. data/public/javascripts/right/slider.js +8 -8
  31. data/public/javascripts/right/sortable-src.js +54 -52
  32. data/public/javascripts/right/tabs-src.js +181 -171
  33. data/public/javascripts/right/tooltip-src.js +39 -37
  34. data/public/javascripts/right/uploader-src.js +21 -19
  35. data/spec/lib/right_rails/java_script_generator_spec.rb +61 -56
  36. metadata +9 -7
@@ -8,6 +8,6 @@ var InEdit=RightJS.InEdit=function(i,a){var g=a.$,m=a.$w,n=a.Xhr,o=a.Object,j=a.
8
8
  "DIV"}var f=new a.Wrapper(a.Element.Wrappers[b]||a.Element,{initialize:function(h,c){this.key=h;var l=[{"class":"rui-"+h}];this instanceof a.Input||this instanceof a.Form||l.unshift(b);this.$super.apply(this,l);if(a.isString(c))c=a.$(c);if(c instanceof a.Element){this._=c._;if("$listeners"in c)c.$listeners=c.$listeners;c={}}this.setOptions(c,this);return this},setOptions:function(h,c){c=c||this;a.Options.setOptions.call(this,a.Object.merge(h,eval("("+(c.get("data-"+this.key)||"{}")+")")));return this}});
9
9
  f=new a.Wrapper(f,e);a.Observer.createShortcuts(f.prototype,f.EVENTS||[]);return f})("FORM",{extend:{version:"2.0.0",EVENTS:m("show hide send update"),Options:{url:null,name:"text",method:"put",type:"text",toggle:null,update:true,Xhr:{}},i18n:{Save:"Save",Cancel:"Cancel"},current:null},initialize:function(b,e){this.element=g(b);this.$super("in-edit",e).set("action",this.options.url).insert([this.field=new k({type:this.options.type,name:this.options.name,"class":"field"}),this.spinner=new p(4),this.submit=
10
10
  new k({type:"submit","class":"submit",value:d.i18n.Save}),this.cancel=new j("a",{"class":"cancel",href:"#",html:d.i18n.Cancel})]).onClick(this.clicked).onSubmit(this.send)},show:function(){if(d.current!==this){d.current&&d.current.hide();this.oldContent=this.element.html();a(["file","password"]).include(this.options.type)||this.field.setValue(this.oldContent);this.element.update(this);this.spinner.hide();this.submit.show();this.options.toggle&&g(this.options.toggle).hide()}this.options.type!=="file"&&
11
- this.field.focus();d.current=this;return this.fire("show",this)},hide:function(){this.element._.innerHTML=this.oldContent;this.xhr&&this.xhr.cancel();return this.finish()},send:function(b){b&&b.stop();this.spinner.show().resize(this.submit.size());this.submit.hide();this.xhr=(new n(this.options.url,o.merge(this.options.Xhr,{method:this.options.method,spinner:this.spinner,onComplete:a(this.receive).bind(this)}))).send(this);return this.fire("send",this)},finish:function(){this.options.toggle&&g(this.options.toggle).show();
12
- d.current=null;return this.fire("hide",this)},receive:function(){if(this.options.update){this.element.update(this.xhr.text);this.fire("update",this)}this.xhr=null;this.finish()},clicked:function(b){if(b.target===this.cancel){b.stop();this.hide()}}});g(i).onKeydown(function(b){b.keyCode===27&&d.current&&d.current.hide()});j.include({inEdit:function(b){return(new d(this,b)).show()}});i.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}form.rui-in-edit,form.rui-in-edit .cancel{margin:0;padding:0;float:none;position:static}form.rui-in-edit{display:inline-block; *display:inline; *zoom:1;border:none;background:none}form.rui-in-edit div.rui-spinner{margin-right:.2em}form.rui-in-edit div.rui-spinner div{margin-top:.2em}form.rui-in-edit textarea.field{width:100%;margin-bottom:.5em}form.rui-in-edit .field,form.rui-in-edit .submit{margin-right:.2em}form.rui-in-edit,form.rui-in-edit .field,form.rui-in-edit .submit,form.rui-in-edit div.rui-spinner,form.rui-in-edit .cancel{vertical-align:middle}</style>');
11
+ this.field.focus();d.current=this;return this.fire("show")},hide:function(){this.element._.innerHTML=this.oldContent;this.xhr&&this.xhr.cancel();return this.finish()},send:function(b){b&&b.stop();this.spinner.show().resize(this.submit.size());this.submit.hide();this.xhr=(new n(this.options.url,o.merge(this.options.Xhr,{method:this.options.method,spinner:this.spinner,onComplete:a(this.receive).bind(this)}))).send(this);return this.fire("send")},finish:function(){this.options.toggle&&g(this.options.toggle).show();
12
+ d.current=null;return this.fire("hide")},receive:function(){if(this.options.update){this.element.update(this.xhr.text);this.fire("update")}this.xhr=null;this.finish()},clicked:function(b){if(b.target===this.cancel){b.stop();this.hide()}}});g(i).onKeydown(function(b){b.keyCode===27&&d.current&&d.current.hide()});j.include({inEdit:function(b){return(new d(this,b)).show()}});i.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}form.rui-in-edit,form.rui-in-edit .cancel{margin:0;padding:0;float:none;position:static}form.rui-in-edit{display:inline-block; *display:inline; *zoom:1;border:none;background:none}form.rui-in-edit div.rui-spinner{margin-right:.2em}form.rui-in-edit div.rui-spinner div{margin-top:.2em}form.rui-in-edit textarea.field{width:100%;margin-bottom:.5em}form.rui-in-edit .field,form.rui-in-edit .submit{margin-right:.2em}form.rui-in-edit,form.rui-in-edit .field,form.rui-in-edit .submit,form.rui-in-edit div.rui-spinner,form.rui-in-edit .cancel{vertical-align:middle}</style>');
13
13
  return d}(document,RightJS);
@@ -40,19 +40,20 @@ Browser.IE6 = Browser.OLD && navigator.userAgent.indexOf("MSIE 6") > 0;
40
40
 
41
41
 
42
42
 
43
+
43
44
  /**
44
45
  * The widget units constructor
45
46
  *
46
47
  * @param String tag-name or Object methods
47
48
  * @param Object methods
48
49
  * @return Widget wrapper
49
- */
50
+ */
50
51
  function Widget(tag_name, methods) {
51
52
  if (!methods) {
52
53
  methods = tag_name;
53
54
  tag_name = 'DIV';
54
55
  }
55
-
56
+
56
57
  /**
57
58
  * An Abstract Widget Unit
58
59
  *
@@ -69,17 +70,17 @@ function Widget(tag_name, methods) {
69
70
  initialize: function(key, options) {
70
71
  this.key = key;
71
72
  var args = [{'class': 'rui-' + key}];
72
-
73
+
73
74
  // those two have different constructors
74
75
  if (!(this instanceof RightJS.Input || this instanceof RightJS.Form)) {
75
76
  args.unshift(tag_name);
76
77
  }
77
78
  this.$super.apply(this, args);
78
-
79
+
79
80
  if (RightJS.isString(options)) {
80
81
  options = RightJS.$(options);
81
82
  }
82
-
83
+
83
84
  // if the options is another element then
84
85
  // try to dynamically rewrap it with our widget
85
86
  if (options instanceof RightJS.Element) {
@@ -112,16 +113,16 @@ function Widget(tag_name, methods) {
112
113
  return this;
113
114
  }
114
115
  });
115
-
116
+
116
117
  /**
117
118
  * Creating the actual widget class
118
119
  *
119
120
  */
120
121
  var Klass = new RightJS.Wrapper(AbstractWidget, methods);
121
-
122
+
122
123
  // creating the widget related shortcuts
123
124
  RightJS.Observer.createShortcuts(Klass.prototype, Klass.EVENTS || []);
124
-
125
+
125
126
  return Klass;
126
127
  }
127
128
 
@@ -139,18 +140,18 @@ var Spinner = new RightJS.Wrapper(RightJS.Element, {
139
140
  * @return void
140
141
  */
141
142
  initialize: function(size) {
142
- this.$super('div', {'class': 'rui-spinner'});
143
+ this.$super('div', {'class': 'rui-spinner'});
143
144
  this.dots = [];
144
-
145
+
145
146
  for (var i=0; i < (size || 4); i++) {
146
147
  this.dots.push(new RightJS.Element('div'));
147
148
  }
148
-
149
+
149
150
  this.dots[0].addClass('glowing');
150
151
  this.insert(this.dots);
151
152
  RightJS(this.shift).bind(this).periodical(300);
152
153
  },
153
-
154
+
154
155
  /**
155
156
  * Shifts the spinner elements
156
157
  *
@@ -165,44 +166,45 @@ var Spinner = new RightJS.Wrapper(RightJS.Element, {
165
166
  }
166
167
  });
167
168
 
169
+
168
170
  /**
169
171
  * The lightbox widget
170
172
  *
171
173
  * Copyright (C) 2009-2010 Nikolay Nemshilov
172
174
  */
173
175
  var Lightbox = new Widget({
174
-
176
+
175
177
  extend: {
176
178
  version: '2.0.0',
177
-
179
+
178
180
  EVENTS: $w('show hide load'),
179
-
181
+
180
182
  Options: {
181
183
  fxName: 'fade',
182
- fxDuration: 100,
183
-
184
+ fxDuration: 200,
185
+
184
186
  group: null, // a group marker
185
-
187
+
186
188
  hideOnEsc: true,
187
189
  hideOnOutClick: true,
188
190
  showCloseButton: true,
189
-
191
+
190
192
  cssRule: "a[data-lightbox]", // all lightbox links css-rule
191
-
193
+
192
194
  // video links default size
193
195
  mediaWidth: 425,
194
196
  mediaHeight: 350
195
197
  },
196
-
198
+
197
199
  i18n: {
198
200
  Close: 'Close',
199
201
  Prev: 'Previous Image',
200
202
  Next: 'Next Image'
201
203
  },
202
-
204
+
203
205
  // the supported image-urls regexp
204
206
  Images: /\.(jpg|jpeg|gif|png|bmp)/,
205
-
207
+
206
208
  // media content sources
207
209
  Medias: [
208
210
  [/(http:\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)/, '$1/v/$2', 'swf'],
@@ -210,7 +212,7 @@ var Lightbox = new Widget({
210
212
  [/(http:\/\/vimeo\.[a-z]+)\/([0-9]+).*?/, '$1/moogaloop.swf?clip_id=$2', 'swf']
211
213
  ]
212
214
  },
213
-
215
+
214
216
  /**
215
217
  * basic constructor
216
218
  *
@@ -232,7 +234,7 @@ var Lightbox = new Widget({
232
234
  prev: this._prev
233
235
  });
234
236
  },
235
-
237
+
236
238
  /**
237
239
  * Extracting the rel="lightboux[groupname]" attributes
238
240
  *
@@ -242,17 +244,17 @@ var Lightbox = new Widget({
242
244
  */
243
245
  setOptions: function(options, context) {
244
246
  this.$super(options, context);
245
-
247
+
246
248
  if (context) {
247
249
  var rel = context.get('rel');
248
250
  if (rel && (rel = rel.match(/lightbox\[(.+?)\]/))) {
249
251
  this.options.group = rel[1];
250
252
  }
251
253
  }
252
-
254
+
253
255
  return this;
254
256
  },
255
-
257
+
256
258
  /**
257
259
  * Sets the popup's title
258
260
  *
@@ -261,10 +263,10 @@ var Lightbox = new Widget({
261
263
  */
262
264
  setTitle: function(text) {
263
265
  this.dialog.setTitle(text);
264
-
266
+
265
267
  return this;
266
268
  },
267
-
269
+
268
270
  /**
269
271
  * Shows the lightbox
270
272
  *
@@ -276,7 +278,7 @@ var Lightbox = new Widget({
276
278
  this.dialog.show(content, !content);
277
279
  });
278
280
  },
279
-
281
+
280
282
  /**
281
283
  * Hides the lightbox
282
284
  *
@@ -284,7 +286,7 @@ var Lightbox = new Widget({
284
286
  */
285
287
  hide: function() {
286
288
  Lightbox.current = null;
287
-
289
+
288
290
  return this.$super(this.options.fxName, {
289
291
  duration: this.options.fxDuration/3,
290
292
  onFinish: R(function() {
@@ -293,7 +295,7 @@ var Lightbox = new Widget({
293
295
  }).bind(this)
294
296
  });
295
297
  },
296
-
298
+
297
299
  /**
298
300
  * Loads up the data from url or a link
299
301
  *
@@ -306,7 +308,7 @@ var Lightbox = new Widget({
306
308
  this.dialog.load(link, options);
307
309
  });
308
310
  },
309
-
311
+
310
312
  /**
311
313
  * Resizes the content block to the given size
312
314
  *
@@ -317,7 +319,7 @@ var Lightbox = new Widget({
317
319
  this.dialog.resize(size);
318
320
  return this;
319
321
  },
320
-
322
+
321
323
  // protected
322
324
 
323
325
  // handles the 'close' event
@@ -325,30 +327,30 @@ var Lightbox = new Widget({
325
327
  event.stop();
326
328
  this.hide();
327
329
  },
328
-
330
+
329
331
  // handles the 'prev' event
330
332
  _prev: function(event) {
331
333
  event.stop();
332
334
  Pager.prev();
333
335
  },
334
-
336
+
335
337
  // handles the 'next' event
336
338
  _next: function(event) {
337
339
  event.stop();
338
340
  Pager.next();
339
341
  },
340
-
342
+
341
343
  // shows the lightbox element and then calls back
342
344
  _showAnd: function(callback) {
343
345
  if (Lightbox.current !== this) {
344
346
  Lightbox.current = this;
345
-
347
+
346
348
  // hidding all the hanging around lightboxes
347
349
  $$('div.rui-lightbox').each('remove');
348
-
350
+
349
351
  this.insertTo(document.body);
350
352
  this.dialog.show('', true);
351
-
353
+
352
354
  if (Browser.OLD) { // IE's get screwed by the transparency tricks
353
355
  this.reposition();
354
356
  Element.prototype.show.call(this);
@@ -366,15 +368,15 @@ var Lightbox = new Widget({
366
368
  } else {
367
369
  callback.call(this);
368
370
  }
369
-
371
+
370
372
  return this;
371
373
  },
372
-
374
+
373
375
  // manually repositioning under IE6 browser
374
376
  reposition: function() {
375
377
  if (Browser.IE6) {
376
378
  var win = $(window);
377
-
379
+
378
380
  this.setStyle({
379
381
  top: win.scrolls().y + 'px',
380
382
  width: win.size().x + 'px',
@@ -397,11 +399,11 @@ Lightbox.extend({
397
399
  Lightbox.current.hide();
398
400
  }
399
401
  },
400
-
402
+
401
403
  show: function() {
402
404
  return this.inst('show', arguments);
403
405
  },
404
-
406
+
405
407
  load: function() {
406
408
  return this.inst('load', arguments);
407
409
  },
@@ -414,6 +416,7 @@ Lightbox.extend({
414
416
  }
415
417
  });
416
418
 
419
+
417
420
  /**
418
421
  * Lightbox background locker element
419
422
  *
@@ -422,13 +425,14 @@ Lightbox.extend({
422
425
  var Locker = new Wrapper(Element, {
423
426
  initialize: function(options) {
424
427
  this.$super('div', {'class': 'rui-lightbox-locker'});
425
-
428
+
426
429
  if (options.hideOnOutClick) {
427
430
  this.onClick('fire', 'close');
428
431
  }
429
432
  }
430
433
  });
431
434
 
435
+
432
436
  /**
433
437
  * The dialog element wrapper
434
438
  *
@@ -443,14 +447,14 @@ var Dialog = new Wrapper(Element, {
443
447
  */
444
448
  initialize: function(options) {
445
449
  var i18n = Lightbox.i18n;
446
-
450
+
447
451
  this.options = options;
448
452
  this.$super('div', {'class': 'rui-lightbox-dialog'});
449
-
450
- // building up the
453
+
454
+ // building up the
451
455
  this.insert([
452
456
  this.title = $E('div', {'class': 'rui-lightbox-title'}),
453
-
457
+
454
458
  $E('div', {'class': 'rui-lightbox-body'}).insert(
455
459
  $E('div', {'class': 'rui-lightbox-body-inner'}).insert([
456
460
  this.locker = $E('div', {'class': 'rui-lightbox-body-locker'}).insert(new Spinner(4)),
@@ -459,23 +463,23 @@ var Dialog = new Wrapper(Element, {
459
463
  )
460
464
  ])
461
465
  ),
462
-
466
+
463
467
  $E('div', {'class': 'rui-lightbox-navigation'}).insert([
464
468
  this.closeButton = $E('div', {'class': 'close', html: '&times;', title: i18n.Close}).onClick('fire', 'close'),
465
469
  this.prevLink = $E('div', {'class': 'prev', html: '&larr;', title: i18n.Prev}).onClick('fire', 'prev'),
466
470
  this.nextLink = $E('div', {'class': 'next', html: '&rarr;', title: i18n.Next}).onClick('fire', 'next')
467
471
  ])
468
472
  ]);
469
-
473
+
470
474
  // presetting the navigation state
471
475
  this.prevLink.hide();
472
476
  this.nextLink.hide();
473
-
477
+
474
478
  if (!options.showCloseButton) {
475
479
  this.closeButton.hide();
476
480
  }
477
481
  },
478
-
482
+
479
483
  /**
480
484
  * Sets the dialogue caption
481
485
  *
@@ -485,7 +489,7 @@ var Dialog = new Wrapper(Element, {
485
489
  setTitle: function(title) {
486
490
  this.title.update(title||'');
487
491
  },
488
-
492
+
489
493
  /**
490
494
  * Nicely resize the dialog box
491
495
  *
@@ -498,11 +502,11 @@ var Dialog = new Wrapper(Element, {
498
502
  cur_size = this.scroller.size(),
499
503
  cur_top = (win_size.y - this.size().y)/2,
500
504
  dlg_diff = this.size().x - cur_size.x; // <- use for IE6 fixes
501
-
505
+
502
506
  if (end_size) {
503
507
  // getting the actual end-size
504
508
  end_size = this.scroller.setStyle(end_size).size();
505
-
509
+
506
510
  this.scroller.setStyle({
507
511
  width: cur_size.x + 'px',
508
512
  height: cur_size.y + 'px'
@@ -511,46 +515,46 @@ var Dialog = new Wrapper(Element, {
511
515
  // using the content block size
512
516
  end_size = this.content.size();
513
517
  }
514
-
518
+
515
519
  // checking the constraints
516
520
  var threshold = 100; // px
517
521
  if ((end_size.x + threshold) > win_size.x) { end_size.x = win_size.x - threshold; }
518
522
  if ((end_size.y + threshold) > win_size.y) { end_size.y = win_size.y - threshold; }
519
-
523
+
520
524
  // the actual resize and reposition
521
525
  var end_top = (cur_top * 2 + cur_size.y - end_size.y) / 2;
522
526
  var dialog = this._.style, content = this.scroller._.style;
523
-
527
+
524
528
  if (RightJS.Fx && with_fx && (end_size.x != cur_size.x || end_size.y != cur_size.y)) {
525
-
529
+
526
530
  $ext(new RightJS.Fx(this, {duration: this.options.fxDuration, transition: 'Lin'}), {
527
531
  render: function(delta) {
528
532
  content.width = (cur_size.x + (end_size.x - cur_size.x) * delta) + 'px';
529
533
  content.height = (cur_size.y + (end_size.y - cur_size.y) * delta) + 'px';
530
534
  dialog.top = (cur_top + (end_top - cur_top) * delta) + 'px';
531
-
535
+
532
536
  if (Browser.IE6) {
533
537
  dialog.width = (dlg_diff + cur_size.y + (end_size.y - cur_size.y) * delta) + 'px';
534
538
  }
535
539
  }
536
540
  }).onFinish(R(this.unlock).bind(this)).start();
537
-
541
+
538
542
  } else {
539
543
  // no-fx direct assignment
540
544
  content.width = end_size.x + 'px';
541
545
  content.height = end_size.y + 'px';
542
546
  dialog.top = end_top + 'px';
543
-
547
+
544
548
  if (Browser.IE6) {
545
549
  dialog.width = (dlg_diff + end_size.x) + 'px';
546
550
  }
547
-
551
+
548
552
  if (!this.request) { this.unlock(); }
549
553
  }
550
-
554
+
551
555
  return this;
552
556
  },
553
-
557
+
554
558
  /**
555
559
  * Shows the content
556
560
  *
@@ -561,7 +565,7 @@ var Dialog = new Wrapper(Element, {
561
565
  this.content.update(content || '');
562
566
  this.resize(null, !no_fx);
563
567
  },
564
-
568
+
565
569
  /**
566
570
  * Loads up the data from the link
567
571
  *
@@ -574,19 +578,19 @@ var Dialog = new Wrapper(Element, {
574
578
  this.setTitle(url.get('title'));
575
579
  url = url.get('href');
576
580
  }
577
-
581
+
578
582
  Pager.show(this, url);
579
583
  this.lock().cancel();
580
-
584
+
581
585
  // defined in the loader.js file
582
586
  this.request = new Loader(url, options, R(function(content, no_fx) {
583
587
  this.request = null;
584
588
  this.show(content, no_fx);
585
589
  }).bind(this));
586
-
590
+
587
591
  return this.resize(); // the look might be changed for a media-type
588
592
  },
589
-
593
+
590
594
  /**
591
595
  * Cancels a currently loading request
592
596
  *
@@ -596,10 +600,10 @@ var Dialog = new Wrapper(Element, {
596
600
  if (this.request) {
597
601
  this.request.cancel();
598
602
  }
599
-
603
+
600
604
  return this;
601
605
  },
602
-
606
+
603
607
  /**
604
608
  * Shows the loading lock
605
609
  *
@@ -609,7 +613,7 @@ var Dialog = new Wrapper(Element, {
609
613
  this.locker.setStyle('opacity:1');
610
614
  return this;
611
615
  },
612
-
616
+
613
617
  /**
614
618
  * Hides the loading lock
615
619
  *
@@ -619,11 +623,12 @@ var Dialog = new Wrapper(Element, {
619
623
  this.locker.morph({opacity: 0}, {
620
624
  duration: this.options.fxDuration * 2/3
621
625
  });
622
-
626
+
623
627
  return this;
624
628
  }
625
629
  });
626
630
 
631
+
627
632
  /**
628
633
  * Xhr/images/medias loading module
629
634
  *
@@ -651,7 +656,7 @@ var Loader = new Class({
651
656
  }).send();
652
657
  }
653
658
  },
654
-
659
+
655
660
  /**
656
661
  * Cancels the request
657
662
  *
@@ -666,7 +671,7 @@ var Loader = new Class({
666
671
  },
667
672
 
668
673
  // protected
669
-
674
+
670
675
  // tries to initialize it as an image loading
671
676
  isImage: function(url, on_finish) {
672
677
  if (url.match(Lightbox.Images)) {
@@ -678,20 +683,20 @@ var Loader = new Class({
678
683
  return true;
679
684
  }
680
685
  },
681
-
686
+
682
687
  // tries to initialize it as a flash-element
683
688
  isMedia: function(url, on_finish) {
684
689
  var media = R(Lightbox.Medias).map(function(desc) {
685
690
  return url.match(desc[0]) ? this.buildEmbed(
686
691
  url.replace(desc[0], desc[1]), desc[2]) : null;
687
692
  }, this).compact()[0];
688
-
693
+
689
694
  if (media) {
690
695
  on_finish(media, true);
691
696
  return true;
692
697
  }
693
698
  },
694
-
699
+
695
700
  // builds an embedded media block
696
701
  buildEmbed: function(url, type) {
697
702
  var media_types = {
@@ -710,9 +715,10 @@ var Loader = new Class({
710
715
  '<embed src="'+ url +'" type="'+ media_types[type][2]+'"'+ sizes + ' />' +
711
716
  '</object>';
712
717
  }
713
-
718
+
714
719
  });
715
720
 
721
+
716
722
  /**
717
723
  * Processes the link-groups showing things in a single Lightbox
718
724
  *
@@ -733,16 +739,16 @@ var Pager = {
733
739
  this.link = this.links.first(function(link) {
734
740
  return link.get('href') === url;
735
741
  });
736
-
742
+
737
743
  var index = this.links.indexOf(this.link), size = this.links.length;
738
-
744
+
739
745
  dialog.prevLink[size && index > 0 ? 'show' : 'hide']();
740
746
  dialog.nextLink[size && index < size - 1 ? 'show' : 'hide']();
741
747
  } else {
742
748
  this.dialog = null;
743
749
  }
744
750
  },
745
-
751
+
746
752
  /**
747
753
  * Shows the prev link
748
754
  *
@@ -752,14 +758,14 @@ var Pager = {
752
758
  if (this.dialog && !this.timer) {
753
759
  var id = this.links.indexOf(this.link),
754
760
  link = this.links[id - 1];
755
-
761
+
756
762
  if (link) {
757
763
  this.dialog.load(link);
758
764
  this.timeout();
759
765
  }
760
766
  }
761
767
  },
762
-
768
+
763
769
  /**
764
770
  * Shows the next link
765
771
  *
@@ -769,14 +775,14 @@ var Pager = {
769
775
  if (this.dialog && !this.timer) {
770
776
  var id = this.links.indexOf(this.link),
771
777
  link = this.links[id + 1];
772
-
778
+
773
779
  if (link) {
774
780
  this.dialog.load(link);
775
781
  this.timeout();
776
782
  }
777
783
  }
778
784
  },
779
-
785
+
780
786
  // private
781
787
 
782
788
  // finding the links list
@@ -784,12 +790,12 @@ var Pager = {
784
790
  return $$('a').filter(function(link) {
785
791
  var data = link.get('data-lightbox');
786
792
  var rel = link.get('rel');
787
-
793
+
788
794
  return (data && eval("("+ data + ")").group === group) ||
789
795
  (rel && rel.indexOf('lightbox['+ group + ']') > -1);
790
796
  });
791
797
  },
792
-
798
+
793
799
  // having a little nap to prevent ugly quick scrolling
794
800
  timeout: function() {
795
801
  this.timer = R(function() {
@@ -798,6 +804,7 @@ var Pager = {
798
804
  }
799
805
  };
800
806
 
807
+
801
808
  /**
802
809
  * document level hooks
803
810
  *
@@ -813,13 +820,13 @@ $(document).on({
813
820
  */
814
821
  click: function(event) {
815
822
  var target = event.find(Lightbox.Options.cssRule) || event.find('a[rel^=lightbox]');
816
-
823
+
817
824
  if (target) {
818
825
  event.stop();
819
826
  new Lightbox({}, target).load(target);
820
827
  }
821
828
  },
822
-
829
+
823
830
  /**
824
831
  * Catches the mousewheel event and tries to scroll
825
832
  * the list of objects on the lightbox
@@ -833,7 +840,7 @@ $(document).on({
833
840
  Lightbox.current.fire((event._.detail || -event._.wheelDelta) < 0 ? 'prev' : 'next');
834
841
  }
835
842
  },
836
-
843
+
837
844
  /**
838
845
  * Handles the navigation form a keyboard
839
846
  *
@@ -850,7 +857,7 @@ $(document).on({
850
857
  40: 'next', // Down
851
858
  34: 'next' // PageDown
852
859
  })[event.keyCode];
853
-
860
+
854
861
  if (lightbox && name) {
855
862
  if (name !== 'close' || lightbox.options.hideOnEsc) {
856
863
  event.stop();
@@ -867,7 +874,7 @@ $(window).on({
867
874
  Lightbox.current.dialog.resize();
868
875
  }
869
876
  },
870
-
877
+
871
878
  scroll: function(event) {
872
879
  if (Lightbox.current && Browser.IE6) {
873
880
  Lightbox.current.reposition();
@@ -875,7 +882,8 @@ $(window).on({
875
882
  }
876
883
  });
877
884
 
878
- 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}div.rui-lightbox{position:fixed;top:0;left:0;z-index:9999;float:none;width:100%;height:100%;margin:0;padding:0;background:none;border:none;text-align:center}div.rui-lightbox-locker{position:absolute;top:0px;left:0px;width:100%;height:100%;background-color:#000;opacity:0.8;filter:alpha(opacity=80);cursor:default}div.rui-lightbox-dialog{display:inline-block; *display:inline; *zoom:1;position:relative;text-align:left}div.rui-lightbox-title{height:1.2em;margin-bottom:.1em;white-space:nowrap;color:#DDD;font-weight:bold;font-size:1.6em;font-family:Helvetica;text-shadow:#000 .05em .1em .2em}div.rui-lightbox-body{background-color:white;padding:1em;border-radius:.5em;-moz-border-radius:.5em;-webkit-border-radius:.5em;box-shadow:#000 .1em .2em 1.5em;-moz-box-shadow:#000 .1em .2em 1.5em;-webkit-box-shadow:#000 .1em .2em 1.5em}div.rui-lightbox-body-inner{position:relative}div.rui-lightbox-scroller{overflow:hidden}div.rui-lightbox-content{display:inline-block; *display:inline; *zoom:1;min-height:10em;min-width:10em;_height:10em;_width:10em}div.rui-lightbox-body-locker{background-color:white;position:absolute;left:0px;top:0px;width:100%;height:100%;z-index:999;opacity:0;filter:alpha(opacity=0)}div.rui-lightbox-body-locker div.rui-spinner{position:absolute;right:0;bottom:0;border:none;background:none;font-size:150%}div.rui-lightbox-navigation{color:#888;font-size:150%;font-family:Arial;height:1em;user-select:none;-moz-user-select:none;-webkit-user-select:none}div.rui-lightbox-navigation div{cursor:pointer;position:absolute}div.rui-lightbox-navigation div:hover{color:white}div.rui-lightbox-navigation div.next{left:2em}div.rui-lightbox-navigation div.close{right:0}div.rui-lightbox-image div.rui-lightbox-body,div.rui-lightbox-media div.rui-lightbox-body{padding:0;border:1px solid #777;border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px}div.rui-lightbox-image div.rui-lightbox-content,div.rui-lightbox-media div.rui-lightbox-content{min-height:12em;min-width:12em;_height:12em;_width:12em}div.rui-lightbox-image div.rui-lightbox-content img{vertical-align:middle}div.rui-lightbox-image div.rui-lightbox-body,div.rui-lightbox-image div.rui-lightbox-body-locker,div.rui-lightbox-media div.rui-lightbox-body,div.rui-lightbox-media div.rui-lightbox-body-locker{background-color:#DDD}div.rui-lightbox-image div.rui-lightbox-body-locker div.rui-spinner,div.rui-lightbox-media div.rui-lightbox-body-locker div.rui-spinner{bottom:.5em;right:.5em}</style>");
885
+
886
+ 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}div.rui-lightbox{position:fixed;top:0;left:0;z-index:9999;float:none;width:100%;height:100%;margin:0;padding:0;background:none;border:none;text-align:center}div.rui-lightbox-locker{position:absolute;top:0px;left:0px;width:100%;height:100%;background-color:#000;opacity:0.8;filter:alpha(opacity=80);cursor:default}div.rui-lightbox-dialog{display:inline-block; *display:inline; *zoom:1;position:relative;text-align:left}div.rui-lightbox-title{height:1.2em;margin-bottom:.1em;white-space:nowrap;color:#DDD;font-weight:bold;font-size:1.6em;font-family:Helvetica;text-shadow:#000 .05em .1em .2em}div.rui-lightbox-body{background-color:white;padding:1em;border-radius:.5em;-moz-border-radius:.5em;-webkit-border-radius:.5em}div.rui-lightbox-body-inner{position:relative}div.rui-lightbox-scroller{overflow:hidden}div.rui-lightbox-content{display:inline-block; *display:inline; *zoom:1;min-height:10em;min-width:10em;_height:10em;_width:10em}div.rui-lightbox-body-locker{background-color:white;position:absolute;left:0px;top:0px;width:100%;height:100%;z-index:999;opacity:0;filter:alpha(opacity=0)}div.rui-lightbox-body-locker div.rui-spinner{position:absolute;right:0;bottom:0;border:none;background:none;font-size:150%}div.rui-lightbox-navigation{color:#888;font-size:150%;font-family:Arial;height:1em;user-select:none;-moz-user-select:none;-webkit-user-select:none}div.rui-lightbox-navigation div{cursor:pointer;position:absolute}div.rui-lightbox-navigation div:hover{color:white}div.rui-lightbox-navigation div.next{left:2em}div.rui-lightbox-navigation div.close{right:0}div.rui-lightbox-image div.rui-lightbox-body,div.rui-lightbox-media div.rui-lightbox-body{padding:0;border:1px solid #777;border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px}div.rui-lightbox-image div.rui-lightbox-content,div.rui-lightbox-media div.rui-lightbox-content{min-height:12em;min-width:12em;_height:12em;_width:12em}div.rui-lightbox-image div.rui-lightbox-content img{vertical-align:middle}div.rui-lightbox-image div.rui-lightbox-body,div.rui-lightbox-image div.rui-lightbox-body-locker,div.rui-lightbox-media div.rui-lightbox-body,div.rui-lightbox-media div.rui-lightbox-body-locker{background-color:#D8D8D8}div.rui-lightbox-image div.rui-lightbox-body-locker div.rui-spinner,div.rui-lightbox-media div.rui-lightbox-body-locker div.rui-spinner{bottom:.5em;right:.5em}</style>");
879
887
 
880
888
  return Lightbox;
881
- })(document, RightJS);
889
+ })(document, RightJS);