var intervalID;

function preload(container, link, image) {
	doOnLoad = function() {
		$(container+" .active")
			.fadeTo(2000, 0, function () {
				$(this).css("display", "none");
			});
		$(container+" .active")
			.removeClass("active");
		parent
			.addClass("active")
			.css({'display': 'block', 'opacity': '0'})
			.fadeTo(2000, 1);
	};
	if(link.is('*')) {
		var parent = link.parent();
		var img = new Image();
		img.onload = doOnLoad;
		img.src = link.attr('href');
		link.replaceWith('<img src="'+img.src+'" border="0" />');
	}
	else if(image.is('*')) {
		var parent = image.parent();
		doOnLoad();
	}
}

function slidePlay(container) {
	var delay = 3500;
	var images = $(container + " .lightbox");

	if (!$(container+" .active").length) {
		$(container+" .lightbox:first link")
			.replaceWith('<img src="'+$(container+" .lightbox:first link").attr('href')+'" border="0" />');
		$(container+" .lightbox:first")
			.addClass("active")
			.css('display', 'block')
			.fadeTo(2000, 1);
	}

	if ($(container + " .lightbox").length !== 1) {
		intervalID = setInterval("slideSwitch3('next','"+container+"')", delay);

		$(container).bind("mouseover mouseleave", function(e){
			if (e.type=="mouseover") {
				$(container+" a.controler").stop()
				.fadeTo("fast", 1)
				.parent().fadeTo("fast", 1);
			}
			if (e.type=="mouseleave") {
				$(container+" a.controler").stop()
					.fadeTo("fast", 0)
					.parent().fadeTo("fast", 0);
			}
		});

		$(container).mouseover(function(event) {clearInterval(intervalID);})
		$(container).mouseleave(function(event) {intervalID = setInterval("slideSwitch3('next','"+container+"')", delay);})


		$(container+" a.next").click(function(){
			slideSwitch3("next", container);
		});
		$(container+" a.previous").click(function(){
			slideSwitch3("prev", container);
		});
	}
}


function slideSwitch3 (action, container) {
	var images = $(container+" .lightbox");
	var active = $(container+" .active");

	active.stop();

	var next = (images.length==(images.index(active)+1)) ? $(container+" .lightbox:first") : active.next();
	var prev = images.index(active) ? active.prev() : $(container+" .lightbox:last");

	if (action=="next") {
		preload(container, $('link', next), $('img', next));
	}

	if (action=="prev") {
		preload(container, $('link', prev), $('img', prev));
	}
}

