/*
-* © 2008 Benoît Pin – Centre de recherche en informatique – École des mines de Paris
+* © 2008-2014 Benoît Pin – Centre de recherche en informatique – MINES ParisTech
* http://plinn.org
* Licence Creative Commons http://creativecommons.org/licenses/by-nc/2.0/
*
this.buttons = new Array();
this.toolbar = toolbar;
- var bcElements = breadcrumbs.getElementsByTagName('a');
- this.lastBCElement = bcElements[bcElements.length-1];
- var imgSrcParts = image.src.split('/');
- this.lastBCElement.innerHTML = imgSrcParts[imgSrcParts.length-2];
+ if (breadcrumbs) {
+ var bcElements = breadcrumbs.getElementsByTagName('a');
+ this.lastBCElement = bcElements[bcElements.length-1];
+ var imgSrcParts = image.src.split('/');
+ this.lastBCElement.innerHTML = imgSrcParts[imgSrcParts.length-2];
+ this.hasBreadcrumbs = true;
+ }
+ else {
+ this.hasBreadcrumbs = false;
+ }
var buttons = toolbar.getElementsByTagName('img');
var b, name;
var sliderWidth = filmBarWidth * sliderRatio;
this.rail.style.width = filmBarWidth + 'px';
this.rail.style.display = 'block';
- this.rail.style.visibility = 'visible';
+ this.rail.style.visibility = 'visible';
if (sliderRatio < 1) {
this.slider.style.width = Math.round(sliderWidth) + 'px';
this.slider.style.visibility = 'visible';
this.slider.style.visibility = 'hidden';
}
- this.winSize = {'width' : getWindowWidth(),
+ this.winSize = {'width' : getWindowWidth(),
'height' : getWindowHeight()};
this.maxRightPosition = filmBarWidth - sliderWidth
this.sliderSpeedRatio = - (filmBarWidth - sliderWidth) / (filmWidth - filmBarWidth);
disableDefault(evt);
disablePropagation(evt);
target.blur();
+ history.pushState(target.href, '', target.href);
var imgBaseUrl = target.href;
var canonicalImgUrl;
if (this.ctxUrlTranslation[0])
canonicalImgUrl = imgBaseUrl.replace(this.ctxUrlTranslation[0],
- this.ctxUrlTranslation[1]);
+ this.ctxUrlTranslation[1]);
else
canonicalImgUrl = imgBaseUrl;
var target = getTargetedObject(evt);
if (target.tagName == 'INPUT' || target.tagName== 'TEXTAREA')
return;
- var evt = evt = getEventObject(evt);
- evt = getEventObject(evt);
+ var evt = getEventObject(evt);
var charPress = String.fromCharCode((evt.keyCode) ? evt.keyCode : evt.which);
switch(charPress) {
case 'f':
switch (element.nodeName) {
case 'fragment' :
var dest = document.getElementById(element.getAttribute('id'));
- dest.innerHTML = element.firstChild.nodeValue;
+ if (dest) { dest.innerHTML = element.firstChild.nodeValue; }
break;
case 'imageattributes' :
var link = this.buttons['back_to_portfolio'].parentNode;
else if(buyable == 'False')
link.className = 'hidden';
this.image.alt = element.getAttribute('alt');
- this.lastBCElement.href = element.getAttribute('lastBcUrl');
- this.lastBCElement.innerHTML = element.getAttribute('img_id');
+ this.updateBreadcrumbs(element.getAttribute('lastBcUrl'),
+ element.getAttribute('img_id'));
break;
}
}
this.image.parentNode.className = '';
};
+FilmSlider.prototype.updateBreadcrumbs = function(url, title) {
+ if (this.hasBreadcrumbs) {
+ this.lastBCElement.href = element.getAttribute('lastBcUrl');
+ this.lastBCElement.innerHTML = element.getAttribute('img_id');
+ }
+};
+
FilmSlider.prototype.startSlideShow = function() {
this.slideShowSlide = this.pendingSlideShowSlide = this.selectedSlide;
return this.slideShowSlide.href;