/* 使用方法
 1. 修改最下方 "資料表" 區域
    (1) menu為二維陣列，表下拉選單目錄
        以"，"作區隔，第一個為 "超連結的URL"，第二個為 "超連結的文字"
    (2) tag為一維陣列，表標籤頁
        以"，"作區隔，第一個為 "圖片的預設值"，第二個為 "鼠標移入時的圖片"，第三個為 "超連結的URL"(沒有表示為有下拉式選單目錄)
 2. <head></head>間加入下列
    <script language="javascript" src="menu.js"></script>
 3. 執行 menuInit(t) 函數，t為第t+1個標籤被選取
    例：<body onload="menuInit(1);">
 4. 網頁中加入下一段，選單目錄將出現在這個位置
    <div id=oInsert></div>
*/

function $I(id) { return document.getElementById(id); }

if(typeof(HTMLElement)!="undefined" && !window.opera) {
    HTMLElement.prototype.__defineGetter__("outerHTML",function()
    {
        var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++)
        if(a[i].specified)
            str+=" "+a[i].name+'="'+a[i].value+'"';
        if(!this.canHaveChildren)
            return str+" />";
        return str+">"+this.innerHTML+"</"+this.tagName+">";
    });
    HTMLElement.prototype.__defineSetter__("outerHTML",function(s)
    {
        var r = this.ownerDocument.createRange();
        r.setStartBefore(this);
        var df = r.createContextualFragment(s);
        this.parentNode.replaceChild(df, this);
        return s;
    });
    HTMLElement.prototype.__defineGetter__("canHaveChildren",function()
    {
        return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
    });
}
function getOffset(evt) {
	var target = evt.target;
	if (target.offsetLeft == undefined) {
		target = target.parentNode;
	}
	var pageCoord = getPageCoord(target);
	var eventCoord =
	{
	  x: window.pageXOffset + evt.clientX,
	  y: window.pageYOffset + evt.clientY
	};
	var offset =
	{
	  offsetX: eventCoord.x - pageCoord.x,
	  offsetY: eventCoord.y - pageCoord.y
	};
	return offset;
}

function getPageCoord(element) {
	var coord = {x: 0, y: 0};
	while (element)
	{
	  coord.x += element.offsetLeft;
	  coord.y += element.offsetTop;
	  element = element.offsetParent;
	}
	return coord;
}

function getEventOffset(evt) {
	var msg = "";
	if (evt.offsetX == undefined)
	{
	  var evtOffsets = getOffset(evt);
	  msg += "offsetX: " + evtOffsets.offsetX + "; ";
	  msg += "offsetY: " + evtOffsets.offsetY + "; ";
	}
	else
	{
	  msg += "offsetX: " + evt.offsetX + "; ";
	  msg += "offsetY: " + evt.offsetY + "; ";
	}
	alert(msg);
	return msg;
}

//-----加入下拉式選單目錄 -----
function menuAdd(m) {
	var msg = "<div id=\"oDiv" + m + "\" style=\"position:absolute; left:0; top:0; width:150px; height:10px; z-index:2; visibility: hidden\">" +
	"  <table width=\"119\" border=\"0\" bgcolor=\"#397749\" cellpadding=\"3\" cellspacing=\"1\"> ";
	for(var i=0;i<menu[m].length;i++) {
		var url = menu[m][i].split("，")[0];
		var text = menu[m][i].split("，")[1];
		msg += "" +
	"    <tr>" +
	"      <td bgcolor=\"#DAE4DB\" nowrap>" +
	"        <div align=\"left\"><font size=\"2\"><b><a href=\"" + url + "\">" + text + "</a></b></font></div>" +
	"      </td>" +
	"    </tr>";
	}
	msg += "" +
	"  </table>" +
	"</div>";

	$I('oInsert').outerHTML = msg + $I('oInsert').outerHTML;
}
/* 說明
menuOver：當鼠標移入時，顯示交換後圖片，並顯示目標選單；當移出時且鼠標未移入目標選單區域中則隱藏目標選單
menuOut：當鼠標移出時，還原原本的圖片
layerOver、layerOut：目標選單，鼠標移入顯示，移出隱藏*/
function menuOver(me, evt) {
	var e = evt || window.event;
	var eObj = window.event ? event.srcElement : evt.target;
	var offX = window.event ? event.offsetX : getOffset(evt).offsetX;	// FF: evt.layerX ?= e.clientX
	var offY = window.event ? event.offsetY : getOffset(evt).offsetY;	// FF: evt.layerY ?= e.clientY
	var offH = window.event ? eObj.offsetHeight : eObj.offsetHeight;	// ... : 0;
	me.src = me.getAttribute('off');
	if (me.getAttribute('menu')) {
		var obj = $I("oDiv" + me.getAttribute('menu'));
		eObj.tObj = obj;	// 自訂屬性：menuOut函數中使用，表目標選單物件
		obj.style.left = e.clientX - offX + document.body.scrollLeft -2;
		obj.style.top = e.clientY - offY + offH + document.body.scrollTop -2;
		obj.style.visibility = "visible";
		obj.onmouseover = layerOver;	// 指定函數
		obj.onmouseout = layerOut;	// 指定函數
		obj.movein = 0;	// 自訂屬性：表目檔選單鼠標是否移入
	}
}
function menuOut(me) {
	me.src = me.getAttribute('on');
	if (me.getAttribute('menu')) {
		if (me.tObj.movein == 0) me.tObj.style.visibility = "hidden";
	}
}
function layerOver() {
	this.style.visibility='visible';
	this.movein = 1;
}
function layerOut() {
	this.style.visibility='hidden';
}

