// JavaScript Document
var menuitemgroup=new Array("m1","m2","m3","m4","m5","m6","m7","m8","m9","m10","m11","m12");
var timeout	= 600;
var closetimer	= 0;
var ddmenuitem	= 0;
var selectedmg = 0;

var gddmenuitem = false;


function mgopen(id,gid) {
	// cancel close timer
	mcancelclosetime();
	// close old layer
	mclose();
	
	// chagne selected menu group color
	var m = 'gid_'+gid;
	selectedmg = document.getElementById(m);
	selectedmg.style.color = 'black';
	
	getHeight = document.getElementById('contents').offsetHeight;
	getHeight = getHeight - 11;
	for (i=0; i<menuitemgroup.length; i++) {
		// show colored background layer
		document.getElementById(menuitemgroup[i]).style.height = getHeight+'px';
		document.getElementById(menuitemgroup[i]).style.visibility = 'visible';
		// hide some menu links
		if (id[i] != menuitemgroup[i]) {
			var r = document.getElementById(menuitemgroup[i]);
			if (r.hasChildNodes())
				for (j=0; j<r.childNodes.length; j++) {
					if (r.childNodes[j].nodeName == 'A')
						r.childNodes[j].style.visibility = 'hidden';
				}
		}
	}
	showbg();
	gddmenuitem = true;
}

// open hidden layer
function mopen(id) {
	if (gddmenuitem) return;
	// cancel close timer
	mcancelclosetime();
	// close old layer
	mclose();

	for (i=0; i<menuitemgroup.length; i++) {
		var m = 'pid_'+(i+1);
		if (id != menuitemgroup[i]) {
			document.getElementById(m).style.color = '#CCC';
		}
	}
	
	// get new layer and show it
	getHeight = document.getElementById('contents').offsetHeight;
	getHeight = getHeight - 11;
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.height = getHeight+'px';
	ddmenuitem.style.visibility = 'visible';
	
	showbg();
}
// close showed layer
function mclose() {
	if(ddmenuitem) {
		ddmenuitem.style.visibility = 'hidden';
		document.getElementById('contents_background').style.visibility = 'hidden';
		for (i=0; i<menuitemgroup.length; i++) {
			var m = 'pid_'+(i+1);
			document.getElementById(m).style.color = 'white';
		}	
	}
	
	if (gddmenuitem) {
		for (i=0; i<menuitemgroup.length; i++) {
			document.getElementById(menuitemgroup[i]).style.visibility = 'hidden';
		
			var r = document.getElementById(menuitemgroup[i]);
			if (r.hasChildNodes())
				for (j=0; j<r.childNodes.length; j++)
					if (r.childNodes[j].nodeName == 'A')
						r.childNodes[j].style.visibility = '';
		}
		document.getElementById('contents_background').style.visibility = 'hidden';
		if (selectedmg) selectedmg.style.color = '';
		gddmenuitem = false;
	}	
}

// go close timer
function mclosetime() {
	if(!closetimer)
		closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime() {
	if(closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
//document.onclick = mclose; 

function showbg() {
	// show background layer on content area
	var bg = document.getElementById('contents_background');
	bg.style.visibility = 'visible';
	
	bg.style.height = document.getElementById('contents').offsetHeight+'px';
	bg.style.width = document.getElementById('contents').offsetWidth+'px';
}

function isArray(obj) {
	return obj.constructor == Array;
}

