jQuery(function($) { // welcome teaser try { teaserFade('.teaser_fade', teaser_images); } catch (e) {} function teaserFade(el_selector, teaser_images, _fadeDuration, _fadeTimeout) { if (teaser_images.length <= 0) { return; } var $gallery = $(el_selector), $image = $('img', $gallery).get(0), //$link = $('a', $gallery).get(0), animation = false; fadeDuration = _fadeDuration == undefined ? 1000 : _fadeDuration; fadeTimeout = _fadeTimeout == undefined ? 3000 : _fadeTimeout; var $images = $('').addClass('images'); for (var i = 0; i < teaser_images.length; i++) { var item = teaser_images[i]; $('
  • ' + item.alt + '
  • ').appendTo($images); } // add image list to dom $('
  • ').addClass('current').append($image).prependTo($images); $gallery.prepend($images); // prepend fallback image to image list teaser_images.unshift({ file: $image.src, alt: $image.alt }); function fadeEffect() { if (animation) { return; } animation = true; var $current = $('.current', $images), current = $current.index(); $current.siblings().removeClass('current next'); var next = current < ($images.children().length - 1) ? (current + 1) : 0, $next = $images.children().eq(next).addClass('next'); var duration = teaser_images[next].ani_duration != undefined ? teaser_images[next].ani_duration : fadeDuration; var timeout = teaser_images[next].ani_timeout != undefined ? teaser_images[next].ani_timeout : fadeTimeout; $current.fadeOut(duration, function() { $next.addClass('current').removeClass('next'); $current.removeClass('current').show(); animation = false; clearTimeout(fadeTimer); fadeTimer = setTimeout(fadeEffect, timeout); }); } var timeout = teaser_images[0].ani_timeout != undefined ? teaser_images[0].ani_timeout : fadeTimeout; var fadeTimer = setTimeout(fadeEffect, timeout); } });