/*
2007/01/16 Lynn add function sysLog(itemid,action)

*/


// Common Function
// 依基金代碼取得基金基本資料
function getFundInfo(fundCode) {

	var oRtn = new Object();
	var ddo = new DDO();
	var row = new Row();
	var ndRow = null;
	
	ddo = getddo("Query");
	row = getrow("COM000020HQ01");
	row.appendParm(fundCode, "java.lang.String");
	ddo.appendRow("BasFund", row);
	xmlRtn = ddo.send();
	
	if ( xmlRtn.selectSingleNode("//Root/BasFund/Row") ) {
		ndRow = xmlRtn.selectSingleNode("//Root/BasFund/Row");
		oRtn.fundCode = ndRow.selectSingleNode("fundCode").text;
		oRtn.fundNameTw = ndRow.selectSingleNode("fundNameTw").text;
		oRtn.fundStatus = ndRow.selectSingleNode("fundStatus").text;
	}
	
	return oRtn;
	
}

// get Org Info by orgCode
function getOrgInfo(orgCode) {

	var xmlRtn = null;
	var oRtn = new Object();
	var ddo = new DDO();
	var row = new Row();
	var ndRow = null;
	ddo.init();
	ddo.setAction("CommonAction.Query");
	row.setQuery("COM000010HQ01");
	row.appendParm(orgCode, "java.lang.String");
	ddo.appendRow("BasOrganiz", row);
	xmlRtn = ddo.send();
	if ( xmlRtn.selectSingleNode("//Root/BasOrganiz/Row") ) {
		ndRow = xmlRtn.selectSingleNode("//Root/BasOrganiz/Row");
		oRtn.orgCode = 			ndRow.selectSingleNode("orgCode").text;
		oRtn.orgParentCode = 	ndRow.selectSingleNode("orgParentCode").text;
		oRtn.orgNameTw = 		ndRow.selectSingleNode("orgNameTw").text;
		oRtn.orgSnameTw = 		ndRow.selectSingleNode("orgSnameTw").text;
		oRtn.orgNameEn = 		ndRow.selectSingleNode("orgNameEn").text;
		oRtn.orgSnameEn = 		ndRow.selectSingleNode("orgSnameEn").text;
		oRtn.orgIdNo = 			ndRow.selectSingleNode("orgIdNo").text;
		oRtn.orgAppNo = 		ndRow.selectSingleNode("orgAppNo").text;
		oRtn.orgBoss = 			ndRow.selectSingleNode("orgBoss").text;
		oRtn.orgBicCode = 		ndRow.selectSingleNode("orgBicCode").text;
		oRtn.orgCap = 			ndRow.selectSingleNode("orgCap").text;
		oRtn.orgAdd1 = 			ndRow.selectSingleNode("orgAdd1").text;
		oRtn.orgAdd2 = 			ndRow.selectSingleNode("orgAdd2").text;
		oRtn.orgTel = 			ndRow.selectSingleNode("orgTel").text;
		oRtn.orgFax = 			ndRow.selectSingleNode("orgFax").text;
		oRtn.orgContactTel = 	ndRow.selectSingleNode("orgContactTel").text;
		oRtn.orgEmail = 		ndRow.selectSingleNode("orgEmail").text;
		oRtn.orgUrl = 			ndRow.selectSingleNode("orgUrl").text;
		oRtn.orgBankAccount = 	ndRow.selectSingleNode("orgBankAccount").text;
		oRtn.orgContact = 		ndRow.selectSingleNode("orgContact").text;
		oRtn.longDesc = 		ndRow.selectSingleNode("longDesc").text;
		oRtn.statusFlag = 		ndRow.selectSingleNode("statusFlag").text;
		oRtn.createUser = 		ndRow.selectSingleNode("createUser").text;
		oRtn.createDate = 		ndRow.selectSingleNode("createDate").text;
		oRtn.modifyUser = 		ndRow.selectSingleNode("modifyUser").text;
		oRtn.modifyDate = 		ndRow.selectSingleNode("modifyDate").text;
		oRtn.importUser = 		ndRow.selectSingleNode("importUser").text;
		oRtn.importDate = 		ndRow.selectSingleNode("importDate").text;
		
	}
	
	return oRtn;
	
}



