var bOpera, bExplorer, bMozilla, fBVersion;
var sMenuSclUp = "<center style='background-color: #FFFFFF; display: block; height: 7px; vertical-align: top;'><img align='top' src='/img/0mup.gif'><\/center>";
var sMenuSclDn = "<center style='background-color: #FFFFFF; display: block; height: 7px; vertical-align: top;'><img align='top' src='/img/0mdn.gif'><\/center>";
function BrowserGet()
{
	bOpera = bExplorer = bMozilla = false;
	fBVersion = 0;
	var sBrowser = window.navigator.userAgent.toLowerCase(), nPos;
	if(-1 != (nPos = sBrowser.indexOf("opera"))){
		bOpera = true;
		fBVersion = parseFloat(sBrowser.slice(nPos + 6));
	}else if(-1 != (nPos = sBrowser.indexOf("msie "))){
		if(-1 == window.navigator.userAgent.indexOf("Mac")){
			bExplorer = true;
			fBVersion = parseFloat(sBrowser.slice(nPos + 5));
		}
	}else if(-1 != (nPos = sBrowser.indexOf("gecko/"))){
		bMozilla = true;
		fBVersion = parseInt(sBrowser.slice(nPos + 6));
	}
}
BrowserGet();
function BrowserVer(fIEVer, fMozVer, fOpVer)
{
	if((null != fIEVer) && bExplorer){
		if(fIEVer <= fBVersion)
			return true;
	}else if((null != fMozVer) && bMozilla){
		if(fMozVer <= fBVersion)
			return true;
	}else if((null != fOpVer) && bOpera){
		if(fOpVer <= fBVersion)
			return true;
	}
	return false;
}
function TextSwap(stOldText, sNewText)
{
	if(null== stOldText)
		return;
	var stSource= stOldText.parentNode;
	if(null== sNewText){
		stSource.removeChild(stOldText);
		return;
	}
	stSource.replaceChild(document.createTextNode(sNewText), stOldText);
}
function HtmlAdd(stDest, sNewHtml)
{
	if((null== stDest)|| (null== sNewHtml))
		return;
	if(bMozilla){
		var stRange= stDest.ownerDocument.createRange();
		stRange.selectNodeContents(stDest);
		stRange.collapse(false);
		stDest.appendChild(stRange.createContextualFragment(sNewHtml));
	}else
		stDest.insertAdjacentHTML("BeforeEnd", sNewHtml);
}
function HtmlSwap(stDest, sNewHtml)
{
	if(null== stDest)
		return;
	if(null== sNewHtml){
		while(0< stDest.childNodes.length)
			stDest.removeChild(stDest.lastChild);
		return;
	}
	if(bMozilla){
		var stRange= stDest.ownerDocument.createRange();
		stRange.selectNodeContents(stDest);
		stRange.deleteContents();
		stDest.appendChild(stRange.createContextualFragment(sNewHtml));
	}else
		stDest.innerHTML= sNewHtml;
}
function TopGet(stTarget)
{
	if(null == stTarget)
		return 0;
	return stTarget.offsetTop + TopGet(stTarget.offsetParent);
}
function LeftGet(stTarget)
{
	if(null == stTarget)
		return 0;
	return stTarget.offsetLeft + LeftGet(stTarget.offsetParent);
}
function ObjAttach(stDest, stObject)
{
	if((null == stDest) || (null == stObject))
		return;
	stObject.style.left = LeftGet(stDest) + "px";
	stObject.style.top = (TopGet(stDest) + stDest.offsetHeight) + "px";
	stObject.style.width = stDest.offsetWidth + "px";
}
function Wait2Run(sCond, sExpr, nRemain)
{
	if(eval(sCond))
		return eval(sExpr);
	var sParam = '\"' + sCond + "\", \"" + sExpr + '\"', nTime = 100;
	if(null != nRemain){
		if(0 == nRemain)
			return false;
		nTime = nRemain;
		if(100 < nTime){
			sParam += ", " + (nTime - 100);
			nTime = 100;
		}else
			sParam += ", 0";
	}
	return window.setTimeout("Wait2Run(" + sParam + ");", nTime);
}
function XmlHttpUse()
{
	if((bExplorer) && (6 > fBVersion))
		return false;
	var stXmlHttp= false;
	/*@cc_on @*/
	/*@if(@_jscript_version >= 5)
		try{
			stXmlHttp= new ActiveXObject("Msxml2.XMLHTTP");
		}catch(stExcept1){
			try{
				stXmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
			}catch(stExcept2){
				stXmlHttp= false;
			}
		}
	@else
		stXmlHttp= false;
	@end @*/
	if(!stXmlHttp){
		try{
			stXmlHttp= new XMLHttpRequest();
		}catch(stExcept3){
			stXmlHttp= false;
		}
	}
	return stXmlHttp;
}
function XmlHttpGet(stXmlHttp, sUrl, bAsync, stExec)
{
	if(!stXmlHttp)
		return false;
	try{stXmlHttp.open("GET", sUrl, bAsync);}
	catch(stExcept1){}
	stXmlHttp.onreadystatechange= stExec;
	stXmlHttp.send(null);
	return true;
}
function XmlHttpReq(sUrl, stExec, bPost, sData)
{
	var stXmlHttp = XmlHttpUse();

	if(!stXmlHttp)
		return false;
	if(bPost){
		stXmlHttp.open("POST", sUrl, true);
		stXmlHttp.onreadystatechange= stExec;
		stXmlHttp.send(sData);
	}else{
		stXmlHttp.open("GET", sUrl, true);
		stXmlHttp.onreadystatechange= stExec;
		stXmlHttp.send(null);
	}
	return stXmlHttp;
}
function XmlHttpPage(stXmlHttp)
{
	if(!stXmlHttp || (4 != stXmlHttp.readyState) || (200 != stXmlHttp.status))
		return null;
	return stXmlHttp.responseText;
}
function PageFind(sName)
{
	var stPage = window.frames[sName];
	if(stPage)
		return stPage;
	stPage = window.parent;
	while(stPage){
		if(stPage.frames[sName])
			return stPage.frames[sName];
		if(stPage == top)
			return null;
		stPage = stPage.parent;
	}
	return null;
}
function LocationOpen(sUrl, bNew, bFull)
{
	if(null == sUrl)
		return;
	if(bNew){
		if(bFull)
			window.open(sUrl, "", "fullscreen");
		else
			window.open(sUrl, "", "resizable=1,status=1");
	}else if(bFull){
		window.location.href = sUrl;
		window.moveTo(0, 0);
		window.resizeTo(screen.availWidth, screen.availHeight);
	}else
		window.location.replace(sUrl);
}
function PageChange(sName, sUrl)
{
	var stPage = PageFind(sName);
	if(null == stPage)
		return false;
	stPage.location.replace(sUrl);
	return false;
}
function LocationSearch(sParam, sTarget)
{
	if(null == sParam)
		return null;
	var sUrlSearch;
	if(null == sTarget)
		sUrlSearch = window.location.search;
	else
		sUrlSearch = sTarget;
	var nBegin = sUrlSearch.indexOf(sParam + '=');
	if(-1 == nBegin)
		return null;
	nBegin += sParam.length + 1;
	var nEnd = sUrlSearch.indexOf('&', nBegin);
	if(-1 == nEnd)
		nEnd = sUrlSearch.length;
	return sUrlSearch.slice(nBegin, nEnd);
}
function EventSrcGet(stEvent)
{
	if(null == stEvent)
		return event.srcElement;
	if(null == stEvent.target)
		return stEvent;
	return stEvent.target;
}
function ListToggle(sListId, nFlag)
{
	if(null == sListId)
		return true;
	var stMenu = document.getElementById(sListId), i, stImage, nLen;
	if(null == stMenu)
		return true;
	if(!stMenu.firstChild)
		return "no item";
	if(stMenu.rg_sChild && (2 > stMenu.rg_sChild.length))
		return "no item";
	nLen = stMenu.rg_stSource.length;
	if(stMenu.nLockLv && (0 < stMenu.nLockLv)){
		stMenu.nLockLv = 0;
		for(i = 0; i < nLen; i++){
			stImage = stMenu.rg_stSource[i];
			if(stImage.rg_sFace[0])
				stImage.src = stImage.rg_sFace[0];
		}
		stMenu.style.display = "none";
	}else{
		stMenu.nLockLv = 1;
		for(i = 0; i < nLen; i++){
			stImage = stMenu.rg_stSource[i];
			if(stImage.rg_sFace[2])
				stImage.src = stImage.rg_sFace[2];
			else if(stImage.rg_sFace[1])
				stImage.src = stImage.rg_sFace[1];
		}
		var nMaxWidth = document.body.scrollWidth;
		var stNode = stMenu.rg_stSource[0];
		var nLeft, nTop, nWidth = 0;
		if(null == nFlag){
			nLeft = LeftGet(stNode);
			nTop = TopGet(stNode) + stNode.offsetHeight;
		}else if(2 == nFlag){
			nLeft = 0;
			nTop = stNode.offsetHeight;
			while(null != stNode){
				if("auto" == stNode.style.overflow)
					break;
				nLeft += stNode.offsetLeft;
				nTop += stNode.offsetTop;
				stNode = stNode.offsetParent;
			}
		}else{
			nLeft = LeftGet(stNode);
			nTop = TopGet(stNode) + stNode.offsetHeight;
			nWidth = stNode.offsetWidth;
			stMenu.style.width = nWidth + "px";
		}
		stMenu.style.display = "block";
		if(0 == nWidth){
			nWidth = stMenu.offsetWidth;
			if(nLeft + nWidth + 5 > nMaxWidth)
				nLeft = nMaxWidth - nWidth - 5;
		}
		stMenu.style.left = nLeft + "px";
		stMenu.style.top = nTop + "px";
	}
	stMenu.stFocus.focus();
	return false;
}
function ListHide(sListId)
{
	if(null == sListId)
		return;
	var stMenu = document.getElementById(sListId), i;
	if(null == stMenu)
		return;
	if(2 == stMenu.nLockLv){
		stMenu.stFocus.focus();
		return;
	}
	stMenu.nLockLv = 0;
	var nLen = stMenu.rg_stSource.length;
	for(i = 0; i < nLen; i++){
		var stImage = stMenu.rg_stSource[i];
		if(stImage.rg_sFace[0])
			stImage.src = stImage.rg_sFace[0];
	}
	stMenu.style.display= "none";
	stMenu.stFocus.blur();
}
function ListEnter(sListId)
{
	if(null == sListId)
		return;
	var stMenu = document.getElementById(sListId), i;
	if(null == stMenu)
		return;
	stMenu.nLockLv = 2;
}
function ListLeave(sListId)
{
	if(null == sListId)
		return;
	var stMenu = document.getElementById(sListId);
	if(null == stMenu)
		return;
	if(2 == stMenu.nLockLv)
		stMenu.nLockLv = 1;
}
function SelectList(sListId, sCaption, rg_sBStyle, nDefVal)
{
	if(null == sListId)
		return;
	var sClass = null;
	var sHtml = "<input type=hidden name='" + sListId + "'";
	if(null != nDefVal)
		sHtml += " value='" + nDefVal + "'";
	sHtml += ">\n<button id='" + sListId + "_b'";
	if(null != rg_sBStyle){
		if(null != rg_sBStyle[0])
			sHtml += " title='" + rg_sBStyle[0] + "'";
		if(null != rg_sBStyle[1])
			sHtml += " class='" + rg_sBStyle[1] + "'";
		sClass = rg_sBStyle[2];
	}
	sHtml += " onclick='ListToggle(" + '"' + sListId + '_o"' + ", 1);'";
	sHtml += " onblur='ListHide(" + '"' + sListId + '_o"' + ");'>";
	if(null != sCaption)
		sHtml += sCaption;
	sHtml += "</button>\n<div id='" + sListId + "_o'";
	if(null != sClass)
		sHtml += " class='" + sClass + "'";
	sHtml += " style='position: absolute; display: none;'></div>";
	document.writeln(sHtml);
	var stButton = document.getElementById(sListId + "_b");
	var stDiv = document.getElementById(sListId + "_o");
	stDiv.rg_stSource = new Array(stButton);
	stDiv.stFocus = stButton;
	stButton.rg_sFace = new Array(sCaption);
}
function ButtonSet(sButton, stSpan)
{
	var stButton= document.getElementById(sButton+ "_b");
	var stDupe= document.getElementById(sButton+ "_s");

	if(null == stButton)
		return;
	var stInput= stButton.previousSibling;
	while("INPUT" != stInput.tagName)
		stInput= stInput.previousSibling;
	stInput.value= stSpan.nOpValue;
	TextSwap(stButton.firstChild, stSpan.firstChild.data);
	if(null != stDupe)
		TextSwap(stDupe.firstChild, stSpan.firstChild.data);
	if(null != stSpan.rg_sClass)
		stSpan.className = stSpan.rg_sClass[0];
}
function SelectValue(sButton)
{
	var stButton = document.getElementById(sButton + "_b");

	if(null == stButton)
		return null;
	return stButton.firstChild.data;
}
function ScrollSpan(sListId, bDown)
{
	if(!sListId)
		return;
	var stMenu = document.getElementById(sListId);
	if(!stMenu)
		return;
	if(!stMenu.stScroll)
		return;
	else if('s' != stMenu.stScroll)
		window.clearTimeout(stMenu.stScroll);
	var nLen = stMenu.childNodes.length, nStart, nTemp, i, j, nFlag = 0;
	if(stMenu.rg_nBound){
		if(stMenu.rg_sChild)
			stMenu.rg_nBound[1] = stMenu.rg_sChild.length - 1;
		nFlag = (1 == stMenu.rg_nBound[0]) ? 1 :
			(stMenu.rg_nBound[0] == stMenu.rg_nBound[1]) ? 2 : 0;
	}
	if(bDown){
		nTemp = stMenu.childNodes[nLen - 2].nPos + 1;
		if(nTemp + (nFlag >> 1) == stMenu.rg_nBound[1]){
			stMenu.nGap = 1;
			stMenu.stScroll = null;
			return;
		}
		var nEnd = nTemp + stMenu.nGap;
		if(nEnd > stMenu.rg_nBound[1])
			nEnd = stMenu.rg_nBound[1];
		nStart = nEnd - stMenu.rg_nBound[2] + 1;
		if((stMenu.rg_nBound[0] + 1 > nStart) &&
			(nEnd + 1 > stMenu.rg_nBound[0])){
			if(nEnd == stMenu.rg_nBound[1])
				nStart--;
			else
				nStart++;
		}
	}else{
		nTemp = stMenu.childNodes[1].nPos - 1;
		if((0x1 & nFlag) + 1 == nTemp){
			stMenu.nGap = 1;
			stMenu.stScroll = null;
			return;
		}
		nStart = nTemp - stMenu.nGap;
		if(nStart == stMenu.rg_nBound[0])
			nStart--;
	}
	if(2 > nStart)
		nStart = (1 == nFlag) ? 2 : 1;
	for(i = 0, j = nStart; i < nLen; j++){
		if(j == stMenu.rg_nBound[0])
			continue;
		var stLine = stMenu.childNodes[i];
		if(stMenu.rg_sBHtml){
			if(0 == i){
				if((0x1 & nFlag) + 1 < j){
					stLine.nPos = -2;
					HtmlSwap(stLine, stMenu.rg_sBHtml[0]);
					stLine.onclick = null;
					i++;
					continue;
				}
			}else if(i + 1 == nLen){
				if(j + (nFlag >> 1) < stMenu.rg_nBound[1]){
					stLine.nPos = -1;
					HtmlSwap(stLine, stMenu.rg_sBHtml[1]);
					stLine.onclick = null;
					i++;
					continue;
				}
			}
		}
		if(stMenu.sTemplate){
			HtmlSwap(stLine, stMenu.sTemplate.replace(stMenu.stReplace, j));
			if(stLine.rg_sClass)
				stLine.className = stLine.rg_sClass[0];
		}else{
			HtmlSwap(stLine, stMenu.rg_sChild[j][0]);
			if(null == stMenu.rg_sChild[j][3]){
				if(stMenu.rg_sChild[j][2]){
					stLine.rg_sClass = stMenu.rg_sChild[j][2];
					stLine.className = stLine.rg_sClass[0];
				}else{
					stLine.rg_sClass = null;
					stLine.className = "";
				}
				var sAction = "ListLow(arguments[0]); ListLeave('" + sListId +
				              "'); ListHide('" + sListId + "');";
				if(null != stMenu.rg_sChild[j][1])
					sAction += " " + stMenu.rg_sChild[j][1];
				stLine.onclick = new Function(sAction);
			}else{
				stLine.rg_sClass = null;
				stLine.className = "";
				stLine.onclick = null;
			}
		}
		stLine.nPos = j;
		i++;
	}
	if(!stMenu.stScroll)
		return;
	if(stMenu.rg_sBHtml && stMenu.rg_sBHtml[2])
		stMenu.nGap <<= 1;
	else
		stMenu.nGap++;
	stMenu.stScroll =
		window.setTimeout("ScrollSpan('" + sListId + "', " + bDown + ");", 500);
}
function ListHigh(stEvent)
{
	var stOption = EventSrcGet(stEvent);
	while(null == stOption.sIdent)
		stOption = stOption.parentNode;
	if(stOption.rg_sClass)
		stOption.className = stOption.rg_sClass[1];
	if(null != stOption.nPos){
		var stParent = document.getElementById(stOption.sIdent);
		if(2 > stParent.childNodes.length)
			return;
		if(stOption.nPos == stParent.firstChild.nPos){
			if(null != stParent.stScroll)
				return;
			stParent.stScroll = 's';
			ScrollSpan(stOption.sIdent, false);
		}else if(stOption.nPos == stParent.lastChild.nPos){
			if(null != stParent.stScroll)
				return;
			stParent.stScroll = 's';
			ScrollSpan(stOption.sIdent, true);
		}else if(null != stParent.stScroll){
			if('s' != stParent.stScroll);
				window.clearTimeout(stParent.stScroll);
			stParent.nGap = 1;
			stParent.stScroll = null;
		}
	}
}
function ListLow(stEvent)
{
	var stOption = EventSrcGet(stEvent);
	while(null == stOption.sIdent)
		stOption = stOption.parentNode;
	if(stOption.rg_sClass)
		stOption.className = stOption.rg_sClass[0];
	var stParent = document.getElementById(stOption.sIdent);
	if(null != stParent.stScroll){
		if('s' != stParent.stScroll);
			window.clearTimeout(stParent.stScroll);
		stParent.nGap = 1;
		stParent.stScroll = null;
	}
}
function OptionAdd(sListId, sValue, sText, sFunc, rg_sBStyle, bNoAct)
{
	if(null == sListId)
		return;
	var stList = document.getElementById(sListId + "_o");
	if(null == stList)
		return;
	var stOption = document.createElement("span");
	stOption.sIdent = sListId + "_b";
	stOption.nOpValue = sValue;
	HtmlSwap(stOption, sText);
	stOption.style.display = "block";
	if(!bNoAct){
		var sAction = "ButtonSet('"+ sListId+ "', this);";
		if(null != sFunc)
			sAction += " " + sFunc;
		if(null != rg_sBStyle){
			stOption.rg_sClass = rg_sBStyle;
			stOption.className = stOption.rg_sClass[0];
		}
		stOption.onmousedown = new Function(sAction);
		stOption.onmouseout = ListLow;
		stOption.onmouseover = ListHigh;
	}
	stList.appendChild(stOption);
}
function OptionSet(sListId, sValue)
{
	var stList= document.getElementById(sListId+ "_o");

	if(null == stList)
		return;
	var stOption= stList.childNodes;
	var nLen = stOption.length, i;
	for(i= 0; i < nLen; i++){
		if(sValue == stOption[i].nOpValue){
			ButtonSet(sListId, stOption[i]);
			return;
		}
	}
}
function OptionKill(sListId)
{
	var stList = document.getElementById(sListId + "_o");

	if(null == stList)
		return;
	HtmlSwap(stList, null);
}
function DupeList(sListId)
{
	var stButton= document.getElementById(sListId+ "_b");

	document.write("<button type=button title="+ stButton.title);
	document.write(" OnClick="+ '"'+ "ListToggle('"+ sListId+ "_o');"+ '"');
	document.write(" OnBlur="+ '"'+ "ListHide('"+ sListId+ "_o');"+ '"'+ " id="+ sListId+ "_s");
	document.writeln(" style='border: 2px ridge silver'>"+ stButton.firstChild.data+ "</button>");
}
function ImgMenuSwap(sListId, bHigh)
{
	if(null == sListId)
		return;
	var stMenu = document.getElementById(sListId), i;
	if((null == stMenu) || (stMenu.nLockLv && (0 < stMenu.nLockLv)))
		return;
	var nLen = stMenu.rg_stSource.length;
	for(i = 0; i < nLen; i++){
		var stImage = stMenu.rg_stSource[i];
		if(bHigh){
			if(stImage.rg_sFace[1])
				stImage.src = stImage.rg_sFace[1];
		}else if(stImage.rg_sFace[0])
			stImage.src = stImage.rg_sFace[0];
	}
}
function ImageMenu(rg_sImage, sListId, sDefClass, nWindow, rg_sTopBot)
{
	if(null == sListId)
		return;
	var i, rg_stImg = new Array(), stObject;
	var nLen = rg_sImage.length;
	for(i = 0; i < nLen; i++){
		var stImage = document.getElementById(rg_sImage[i][0]);
		rg_stImg[rg_stImg.length] = stImage;
		var nLen2 = rg_sImage[i].length, j;
		stImage.rg_sFace = [];
		for(j = 0; j + 2 < nLen2; j++)
			stImage.rg_sFace[j] = rg_sImage[i][j + 2];
		var sFunText;
		if(rg_sImage[i][1]){
			stObject = stImage;
			sFunText = "if('undefined' != typeof(ListHide)) " +
			           "ListHide('" + sListId + "');";
			stImage.onblur = new Function(sFunText);
		}
		sFunText = "if('undefined' != typeof(ImgMenuSwap)) " +
			"ImgMenuSwap('" + sListId + "', false);";
		stImage.onmouseout = new Function(sFunText);
		sFunText = "if('undefined' != typeof(ImgMenuSwap)) " +
			"ImgMenuSwap('" + sListId + "', true);";
		stImage.onmouseover = new Function(sFunText);
	}
	var sHtml = "<div id='" + sListId + "'";
	if(null != sDefClass)
		sHtml += " class='" + sDefClass + "'";
	sHtml += " style='position: absolute; display: none;'></div>";
	document.writeln(sHtml);
	var stDiv = document.getElementById(sListId);
	stDiv.rg_stSource = rg_stImg;
	stDiv.stFocus = stObject;
	if(2 < nWindow){
		stDiv.rg_nBound = new Array(0, 0, nWindow);
		stDiv.nGap = 1;
		if(null != rg_sTopBot)
			stDiv.rg_sBHtml = rg_sTopBot;
	}
	stDiv.onmouseout = new Function("ListLeave('" + sListId + "');");
	stDiv.onmouseover = new Function("ListEnter('" + sListId + "');");
	stDiv.onmouseup = new Function("ListHide('" + sListId + "');");
}
function ImgMenuClear(sListId)
{
	var stList = document.getElementById(sListId), nIndex = null;

	if(null == stList)
		return;
	while(0 < stList.childNodes.length)
		stList.removeChild(stList.lastChild);
	stList.rg_sBackup = null;
	stList.rg_sChild = null;
	stList.rg_nBound[1] = 0;
}
function ImgMenuAdd(sListId, sHtml, sFunc, rg_sBStyle, bNoAct)
{
	var stList = document.getElementById(sListId), nIndex = null;

	if(null == stList)
		return;
	if(null != rg_sBStyle)
		rg_sBStyle[4] = sHtml;
	if(null != stList.rg_nBound){
		if(null == stList.rg_sChild)
			stList.rg_sChild = [0];
		stList.rg_sChild[stList.rg_sChild.length] =
			[sHtml, sFunc, rg_sBStyle, bNoAct];
		nIndex = stList.rg_sChild.length - 1;
		stList.rg_nBound[1] = nIndex;
		if(stList.childNodes.length + 1 > stList.rg_nBound[2]){
			if(null != stList.rg_sBHtml){
				stList.lastChild.nPos = -1;
				HtmlSwap(stList.lastChild, stList.rg_sBHtml[1]);
				stList.lastChild.onclick = null;
			}
			return;
		}
	}
	var stOption = document.createElement("span");
	stOption.style.display = "block";
	stOption.sIdent = sListId;
	stOption.nPos = nIndex;
	HtmlSwap(stOption, sHtml);
	if(!bNoAct){
		if(null != rg_sBStyle){
			stOption.rg_sClass = rg_sBStyle;
			stOption.className = stOption.rg_sClass[0];
		}
		var sAction = "ListLow(arguments[0]); ListLeave('" + sListId +
		              "'); ListHide('" + sListId + "');";
		if(null != sFunc)
			sAction += " " + sFunc;
		stOption.onclick = new Function(sAction);
	}
	stOption.onmouseout = ListLow;
	stOption.onmouseover = ListHigh;
	stList.appendChild(stOption);
}
function ImgMenuRebuild(sListId)
{
	if(!sListId)
		return;
	var stMenu = document.getElementById(sListId);
	if(!stMenu || stMenu.bEstable)
		return;
	stMenu.bEstable = true;
	if(stMenu.stScroll){
		if('s' != stMenu.stScroll);
			window.clearTimeout(stMenu.stScroll);
		stMenu.nGap = 1;
		stMenu.stScroll = null;
	}
	if(!stMenu.rg_sChild){
		stMenu.bEstable = false;
		return;
	}
	if(stMenu.rg_nBound)
		stMenu.rg_nBound[1] = stMenu.rg_sChild.length - 1;
	var stParent = stMenu.parentNode;
	var stNewMenu = stMenu.cloneNode(false);
	stNewMenu.id = "mfake";
	stNewMenu.style.display = "none";
	var nLen = stMenu.rg_stSource.length, i;
	stNewMenu.rg_stSource = [];
	for(i = 0; i < nLen; i++)
		stNewMenu.rg_stSource[i] = stMenu.rg_stSource[i];
	if("undefined" != typeof(stMenu.nLockLv))
		stNewMenu.nLockLv = stMenu.nLockLv;
	stNewMenu.stFocus = stMenu.stFocus;
	stNewMenu.stScroll = null;
	if(stMenu.rg_nBound){
		nLen = stMenu.rg_nBound.length;
		stNewMenu.rg_nBound = [];
		for(i = 0; i < nLen; i++)
			stNewMenu.rg_nBound[i] = stMenu.rg_nBound[i];
	}
	if("undefined" != typeof(stMenu.nGap))
		stNewMenu.nGap = stMenu.nGap;
	if(stMenu.rg_sBHtml)
		stNewMenu.rg_sBHtml = stMenu.rg_sBHtml;
	if(stMenu.sTemplate)
		stNewMenu.sTemplate = stMenu.sTemplate;
	if(stMenu.stReplace)
		stNewMenu.stReplace = stMenu.stReplace;
	if(stMenu.rg_sBackup)
		stNewMenu.rg_sBackup = stMenu.rg_sBackup;
	stNewMenu.bEstable = false;
	nLen = stMenu.rg_sChild.length;
	stNewMenu.rg_sChild = [0];
	for(i = 1; i < nLen; i++){
		stNewMenu.rg_sChild[i] = [stMenu.rg_sChild[i][0],
			stMenu.rg_sChild[i][1], null, stMenu.rg_sChild[i][3]];
		if(stMenu.rg_sChild[i][2]){
			var nLen2 = stMenu.rg_sChild[i][2].length, j;
			stNewMenu.rg_sChild[i][2] = [];
			for(j = 0; j < nLen2; j++)
				stNewMenu.rg_sChild[i][2][j] = stMenu.rg_sChild[i][2][j];
		}
	}
	stNewMenu.onmouseout = new Function("ListLeave('" + sListId + "');");
	stNewMenu.onmouseover = new Function("ListEnter('" + sListId + "');");
	stNewMenu.onmouseup = new Function("ListHide('" + sListId + "');");
	stParent.insertBefore(stNewMenu, stMenu);
	nLen = stNewMenu.rg_sChild.length;
	for(i = 1; i < nLen; i++){
		if(stNewMenu.rg_nBound){
			if(i == stNewMenu.rg_nBound[0])
				continue;
			if(stNewMenu.childNodes.length + 1 > stNewMenu.rg_nBound[2]){
				if(stNewMenu.rg_sBHtml){
					stNewMenu.lastChild.nPos = -1;
					HtmlSwap(stNewMenu.lastChild, stNewMenu.rg_sBHtml[1]);
					stNewMenu.lastChild.onclick = null;
				}
				stParent.removeChild(stMenu);
				stNewMenu.id = sListId;
				return;
			}
		}
		var stOption = document.createElement("span");
		stOption.style.display = "block";
		stOption.sIdent = sListId;
		stOption.nPos = i;
		HtmlSwap(stOption, stNewMenu.rg_sChild[i][0]);
		if(!stNewMenu.rg_sChild[i][3]){
			if(null != stNewMenu.rg_sChild[i][2]){
				stOption.rg_sClass = stNewMenu.rg_sChild[i][2];
				stOption.className = stOption.rg_sClass[0];
			}
			var sAction = "ListLow(arguments[0]); ListLeave('" + sListId +
			              "'); ListHide('" + sListId + "');";
			if(null != stNewMenu.rg_sChild[i][1])
				sAction += " " + stNewMenu.rg_sChild[i][1];
			stOption.onclick = new Function(sAction);
		}
		stOption.onmouseout = ListLow;
		stOption.onmouseover = ListHigh;
		stNewMenu.appendChild(stOption);
	}
	stParent.removeChild(stMenu);
	stNewMenu.id = sListId;
}
function MenuModify(sListId, rg_sGroup)
{
	if(!sListId)
		return;
	var stMenu = document.getElementById(sListId);
	if(!stMenu || !stMenu.rg_sChild)
		return;
	if(null != stMenu.stScroll){
		if('s' != stMenu.stScroll);
			window.clearTimeout(stMenu.stScroll);
		stMenu.nGap = 1;
		stMenu.stScroll = null;
	}
	if(null == rg_sGroup){
		if(stMenu.rg_sBackup){
			stMenu.rg_nBound = stMenu.rg_sBackup[0];
			stMenu.rg_sChild = stMenu.rg_sBackup[1];
		}
	}else{
		if(!stMenu.rg_sBackup){
			if(stMenu.rg_nBound){
				stMenu.rg_sBackup = [[stMenu.rg_nBound[0], stMenu.rg_nBound[1],
					stMenu.rg_nBound[2]]];
			}else
				stMenu.rg_sBackup = [null];
			stMenu.rg_sBackup[1] = stMenu.rg_sChild;
		}
		stMenu.rg_sChild = [0];
		var nLen = stMenu.rg_sBackup[1].length;
		var nLen2 = rg_sGroup.length, i, j, k;
		for(i = 1, j = 0; i < nLen; i++){
			if((!stMenu.rg_sBackup[1][i][2]) ||
			   (null == stMenu.rg_sBackup[1][i][2][2])){
				stMenu.rg_sChild[stMenu.rg_sChild.length] =
					stMenu.rg_sBackup[1][i];
				j++;
				continue;
			}
			for(k = 0; k < nLen2; k++){
				if(rg_sGroup[k] == stMenu.rg_sBackup[1][i][2][2]){
					stMenu.rg_sChild[stMenu.rg_sChild.length] =
						stMenu.rg_sBackup[1][i];
					j++;
					break;
				}
			}
		}
	}
	ImgMenuRebuild(sListId);
}
function MenuResize(sListId, nSize)
{
	if(!sListId)
		return;
	var stMenu = document.getElementById(sListId);
	if(!stMenu)
		return;
	if(null != stMenu.stScroll){
		if('s' != stMenu.stScroll);
			window.clearTimeout(stMenu.stScroll);
		stMenu.nGap = 1;
		stMenu.stScroll = null;
	}
	if(stMenu.rg_nBound)
		stMenu.rg_nBound[2] = nSize;
	else
		stMenu.rg_nBound = [null, stMenu.rg_sChild.length - 1, nSize];
	ImgMenuRebuild(sListId);
}
function MenuModify2(sListId, nPos)
{
	if(!sListId)
		return;
	var stMenu = document.getElementById(sListId);
	if(!stMenu)
		return;
	if(stMenu.stScroll){
		if('s' != stMenu.stScroll);
			window.clearTimeout(stMenu.stScroll);
		stMenu.nGap = 1;
		stMenu.stScroll = null;
	}
	if(!stMenu.rg_nBound){
		var nCount = stMenu.rg_sChild.length - 1;
		stMenu.rg_nBound = [nPos, nCount, nCount];
	}else
		stMenu.rg_nBound[0] = nPos;
	ImgMenuRebuild(sListId);
}
function ImgItemSwap(sListId, sGrpName, nIndex)
{
	var stList = document.getElementById(sListId);

	if(null == stList)
		return;
	var nLen, i, j;
	if(stList.rg_sChild){
		nLen = stList.rg_sChild.length;
		for(i = 1, j = 0; i < nLen; i++){
			if((null == stList.rg_sChild[i][2]) ||
			   (sGrpName != stList.rg_sChild[i][2][2])){
				continue;
			}
			stList.rg_sChild[i][0] =
				stList.rg_sChild[i][2][(j == nIndex) ? 3 : 4];
			j++;
		}
		nLen = stList.childNodes.length;
		for(i = 0; i < nLen; i++){
			var nPos = stList.childNodes[i].nPos;
			if(0 > nPos)
				continue;
			HtmlSwap(stList.childNodes[i], stList.rg_sChild[nPos][0]);
		}
		return;
	}
	nLen = stList.childNodes.length;
	for(i = 0, j = 0; i < nLen; i++){
		if((null == stList.childNodes[i].rg_sClass) ||
		   (sGrpName != stList.childNodes[i].rg_sClass[2])){
			continue;
		}
		HtmlSwap(stList.childNodes[i],
		         stList.childNodes[i].rg_sClass[(j == nIndex) ? 3 : 4]);
		j++;
	}
}
function ImgSquadSwap(stEvent)
{
	var stObject = EventSrcGet(stEvent);

	while(null == stObject.bCheck)
		stObject = stObject.parentNode;
	stObject.bCheck = !stObject.bCheck;
	HtmlSwap(stObject, stObject.rg_sPair[stObject.bCheck ? 1 : 0]);
}
function ImgSquadValue(sListId, nValue)
{
	var stList = document.getElementById(sListId);
	var stSquad = document.getElementById(sListId + "_t");

	if((null == stList) || (null == stSquad))
		return null;
	var rg_stValue = stSquad.getElementsByTagName("td"), i, nRet;
	var nLen = rg_stValue.length;
	if(null == nValue){
		nRet = 0;
		for(i = 0; i < nLen; i++){
			if(null == rg_stValue[i].bCheck)
				continue;
			nRet <<= 1;
			if(rg_stValue[i].bCheck)
				nRet |= 0x1;
		}
		return nRet;
	}
	nRet = nValue;
	for(i = nLen - 1; -1 < i; i--){
		if(null == rg_stValue[i].bCheck)
			continue;
		rg_stValue[i].bCheck = !(0x1 & nRet);
		ImgSquadSwap(rg_stValue[i]);
		nRet >>= 1;
	}
	return nValue;
}
function ImgMenuSquad(sListId, rg_sCell, sFoot)
{
	var stList = document.getElementById(sListId);

	if((null == stList) || (null != stList.nGap))
		return;
	HtmlAdd(stList, "<table id='" + sListId + "_t'></table>");
	var stSquad = document.getElementById(sListId + "_t");
	var stLine, stData, i, nMax = 0;
	var nLen = rg_sCell.length;
	for(i = 0; i < nLen; i++){
		var nLen2 = rg_sCell[i].length, j;
		stLine = stSquad.insertRow(i);
		for(j = 0; j < nLen2; j++){
			stData = document.createElement("td");
			stLine.appendChild(stData);
			stData.rg_sPair = rg_sCell[i][j];
			stData.bCheck = false;
			stData.onclick = ImgSquadSwap;
			HtmlSwap(stData, stData.rg_sPair[0]);
		}
		if(j > nMax)
			nMax = j;
	}
	stLine = stSquad.insertRow(i);
	stData = document.createElement("td");
	stData.colSpan = nMax;
	HtmlSwap(stData, sFoot);
	stLine.appendChild(stData);
}
function ScrollMenu(sElmntId, rg_sMenu, rg_nPage)
{
	if((null == sElmntId) || (null == rg_sMenu) || (null == rg_nPage))
		return;
	var stObject = document.getElementById(sElmntId);
	if(null == stObject)
		return;
	var sListId = sElmntId + "_f";
	if(null != rg_sMenu[0])
		sListId = rg_sMenu[0];
	var sHtml = "<div id='" + sListId + "'";
	if(null != rg_sMenu[1])
		sHtml += " class='" + rg_sMenu[1] + "'";
	sHtml += " style='position: absolute; display: none;'></div>";
	document.writeln(sHtml);
	stObject.onblur = new Function("ListHide('" + sListId + "');");
	stObject.rg_sFace = new Array(stObject.src);
	if(null == rg_sMenu[0])
		stObject.onclick = new Function("ListToggle('" + sListId+ "');");
	var stList = document.getElementById(sListId), i;
	stList.onmouseout = new Function("ListLeave('" + sListId + "');");
	stList.onmouseover = new Function("ListEnter('" + sListId + "');");
	stList.rg_stSource = new Array(stObject);
	stList.stFocus = stObject;
	stList.sTemplate = rg_sMenu[2];
	stList.stReplace = new RegExp(rg_sMenu[3], "g");
	stList.rg_nBound = rg_nPage;
	var nEnd = stList.rg_nBound[0] + (stList.rg_nBound[2] >> 1);
	if(nEnd > stList.rg_nBound[1])
		nEnd = stList.rg_nBound[1];
	var nStart = nEnd - stList.rg_nBound[2];
	if(1 > nStart)
		nStart = 1;
	stList.nGap = 1;
	for(i = nStart; stList.rg_nBound[1] + 1 > i; i++){
		if(stList.childNodes.length + 1 > stList.rg_nBound[2])
			break;
		if(i == stList.rg_nBound[0])
			continue;
		var stLine = document.createElement("span");
		stLine.style.display = "block";
		stLine.onmouseout = ListLow;
		stLine.onmouseover = ListHigh;
		stLine.sIdent = sListId;
		stLine.nPos = i;
		stLine.rg_sClass = new Array(rg_sMenu[4], rg_sMenu[5]);
		stLine.className = stLine.rg_sClass[0];
		HtmlSwap(stLine, stList.sTemplate.replace(stList.stReplace, i));
		stList.appendChild(stLine);
	}
}
function MsgID(sMBoxMsg)
{ 
	var nEnd = sMBoxMsg.indexOf("#"); 
	if (nEnd == -1) {
		this.successed = 0;
		return; 
	}
		
	this.mbox = sMBoxMsg.substr(0, nEnd); 
	this.msgid = sMBoxMsg.substr(nEnd+1, sMBoxMsg.length - (nEnd+1));
	this.successed = 1;
}

