(function($){
	
	$.fn.photoSlide = function(options) {
		return this.each(function() {   
			$.photoSlide(this, options);
		});
	};
	
	$.photoSlide = function(container, options) {  
		
		var settings = {
			showTime: 5000,
			slideTime: 1000,
			lazyLoadImages: true
		};
		
		if (options)
			$.extend(settings, options);
		var elements = $(container).children();
		
		/* set container to position: relative */
		$(container).css('position', 'relative');
		/* set elements to position: absolute */
		$(elements).css('position', 'absolute');
		
		/***** DO magic here ******/
		// Hide all li's
		elements.hide();
		if (elements.length > 1){
			setTimeout(function() {
				$.photoSlide.next(elements, settings, 1, 0);
			}, settings.showTime);
		}
		if(settings.lazyLoadImages) {
			var imgElem = $(elements[0]).children('img');
			if (imgElem.attr('src') == '')
				imgElem.attr('src', imgElem.attr('rel'));
		}
		$(elements[0]).show();
	};  

	$.photoSlide.next = function(elements, settings, current, last) {
		// lazy load images
		if(settings.lazyLoadImages) {
			var imageElem = $(elements[current]).children('img');
			if (imageElem.attr('src') == '')
				imageElem.attr('src', imageElem.attr('rel'));
		}
		$(elements[last]).fadeOut(settings.slideTime);
		$(elements[current]).fadeIn(settings.slideTime, function() {
			removeFilter($(this)[0]);
		});
		if ((current + 1) < elements.length) {
			current = current + 1;
			last = current - 1;
		} else {
			current = 0;
			last = elements.length - 1;
		}
		setTimeout((function() {
			$.photoSlide.next(elements, settings, current, last);
		}), settings.showTime);
    };

})(jQuery);

//**** remove Opacity-Filter in ie ****
function removeFilter(element) {
	if(element.style.removeAttribute){
		element.style.removeAttribute('filter');
	}
}