// 取得 group info
function getGroupInfo(specGroupUuid) {

	var xmlRtn = null;
	var groupInfo = new Object();
		
	var ddo = new DDO();
	var row = new Row();
	
	ddo.init();
	ddo.setAction("CommonAction.Query");
	ddo.setValueObj("BasGroup");
	
	row.setQuery("MISHQ000020");
	
	row.appendParm(specGroupUuid, "java.lang.String");
	
	ddo.appendRow("BasGroup", row);

	xmlRtn = ddo.send();

	if ( xmlRtn.selectSingleNode("//Root/BasGroup/Row/groupUuid") ) {
		groupInfo.groupUuid = xmlRtn.selectSingleNode("//Root/BasGroup/Row/groupUuid").text;
	} else {
		groupInfo.groupUuid = "";
	}
		
	if ( xmlRtn.selectSingleNode("//Root/BasGroup/Row/groupName") ) {
		groupInfo.groupName = xmlRtn.selectSingleNode("//Root/BasGroup/Row/groupName").text;
	} else {
		groupInfo.groupName = "";
	}	

	if ( xmlRtn.selectSingleNode("//Root/BasGroup/Row/groupType") ) {
		groupInfo.groupType = xmlRtn.selectSingleNode("//Root/BasGroup/Row/groupType").text;
	} else {
		groupInfo.groupType = "";
	}	
	
	return groupInfo;

}

// 取得可用以新增的投資人帳號
function getNewInvestorCode(specOrgCode) {

	var xmlRtn = null;
	var strTemp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var iSum = null;
	var iCheckCode = null;
	var i = 0;
	var investorCode = "";
	var ddo = getddo("Query");
	var row = getrow("COM000030HQ01");
	row.appendParm(specOrgCode, "java.lang.String");
	ddo.appendRow("BasInvestor", row);
	xmlRtn = ddo.send();
	investorCode = "000001";

	if ( xmlRtn.selectSingleNode("//Root/BasInvestor/Row/investorCode") ) {
		if (xmlRtn.selectSingleNode("//Root/BasInvestor/Row/investorCode").text != "" ) {
			investorCode = xmlRtn.selectSingleNode("//Root/BasInvestor/Row/investorCode").text;
			investorCode = investorCode.substring(9, 15);
			investorCode = parseInt(investorCode, 10) + 1;
			investorCode = "000000" + investorCode;
			investorCode = investorCode.substring(investorCode.length - 6, investorCode.length);
		}
	} 


	
	if ( investorCode != "" ) {
	
		investorCode = specOrgCode.toUpperCase() + investorCode;

		iSum = 0;
		
		iSum = strTemp.indexOf(investorCode.substring(0, 1));

		for ( i = 1; i < investorCode.length; i++ ) {
			iSum += parseInt(investorCode.substring(i, i + 1), 10);				
		}
		iCheckCode = (10 - ( iSum % 10 )) % 10;
		investorCode = investorCode + iCheckCode;

	}
	
	return investorCode;

}

// 取得可用以新增的投資人帳號
function checkInvestorCode(specOrgCode) {
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000030HQ02");
	row.appendParm(specOrgCode, "java.lang.String");
	ddo.appendRow("BasInvestor", row);
	xmlRtn = ddo.send();

	if (xmlRtn.selectSingleNode("//Root/BasInvestor/Row/investorCode")) {
		return true;
	} else {
		return false;
	}
}

// 檢查投資人身分證號或統一編號是否重複
function checkInvestorId(strInvestorId,strOrgCode) {
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000030HQ03");
	row.appendParm(strInvestorId, "java.lang.String");
	row.appendParm(strOrgCode, "java.lang.String");	
	ddo.appendRow("BasInvestor", row);
	xmlRtn = ddo.send();

	if (xmlRtn.selectSingleNode("//Root/BasInvestor/Row/investorId")) {
		return true;
	} else {
		return false;
	}
}


// 取得總銷售機構公司資料
function COM003(oParm) {

	var oRtn = null;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM003S01.htm", oParm);
	
	return oRtn;

}


// 取得境外基金公司資料
function COM006(oParm) {

	var oRtn = null;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM006S01.htm", oParm);
	
	return oRtn;

}


// 取得所有機構資料
function COM007(oParm) {

	var oRtn = null;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM007S01.htm", oParm);
	
	return oRtn;

}
//取出該總代理的代銷機構
function COM008(oParm) {

	var oRtn = null;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM008S01.htm", oParm);
	
	return oRtn;

}