function ElementCntByStatus(stForm, sName, bStatus)
{
	var i;
	var nCounter = 0;
	if(stForm && stForm.elements){
		for (i=0; i < stForm.elements.length; i++) {
			var stObj = stForm.elements[i];
			if ((stObj.name == sName) && (stObj.checked == bStatus))
				nCounter++;
		}
	}

	return nCounter;
}

function ElementCnt(stForm, sName)
{
	var i;
	var nCounter = 0;
	if(stForm.elements){
		for (i=0; i < stForm.elements.length; i++) {
			var stObj = stForm.elements[i];
			if (stObj.name == sName)
				nCounter++;
		}
	}

	return nCounter;
}

function SelectAll(stForm, sName)
{
	var i;
	if(stForm.elements){
		for (i=0; i < stForm.elements.length; i++) {
			var stObj = stForm.elements[i];
			if (stObj.name == sName) {
				stObj.click();
				/*
				if (e.checked)
					e.checked = false;
				else
					e.checked = true;
					*/
			}
		}
	}
}

function IsInSelectedList(stForm, sName, sValue) {
	var i;
	if(stForm.elements){
		for (i=0; i < stForm.elements.length; i++) {
			var stObj = stForm.elements[i];
			if (stObj.checked && (stObj.value == sValue) && (stObj.name == sName)) 
				return true;
		}
	}

	return false;
}

