////////////////////////////////////////////////////////////////////////////////

//

// Title : TabMenu

//	Author : foxeye

// Create date : 2007.09.10

// See : ¸¾²¯ ¾²½Ã±æ!

//

///////////////////////////////////////////////////////////////////////////////



function TabMenu() {

	var menuList = new Array();

	var activeMenu;

	var allFlag;



	// Tab ¸Þ´º °´Ã¼

	function TabMenuObject(menuName, menuId, menuImageName, menuOnImage, menuOffImage) {

		this.name = menuName;

		this.menuId = menuId;

		this.img = menuImageName;

		this.onImg = menuOnImage;

		this.offImg = menuOffImage;

	}



	// Tab ¸Þ´º Ãß°¡

	function add(menuName, menuId, menuImageName, menuOnImage, menuOffImage) {

		menuList[menuList.length] = new TabMenuObject(menuName, menuId, 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( menuList[i].img && menuList[i].onImg && menuList[i].offImg ) {

					if( withMenuImg )

						document.images[menuList[i].img].src = menuList[i].onImg;

					else

						document.images[menuList[i].img].src = menuList[i].offImg;

				}



				showElement(menuList[i].menuId);

				break;

			}

		}

	}



	// ¸Þ´º ºñÈ°¼ºÈ­

	function offMenu(name, withMenuImg) {

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

			if( menuList[i].name == name ) {

				if( menuList[i].img && menuList[i].onImg && menuList[i].offImg ) {

					if( withMenuImg )

						document.images[menuList[i].img].src = menuList[i].offImg;

				}



				hideElement(menuList[i].menuId);

				break;

			}

		}

	}



	// ¸ðµç ¸Þ´º È°¼ºÈ­

	function onAllMenu(withMenuImg) {

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

			onMenu(menuList[i].name, withMenuImg);

		}

	}



	// ¸ðµç ¸Þ´º ºñÈ°¼ºÈ­

	function offAllMenu(withMenuImg) {

        

        if(menuList.length > 0){

            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;

	}





	// Element °¨Ãß±â

	function hideElement(name) {

		document.getElementById(name).style.display = 'none';

		// document.all[name].style.visibility = 'hidden';

		// document.all[name].disabled = true;

	}



	// Element º¸ÀÌ±â

	function showElement(name) {

		document.getElementById(name).style.display = 'block';

		// document.all[name].style.visibility = 'show';

		//document.all[name].disabled = false;

	}

}