//取出該代銷機構的基金資料
function COM009(oParm) {

	var oRtn = null;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM009S01.htm", oParm);
	
	return oRtn;

}

//取出該代銷機構的基金資料
function COM010(oParm) {

	var oRtn = null;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM010S01.htm", oParm);
	
	return oRtn;

}

//取出該總代理的基金資料
function COM011(oParm) {

	var oRtn = null;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM011S01.htm", oParm);
	
	return oRtn;

}

function COM996(level) {

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	var oRtn = openNewNarrowWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM996S01.htm", level);

	if ( oRtn !== false ) {
		return oRtn;
	} 

	return false;
	
}


// COM998 彈出主管驗證視窗
function COM998() {

	var oRtn = null;
	
	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewNarrowWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM998S01.htm");

	if ( oRtn == true ) {
		return true;
	} 

	return false;
	
}

// 自動填入選定日期
function fillDate() {

	var oBtn = event.srcElement;
	var i = 0;
	var iIndex = null;
	
	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		iIndex--;
		if ( iIndex >= 0 ) {
			COM999(oBtn.parentNode.childNodes[iIndex]);
		}
	}

}

// COM999 彈出日曆選擇視窗
function COM999(oField) {

	var oRtn = null;
	var strRtnDate = "";
	var strYear = "";
	var strMonth = "";
	var strDate = "";
	
	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewNarrowWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM999S01.htm");
	
	if ( oRtn != null) {
		strYear = oRtn.year;
		strMonth = oRtn.month;
		strDate = oRtn.day;
		strRtnDate = strYear + "/" + strMonth + "/" + strDate;
		oField.value = strRtnDate;
	}
	
	return oRtn;
	
}


function alphToDigit(strAlph) {

	var strTemp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var strRtn = "";
	
	if ( strAlph.length >= 1 ) {
		strAlph = strAlph.substring(0, 1).toUpperCase();
		strRtn = "00" + (strTemp.indexOf(strAlph) +  1);
		strRtn = strRtn.substring(strRtn.length - 2, strRtn.length);
	}
	
	return strRtn;
	
}

// 取得銀行帳號
function getBankAccount(sBankUuid,scurrType) {

	var xmlRtn = null;
	var sBankAccount = "";
	var ddo = getddo("Query");
	var row = getrow("COM000040HQ04");
	row.appendParm(sBankUuid, "java.lang.String");
	row.appendParm(scurrType, "java.lang.String");	
	ddo.appendRow("BankAccount", row);
	xmlRtn = ddo.send();
	investorCode = "000001";

	if ( xmlRtn.selectSingleNode("//Root/BankAccount/Row/bankAccount") ) {
		if (xmlRtn.selectSingleNode("//Root/BankAccount/Row/bankAccount").text != "" ) {
			sBankAccount = xmlRtn.selectSingleNode("//Root/BankAccount/Row/bankAccount").text;
		}
	} 
	return sBankAccount;

}

// 取得銀行帳號
function getFundRate(sOrgCode,sFundCode,sYM,sSaleOrgCode) {

	var xmlRtn = null;
    var ddo = new DDO();
	var row = new Row();	
	var fundRate = new Object();
	ddo.init();
	ddo.setAction("AffixAction.DB2SQLQuery");
	row.setQuery("COM000050SQ05");	

	row.appendParm(sOrgCode, "java.lang.String");
	row.appendParm(sFundCode, "java.lang.String");	
	row.appendParm(sYM, "java.lang.String");		
	row.appendParm(sYM, "java.lang.String");			
	row.appendParm(sSaleOrgCode, "java.lang.String");	
	ddo.appendRow("FundRate", row);
	xmlRtn = ddo.send();

	if ( xmlRtn.selectSingleNode("//Root/FundRate/Row/dateType") ) {
		fundRate.dateType = xmlRtn.selectSingleNode("//Root/FundRate/Row/dateType").text;
	} else {
		fundRate.dateType = "";
	}	
	if ( xmlRtn.selectSingleNode("//Root/FundRate/Row/applyApartType") ) {
		fundRate.applyApartType = xmlRtn.selectSingleNode("//Root/FundRate/Row/applyApartType").text;
	} else {
		fundRate.applyApartType = "";
	}		
	if ( xmlRtn.selectSingleNode("//Root/FundRate/Row/applyApartRank") ) {
		fundRate.applyApartRank = xmlRtn.selectSingleNode("//Root/FundRate/Row/applyApartRank").text;
	} else {
		fundRate.applyApartRank = "";
	}	
	if ( xmlRtn.selectSingleNode("//Root/FundRate/Row/applyRate1") ) {
		fundRate.applyRate1 = xmlRtn.selectSingleNode("//Root/FundRate/Row/applyRate1").text;
	} else {
		fundRate.applyRate1 = "";
	}			
	if ( xmlRtn.selectSingleNode("//Root/FundRate/Row/takeRate1") ) {
		fundRate.takeRate1 = xmlRtn.selectSingleNode("//Root/FundRate/Row/takeRate1").text;
	} else {
		fundRate.takeRate1 = "";
	}	
	return fundRate;
}

