var sRqS=null;
jQuery.fn.RSlideshow =function(opts)
{	var parent=$(this).parent();
	parent.addClass("rqSlideshow").css({clear:"both",overflow:"hidden"});
	var isFirst=true;
	sRqS=
	{	m_first		:null,
		m_current	:null,
		m_delay		:opts.delay,
		m_time		:0,
		m_state		:0,
		m_step		:30,
		m_opacity	:0,
		m_parent	:parent,
		M_setState	: function(state)
		{	this.m_state =state;
			//RQDebug("switching to state: "+state);
			
		},
		M_animate	:function()
		{	if( this.m_state == 0)
			{	this.m_time-=this.m_step;
				if( this.m_time<=0)
					this.M_setState(1);
			}
			// fade out
			else if( this.m_state ==1)
			{	if( !this.m_current) return;
				this.m_opacity -= this.m_step/1000;
				if(this.m_opacity<=0)
				{	this.m_opacity=0;
					this.m_current.hide();
					this.M_setState(2);
				}
				this.m_current.css("opacity",this.m_opacity);
			}
			// switch to next pane
			else if( this.m_state == 2)
			{	this.M_nextPane();
				this.m_opacity = 0.01;
				this.m_current.css("opacity",this.m_opacity);
				this.M_setState(3);
			}
			// fade in
			else if( this.m_state ==3)
			{
				this.m_opacity += this.m_step/1000;
				this.m_current.css("opacity",this.m_opacity);
				if( this.m_opacity>1)
				{	this.m_opacity = 1;
					this.m_current.css("opacity",this.m_opacity);
					// reset state
					this.M_setState(0);
					this.m_time	= this.m_delay;
				}
			}
			self.setTimeout(RQDelegate(this,this.M_animate),sRqS.m_step);

		}
		,M_nextPane:function()
		{	if(this.m_current)
			{	var next = this.m_current.next();
				if( !next.get(0))
				{	next=this.m_first;
				}
				if( next)
				{	//RQDebug("M_nextPane = "+next.find("h2").text());
			
					this.m_current.hide();
					this.m_current =next;
					next.css({opacity:0.02}).show();
				}

			}
		}
	};
	var maxH=0;
	$(this).each( function(i,e)
	{	$(this).css({display:"block"});
		var h=$(this).height();
		if( h>maxH) maxH=h;
		if(isFirst)
		{	sRqS.m_first=$(this);
			sRqS.m_current=$(this);
			$(this).css({overflow:"visible"});
		}
		else
		{
			$(this).hide();
		}
		isFirst = false;
	});
	sRqS.m_parent.css({height:maxH});
	sRqS.M_animate();
	self.setTimeout(RQDelegate(sRqS,sRqS.M_animate),sRqS.m_step);
}

var isRQDEBUG=false;
function RQDebug(s){if(isRQDEBUG){if( !$('#debug').is("div"))	{$("body").append("<div id=\"debug\"></div>");$('#debug').css({position:"absolute",width:250,fontFamily:"Monaco",fontSize:"9px",lineHeight:"11px",top:10,left:10,background:"#fff",opacity:0.9});}$('#debug').append("<div>"+s+"</div>");}}
