// Edit by aska----------
var overColor = '#FFD983';
var outColor = '#FFEDC0';

function focusOnItem(id, imagePath){
	var obj = document.getElementById(id);
	obj.src = imagePath;
}

function lostFocusOnItem(id, imagePath){
	var obj = document.getElementById(id);
	obj.src = imagePath;
}

function focusLeave(id, color){
	var obj = document.getElementById(id);
	obj.style.backgroundColor = color;
}

function focusOver(id, color){
	var obj = document.getElementById(id);
	obj.style.backgroundColor = color;
}

function reDirectTo(url){
	parent.window.location.href = url;	
}
// only for opening the list but not link to other page. For example 公司简介
function openList(closeLevelId, openLevelId, dataArray){
	var closeSonDivId = null;
	var openSonDivId = null;
	// 找出最新点击二级菜单id，以及页面原有的二级菜单id
	for(var i = 0; i < dataArray.length; i++){
		var level = dataArray[i];
		var id = level[0];
		var sonId = level[5];
		//var bgOverImgPath = level[2];
		//var bgOutImgPath = level[3];
		//var imgId = level[4];
		if(id == closeLevelId){
			closeSonDivId = sonId;

		}
		if(id == openLevelId){
			openSonDivId = sonId;

		}
	 }
	 // 设定原来的div关闭，而新的DIV打开。
	var closeObj = document.getElementById(closeSonDivId);
	closeObj.style.display = 'none';
	var openObj = document.getElementById(openSonDivId);
	openObj.style.display = '';
}

function getSomeMenu(firstLevel, firstId, secondId){
		var source = '';
		var fid = firstLevel[0];
		var firstStyle = firstLevel[1];
		var fOverImgPath = firstLevel[2];
		var fOutImgPath = firstLevel[3];
		var fimgId = firstLevel[4];
		//var fsonDivId = firstLevel[5];
		var furl = firstLevel[6];
		//var fsecondArray = firstLevel[7];
		var isShowMenu = false;
		/*
		* 如果点击该一级连接，但该连接并不连向其他页面，只打开下拉菜单
		*/
		if(furl == null){
			source += '<div id="' + fid +'" class="' + firstStyle + '" onclick="openList(\'' + firstId + '\',' + '\'' + fid + '\', dataArray' + ')"' + '>';
		}else{
			source += '<div id="' + fid +'" class="' + firstStyle + '" onclick="reDirectTo(\'' + furl + '\')"' + '>';
		}
		if(firstId == fid){
			isShowMenu = true;
			source += '<a>';
			source += '<img src="' + fOverImgPath + '" name="' + fimgId + '" id="' + fimgId + '" width="195" height="30" border="0"/></a></div>';
		}else{
			isShowMenu = false;
			source += '<a onmouseout="focusOnItem(\'' + fimgId + '\',\'' + fOutImgPath + '\')" onmouseover="lostFocusOnItem(\'' + fimgId + '\',\'' + fOverImgPath + '\')">';
			source += '<img src="' + fOutImgPath + '" name="' + fimgId + '" id="' + fimgId + '" width="195" height="30" border="0"/></a></div>';
		}
		//alert(source);
		source += genLevelTwoMenu(firstLevel, secondId, isShowMenu);
		return source;
}

function genLevelTwoMenu(firstLevel, secondId, isShowMenu){
	var source = '';
	var secondLevel = firstLevel[7];
	var secondDivId = firstLevel[5];
	if(secondLevel != null){
		if(isShowMenu){
			source += '<div id="' + secondDivId + '">';
			source += '<table width="195" border="0" cellspacing="0" cellpadding="0">';
		}else{
			source += '<div style="display: none;" id="' + secondDivId + '">';
			source += '<table width="195" border="0" cellspacing="0" cellpadding="0">';
		}
		for(var k = 0; k < secondLevel.length; k++){
			var secObj = secondLevel[k];
			var secid = secObj[0];
			var secStyle = secObj[1];
			var secOverColor = overColor;
			var secOutColor = outColor;
			var secUrl = secObj[2];
			var secName = secObj[3];
			if(secid == secondId){
				source += '<tr><td height="24" align="left" valign="middle"><div class="' + secStyle + '" id="' + secid + '" ' + 'onclick="reDirectTo(\'' + secUrl + '\')">';
				source += '<table id="' + secid + '" style=" background-color: ' + secOverColor +'" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">';	
			}else{
				source += '<tr><td height="24" align="left" valign="middle"><div class="' + secStyle + '" ' + 'onmouseout="focusLeave(\'' + secid + '\',' + '\'' + secOutColor + '\')"' + ' onmouseover="focusOver(\'' + secid + '\',\'' + secOverColor + '\')"' + ' onclick="reDirectTo(\'' + secUrl + '\')">';
				source += '<table id="' + secid + '" style=" background-color: ' + secOutColor +'" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">';	
			}
			source += '<tr><td width="22" align="left" valign="middle">&nbsp;</td><td align="left" valign="middle">' + secName + '</td></tr></table></div></td></tr>';
			if(k != (secondLevel.length - 1)){
				source += '<tr><td align="left" valign="middle"><img src="../../images/common/menu/menu_line.jpg" width="195" height="1"/></td></tr>';
			}	
		}
		source += '</table></div>';
	}	
	return source;
}

function getMenuStr(firstId, secondId, dataArray){
	var source = '';
    for(var i = 0; i < dataArray.length; i++){
		var firstLevel = dataArray[i];		
		// generate level one
		source += getSomeMenu(firstLevel, firstId, secondId);
	}
	return source;
}

function loadMenu(firstId, secondId, dataArray, menuId){
	// generate menu string.
	var source = getMenuStr(firstId, secondId, dataArray);
	document.getElementById(menuId).innerHTML = source;	
}

function parseUrl(htmlUrl, dataArray, menuId){
	var pos = htmlUrl.indexOf("?");
	var firstId = null;
	var secondId = null;
	if(pos > 0){
		var paramContent = htmlUrl.substring(pos + 1);
		var rap = paramContent.indexOf("&");
		if(rap > 0){
			firstId = paramContent.substring(0, rap);
			secondId = paramContent.substring(rap + 1);
		}else{
			firstId = paramContent;
		}
	}
	// load menu.
	loadMenu(firstId, secondId, dataArray, menuId);
}

function generateMenu(htmlUrl, dataArray, menuId){
	parseUrl(htmlUrl, dataArray, menuId);
}