//傳入總代理代碼產生銷售機構Select
function genSaleOrgCodeSel(orgCode, objSel){
	
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000060HQ01");
	row.appendParm(orgCode, "java.lang.String");
	ddo.appendRow("BasFundSalesOrg", row);
	
	xmlRtn = ddo.send();
	
	var oTemp = xmlTranObj(xmlRtn);

	var oSelData = new Object();
	
	//由obj產生select
	for (var i in oTemp) {
		oSelData[oTemp[i].orgCode] = oTemp[i].orgNameTw;
	}
	
	objToOptions(objSel, oSelData, "", "全部");
	
}

//傳入總代理代碼產生基金公司Select
//@parm:orgCode-基金總代理代碼
function genFundCompCodeSel(orgCode, objSel) {
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000060HQ02");
	row.appendParm(orgCode, "java.lang.String");
	ddo.appendRow("BasFundSalesComp", row);
	
	xmlRtn = ddo.send();
	
	var oTemp = xmlTranObj(xmlRtn);

	var oSelData = new Object();
	
	//由obj產生select
	for (var i in oTemp) {
		oSelData[oTemp[i].fundCompCode] = oTemp[i].fundCompName;
	}
	
	objToOptions(objSel, oSelData, "", "全部");
	
}

//產生所有基金公司Select
function genFundCompCodeSel2(objSel) {
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000060HQ05");
	//row.appendParm(saleOrgCode, "java.lang.String");
	ddo.appendRow("BasFundComp", row);
	
	xmlRtn = ddo.send();
	
	var oTemp = xmlTranObj(xmlRtn);

	var oSelData = new Object();
	
	//由obj產生select
	for (var i in oTemp) {
		oSelData[oTemp[i].fundCompCode] = oTemp[i].orgSnameTw;
	}
	
	objToOptions(objSel, oSelData, "", "");
	
}

//傳入總代理代碼產生基金代碼Select
//@parm:orgCode-基金總代理代碼
function genFundCodeSel(orgCode, objSel) {
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000060HQ02");
	row.appendParm(orgCode, "java.lang.String");
	
	ddo.appendRow("BasFundSalesFund", row);
	
	xmlRtn = ddo.send();
	
	var oTemp = xmlTranObj(xmlRtn);

	var oSelData = new Object();
	
	//由obj產生select
	for (var i in oTemp) {
		oSelData[oTemp[i].fundCode] = oTemp[i].fundNameTw;
	}
	
	objToOptions(objSel, oSelData, "", "全部");
	
}

//傳入銷售機構代碼產生基金代碼Select
//@parm:orgCode-銷售機構代碼
function genSaleFundCodeSel(saleOrgCode, objSel) {
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000060HQ03");
	row.appendParm(saleOrgCode, "java.lang.String");
	
	ddo.appendRow("BasFundSalesFund", row);
	
	xmlRtn = ddo.send();
	
	var oTemp = xmlTranObj(xmlRtn);

	var oSelData = new Object();
	
	//由obj產生select
	for (var i in oTemp) {
		oSelData[oTemp[i].fundCode] = oTemp[i].fundNameTw;
	}
	
	objToOptions(objSel, oSelData, "", "全部");
	
}


//傳入境外基金機構代碼產生基金代碼Select
//@parm:fundCompCode-境外基金機構代碼
function genComFundCodeSel(fundCompCode, objSel) {
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("COM000060HQ06");
	row.appendParm(fundCompCode, "java.lang.String");
	
	ddo.appendRow("BasFund", row);
	
	xmlRtn = ddo.send();
	
	var oTemp = xmlTranObj(xmlRtn);

	var oSelData = new Object();
	
	//由obj產生select
	for (var i in oTemp) {
		oSelData[oTemp[i].fundCode] = oTemp[i].fundSnameTw;
	}
	
	objToOptions(objSel, oSelData, "", "");
	
}

