function TabsType02(_multiOpen)
{
	var tabsArray = new Array();
	var tempTabsArray = new Array();
	var multiOpen = _multiOpen;
	var currentAnimObj;
	var currentTopMargin;
	var targetTopMargin;
	var maxHeight;
	var stepNum = 4;
	var step;
	var fps = 10;
	
	init();
	function init()
	{
		var i;
		var tab;
		tempTabsArray = getElementsByClass(document, "ContentBlock01");
		for(i=0; i<tempTabsArray.length; i++)
		{
			//alert("0:::"+tabsArray[i].className);
			parseTab(tempTabsArray[i]);
			//return;
		}
	}
	function parseTab(tab)
	{
		//alert("1:::"+tab)
		var i;
		var linkObj;
		var contObj;
		linkObj = getElementsByClass(tab,"TtlOpen")[0] || getElementsByClass(tab,"TtlClose")[0];
		//alert(tab.className);
		contObj = getElementsByClass(tab,"ContOpen")[0] || getElementsByClass(tab,"ContClose")[0];
		linkObj.cont = contObj;
		linkObj.onclick = _tabLinkClickHandler;
		tabsArray.push(linkObj);
	}
	function _tabLinkClickHandler()
	{
		var currentStatus = this.className;
		if(!multiOpen)
		{
			for(i in tabsArray)
			{
				tabsArray[i].className = "TtlClose";
				tabsArray[i].cont.className = "ContClose";
			}
		}
		if(currentStatus == "TtlClose")
		{
			this.className = "TtlOpen";
			this.cont.className = "ContOpen";
			if(multiOpen)
			{
				step = (this.cont.scrollHeight/stepNum);
				maxHeight = this.cont.scrollHeight;
				currentTopMargin = 0;
				this.cont.style.height = currentTopMargin+"px";
				//this.cont.style.marginTop = currentTopMargin+"px";
				currentAnimObj = this.cont;
				setTimeout(openTabAnim, fps);
			}
		}
		else
		{
			this.className = "TtlClose";
			if(multiOpen)
			{
				step = (this.cont.scrollHeight/stepNum);
				//targetTopMargin = -this.cont.scrollHeight
				currentTopMargin = this.cont.scrollHeight;
				maxHeight = this.cont.scrollHeight;
				//this.cont.style.marginTop = currentTopMargin+"px";
				currentAnimObj = this.cont;
				setTimeout(closeTabAnim, fps);
			}
			else
			{
				this.cont.className = "ContClose";
			}
			
		}
		return false;
	}
	function openTabAnim()
	{
		currentTopMargin += step;
		if(currentTopMargin >= maxHeight)
		{
			currentTopMargin = maxHeight;
			currentAnimObj.style.height = currentTopMargin+"px";
			return;
		}
		currentAnimObj.style.height = currentTopMargin+"px";
		setTimeout(openTabAnim, fps);
	}
	function closeTabAnim()
	{
		currentTopMargin -= step;
		if(currentTopMargin <= 0)
		{
			currentTopMargin = 0;
			currentAnimObj.className = "ContClose";
			currentAnimObj.style.height = maxHeight+"px";
			return;
		}
		currentAnimObj.style.height = currentTopMargin+"px";
		
		setTimeout(closeTabAnim, fps);
	}
}
