var StockArrList_HK = []; var StockArrList_CN = []; DebugMethod = false; function httpGet(theUrl) { //var xmlHttp = new XMLHttpRequest(); //xmlHttp.open( "GET", theUrl, false ); // false for synchronous request //xmlHttp.send( null ); //return xmlHttp.responseText; return $.ajax({url: theUrl, async: false, type: "get"}).responseText; } function getStockName(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[0]; } else { return "-"; } } function getStockNameEN(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[1]; } else { return "-"; } } function getStockTradeStatus(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[3]; } else { return ""; } } function getStockLotSize(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[4]; } else { return ""; } } function getStockCurrency(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[5]; } else { return ""; } } function getStockAH_Match(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[6]; } else { return ""; } } function getWarrentsInfo_UnderlyingCode(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[7]; } else { return ""; } } function getWarrentsInfo_MaturityDate(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[8]; } else { return ""; } } function getWarrentsInfo_StrikePrice(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[9]; } else { return ""; } } function getStockInfo_52High(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { if (stockInfoArr[10] == "0") { return "-"; } else { return stockInfoArr[10]; } } else { return "-"; } } function getStockInfo_52Low(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { if (stockInfoArr[11] == "0") { return "-"; } else { return stockInfoArr[11]; } } else { return "-"; } } function getStockInfo_EarnVale(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[12]; } else { return "-"; } } function getStockInfo_Dividend(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { return stockInfoArr[13]; } else { return "-"; } } function getStockInfo_MarketCode(code, market) { var stockInfoArr = getStockInfo(code, market); if (stockInfoArr != undefined) { if (stockInfoArr[14] == "ASZR") { return "SZ"; } else if (stockInfoArr[14] == "ASHR") { return "SH"; } else { return "HK"; } } else { return "-"; } } function getStockInfo(code, market) { var stockInfo, stockInfoArr; if (market != "CN") { market = "HK"; } if (market == "CN" && StockArrList_CN[code]) { stockInfo = StockArrList_CN[code]; } else if (market == "HK" && StockArrList_HK[code]) { stockInfo = StockArrList_HK[code]; } else { var pageUrl = window.location.protocol + "//trading.poems.com.hk/POEMS2/CacheData/LS_List/"+market+"/" + (Number(code)).toString() + ".asp?rid=" + ((Math.random() * 100) + 1).toString(); stockInfo = httpGet(pageUrl); if (window.console && DebugMethod) console.log("GetStockInfo: " + code + "[" + market + "]"); if (stockInfo != undefined && stockInfo.length < 180) { tmpArr = stockInfo.split("~:~"); tmpVal = getStockTradeStatus_UseArr(tmpArr); if (tmpVal == "N" && market == "CN") { StockArrList_CN[code] = stockInfo; } else if (tmpVal == "N") { StockArrList_HK[code] = stockInfo; } } else if (stockInfo.indexOf("404") >= 0) { if (window.console && DebugMethod) console.log("This Stock not existed."); if (window.console && DebugMethod) console.log("Get Stock Info Error: " + stockInfo); stockInfo = "N/A"; if (market == "CN") { StockArrList_CN[code] = stockInfo; } else { StockArrList_HK[code] = stockInfo; } } else { if (window.console && DebugMethod) console.log("Get Stock Info Error: " + stockInfo); return "ERROR"; } } if (stockInfo != undefined && stockInfo.length < 180 && stockInfo.length > 3) { stockInfoArr = stockInfo.split("~:~"); } return stockInfoArr; } function getStockName_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[0]; } else { return "-"; } } function getStockNameEN_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[1]; } else { return "-"; } } function getStockTradeStatus_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[3]; } else { return ""; } } function getStockLotSize_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[4]; } else { return ""; } } function getStockCurrency_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[5]; } else { return ""; } } function getStockAH_Match_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[6]; } else { return ""; } } function getWarrentsInfo_UnderlyingCode_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[7]; } else { return ""; } } function getWarrentsInfo_MaturityDate_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[8]; } else { return ""; } } function getWarrentsInfo_StrikePrice_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[9]; } else { return ""; } } function getStockInfo_52High_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { if (stockInfoArr[10] == "0") { return "-"; } else { return stockInfoArr[10]; } } else { return "-"; } } function getStockInfo_52Low_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { if (stockInfoArr[11] == "0") { return "-"; } else { return stockInfoArr[11]; } } else { return "-"; } } function getStockInfo_EarnVale_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[12]; } else { return "-"; } } function getStockInfo_Dividend_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { return stockInfoArr[13]; } else { return "-"; } } function getStockInfo_MarketCode_UseArr(stockInfoArr) { if (stockInfoArr != undefined) { if (stockInfoArr[14] == "ASZR") { return "SZ"; } else if (stockInfoArr[14] == "ASHR") { return "SH"; } else { return "HK"; } } else { return "-"; } } function getStockInfo_SpreadType_UseArr(stockInfoArr) { return stockInfoArr[15]; }