function adRotator(obj, delta, fade)
{
	if(isNaN(delta))
	{
		delta=5000;
	}
	if(isNaN(fade))
	{
		fade=1000;
	}
	var self;
	var index=0;
	var timer=0;
	var maxElements=0;


	this.getObject = function(){
		return obj;
	}
	this.getDelta = function(){
		return delta;
	}
	this.setDelta = function(d){
		delta=d;
	}

	this.initRotation = function(){
		jQuery(obj).each(function(){
			jQuery(this).css('position', 'relative')
							.css('top', '0px')
							.css('left', '0px');

			var i=0;
			jQuery(this).find('.rotate').each(function(){

				jQuery(this).css('position', 'absolute')
								.css('top', '0px')
								.css('left', '0px')
								.css('display', 'none')
								.attr('i',i);

				if(i==0)
				{
					jQuery(this).css('display', 'block')
									.addClass('on');
				}
				i++;
			});
			maxElements=i;
		});
		this.play();
	}

	this.cleanIndex = function(i){

		if(i>=maxElements)
		{
			i=0;
		}
		else if(i<0)
		{
			i=maxElements;
		}
		return i;
	}

	this.play = function(){
		self=this;
		this.timer=setInterval(
			function(e){
				self.rotate();
			},delta);
	}


	this.rotate = function(){
		if(maxElements>1)
		{
			index=self.cleanIndex(index+1);
			var next=jQuery(obj).find('.rotate').eq(index);
			next.css('z-index', 1)
							.fadeIn(fade);
			jQuery(obj).find('.on').fadeOut(fade)
							.removeClass('on');
			next.addClass('on')
					.css('z-index', 0);
		}
	}

	this.pause = function(){
		clearInterval(timer);
		self=undefined;
	}
	this.initRotation();
}

