var curBGImage = 0;
var curSource = 0;

jQuery.extend({
    BgImageTransitions: []
});
jQuery.fn.BgImageTransition = function(arImages)
{
	var bgContainer = this;
	
   /* if( !bgContainer.css('zIndex') ){
        bgContainer.css('zIndex',1);
    }
*/
    var settings = jQuery.extend({
		fade: 6000,
		timeout: 10000
    }, settings);
	fadeSpeed = settings.fade;
	imageTimeout = settings.timeout;


	if(!arImages || arImages.length <0)
	{
		return jQuery;
	}

    toggle();

	
	function toggle()
	{
		// move to next image
		if (curBGImage++ >= arImages.length) curBGImage = 0;
		
		if (++curSource >= arImages.length) curSource = 0;
		
		// grab ref to elements for updating
		bgContainer.css('backgroundImage', 'url('+arImages[curSource]+')');
	
        var tempImage = new Image();
        jQuery(tempImage).load( function(){
            var newImage = ( helperElement.css('display') == 'block' ) ? jQuery(this) : jQuery(helperElement);
            newImage.css('backgroundImage', 'url('+tempImage.src+')');
            bgContainer.animate( settings.effect, settings.duration, settings.easing, settings.callback );
        });

        //tempImage.src = src;
		// fade in next image and repeat
		setTimeout(function() { bgContainer.fadeIn(fadeSpeed, toggle); }, imageTimeout);	
	}
}	