function IsAnySelected(stForm, sName) {
	var i;
	if(stForm.elements){
		for (i=0; i < stForm.elements.length; i++) {
			var stObj = stForm.elements[i];
			if (stObj.checked && (stObj.name == sName)) 
				return true;
		}
	}

	return false;
}

function MM_swapImgRestore()
{	//v3.0
	if(null == document.MM_sr)
		return;
	var i;
	for(i = 0; i < document.MM_sr.length; i++){
		var stImage = document.MM_sr[i];
		if((null == stImage) || (null == stImage.oSrc))
			break;
		stImage.src = stImage.oSrc;
	}
}

function MM_preloadImages()
{	//v3.0
	if(document.images){
		if(null == document.MM_p)
			document.MM_p = new Array();
		var i, j = document.MM_p.length;
		for(i = 0; i < arguments.length; i++){
			if('#' != arguments[i].charAt(0)){
				document.MM_p[j] = new Image;
				document.MM_p[j++].src = arguments[i];
			}
		}
	}
}

function MM_findObj(sIdent, stDoc)
{	//v4.0
	var nPos, i, stObj;
	if(null == stDoc)
		stDoc = document;
	if((0 < (nPos = sIdent.indexOf("?"))) && (0 < parent.frames.length)){
		stDoc = parent.frames[sIdent.slice(nPos + 1)].document;
		sIdent = sIdent.substring(0, nPos);
	}
	stObj = stDoc[sIdent]
	for(i = 0; (null == stObj) && (i < stDoc.forms.length); i++)
		stObj = stDoc.forms[i][sIdent];
	if((null == stObj) && document.getElementById)
		stObj = document.getElementById(sIdent);
	if(null != stDoc.layers){
		for(i = 0; (null == stObj) && (i < stDoc.layers.length); i++)
			stObj = MM_findObj(sIdent, stDoc.layers[i].document);
	}
	return stObj;
}

