var SLIDES = []; function Slideshow(config){ var self = this; self.config = config; // DOM self.dom = config.dom; // Slide information self.slides = config.slides; // Reset: INITIAL VARIABLES self.reset = function(){ self.dom.innerHTML = ""; self.slideIndex = -1; self.currentSlide = null; }; self.reset(); // Remove ALL self.removeAll = function(INSTANT){ for(var id in self.objects){ self.removeObject({id:id}, INSTANT); } }; // Go to next slide self.nextSlide = function(INSTANT){ // removeAllOnKill? if(self.currentSlide && self.currentSlide.removeAllOnKill){ self.removeAll(true); } // Update the information if(self.slideIndex >= self.slides.length-1) return; self.slideIndex++; self.currentSlide = self.slides[self.slideIndex]; // Remove whatever var remove = self.currentSlide.remove || []; var promisesToRemove = []; for(var i=0; i