var sRqS=new Array();
var sNbSls=0;
jQuery.fn.RSlideshow =function(opts)
{	$(this).each(function()
	{
		var parent=$(this).parent();
		if( !parent.data('iSls'))
		{	sNbSls++;
			parent.data('iSls',sNbSls)
			parent.addClass("rqSlideshow").css({clear:"both",overflow:"hidden"});
			sRqS[sNbSls-1]=
			{	m_first		:null,
				m_isFirst	:true,
				m_current	:null,
				m_maxH		:0,
				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),this.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();
		var sls=sRqS[$(this).parent().data('iSls')-1];
		if( h>sls.m_maxH) sls.m_maxH=h;
		if(sls.m_isFirst)
		{	sls.m_first=$(this);
			sls.m_current=$(this);
			$(this).css({overflow:"visible"});
		}
		else
		{
			$(this).hide();
		}
		sls.m_isFirst = false;
	});


	var i;
	for( i=0; i<sNbSls; i++)
	{
		sRqS[i].m_parent.css({height:sRqS[i].m_maxH});
	
		sRqS[i].M_animate();
		self.setTimeout(RQDelegate(sRqS[i],sRqS[i].M_animate),sRqS[i].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>");}}