function setOrgTextDisabled(sText1,sText2) {

	var userInfo = getUserInfo();
	
	//根據總分公司..判斷是否開放前五碼
	if (userInfo.orgCode.substring(0,5) == "K1000") {	//集保
		document.getElementById(sText1).disabled = false;
		document.getElementById(sText2).disabled = false;
		document.getElementById(sText1).focus();
	}
	else if (userInfo.orgCode.substring(5,9) == "0000") {	//總公司
		document.getElementById(sText1).value = userInfo.orgCode.substring(0,5);
		document.getElementById(sText2).value = userInfo.orgCode.substring(5,9);
		document.getElementById(sText1).disabled = true;
		document.getElementById(sText2).disabled = false;
		document.getElementById(sText2).focus();	
	}
	else {	//分支機構
		document.getElementById(sText1).value = userInfo.orgCode.substring(0,5);
		document.getElementById(sText2).value = userInfo.orgCode.substring(5,9);
		document.getElementById(sText1).disabled = true;
		document.getElementById(sText2).disabled = true;			
	} 	
}

//機構開窗列表
function btnNewOrgQuery_OnClick() {

	var oBtn = event.srcElement;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText1 = null;
	var oText2 = null;	
	
	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		iIndex--;
		if ( iIndex >= 0 ) {
			oText2 = oBtn.parentNode.childNodes[iIndex];
		}
		iIndex--;
		if ( iIndex >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex];
		}		
	}

	//oParm.orgCode = oForm.orgCode1.value + oForm.orgCode2.value;
	//不管總分公司都送進前五碼
	oParm.orgCode = oText1.value;
	oParm.orgName = "";
	oRtn = COM007(oParm);
	if (oRtn != null) {
		//如果不是分公司才將值帶入
		if (userInfo.orgCode.substring(0,5) == "K1000" || userInfo.orgCode.substring(5,9) == "0000") {
			oText1.value = oRtn.orgCode.substring(0,5);
			oText2.value = oRtn.orgCode.substring(5);
			//oForm.orgNameTw.value = oRtn.orgNameTw;
		}
	}
	
}

//機構開窗
function OrgQuery() {

	var oBtn = event.srcElement;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText1 = null;
	var olabel2 = null;
		
	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		if ( (iIndex-1) >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex-1];
		}
		if (!((iIndex+1) > oBtn.parentNode.childNodes.length))
			olabel2 = oBtn.parentNode.childNodes[iIndex+1];
	}
	
	oParm = new Object();
	
	if (userInfo.orgCode.substring(0, 5) == "K1000") {
		oParm.orgCode = "";
		oRtn = COM007(oParm);
	} else {
		oParm.orgCode = userInfo.orgCode;
		oRtn = COM008(oParm);
	}
	if (oRtn != null) {
		if ( oRtn.orgCode != null ) {
			oText1.value = oRtn.orgCode;
			oText1.focus();
		}
		if ( oRtn.orgNameTw != null ) {
			if (olabel2) {
				olabel2.innerHTML = oRtn.orgNameTw;
			}
		}		
	}
}

//查詢該機構之總分支機構..回傳orgCode陣列
function getMasterOrgArrList(sOrgCode) {

//取出該總公司下的所有分支機構
	var ddo = null;
	var row = null;
	var arrList = new Array();
	
	ddo = getddo("Query");
	row = getrow("COM000070HQ01");
	row.appendParm(sOrgCode.trim().substring(0,5), "java.lang.String");
	
	ddo.appendRow("BasOrganiz", row);
	
	xmlRtn = ddo.send();
	
	for (var i = 0; i < xmlRtn.selectNodes("//orgCode").length; i++) {
		arrList.push(xmlRtn.selectNodes("//orgCode")[i].text);
	}
	
	return arrList;
}

