
function jquery_rotator_show_page(rotator_id, page_id)
{
	var $ = jQuery;
	var $rotator = $('#'+rotator_id);
	var rotator = $rotator.get(0);
	var childrenLength = $rotator.children().length;
	if (rotator)
		if (rotator.page != page_id)
		{
			$($rotator.children().get(rotator.page-1)).fadeOut('fast', function(){
				$('.active-pageNum', rotator).removeClass('active-pageNum');
				rotator.page = page_id;
				if (rotator.page == childrenLength)
					rotator.page = 1;
				$($rotator.children().get(rotator.page-1)).fadeIn('fast');
				$($('.pageNum').get(rotator.page-1)).addClass('active-pageNum');
			});
		}
}


function jquery_rotator_next(rotator_id)
{
	var $ = jQuery;
	var $rotator = $('#'+rotator_id);
	var rotator = $rotator.get(0);
	var childrenLength = $rotator.children().length;
	if (rotator.autoplay && childrenLength > 2)
	{
		jquery_rotator_show_page(rotator_id, rotator.page + 1);
		var timeout = $($rotator.children().get(rotator.page)).attr('class').replace(/.*rotate-(\d+).*/, '$1');
		var timeout_int = parseInt(timeout);
		setTimeout('jquery_rotator_next("'+rotator_id+'");', timeout_int ? timeout_int : 10000);
	}
}


(function($){
	
	$.fn.extend({
		
		rotator: function(settings){
			$(this).each(function(i){
				if (!this.rotatorEnabled)	
				{
			
					this.rotatorEnabled = true;
					this.page = 1;
					this.autoplay = true;
					
					var $rotator = $(this);
					var rotator_id = $rotator.attr('id');
					
					var maxHeight = 0;
					$rotator.children().each(function(j){
						var childHeight = $(this).height();
						if (childHeight > maxHeight)
							maxHeight = childHeight;
					});
						
					$rotator.css('min-height', maxHeight + 'px');			
					$rotator.children().each(function(j){
						$(this).css('height', maxHeight + 'px');
					});
					
					
					$rotator.children().hide();
					$($rotator.children().get(0)).show();
					
					var pageLinks = '';
					for (pageNum = 1; pageNum <= $rotator.children().length; pageNum++)
					{
						pageLinks += '<a href="#'+rotator_id+':'+pageNum+'" class="pageNum ui-corner-all">'+pageNum+'</a>';
					}
					var $pageLinks = $('<div class="pageLinks">'+pageLinks+'</div>'); 
					$rotator.append($pageLinks);
					$($('a.pageNum', $pageLinks).get(0)).addClass('active-pageNum');
					$('a.pageNum', $pageLinks).click(function(){
						var rotator_id = $(this).attr('href').replace(/#(.*):.*/, '$1');
						var page_id = parseInt($(this).attr('href').replace(/#.*:(.*)/, '$1'));
						var rotator = $('#'+rotator_id);
						//alert('#'+rotator_id + ' - ' + rotator.length);
						var rotatorItem = rotator.get(0);
						if (rotatorItem)
							rotatorItem.autoplay = false;
						jquery_rotator_show_page(rotator_id, page_id);
						return false;
					});
	
					var timeout = $($rotator.children().get(this.page)).attr('class').replace(/.*rotate-(\d+).*/, '$1');
					var timeout_int = parseInt(timeout);
					setTimeout('jquery_rotator_next("'+rotator_id+'");', timeout_int ? timeout_int : 10000);
				}
			});
		}
		
	});
	
})(jQuery);
