/************************

*	BANNER ROTATOR	at SelArom Dot Net	*

************************/

(function($) {

	$.fn.bannerrotator = function(options) {

		var defaults = { fade: 6000, timeout: 2000, xmlFile: 'images.xml' };

		var opts = $.extend(defaults, options);



		var banner = this;

		$.fn.bannerrotator.props.imageTimeout = opts.timeout;

		$.fn.bannerrotator.fadeSpeed = opts.fade;



		// load image sources

		$.get(opts.xmlFile, function(xml) {

			var i = 0;



			// iterate xml

			$(xml).find('image').each(function() {



				var node = $(this);



				// append image to array

				$.fn.bannerrotator.props.imgSrcs[i++] = new $.fn.bannerrotator.img(node.attr('src'), node.attr('alt'));

			});



			// make sure there are at least 2 elements

			if ($.fn.bannerrotator.props.imgSrcs.length < 2) return;



			// only create element if it's not already there

			if (banner.length == 1) banner.append(document.createElement('img'));



			// get array of img elements to swap

			var imgs = banner.find("img");

			$.fn.bannerrotator.props.frontFrame = imgs[1];

			$.fn.bannerrotator.props.backFrame = imgs[0];



			// start toggling!

			$.fn.bannerrotator.toggleBanner();

		});

	};



	// image class

	$.fn.bannerrotator.img = function(src, alt) {

		this.src = src;

		this.alt = alt;

	};



	$.fn.bannerrotator.props = {

		imgSrcs: [],

		curSrc: 0,



		frontFrame: null,

		backFrame: null,



		fadeSpeed: 6000,

		imageTimeout: 2000



	};



	$.fn.bannerrotator.toggleBanner = function() {

		// move to next image

		if (++$.fn.bannerrotator.props.curSrc >= $.fn.bannerrotator.props.imgSrcs.length) $.fn.bannerrotator.props.curSrc = 0;



		// swap frames

		var temp = $.fn.bannerrotator.props.frontFrame;

		$.fn.bannerrotator.props.frontFrame = $.fn.bannerrotator.props.backFrame;

		$.fn.bannerrotator.props.backFrame = temp;



		// set current image to hide next

		$.fn.bannerrotator.props.frontFrame.className = "";

		$.fn.bannerrotator.props.frontFrame.removeAttribute('style');



		// prepare to swap image

		$.fn.bannerrotator.props.backFrame.className = "show";

		$.fn.bannerrotator.props.backFrame.src = $.fn.bannerrotator.props.imgSrcs[$.fn.bannerrotator.props.curSrc].src;

		$.fn.bannerrotator.props.backFrame.alt = $.fn.bannerrotator.props.imgSrcs[$.fn.bannerrotator.props.curSrc].alt;



		// fade in next image and repeat

		//$($.fn.bannerrotator.props.backFrame).fadeIn();

		setTimeout(function() { $($.fn.bannerrotator.props.backFrame).fadeIn($.fn.bannerrotator.props.fadeSpeed, $.fn.bannerrotator.toggleBanner); }, $.fn.bannerrotator.props.imageTimeout);

	};

})(jQuery);