//傳入銷售機構代碼,取得該機構之所有總分支機構代碼陣列
function getApartUuidList(sFundOrgCode, sSaleOrgCode) {
	var aList = new Array();
	var ddo = getddo("Query");
	var row = getrow("BAS150S01HQ04");
	var xmlRtn = null;
	
	row.appendParm(sSaleOrgCode.trim().substring(0,5), "java.lang.String");
	row.appendParm(sFundOrgCode, "java.lang.String");
	
	ddo.appendRow("BasApartUuid", row);
	
	xmlRtn = ddo.send();
	
	if ( xmlRtn.selectSingleNode("//Root/BasApartUuid") ) {
		for (var i = 0; i < xmlRtn.selectNodes("//basApartUuid").length; i++) {
			aList.push(xmlRtn.selectNodes("//basApartUuid")[i].text);
		}
	}
	
	return aList;	
}

// 銷售機構基金代碼開窗
function popSalesFundCodeWin() {

	var oBtn = event.srcElement;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText1 = null;
	var olabel2 = null;	
	
	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		if ( (iIndex-1) >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex-1];
		}
		if (!((iIndex+1) > oBtn.parentNode.childNodes.length))
			olabel2 = oBtn.parentNode.childNodes[iIndex+1];
	}

	oParm.saleOrgCode = userInfo.orgCode;
	
	oRtn = COM010(oParm);
	
	if( oRtn !=null ){
		if ( oRtn.fundCode != null ) {
			if (oText1) {
				oText1.value = oRtn.fundCode;
			}
		}
		if ( oRtn.fundNameTw != null ) {
			if (olabel2) {
				olabel2.innerHTML = oRtn.fundNameTw;
			}
		}
	}
}

// 境外基金機構開窗
function popFundCompCode(argKind, orgCode, obj) {
	var oBtn = obj;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText1 = null;
	var olabel2 = null;	

	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		if ( (iIndex-1) >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex-1];
		}
		if (!((iIndex+1) > oBtn.parentNode.childNodes.length))
			olabel2 = oBtn.parentNode.childNodes[iIndex+1];
	}

	oParm.kind = argKind;
	oParm.orgCode = orgCode;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM012S01.htm", oParm);

	if( oRtn !=null ) {
		if ( oRtn.fundCompCode != null ) {
			if (oText1) {
				oText1.value = oRtn.fundCompCode;
			}
		}
		if ( oRtn.orgNameTw != null ) {
			if (olabel2) {
				olabel2.innerHTML = oRtn.orgNameTw;
			}
		}
	}
}


// 總代理基金代碼開窗
function popBasFundCodeWin() {

	var oBtn = event.srcElement;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText1 = null;
	var olabel2 = null;	
	
	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		if ( (iIndex-1) >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex-1];
		}
		if (!((iIndex+1) > oBtn.parentNode.childNodes.length))
			olabel2 = oBtn.parentNode.childNodes[iIndex+1];
	}

	oParm.orgCode = userInfo.orgCode;
	
	oRtn = COM011(oParm);
	
	if( oRtn !=null ){
		if ( oRtn.fundCode != null ) {
			if (oText1) {
				oText1.value = oRtn.fundCode;
			}
		}
		if ( oRtn.fundNameTw != null ) {
			if (olabel2) {
				olabel2.innerHTML = oRtn.fundNameTw;
			}
		}
	}
}

//檢查機構狀態
function chkOrgStatus(orgCode, transType) {
	
	var orgStatusFlag = getOrgInfo(orgCode).statusFlag;
	var rtnFlag = true;

	transType = transType.substring(0,3);
	
	switch (orgStatusFlag) {
		case "0":	//暫停營業
			if (transType.toUpperCase() == "APL") {
				alert("該機構暫停營業,不得交易");
				rtnFlag = false;
			}
			break;
		case "1":	//營業
			break;
		case "2":	//停業
			if (transType.toUpperCase() == "APL") {
				alert("該機構停業,不得交易");
				rtnFlag = false;
			}
			break;		
		case "3":	//變更/終止(無代理機構)
			if (transType.toUpperCase() == "APL") {
				alert("該機構變更終止(無代理機構),不得交易");
				rtnFlag = false;
			}
			break;
		case "4":	//解散終止(有代理機構)
			alert("該機構解散終止(有代理機構),不得交易");
			rtnFlag = false;
			break;
		case "5":	//合併或營業讓與
			alert("該機構合併或營業讓與,不得交易");
			rtnFlag = false;
			break;		
	}
	
	return rtnFlag;
	
}

