var xaraSwidgets_slideshowTemplates = {
entry: '
'
+'
'
+' '
+' |
'
+'
',
image: ''
+'
'
+''
+' '
+' |
',
main:
'{imagehtml}'
+''
+ '{entryhtml}
'
};
function xaraSwidgets_slideshowGetScaledNumber(container, originalWidth, num, min)
{
var widthRatio = container.width() / originalWidth;
var newNum = Math.round(widthRatio * num);
if(min==null) { min = 1; }
if(newNum<=min) { newNum = min; }
return newNum;
}
function xaraSwidgets_slideshowNavButtonPressed(divID, newDirection)
{
$('#' + divID).data('CurrentDirection', newDirection);
xaraSwidgets_slideshowTriggerTimeout(divID);
}
function xaraSwidgets_slideshowTriggerTimeout(divID)
{
if($('#' + divID).data('CurrentThumb')==null) { return; }
var nextThumb;
if($('#' + divID).data('CurrentDirection')>=0)
{
nextThumb = $('#' + divID).data('CurrentThumb').next();
}
else
{
nextThumb = $('#' + divID).data('CurrentThumb').prev();
}
nextThumb.trigger("click");
$('#' + divID).data('CurrentThumb', nextThumb);
xaraSwidgets_slideshowSetupTimeout(divID);
}
function xaraSwidgets_slideshowClearTimeout(divID)
{
clearTimeout($('#' + divID).data('CurrentThumbTimeout'));
}
function xaraSwidgets_slideshowSetupTimeout(divID)
{
xaraSwidgets_slideshowClearTimeout(divID);
var scrollTime = $('#' + divID).data('autoscroll');
if(scrollTime!=null && scrollTime!=0)
{
var scrollTime = scrollTime;
if(!$('#' + divID).data('FirstTimeoutDone'))
{
scrollTime = 3;
$('#' + divID).data('FirstTimeoutDone', true);
}
$('#' + divID).data('CurrentThumbTimeout', setTimeout("xaraSwidgets_slideshowTriggerTimeout('" + divID + "');", scrollTime * 1000));
}
}
function xaraSwidgets_slideshowTriggerImageDownloaded(divID, imgIndex)
{
var stageImage = $('#' + divID).find('.bigImage' + imgIndex);
$('#' + divID).data('imagesDownloaded')[imgIndex] = true;
//console.log(stageImage.height());
stageImage.animate(null, 1000, null, function() {
//$(this).trigger('imageLoaded');
});
}
function xaraSwidgets_slideshowTriggerImageDownload(divID, imgIndex)
{
if(imgIndex<0 || imgIndex>=$('#' + divID).find('.bigImage').length) { return; }
if($('#' + divID).data('imagesDownloaded')[imgIndex]) { return; }
var stageImage = $('#' + divID).find('.bigImage' + imgIndex);
var imageURL = $('#' + divID).data('imageSrcsToDownload')[imgIndex];
var newImg = new Image();
newImg.onload = function() {
$('#' + divID).data('imagesDownloaded')[imgIndex] = true;
var width = newImg.width;
var height = newImg.height;
stageImage.data('imageWidth', width);
stageImage.data('imageHeight', height);
stageImage.attr('src', imageURL);
stageImage.trigger('imageLoaded');
}
newImg.src = imageURL;
if (newImg && (newImg.complete || newImg.readyState === 4)) {
newImg.onload();
//console.log('Image loaded already');
}
}
function xaraSwidgets_slideshowIsVertical(orientation)
{
return orientation=='left' || orientation=='right';
}
function xaraSwidgets_slideshowTemplateConstructor(divID, data, options)
{
if(!options) { options = {}; }
var originalWidth = options.width ? options.originalWidth : 600;
var originalHeight = options.height ? options.originalHeight : 470;
var originalBigImageWidth = options.bigImageWidth ? options.bigImageWidth : 560;
var originalBigImageHeight = (originalBigImageWidth / 3) * 2;
var originalThumbnailWidth = options.thumbnailWidth ? options.thumbnailWidth : 90;
var originalCarouselHeight = options.carouselHeight ? options.carouselHeight : 70;
var originalButtonWidth = options.buttonWidth ? options.buttonWidth : 200;
var orientation = options.orientation ? options.orientation : 'bottom';
var vertical = xaraSwidgets_slideshowIsVertical(orientation);
var imagePadding = 5;
var container = $('#' + divID).parent();
var containerWidth = container.width();
var containerHeight = container.height();
var widthRatio = containerWidth / originalWidth;
var heightRatio = containerHeight / originalHeight;
var carouselHeight = Math.round(originalCarouselHeight * heightRatio);
var thumbnailWidth = Math.round(originalThumbnailWidth * widthRatio);
var bigImageWidth = Math.round(originalBigImageWidth * widthRatio);
var buttonWidth = Math.round(originalButtonWidth * widthRatio);
var scaledImageHeight = Math.round(widthRatio * originalBigImageHeight);
var imageHeight = vertical ? containerHeight : containerHeight - carouselHeight;
$('#' + divID).width(containerWidth).height(containerHeight);
var entryHTML = '';
var imageHTML = '';
$('#' + divID).data('imagesDownloaded', {});
$('#' + divID).data('imageIndexes', {});
$('#' + divID).data('imageSrcsToDownload', {});
$('#' + divID).data('imagesToDownload', {});
var dataLength = data.length-1;
var minImages = 12;
var sets = Math.ceil(minImages/dataLength);
//sets = 1;
var allData = [];
if(data.length>1)
{
for(var setIndex=0; setIndex imageHeight)
{
$(this).attr('height', imageHeight-20);
}
//$(this).show();
/*
$(this).css({
opacity:1
});
*/
});//.hide();
///// the thumbnails
$('#' + divID).find('.thumbnailContainer').bind('click', function(e) {
if($('#' + divID).data('scrollingCarousel')) { return; }
$('#' + divID).find('.slideshowLastButton').show();
var clickIndex = parseInt($(this).attr('data-index'));
var currentThumb = $('#' + divID).data('CurrentThumb');
if(currentThumb!=null)
{
if($(this).prevAll(currentThumb).length !== 0)
{
$('#' + divID).data('CurrentDirection', 1);
}
else
{
$('#' + divID).data('CurrentDirection', -1);
}
/*
var lastCarouselIndex = parseInt(currentThumb.attr('data-index'));
if(clickIndex container.height())
{
topGap -= ((topGap + imageHeight) - container.height());
}
$('#' + divID).find('.bigImageContainer, .slideshowButton').css({
'margin-top':topGap + 'px'
});
}
else if(orientation=='left')
{
$('#' + divID).find('.caroufredsel_wrapper').css({
'position':'absolute',
'left':'5px',
'top':'0px'
});
$('#' + divID).find('.bigImageContainer').css({
'left':thumbnailWidth + 'px'
});
$('#' + divID).find('.slideshowLastButton').css({
'margin-left':(20 + thumbnailWidth) + 'px'
});
}
else if(orientation=='right')
{
$('#' + divID).find('.caroufredsel_wrapper').css({
'position':'absolute',
'right':'5px',
'top':'0px'
});
$('#' + divID).find('.slideshowNextButton').css({
'margin-right':(20 + thumbnailWidth) + 'px'
});
}
$('#' + divID).find('.bigImageContainer').hide();
$('#' + divID).find('.bigImageContainer:first').show();
$('#' + divID).data('CurrentDirection', 1);
$('#' + divID).data('CurrentThumb', $('#' + divID).find('.thumbnailContainer:first'));
var scrollSetting = $('#' + divID).data('autoscroll');
if(scrollSetting!=null && scrollSetting!=0)
{
xaraSwidgets_slideshowSetupTimeout(divID);
}
xaraSwidgets_slideshowTriggerImageDownload(divID, 0);
xaraSwidgets_slideshowTriggerImageDownload(divID, 1);
}