/*
* Up-Down Scroll
* @Author: Alexander Gavazov
* @Date: 2007-12-06
*/

function Box(titlesId, contentsId, revertId)
{
	// Vars
	var titlesId = titlesId;
	var contentsId = contentsId;
	var revertId = revertId;
	var titles = [];
	var Calcolators = [];
	var duration = 1.3;

	init();

	function init()
	{
		getElementByIdPrefix();

		for(var i = 0; i < titles.length; i++)
		{
			titles[i].onclick = openCloseContent;
		}
	}

	function openCloseContent()
	{
		var id = this.id.replace(titlesId, '');
		var content = document.getElementById(contentsId + id);

		if(!content || !id)
		{
			return;
		}

		if(Calcolators[id])
		{
			Calcolators[id].stop();
		}
		else
		{
			Calcolators[id] = new Tween;
		}

		if(content.style.display == 'none')
		{
			content.style.display = '';
			content.style.height = 'auto';
			var height = content.offsetHeight;
			content.style.height = 0;

			document.getElementById(revertId + id).className = 'down';

			Calcolators[id].onMotionFinished = function(){
				content.style.height = 'auto';
			};
			Calcolators[id].init(content.style, 'height', Tween.strongEaseOut, 0, height, duration, 'px');
		}
		else
		{
			var height = content.offsetHeight;

			document.getElementById(revertId + id).className = 'up';

			Calcolators[id].onMotionFinished = function(){
				content.style.display = 'none';
			};
			Calcolators[id].init(content.style, 'height', Tween.strongEaseOut, height, 0, duration, 'px');
		}

		Calcolators[id].start();
	}


	function getElementByIdPrefix()
	{
		var iFound = 0
		var elements = document.getElementsByTagName('*');
		for(var i = 0; i < elements.length; i++)
		{
			if(elements[i].id.search(titlesId) != -1)
			{
				titles[iFound] = elements[i];
				iFound++;
			}
		}
	}
}
