/*******************************************************************************
* ThumbnailManager v1.00 12.02.2014 © Daniel Schulz
*
* Changelog:
* v1.00 12.02.2014
* initial release
*
* Example XSLT:
******************************************************************************/
var ThumbnailManager = {
rootList : undefined,
init : function() {
var i, list;
this.rootList = [];
list = $("*[data-tn = 'root']");
for (i = 0; i < list.length; i++) {
this.initRoot(list[i]);
}
},
initRoot : function(rootNode) {
var i, list;
list = $("*[data-tn = 'target']", rootNode);
if (list[0]) {
list[0].tnOwnerNode = rootNode;
rootNode.tnTargetNode = list[0];
rootNode.tnSetImage = function(imgNode) {
this.tnIndex = imgNode.tnIndex;
while (this.tnTargetNode.hasChildNodes()) {
this.tnTargetNode.removeChild(this.tnTargetNode.lastChild);
}
this.tnTargetNode.appendChild(imgNode.cloneNode(true));
if ($(this.tnTargetNode).closest("*[data-image-popup = 'root']")[0]) {
$("img", this.tnTargetNode).click(clickPopup);
}
};
rootNode.tnScrollInterval = 0;
rootNode.tnScrollStart = function(offset) {
this.tnScrollStop();
this.tnScrollInterval = window.setInterval(
function(tnNode, offset) {
$("*[data-tn = 'list']", tnNode).scrollTop(
$("*[data-tn = 'list']", tnNode).scrollTop() + offset
);
},
10,
this,
offset
);
};
rootNode.tnScrollStop = function() {
if (this.tnScrollInterval) {
window.clearInterval(this.tnScrollInterval);
this.tnScrollInterval = 0;
}
};
list = $("*[data-tn = 'list'] > *", rootNode);
rootNode.tnIndex = 0;
rootNode.tnList = [];
for (i = 0; i < list.length; i++) {
list[i].tnOwnerNode = rootNode;
rootNode.tnList.push(list[i]);
$(list[i]).hover(
function(eve) {
this.tnOwnerNode.tnSetImage(this);
}
);
}
if (rootNode.tnList[0]) {
rootNode.tnSetImage(rootNode.tnList[0]);
}
this.rootList.push(rootNode);
list = $("*[data-tn = 'rewind'] > *", rootNode);
for (i = 0; i < list.length; i++) {
list[i].tnOwnerNode = rootNode;
$(list[i]).mousedown(
function(eve) {
this.tnOwnerNode.tnScrollStart(-2);
}
);
$(list[i]).mouseup(
function(eve) {
this.tnOwnerNode.tnScrollStop();
}
);
}
list = $("*[data-tn = 'forward'] > *", rootNode);
for (i = 0; i < list.length; i++) {
list[i].tnOwnerNode = rootNode;
$(list[i]).mousedown(
function(eve) {
this.tnOwnerNode.tnScrollStart(2);
}
);
$(list[i]).mouseup(
function(eve) {
this.tnOwnerNode.tnScrollStop();
}
);
}
}
},
};
$(document).ready(
function() {
ThumbnailManager.init();
}
);
function setThumbnail(eve) {
//bigPic = $(".shopFormProductPicture > img", this.parentNode.parentNode.parentNode)[0];
//if (!bigPic) {
bigPic = $(".shopFormProductPicture > img", this.parentNode.parentNode.parentNode.parentNode.parentNode)[0];
//}
bigPic.setAttribute("src", this.getAttribute("src"));
bigPic.setAttribute("alt", this.getAttribute("alt"));
bigPic.setAttribute("title", this.getAttribute("title"));
}