//檢查基金狀態
function chkFundStatus(fundCode, transType) {
	
	var fundStatusFlag = getFundInfo(fundCode).fundStatus;
	var rtnFlag = true;

	transType = transType.substring(0,3);

	switch (fundStatusFlag) {
		case "0":	//正常
			break;
		case "1":	//終止
			if (transType.toUpperCase() == "APL") {
				alert("該基金終止,不得交易");
				rtnFlag = false;
			}
			break;		
		case "2":	//合併
			alert("該基金合併,不得交易");
			rtnFlag = false;
			break;
		case "3":	//清算
			alert("該基金清算,不得交易");
			rtnFlag = false;
			break;
		case "4":	//暫停申購
			if (transType.toUpperCase() == "APL") {
				alert("該基金暫停申購,不得交易");
				rtnFlag = false;
			}
			break;
		case "5":	//暫停買回
			if (transType.toUpperCase() == "RDP") {
				alert("該基金暫停買回,不得交易");
				rtnFlag = false;
			}
			break;
		case "6":	//暫停轉換
			if (transType.toUpperCase() == "SWH") {
				alert("該基金暫停轉換,不得交易");
				rtnFlag = false;
			}
			break;
		case "7":	//暫停配息
			if (transType.toUpperCase() == "ASI") {
				alert("該基金暫停配息,不得交易");
				rtnFlag = false;
			}
			break;
		case "8":	//暫停配息再投資
			if (transType.toUpperCase() == "ASI") {
				alert("該基金暫停配息再投資,不得交易");
				rtnFlag = false;
			}
			break;
		case "9":	//閉鎖期-->除了申購其他都不能做
			if (transType.toUpperCase() != "APL") {
				alert("該基金閉鎖期,不得交易");
				rtnFlag = false;
			}
			break;
		case "10":	//移轉
			alert("該基金移轉,不得交易");
			rtnFlag = false;
			break;					
	}
	
	return rtnFlag;
	
}
/*
var loginInfo = getUserInfo();
if (loginInfo.userUuid == "") {
	if (top.lblSysStatus) {
		alert("使用者未登入或登入時間過久");
		top.location.href = "index.jsp";
	} else {
		alert("使用者未登入或登入時間過久，請重新登入");
		window.close();
	}
}
*/
function HeadShowStatus() {
	if (top.lblSysStatus) {
	var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	var xmlRtn = null;
	var statusCode = "";
	var statusDesc = "";
	var systemTime = "";
	var strURL = "";
	var dCurrent = new Date();

	strURL = "StatusHelper?time=" + dCurrent.getTime();
	xmlHttp.Open("GET", strURL, false);
    xmlHttp.setRequestHeader("Content-Type","text/xml;charset=big5");
    xmlHttp.setRequestHeader("Cache-Control","no-cache");
    xmlHttp.send();
    xmlRtn = xmlHttp.responseXML;
	if ( xmlRtn.selectSingleNode("//Root/StatusCode") ) {
		statusCode = xmlRtn.selectSingleNode("//Root/StatusCode").text;
	}    	
	if ( xmlRtn.selectSingleNode("//Root/StatusDesc") ) {
		statusDesc = xmlRtn.selectSingleNode("//Root/StatusDesc").text;
	}   	
	//document.all.lblSysStatus.innerText = statusDesc;
	top.lblSysStatus.innerText = statusDesc;
	}

//	xmlRtn = null;
//	xmlHttp = null;
}

function getSysStatus(strDate){

	var rtn="";
	var xmlRtn = null;
	var ddo = getddo("Query");
	var row = getrow("SYS_STATUS_QUERY");
	row.appendParm(strDate, "java.lang.String");
	ddo.appendRow("SysStatus", row);
	//alert(ddo.asXml());
	xmlRtn = ddo.send();
	/*
	if ( xmlObj.selectSingleNode("//Root/SysStatus") ) {
		xmlObj.selectSingleNode("//Root").removeChild(xmlObj.selectSingleNode("//Root/SysStatus"));
	}
	if ( xmlRtn.selectSingleNode("//Root/SysStatus") ) {
		xmlObj.selectSingleNode("//Root").appendChild(xmlRtn.selectSingleNode("//Root/SysStatus"));
	}
	alert(xmlObj.xml);
	*/
	if (xmlRtn.selectSingleNode("//Root/SysStatus/Row/status") ) {
		rtn = xmlRtn.selectSingleNode("//Root/SysStatus/Row/status").text;
	}
	return rtn;	
}

HeadShowStatus();


