- this.winSize = {'width' : getWindowWidth(),
- 'height' : getWindowHeight()};
- this.maxRightPosition = filmBarWidth - sliderWidth
- this.sliderSpeedRatio = - (filmBarWidth - sliderWidth) / (filmWidth - filmBarWidth);
- if (!this.initialized) {
- this.centerSlide(this.center);
- this.selectedSlide = this.filmBar.getElementsByTagName('img')[this.center].parentNode;
- this.initialized = true;
+ this.winSize = {'width' : getWindowWidth(),
+ 'height' : getWindowHeight()};
+ this.maxRightPosition = filmBarWidth - sliderWidth;
+ this.sliderSpeedRatio = - (filmBarWidth - sliderWidth) / (filmWidth - filmBarWidth);
+ if (!this.initialized) {
+ this.centerSlide(this.center);
+ this.selectedSlide = this.filmBar.getElementsByTagName('img')[this.center].parentNode;
+ this.initialized = true;
+ }
+ };
+}
+
+else {
+ // pas de barre de scroll horizontal pour les tablettes
+ FilmSlider.prototype.resizeSlider = function(evt) {
+ this.filmMaxX = - (getObjectWidth(this.film) - this.filmBarWidth);
+ if (!this.initialized) {
+ this.centerSlide(this.center);
+ this.selectedSlide = this.filmBar.getElementsByTagName('img')[this.center].parentNode;
+ this.initialized = true;
+ }
+ };
+}
+
+FilmSlider.prototype._checkSizeAfterLoad = function(evt) {
+ this._barSizes = [];
+ this.filmBarWidth = this._barSizes[this._barSizes.length] = getObjectWidth(this.filmBar);
+ this.resizeSlider();
+ var self = this;
+ this._checkSizeIntervalId = setInterval(function(evt){self._checkSize(evt);}, 25);
+ setTimeout(function(evt){self._checkSizeStability();}, 250);
+};
+
+FilmSlider.prototype._checkSize = function(evt) {
+ this._barSizes[this._barSizes.length] = getObjectWidth(this.filmBar);
+ if (this._barSizes.length >= 2 &&
+ this._barSizes[this._barSizes.length-2] !== this._barSizes[this._barSizes.length-1]) {
+ this.filmBarWidth = this._barSizes[this._barSizes.length-1];
+ this.initialized = false;
+ this.resizeSlider();
+ }
+};
+
+FilmSlider.prototype._checkSizeStability = function(evt) {
+ var self = this;
+ var i;
+ var checkAgain = function(evt){self._checkSizeStability();};
+ for (i=0 ; i<this._barSizes.length - 1 ; i++) {
+ if (this._barSizes[i] !== this._barSizes[i+1]) {
+ this._barSizes = [];
+ setTimeout(checkAgain, 250);
+ return;
+ }