+Lightbox.prototype.onBeforeSubmit = function(fm, evt) {
+ switch(fm.submitButton.name) {
+ case 'delete' :
+ this.hideSelection();
+ break;
+ }
+};
+
+Lightbox.prototype.onResponseLoad = function(req) {
+ switch(req.responseXML.documentElement.nodeName) {
+ case 'deleted' :
+ this.deleteSelection();
+ break;
+ case 'error' :
+ this.showSelection();
+ break;
+ }
+};
+
+Lightbox.prototype.switchToolBarPositioning = function(fixed) {
+ var tbs = this.toolbar.style;
+ if (fixed) {
+ this.toolbar.defaultCssText = this.toolbar.style.cssText;
+ tbs.width = String(this.toolbar.offsetWidth) + 'px';
+ tbs.height = String(this.toolbar.offsetHeight) + 'px';
+ tbs.position = 'fixed';
+ tbs.top = '0';
+ this.toolbarPlaceholder = document.createElement('div');
+ var phs = this.toolbarPlaceholder.style;
+ phs.cssText = tbs.cssText;
+ phs.position = 'relative';
+ this.toolbar.parentNode.insertBefore(this.toolbarPlaceholder, this.toolbar);
+ }
+ else {
+ this.toolbarPlaceholder.parentNode.removeChild(this.toolbarPlaceholder);
+ tbs.cssText = this.toolbar.defaultCssText;
+ }
+};
+
+
+Lightbox.prototype.hideSelection = function() {
+ var i, e, slide;
+ for (i=0 ; i<this.form.elements.length ; i++) {
+ e = this.form.elements[i];
+ if (e.type === 'checkbox' && e.checked) {
+ slide = e.parentNode.parentNode;
+ slide.classList.add('zero_opacity');
+ }
+ }
+};
+
+Lightbox.prototype.showSelection = function() {
+ var i, e, slide;
+ for (i=0 ; i<this.form.elements.length ; i++) {
+ e = this.form.elements[i];
+ if (e.type === 'checkbox' && e.checked) {
+ slide = e.parentNode.parentNode;
+ slide.classList.remove('zero_opacity');
+ }
+ }
+};
+
+Lightbox.prototype.deleteSelection = function() {
+ var i, e, slide;
+ for (i=0 ; i<this.form.elements.length ; i++) {
+ e = this.form.elements[i];
+ if (e.type === 'checkbox' && e.checked) {
+ slide = e.parentNode.parentNode;
+ slide.classList.add('zero_width');
+ }
+ }
+ var self = this;
+ // if you change this, delay you should also change this css rule :
+ // .lightbox span { transition: width 1s
+ setTimeout(function(){self._removeSelection();}, 1000);
+};
+
+Lightbox.prototype._removeSelection = function() {
+ var i, e, slide;
+ var toRemove = [];
+ for (i=0 ; i<this.form.elements.length ; i++) {
+ e = this.form.elements[i];
+ if (e.type === 'checkbox' && e.checked) {
+ toRemove.push(e.parentNode.parentNode);
+ }
+ }
+ for (i=0 ; i<toRemove.length ; i++) {
+ slide = toRemove[i];
+ slide.parentNode.removeChild(slide);
+ }
+ this.cbIndex = undefined;
+};
+
+Lightbox.prototype.getCBIndex = function(cb) {
+ if (!this.cbIndex) {
+ // build checkbox index
+ this.cbIndex = [];
+ var i, node, c;
+ var nodes = this.grid.childNodes;
+ for (i=0 ; i<nodes.length ; i++) {
+ node = nodes[i];
+ if (node.nodeName === 'SPAN') {
+ c = node.getElementsByTagName('input')[0];
+ c.index = this.cbIndex.length;
+ this.cbIndex[this.cbIndex.length] = c;
+ }
+ }