// 新機構開窗
function popOrgCodeC(argKind, orgCode, Comp, obj) {
	var oBtn = obj;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText1 = null;
	var olabel2 = null;	

	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		if ( (iIndex-1) >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex-1];
		}
		if (!((iIndex+1) > oBtn.parentNode.childNodes.length))
			olabel2 = oBtn.parentNode.childNodes[iIndex+1];
	}

	oParm.kind = argKind;
	oParm.orgCode = orgCode;
	oParm.Comp = Comp;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM013S01.htm", oParm);

	if( oRtn !=null ) {
		if ( oRtn.orgCode != null ) {
			if (oText1) {
				oText1.value = oRtn.orgCode;
			}
		}
		if ( oRtn.orgNameTw != null ) {
			if (olabel2) {
				olabel2.innerHTML = oRtn.orgNameTw;
			}
		}
	}
}


function popOrgCodeD(argKind, orgCode, Comp, obj) {
	var oBtn = obj;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText0 = null;
	var oText1 = null;
	var olabel2 = null;	

	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		if ( (iIndex-2) >= 0 ) {
			oText0 = oBtn.parentNode.childNodes[iIndex-2];
		}
		if ( (iIndex-1) >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex-1];
		}
		if (!((iIndex+1) > oBtn.parentNode.childNodes.length))
			olabel2 = oBtn.parentNode.childNodes[iIndex+1];
	}

	oParm.kind = argKind;
	oParm.orgCode = orgCode;
	oParm.Comp = Comp;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM013S01.htm", oParm);

	if( oRtn !=null ) {
		if ( oRtn.orgCode != null ) {
			if (oText0 && oText0.disabled == false) {
				oText0.value = oRtn.orgCode.substring(0, 5);
			}
			if (oText1 && oText1.disabled == false) {
				oText1.value = oRtn.orgCode.substring(5, 9);
			}
		}
		if ( oRtn.orgNameTw != null ) {
			if (olabel2) {
				olabel2.innerHTML = oRtn.orgNameTw;
			}
		}
	}
}

// 新基金開窗
function popFundCodeNew(orgCode, saleOrgCode, obj) {
	var oBtn = obj;
	var i = 0;
	var iIndex = null;
	var userInfo = getUserInfo();
	var oParm = new Object();
	var oRtn = null;
	var oText1 = null;
	var olabel2 = null;	

	if ( oBtn.tagName.toLowerCase() == "button" ) {
		for ( i = 0; i< oBtn.parentNode.childNodes.length; i++ ) {
			if ( oBtn.parentNode.childNodes[i] == oBtn ) {
				iIndex = i;
				break;
			}
		}
	}
	
	if ( iIndex != null ) {
		if ( (iIndex-1) >= 0 ) {
			oText1 = oBtn.parentNode.childNodes[iIndex-1];
		}
		if (!((iIndex+1) > oBtn.parentNode.childNodes.length))
			olabel2 = oBtn.parentNode.childNodes[iIndex+1];
	}

	oParm.orgCode = orgCode;
	oParm.saleOrgCode = saleOrgCode;

	var urlIndex = 0;
	if (top.lblSysStatus) {
		urlIndex = 1;
	}

	oRtn = openNewWindow("/" + self.location.pathname.split("/")[urlIndex] + "/APPS/COM/COM014S01.htm", oParm);

	if( oRtn !=null ) {
		if ( oRtn.fundCode != null ) {
			if (oText1) {
				oText1.value = oRtn.fundCode;
			}
		}
		if ( oRtn.fundNameTw != null ) {
			if (olabel2) {
				olabel2.innerHTML = oRtn.fundNameTw;
			}
		}
	}
}

function popFundCode_orgCode(obj) {
	popFundCodeNew(userInfo.orgCode, "", obj);
}


function sysLog(itemid,action){

	var userInfo = getUserInfo();

	if ((userInfo.userID.substring(1,6) == "K9999") || (userInfo.userID.substring(1,6)=="K1000")){
		var ddo = new DDO();
		var row = new Row();
	
		ddo.init();
		ddo.setAction("AffixAction.DB2SQLUpdate");
		row.setQuery("HOM00S99SQ01");	
		
		row.appendParm(userInfo.userID, "java.lang.String");
		row.appendParm(itemid, "java.lang.String");
		row.appendParm(action, "java.lang.String");
	
		ddo.appendRow("sysLog", row);
		xmlRtn = ddo.send();
	}
	return true;
}