////////////////////////////////////////////////////////////////////////////////
//
// Title : TabMenu
// Author : foxeye
// Create date : 2007.09.10
// AND : donjoo hoho
// See : ¸¾²¯ ¾²½Ã±æ!
//
///////////////////////////////////////////////////////////////////////////////

function TabMenu() {
	var menuList = new Array();
	var activeMenu;
	var allFlag;

	// Tab ¸Þ´º °´Ã¼
	function TabMenuObject(menuName, menuDiv, menuImageName, menuOnImage, menuOffImage) {
		this.name = menuName;
		this.div = menuDiv;
		this.img = menuImageName;
		this.onImg = menuOnImage;
		this.offImg = menuOffImage;
	}

	// Tab ¸Þ´º Ãß°¡
	function add(menuName, menuDiv, menuImageName, menuOnImage, menuOffImage) {		
		menuList[menuList.length] = new TabMenuObject(menuName, menuDiv, menuImageName, menuOnImage, menuOffImage);
	} this.add = add;

	// Tab ÀüÃ¼¸Þ´º Ãß°¡
	function addAllFlag(menuImageName, menuOnImage, menuOffImage) {
		allFlag = new TabMenuObject('', '', menuImageName, menuOnImage, menuOffImage);
	} this.addAllFlag = addAllFlag;

	// ¸Þ´º ÄÑ±â
	function on(menuName) {
		activeMenu = menuName;

		if( !menuName && allFlag ) {
			// ¸Þ´º¸íÀ» ÁöÁ¤ÇÏÁö ¾ÊÀº°æ¿ì ¸ðµÎ º¸ÀÌ°Ô ÇÔ
			onAllFlag();
			onAllMenu(false);
		} else {
			if( allFlag ){
				offAllFlag();
			}
			offAllMenu(true);
			onMenu(menuName, true);
		}
	} this.on = on;

	// ¸Þ´º È°¼ºÈ­
	function onMenu(name, withMenuImg) {
		for(var i=0; i<menuList.length; i++) {
			if( menuList[i].name == name ) {
				if( withMenuImg )
					document.images[menuList[i].img].src = menuList[i].onImg;
				else
					document.images[menuList[i].img].src = menuList[i].offImg;
				showDiv(menuList[i].div);
				break;
			}
		}
	}

	// ¸Þ´º ºñÈ°¼ºÈ­
	function offMenu(name, withMenuImg) {
		for(var i=0; i<menuList.length; i++) {
			if( menuList[i].name == name ) {
				if( withMenuImg )
					document.images[menuList[i].img].src = menuList[i].offImg;
				hideDiv(menuList[i].div);
				break;
			}
		}
	}

	// ¸ðµç ¸Þ´º È°¼ºÈ­
	function onAllMenu(withMenuImg) {
		for(var i=0; i<menuList.length; i++) {
			onMenu(menuList[i].name, withMenuImg);
		}
	}

	// ¸ðµç ¸Þ´º ºñÈ°¼ºÈ­
	function offAllMenu(withMenuImg) {
		for(var i=0; i<menuList.length; i++) {
			offMenu(menuList[i].name, withMenuImg);
		}
	}

	// ÀüÃ¼ ÇÃ·¡±× È°¼ºÈ­
	function onAllFlag() {
		if( allFlag.onImg && allFlag.img && document.images[allFlag.img] )
			document.images[allFlag.img].src = allFlag.onImg;
	}

	// ÀüÃ¼ ÇÃ·¡±× ºñÈ°¼ºÈ­
	function offAllFlag() {
		if( allFlag.onImg && allFlag.img && document.images[allFlag.img] )
			document.images[allFlag.img].src = allFlag.offImg;
	}


	// DIV °¨Ãß±â
	function hideDiv(name) {
		document.getElementById(name).style.display = 'none';
		// document.all[name].style.visibility = 'hidden';
		// document.all[name].disabled = true;
	}

	// DIV º¸ÀÌ±â
	function showDiv(name) {
		document.getElementById(name).style.display = '';
		// document.all[name].style.visibility = 'show';
		//document.all[name].disabled = false;
	}
}