//----- 加入標籤 -----
function tagAdd(t) {
	var j = 0;
	var msg = "<table width=700 border=0 cellpadding=0 cellspacing=0><tr>";
	for(var i=0;i<tag.length;i++) {
		var imgOn = tag[i].split("，")[0];	// 自訂屬性：鼠標移入時載入圖片
		var imgOff = tag[i].split("，")[1];	// 自訂屬性：鼠標移出時載入圖片
		var url = tag[i].split("，")[2];	// 超連結
		//----- 圖片 -----
		// 被選定圖片無動作
		var imgMenu = ""; var tmpa = ""; var tmpi = "";
		if (t == i) imgOn = imgOff;
		//----- 超連結 -----
		if (url) tmpa = "<a href=\"" + url + "\">";
		else {
			imgMenu = j;	// 自訂屬性：圖片有選單目錄
			j ++;
		}
		tmpi = "<image border=0 src=\"" + imgOn + "\" on=\"" + imgOn + "\" off=\"" + imgOff + "\" menu=\"" +imgMenu + "\" onmouseover=\"menuOver(this, event);\" onmouseout=\"menuOut(this);\">";
		if (tmpa)	tmpi = tmpa + tmpi + "</a>";
		msg += "<td>" +tmpi + "</td>";
	}
	msg += "</tr></table>";

	$I('oInsert').outerHTML = msg + $I('oInsert').outerHTML;
}

// 初始化
function menuInit(t) {
	for(var i=0;i<menu.length;i++) menuAdd(i);
	tagAdd(t);
}

//----- 資料表 -----
var menu = new Array();	// 選單目錄
menu[0] = new Array();
menu[1] = new Array();
menu[2] = new Array();
menu[3] = new Array();
menu[0][0] = "/about/01.htm，．Company Annals<br>　and Sales Performance";
menu[0][1] = "/about/02.htm，．Organization Chart";
menu[0][2] = "/about/03.htm，．Research &amp; Design";
menu[0][3] = "/about/04.htm，．Quality Commitment";
menu[0][4] = "/about/05.htm，．Engineering Relationship";
menu[1][0] = "/application/01.htm，．System Introduction";
menu[1][1] = "/application/02.htm，．Cabinet Power System";
menu[1][2] = "/application/03.htm，．Shelf Power System";
menu[2][0] = "/products/01.htm，．Rectifier System";
menu[2][1] = "/products/02.htm，．Inverter";
menu[2][2] = "/products/03.htm，．Solar Power System";
menu[2][3] = "/download/bmd-4848e.pdf，．BMD";
menu[2][4] = "/download/DCB-D600-40-(E).pdf，．DC BANK";
menu[2][5] = "，．Collimated light power supply";
menu[2][6] = "/products/04.htm，．Order";
menu[3][0] = "/service.htm，．Information";
menu[3][1] = "/download.htm，．Download";

var tag = new Array();	 // 標籤(圖片)
tag[0] = "/images/menu_01-1.jpg，/images/menu_01.jpg，/index.htm";
tag[1] = "/images/menu_02.jpg，/images/menu_02-1.jpg，";
tag[2] = "/images/menu_03.jpg，/images/menu_03-1.jpg，";
tag[3] = "/images/menu_04.jpg，/images/menu_04-1.jpg，";
tag[4] = "/images/menu_05.jpg，/images/menu_05-1.jpg，";
tag[5] = "/images/menu_06.jpg，/images/menu_06-1.jpg，/contact.htm";
tag[6] = "/images/menu_07.jpg，/images/menu_07-1.jpg，/sitemap.htm";
tag[7] = "/images/menu_08.jpg，/images/menu_08-1.jpg，/chinese/index.htm";
tag[8] = "/images/menu_09.jpg，/images/menu_09.jpg，/chinese/index.htm";
