jQuery().ready(initImgSliders);

var imgSliderInitialized = false;
var imgSliderLastElement;

function initImgSliders()
{
	// appearently the jQuery.ready event gets fired more than once if some other javascript is messing with the DOM
	if ( imgSliderInitialized === false ) {
		jQuery('.tx-burnabitimgslider-pi1').each(initImgSlider);

		window.setInterval('moveSliders()', 20);
	}
	
	imgSliderInitialized = true;
}

function initImgSlider()
{
	var offset = 0;
	
	// set div height
	jQuery(this).css('height', jQuery('li img', jQuery(this)).outerHeight());
	
	// set position absolute and x coords
	jQuery('li', jQuery(this)).each(function(index){
		jQuery(this).css('position', 'absolute');
		jQuery(this).css('left', offset);
		
		offset += jQuery(this).outerWidth();
	});
	
	// remember last list element
	imgSliderLastElement = jQuery('li:last', jQuery(this));
}

function moveSliders()
{
	jQuery('.tx-burnabitimgslider-pi1 ul').each(moveElements);
}

function moveElements()
{
	jQuery('li', jQuery(this)).each(function(index){
		// get position
		var position = jQuery(this).position();
		// set new position
		var newPosition = new Object({
			top: position.top,
			left: position.left - 1
		})
		
		// check if image leaves the visible area
		if ( newPosition.left < (jQuery(this).innerWidth() * -1) ) {
			// set new position to end of list
			newPosition.left = imgSliderLastElement.position().left + imgSliderLastElement.outerWidth();
			// remeber last list element
			imgSliderLastElement = jQuery(this);
		}
		
		jQuery(this).css('left', newPosition.left);
	});
}