function MM_swapImage()
{	//v3.0
	var i, j = 0, stImage;
	document.MM_sr = new Array();
	for(i = 0; i < (arguments.length - 2); i += 3){
		if(null != (stImage = MM_findObj(arguments[i]))){
			document.MM_sr[j++] = stImage;
			if(null == stImage.oSrc)
				stImage.oSrc = stImage.src;
			stImage.src = arguments[i + 2];
		}
	}
}

function MM_openBrWindow(sUrl, sWinName, sParam, sBlkMsg)
{	//v2.0
	var stWind = window.open(sUrl, sWinName, sParam);
	if(!stWind){
		if(!sBlkMsg)
			sBlkMsg = "Popup blocker detected!\nPlease add " + document.domain + " to allow list first.";
		alert(sBlkMsg);
	}
	return stWind;
}

function Hex4Get(nValue)
{
	var sRet = "";
	for(i = 12; 0 <= i; i -= 4){
		var nPart;
		switch(nPart = (nValue >> i) % 16){
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
			case 6:
			case 7:
			case 8:
			case 9:
				sRet += nPart;
				break;
			case 10:
				sRet += "A";
				break;
			case 11:
				sRet += "B";
				break;
			case 12:
				sRet += "C";
				break;
			case 13:
				sRet += "D";
				break;
			case 14:
				sRet += "E";
				break;
			case 15:
				sRet += "F";
				break;
			default:
				sRet += "0";
				break;
		}
	}
	return sRet;
}
function Unicode2String(sUnicode)
{
	if(null == sUnicode)
		return null;
	var stUniReg = /&#\d{1,5};/g, nPos;
	while(-1 != (nPos = sUnicode.search(stUniReg))){
		var sPart1 = sUnicode.slice(0, nPos);
		var nCode = parseInt(sUnicode.slice(nPos + 2, nPos + 7));
		var cTemp = "'\\u" + Hex4Get(nCode) + "'";
		nPos = sUnicode.indexOf(';', nPos);
		var sPart2 = sUnicode.slice(nPos + 1);
		eval("sUnicode = sPart1 + " + cTemp + " + sPart2;");
	}
	stUniReg = /&#x\w{4};/g;
	while(-1 != (nPos = sUnicode.search(stUniReg))){
		var sPart1 = sUnicode.slice(0, nPos);
		var cTemp = "'\\u" + sUnicode.slice(nPos + 3, nPos + 7) + "'";
		nPos = sUnicode.indexOf(';', nPos);
		var sPart2 = sUnicode.slice(nPos + 1);
		eval("sUnicode = sPart1 + " + cTemp + " + sPart2;");
	}
	return sUnicode;
}

