var observer = {};



observer.nextEffect = false;

observer.onPostEffect = function(e){

	if (this.nextEffect)

	{

		var eff = this.nextEffect;

		setTimeout(function(){eff.start();}, 10);

	}



	this.nextEffect = false;

}



function myPanelsSlides(currentPanel)

{

    // The list of all the panels that need sliding

	var panels = ['slide1', 'slide2', 'slide3', 'slide4', 'slide5'];

	var opened = -1;



	// Let's check if we have an effect for each of these sliding panels

	if (typeof effects == 'undefined')

		effects = {};



	for (var i=0; i < panels.length; i++)

	{

		if (typeof effects[panels[i]] == 'undefined'){

			effects[panels[i]] = new Spry.Effect.Slide(panels[i], {from: '0%', to: '100%', toggle: true});

			effects[panels[i]].addObserver(observer);

		}

		 

		if (effects[panels[i]].direction == Spry.forwards && currentPanel != panels[i])

			opened = i;



		//prevent too fast clicks on the buttons

		if (effects[panels[i]].direction == Spry.backwards && effects[panels[i]].isRunning)

		{

			observer.nextEffect = effects[currentPanel];

			return;

		}

	}



	if (opened != -1)

	{

		observer.nextEffect = effects[currentPanel];

		effects[panels[opened]].start();

	} 

	else if (effects[currentPanel].direction != Spry.forwards)

	{

		effects[currentPanel].start();

	}

};

