	function divSpace(i)
	{
		var newCell
		var newRow = ttb.insertRow(i)
		newCell = newRow.insertCell(0)		
		newCell.colSpan = 10
		newCell.innerHTML = '<img src="imgs/vi/spacer.gif" height="1">'
		
		newRow = ttb.insertRow(i+1)
		newCell = newRow.insertCell(0)		
		newCell.colSpan = 10
		newCell.innerHTML = '<img src="imgs/vi/spacer.gif" height="5" width="1">'
		newRow.className = 'color_divider';
	}

	function lineSpace(i, id)
	{
		var newCell
		var newRow = ttb.insertRow(i)
		newCell = newRow.insertCell(0)		
		newCell.colSpan = 3
		newCell.innerHTML = '<img src="' + imagePath + 'spacer.gif" width="1">'
		
		newRow.id = id
	}
	
	function TRow(i, rank, id, content, preId) 
	{
		var newCell

		switch (rank)
		{
			case 1 : 
				lineSpace(i, "s.")
				var newRow = ttb.insertRow(i+1)
				newCell = newRow.insertCell(0)
				newCell.innerHTML = '<img src="' + imagePath + 'button_menu.gif">'		
		
				newCell = newRow.insertCell(1)
				newCell.className = "bgcolor_left_menu1" 
				newCell.innerHTML = "&nbsp;&nbsp;"		
				newCell.id = "n2." + id
		
				newCell = newRow.insertCell(2)
				newCell.className = "bgcolor_left_menu1" 
				newCell.width = "100%"
				newCell.noWrap = true
				newCell.innerHTML = content
				newCell.onmouseover = cmenu11
				newCell.onmouseout = cmenu12
				newCell.colSpan = 3				
				newCell.id = "n1." + id
				
				newRow.id = "r" + id
				newRow.onclick = getEvent
			break
			case 2 :
				lineSpace(i, "s" + preId + ".");			
				var newRow = ttb.insertRow(i+1)
				newCell = newRow.insertCell(0)
				newCell.height = '26'

				newCell = newRow.insertCell(1)
				newCell.className = "bgcolor_left_menu2"
				newCell.id = "n4." +  preId + "." + id

				newCell = newRow.insertCell(2)
				newCell.className = "bgcolor_left_menu2"
				newCell.innerHTML = '<img src="' + imagePath + 'button_menu2.gif" id="img' + preId + "." + id + '">'
				newCell.id = "n3." + preId + "." + id

				newCell = newRow.insertCell(3)
				newCell.className = "bgcolor_left_menu2"
				newCell.innerHTML = '<img src="' + imagePath + 'button_menu3.gif" width="6" height="6">&nbsp;&nbsp;&nbsp;'						
				newCell.innerHTML = '&nbsp;&nbsp;&nbsp;'
				newCell.id = "n2." + preId + "." + id

				newCell = newRow.insertCell(4)
				newCell.className = "bgcolor_left_menu2"
				newCell.innerHTML = content + "&nbsp;&nbsp;"
				newCell.id = "n1." + preId + "." + id
				newCell.width = "100%"
//				newCell.noWrap = "true"
				newCell.onmouseover = cmenu21
				newCell.onmouseout = cmenu22
				
				newRow.id = "r" + preId + "." + id
				newRow.onclick = getEvent
				newRow.height = '26'
			break
/*			case 3 :
				var newRow = ttb.insertRow(i)							
				newCell = newRow.insertCell(0)

				newCell = newRow.insertCell(1)
				newCell.className = "bgcolor_select_left_menu2"
				newCell.id = "n4." + preId + "." + id

				newCell = newRow.insertCell(2)
				newCell.className = "bgcolor_left_menu3"
				newCell.id = "n3." + preId + "." + id

				newCell = newRow.insertCell(3)
				newCell.className = "bgcolor_left_menu3"
				newCell.innerHTML = '<img src="' + imagePath + 'button_menu3.gif" width="6" height="6">&nbsp;&nbsp;&nbsp;'						
				newCell.id = "n2." + preId + "." + id

				newCell = newRow.insertCell(4)
				newCell.className = "bgcolor_select_left_menu3"
				newCell.innerHTML = content
				newCell.id = "n3." + preId + "." + id
				newRow.height = '26'				
			break;*/
		}
	}
	
	
	function getEvent(e)
	{
		var ctrl = (e) ? e.target : event.srcElement 	

//		k = indexArray(leftMenu[1], ctrl.id.substring(ctrl.id.lastIndexOf('.')+1))
	
//		if (ctrl.id.charAt(0)=="n" || (ctrl.id.charAt(0)=="c" && leftMenu[0][k]>=leftMenu[0][k+1]))
		if (ctrl.id.charAt(0)=="n" || (ctrl.id.charAt(0)=="c" && parseInt(ctrl.id.substring(ctrl.id.lastIndexOf('.')+1))==sId))
			openItem(ctrl, true)
		else
			closeItem(ctrl)
	}
	
	function openItem(ctrl, clicked)
	{
//		var ctrl = (e) ? e.target : event.srcElement 		

		var ri = ctrl.id.slice(ctrl.id.indexOf(".")+1)	
		var l	

		for (i=0;i < ttb.rows.length; i++)
		{
			if (ttb.rows[i].id == "r" + ri)
			{
				if (ri.lastIndexOf('.')==-1)
					ei = ri
				else
					ei = ri.substring(ri.lastIndexOf('.')+1)

				k = indexArray(leftMenu[1], ei)

				if (leftMenu[3][k]!="" && ((!clicked && leftMenu[1][k]!=sId) || (clicked)) )
					document.location = leftMenu[3][k]
				else
				{
					ctrl.id = "c" + ctrl.id.slice(1)				
					for (l=k+1; leftMenu[0][l]>leftMenu[0][k] && leftMenu[0][l]==leftMenu[0][k+1]; l++)
						TRow((i+1) + (l-k-1)*2 , leftMenu[0][l], leftMenu[1][l], leftMenu[2][l], ei)
					break
				}
			}
		}
	}
	
	function closeItem(ctrl)
	{
//		var ctrl = (e) ? e.target : event.srcElement 	

		k = indexArray(leftMenu[1], ctrl.id.substring(ctrl.id.lastIndexOf('.')+1))			
		for (i=k+1;leftMenu[0][i] > leftMenu[0][k] && i<leftMenu[0].length ; i++)
			if (leftMenu[1][i]==sId) return;

		var ri = ctrl.id.slice(ctrl.id.indexOf(".")+1)
		
		ctrl.id = "n" + ctrl.id.slice(1)				
		for (i=0;i < ttb.rows.length; i++)
		{
			var p = 0
			if (ttb.rows[i].id.lastIndexOf('.')>-1)
				p = ttb.rows[i].id.lastIndexOf('.')
			if (ttb.rows[i].id.slice(1,p) == ri)
			{
				ttb.deleteRow(i)
				i--
			}
		}
	}
	
	function indexArray(arr, val)
	{
		for (var i=0; i<arr.length; i++)
			if (arr[i]==val) return i
		return -1
	}
	
	function cmenu11(e)
	{
		var elem = (e) ? e.target : event.srcElement 
		change_menu(elem,1,0)
	}
	
	function cmenu12(e)
	{
		var elem = (e) ? e.target : event.srcElement 
		change_menu(elem,1,1)
	}

	function cmenu21(e)
	{
		var elem = (e) ? e.target : event.srcElement 
		change_menu(elem,2,0,imagePath)
	}
	
	function cmenu22(e)
	{
		var elem = (e) ? e.target : event.srcElement 
		change_menu(elem,2,1,imagePath)
	}
	
	function change_menu(ctrl, rank, out, img_path)
	{
		var id = ctrl.id.slice(ctrl.id.indexOf(".")+1)
		
		if (ctrl.id.charAt(0)=='n')
		{
			cls_normal = "bgcolor_left_menu"
			cls_over = "bgcolor_mouse_over_left_menu"
			cls = (out?cls_normal:cls_over) + rank
			if (rank==2)
				img = img_path + (out?"button_menu2.gif":"button_select_menu2.gif")

			ctrl.className = cls

			if (rank != 3)
				document.getElementById("n2." + id).className = cls;
			if (rank == 2)
			{
				document.getElementById("n3." + id).className = cls;
				document.getElementById("n4." + id).className = cls;
				document.getElementById("img" + id).src = img;
			}
		}		
	}

						
	function drawMenu()
	{
		for (i=0, j=0; i<leftMenu[0].length; i++)
		{
			if (leftMenu[4][i] && leftMenu[0][i]==1 && i>0)
			{
				divSpace(j*2)
				j++
			}
			
			if (leftMenu[0][i] == 1) 
			{
				TRow(j*2, 1, leftMenu[1][i], leftMenu[2][i], '')
				j++
			}
		}
	}

	function getSelectId(sId, sArr, lArr)
	{
		sI = indexArray(leftMenu[1],sId)		
		sRank = leftMenu[0][sI]	
		
		sArr[lArr] = leftMenu[1][sI]

		if (sRank==1) return sArr;
		for (i=sI-1; i>-1; i--)
		{
			if (leftMenu[0][i] < sRank) 
			{
				return getSelectId(leftMenu[1][i], sArr, ++lArr)
			}
		}
	}
	
	function initStMenu(sId)
	{
		sArr  = new Array(3)	
		getSelectId(sId, sArr, 0)

		strCtrl = ''
		for (g=sArr.length-1; g>=0; g--)
		{
			if (sArr[g] != null)
			{
				strCtrl += '.' + sArr[g]
				ele = document.getElementById("n1" +  strCtrl)
				change_menu(ele,leftMenu[0][indexArray(leftMenu[1],sArr[g])],0,imagePath)
				openItem(ele, false)
			}
		}
	}
	