function GetMagicNo()
{
	return Math.round((Math.random() * 100000000));
}

function Stream2Quote(sData)
{
	var sRet = '"';
	if(sData){
		var nLen = sData.length, i;
		for(i = 0; i < nLen; i++){
			var cTest = sData.charAt(i);
			switch(cTest){
				case '<':
				case '>':
				//case '@':
				//case ',':
				//case ';':
				case '\\':
				case '"':
					sRet += '\\';
				default:
					sRet += cTest;
			}
		}
	}
	sRet += '"';
	return sRet;
}

function TTMO(obj)
{
	var arrow_obj, arrow_id;
	if (!obj)
		return;
	obj.className = "ToolHOver";

	if (obj.parentNode && obj.parentNode.id) {
	arrow_id = obj.parentNode.id + 'dd';
	arrow_obj = MM_findObj(arrow_id);
	if (arrow_obj && arrow_obj.src && (arrow_obj.src.indexOf('0msar.gif') > 0)) {
		arrow_obj.className = 'ToolArrowOver';
	}
	}
}

function TTMU(obj)
{
	var arrow_obj, arrow_id;
	if (!obj)
		return;
	obj.className = "ToolHOut";

	if (obj.parentNode && obj.parentNode.id) {
	arrow_id = obj.parentNode.id + 'dd';
	arrow_obj = MM_findObj(arrow_id);
	if (arrow_obj && arrow_obj.src && (arrow_obj.src.indexOf('0msar.gif') > 0)) {
		arrow_obj.className = 'ToolArrowOut';
	}
	}
}

function MenuItemCount()
{
	var nHeight;

	if(bExplorer)
		nHeight = document.body.clientHeight;
	else
		nHeight = window.innerHeight;

	if(800 < nHeight)
		return 32;
	if(700 < nHeight)
		return 28;
	if(600 < nHeight)
		return 23;
	if(500 < nHeight)
		return 19;
	if(400 < nHeight)
		return 15;
	if(300 < nHeight)
		return 10;
	return 8;
}

