1$(document).ready(function() { 2 3 $(".third-lv-selector select").change(function() { 4 var tar = $(this).val() 5 $(".faq-answer").find(".show").slideUp(250, function() { 6 $(this).removeClass("show") 7 $(this).removeAttr("style") 8 }) 9 $(".faq-answer").find("#ans" + tar).slideDown(250, function() { 10 $(this).addClass("show") 11 $(this).removeAttr("style") 12 }) 13 }) 14 15 $(".item-mob select").change(function() { 16 var tar = $(this).val() 17 window.location = tar 18 }) 19 20 $(".btn-filter").click(function() { 21 $(".news-details .search-box").addClass("opened") 22 }) 23 24 if ($('.news-details[data-news-page=header]').length > 0) { 25 var searchBtn = $('button.news-search-button'); 26 var params = {}; 27 if ('etnetNews' == searchBtn.attr('data-news-type')) { 28 params = { 29 category: searchBtn.attr('data-param-cate'), 30 date: searchBtn.attr('data-param-date') 31 }; 32 } else if ('hkexBulletin' == searchBtn.attr('data-news-type')) { 33 params = { 34 date: searchBtn.attr('data-param-date') 35 }; 36 } else if (('relatedEtnetNews' == searchBtn.attr('data-news-type') || 'relatedHkexBulletin' == searchBtn.attr('data-news-type')) && searchBtn.attr('data-param-stockcode')) { 37 params = { 38 stockCode: searchBtn.attr('data-param-stockcode'), 39 }; 40 } 41 populateNewsHeader({ 42 newsType: searchBtn.attr('data-news-type'), 43 recordPerPage: 10, 44 currentPage: searchBtn.attr('data-current-page'), 45 params: params 46 }); 47 } else if ($('.news-details[data-news-page=content]').length > 0) { 48 populateNewsContent({ 49 newsId: getParameterByName('id', window.location.href), 50 newsType: $('.news-details[data-news-type]').attr('data-news-type') 51 }); 52 } 53 $(document).on('keydown', 'input#stock-code', function(e) { 54 if (e.keyCode === 13) { 55 $('button.news-search-button').trigger("click"); 56 $(this).select(); 57 e.preventDefault(); 58 e.stopPropagation(); 59 } 60 }); 61 $(document).on('click', 'button.news-search-button, .news-page-num-left, .news-page-num-right', function(e) { 62 e.preventDefault(); 63 e.stopPropagation(); 64 65 var $this = $(this); 66 var searchBtn = $('button.news-search-button'); 67 var goToPage = Number(searchBtn.attr('data-current-page')); 68 if ($this.hasClass('news-search-button')) { 69 if (searchBtn && searchBtn.attr('data-param-cate')) { 70 searchBtn.attr('data-param-cate', $('select#category').val()); 71 } 72 if (searchBtn && searchBtn.attr('data-param-date')) { 73 searchBtn.attr('data-param-date', $('select#date').val()); 74 } 75 if (searchBtn && $('input#stock-code')) { 76 searchBtn.attr('data-param-stockcode', $('input#stock-code').val()); 77 } 78 searchBtn.attr('data-max-page', 1); 79 goToPage = 1; 80 } else if ($this.hasClass('news-page-num-left')) { 81 goToPage -= 1; 82 } else if ($this.hasClass('news-page-num-right')) { 83 goToPage += 1; 84 } 85 86 if (goToPage < 1 || goToPage > searchBtn.attr('data-max-page')) { 87 return; 88 } 89 90 var params = {}; 91 if ('etnetNews' == searchBtn.attr('data-news-type')) { 92 params = { 93 category: searchBtn.attr('data-param-cate'), 94 date: searchBtn.attr('data-param-date') 95 }; 96 } else if ('hkexBulletin' == searchBtn.attr('data-news-type')) { 97 params = { 98 date: searchBtn.attr('data-param-date') 99 }; 100 } else if ('relatedEtnetNews' == searchBtn.attr('data-news-type') || 101 'relatedHkexBulletin' == searchBtn.attr('data-news-type')) { 102 params = { 103 stockCode: searchBtn.attr('data-param-stockcode'), 104 }; 105 } 106 107 populateNewsHeader({ 108 newsType: searchBtn.attr('data-news-type'), 109 recordPerPage: 10, 110 currentPage: goToPage, 111 params: params 112 }); 113 }); 114 115 var stockCode = getStockCodeFromURL(); 116 if (stockCode){ 117 updateTPCMSSideMenu(stockCode); 118 // Update Stock Code in NWTE 119 if ($('body').hasClass('framed')){ 120 var siteID = ((host_name.indexOf(shkf.api.SITE_OS.substring(shkf.api.SITE_OS.indexOf('.'))) > -1) ? 'os' : 'is'); 121 var domain=(siteID=='os' ? '.ebshkdirect.com' : '.ebshkfg.com'); 122 document.cookie = "ETNETSTOCKCODE=" + stockCode + "; path=/;domain=" + domain + ";"; 123 } 124 } 125 126}); 127 128function getCodeNum() {
129 var code = getParameterByName('code'); 130 var src = $("#iframe-container iframe").attr("src") 131 var newSrc = src + "?code=" + code 132 $("#iframe-container iframe").attr("src", newSrc) 133}; 134 135function getParameterByName(name, url) { 136 if (!url) url = window.location.href; 137 name = name.replace(/[\[\]]/g, "\\$&"); 138 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 139 results = regex.exec(url); 140 if (!results) return null; 141 if (!results[2]) return ''; 142 return decodeURIComponent(results[2].replace(/\+/g, " ")); 143}; 144 145function appendQueryStringtoTarget(target) { 146 var URL = window.location.href; 147 var queryString = (URL.indexOf('?') > -1 ? URL.substring(URL.indexOf('?') + 1) : ''); 148 var $targetElement = (!target ? $('#iframe-container iframe') : target); 149 var targetURLPrefix = $targetElement.attr('src'); 150 if (queryString && queryString != null && queryString != '') { 151 if (targetURLPrefix.indexOf('?') > -1) { 152 if (queryString.indexOf('?') == 0) { 153 $targetElement.attr('src', targetURLPrefix + '&' + queryString.substring(1)); 154 } else { 155 $targetElement.attr('src', targetURLPrefix + '&' + queryString); 156 } 157 } else { 158 if (queryString.indexOf('?') == 0) { 159 $targetElement.attr('src', targetURLPrefix + queryString); 160 } else { 161 $targetElement.attr('src', targetURLPrefix + '?' + queryString); 162 } 163 } 164 } 165}; 166 167function buildiFrameURL(pageID, lang, target, userId) { 168 var getInfoByKey = function(theKey) { 169 var URLPrefix = etNETContentURL + '/content/shkf/' + ((lang.toLowerCase() == 'en') ? 'eng/' : ((extractURLDomain(window.location.href).indexOf(shkf.api.SITE_OS)>=0 || extractURLDomain(window.location.href).indexOf(shkf.api.SITE_IS)>=0) ? 'tc/' : 'sc/')); // TODO: check tc, sc works or not 170 var siteID = (host_name.indexOf(shkf.api.SITE_OS.substring(shkf.api.SITE_OS.indexOf('.'))) > -1) ? 'os' : (isPrivateUser.toUpperCase()=='Y' ? 'pv' : 'is'); 171 var info = { 172 "info": [{ 173 "key": "marketindicies", 174 "page": URLPrefix + "indexes_main.php" + "?cpyCode=" + siteID 175 }, { 176 "key": "top20movers", 177 "page": URLPrefix + "top20.php" + "?cpyCode=" + siteID 178 }, { 179 "key": "financialFutures", 180 "page": URLPrefix + "futures.php" + "?cpyCode=" + siteID 181 }, { 182 "key": "industrySector", 183 "page": URLPrefix + "industry_lead.php" + "?cpyCode=" + siteID 184 }, { 185 "key": "industryDetailByCode", 186 "page": URLPrefix + "industry_detail.php" + "?cpyCode=" + siteID 187 }, { 188 "key": "quote", 189 "page": URLPrefix + "quote.php" + "?cpyCode=" + siteID 190 }, { 191 "key": "chart", 192 "page": URLPrefix + "quote_chart.php" + "?cpyCode=" + siteID 193 }, { 194 "key": "companyinfo", 195 "page": URLPrefix + "ci_brief.php" + "?cpyCode=" + siteID 196 }, { 197 "key": "corporateaction", 198 "page": URLPrefix + "ca_resultannounce.php" + "?cpyCode=" + siteID 199 }, { 200 "key": "relatedWarrants", 201 "page": URLPrefix + "warrant_cbbc_search.php" + "?cpyCode=" + siteID 202 }, { 203 "key": "relatedCBBCS", 204 "page": URLPrefix + "warrant_cbbc_search.php" + "?cpyCode=" + siteID 205 }, { 206 "key": "relatedETNetNews", 207 "page": URLPrefix + "" + "?cpyCode=" + siteID 208 }, { 209 "key": "relatedSEHKBulletin", 210 "page": URLPrefix + "" + "?cpyCode=" + siteID 211 }, { 212 "key": "marginTable", 213 "page": URLPrefix + "" + "?cpyCode=" + siteID 214 }, { 215 "key": "marketCalendarOverview", 216 "page": URLPrefix + "market_calendar.php" + "?cpyCode=" + siteID 217 }, { 218 "key": "pressRelease", 219 "page": URLPrefix + "ci_cal_event.php" + "?cpyCode=" + siteID 220 }, { 221 "key": "resultAnnounce", 222 "page": URLPrefix + "ci_cal_result.php" + "?cpyCode=" + siteID 223 }, { 224 "key": "econFigures", 225 "page": URLPrefix + "ci_cal_figure.php" + "?cpyCode=" + siteID 226 }, { 227 "key": "ipoOverview", 228 "page": URLPrefix + "ipo.php" + "?cpyCode=" + siteID 229 }, {
230 "key": "ipoNews", 231 "page": URLPrefix + "ipo_news.php" + "?cpyCode=" + siteID 232 }, { 233 "key": "hotListedIPOs", 234 "page": URLPrefix + "ipo_hot.php" + "?cpyCode=" + siteID 235 }, { 236 "key": "listedIPOs", 237 "page": URLPrefix + "ipo_listed.php" + "?cpyCode=" + siteID 238 }, { 239 "key": "upcomingIPOs", 240 "page": URLPrefix + "ipo_listing.php" + "?cpyCode=" + siteID 241 }, { 242 "key": "ipoFAQs", 243 "page": URLPrefix + ".php" + "?cpyCode=" + siteID 244 }, { 245 "key": "cpybusinessreview", 246 "page": URLPrefix + "ci_detail.php" + "?cpyCode=" + siteID 247 }, { 248 "key": "cpycompanystructure", 249 "page": URLPrefix + "ci_structure.php" + "?cpyCode=" + siteID 250 }, { 251 "key": "cpyprofitloss", 252 "page": URLPrefix + "ci_pl.php" + "?cpyCode=" + siteID 253 }, { 254 "key": "cpyfinancialposition", 255 "page": URLPrefix + "ci_bs.php" + "?cpyCode=" + siteID 256 }, { 257 "key": "cpycashflow", 258 "page": URLPrefix + "ci_cashflow.php" + "?cpyCode=" + siteID 259 }, { 260 "key": "cpyfinancialratio", 261 "page": URLPrefix + "ci_ratio.php" + "?cpyCode=" + siteID 262 }, { 263 "key": "cadividend", 264 "page": URLPrefix + "ca_dividend.php" + "?cpyCode=" + siteID 265 }, { 266 "key": "cabuyback", 267 "page": URLPrefix + "ca_buyback.php" + "?cpyCode=" + siteID 268 }, { 269 "key": "caplacing", 270 "page": URLPrefix + "ca_placing.php" + "?cpyCode=" + siteID 271 }] 272 }; 273 274 // Additional Logic on choosing ET Net page 275 var URL = window.location.href; 276 var queryString = (URL.indexOf('?') > -1 ? URL.substring(URL.indexOf('?') + 1) : ''); 277 var searchKey = ''; 278 279 if (pageID == 'industrySector' && queryString && queryString != null && queryString != '') { 280 searchKey = 'industryDetailByCode'; 281 } else if ((pageID == 'companyinfo' || pageID =='corporateaction') && queryString && queryString != null && queryString != '') { 282 if (getParameterByName("subpage", URL)){ 283 searchKey=getParameterByName("subpage", URL); 284 } 285 } else { 286 searchKey = theKey; 287 } 288 289 // Retrieve page by key 290 for (i = 0; i < info.info.length; i++) { 291 if (info.info[i].key == searchKey) { 292 return info.info[i]; 293 } 294 } 295 return ''; 296 }; 297 298 var $targetElement = (!target ? $('#iframe-container iframe') : target); 299 300 var result = getInfoByKey(pageID); 301 if (result && result != null && result != '' && result.page && result.page != null && result.page != '') { 302 $targetElement.attr('src', result.page); 303 appendQueryStringtoTarget($targetElement); 304 } 305}; 306 307function buildiFramePostLoginURL(pageID, target, token, lang) { 308 var getInfoByKey = function(theKey) { 309 var URLPrefix = etNETPostLoginURL + '/etnetProduct/User/'; 310 var URLContentPrefix = etNETContentURL + '/content/shkf/' + ((lang && lang.toLowerCase() == 'en') ? 'eng/' : ((extractURLDomain(window.location.href).indexOf(shkf.api.SITE_OS)>=0 || extractURLDomain(window.location.href).indexOf(shkf.api.SITE_IS)>=0) ? 'tc/' : 'sc/')); // TODO: check tc, sc works or not 311 312 313 // Additional Logic on choosing ET Net page 314 var URL = window.location.href; 315 var queryString = (URL.indexOf('?') > -1 ? URL.substring(URL.indexOf('?') + 1) : ''); 316 317 var info = { 318 "info": [{ 319 "key": "quote", 320 "page": URLPrefix + "VerifyUser?company=SHKF&token=" + token 321 }, { 322 "key": "quoteAfterHandshake", 323 "page": URLContentPrefix + 'quote.php?' + queryString 324 }] 325 }; 326 327 328 var searchKey = ''; 329 330 searchKey = theKey; 331 332 // Retrieve page by key 333 for (i = 0; i < info.info.length; i++) { 334 if (info.info[i].key == searchKey) { 335 return info.info[i]; 336 } 337 } 338 return ''; 339 }; 340 341 var $targetElement = (!target ? $('#iframe-container iframe') : target); 342 343 var result = getInfoByKey(pageID); 344 if (result && result != null && result != '' && result.page && result.page != null && result.page != '') { 345 $targetElement.attr('src', result.page); 346 } 347}; 348 349var populateNewsContent = function(data) { 350 var newsType = data.newsType; 351 if ('relatedEtnetNews' === newsType){ 352 newsType = 'etnetNews'; 353 } else if ('relatedHkexBulletin' === newsType){ 354 newsType = 'hkexBulletin'; 355 } 356 var url = '/content/api/' + newsType + '/news/' + (lang === 'en/' ? 'E' : 'T') + '/' + data.newsId.replace(/[^0-9A-Z]/g, ''); 357 $.ajax({
358 headers: { 359 'shkf-api-version':'v1' 360 }, 361 url: url 362 }).done(function(response) { 363 var json = JSON.parse(response.replace(/\r\n/g, "").replace(/\n/g, "")); 364 if ('etnetNews' == newsType && 365 json && 366 json.mobileSysResp && 367 json.mobileSysResp.retrieveETNetNewsFeedResponse && 368 json.mobileSysResp.retrieveETNetNewsFeedResponse.relatedETNetNewsList && 369 json.mobileSysResp.retrieveETNetNewsFeedResponse.relatedETNetNewsList[0].content && 370 json.mobileSysResp.retrieveETNetNewsFeedResponse.resultStatus === 'OK') { 371 var newsId = json.mobileSysResp.retrieveETNetNewsFeedResponse.relatedETNetNewsList[0].id; 372 var content = json.mobileSysResp.retrieveETNetNewsFeedResponse.relatedETNetNewsList[0].content; 373 $.ajax({ 374 headers: { 375 'shkf-api-version':'v1' 376 }, 377 url: '/content/api/etnetNews/header/' + (lang === 'en/' ? 'E' : 'T') + '/10/0?category=all&date=all&newsId=' + newsId 378 }).done(function(headerResponse) { 379 var headerJson = JSON.parse(headerResponse.replace(/\r\n/g, "").replace(/\n/g, "")); 380 if (headerJson.mobileSysResp && 381 headerJson.mobileSysResp.retrieveETNetNewsHeaderFeedResponse && 382 headerJson.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.relatedETNetNewsList && 383 headerJson.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.resultStatus === 'OK'){ 384 var dateTime = headerJson.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.relatedETNetNewsList[0].dateTime; 385 var header = headerJson.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.relatedETNetNewsList[0].headline; 386 var dateLabel = ''; 387 dateLabel += dateTime.substr(8, 2) + ':' + dateTime.substr(10, 2); 388 dateLabel += ' '; 389 dateLabel += dateTime.substr(6, 2) + '/' + dateTime.substr(4, 2); 390 $('.news-content').html('<h4 class="news-header" >' + dateLabel + ' ' + header + '</h4><br/>' + content); 391 } 392 }); 393 } else if ('hkexBulletin' === newsType && 394 json && 395 json.mobileSysResp && 396 json.mobileSysResp.retrieveSEHKBulletinResponse && 397 json.mobileSysResp.retrieveSEHKBulletinResponse.relatedSEHKBulletinList && 398 json.mobileSysResp.retrieveSEHKBulletinResponse.relatedSEHKBulletinList[0].headline && 399 json.mobileSysResp.retrieveSEHKBulletinResponse.relatedSEHKBulletinList[0].content && 400 json.mobileSysResp.retrieveSEHKBulletinResponse.resultStatus === 'OK') { 401 var dateTime = json.mobileSysResp.retrieveSEHKBulletinResponse.relatedSEHKBulletinList[0].dateTime; 402 var header = json.mobileSysResp.retrieveSEHKBulletinResponse.relatedSEHKBulletinList[0].headline; 403 var content = json.mobileSysResp.retrieveSEHKBulletinResponse.relatedSEHKBulletinList[0].content; 404 var dateLabel = ''; 405 dateLabel += dateTime.substr(8, 2) + ':' + dateTime.substr(10, 2); 406 dateLabel += ' '; 407 dateLabel += dateTime.substr(6, 2) + '/' + dateTime.substr(4, 2); 408 $('.news-content').html('<h4 class="news-header" >' + dateLabel + ' ' + header + '</h4><br/>' + content); 409 } 410 }); 411}; 412 413var populateNewsHeader = function(data) { 414 415 var url = ''; 416 if ('etnetNews' == data.newsType || 'hkexBulletin' === data.newsType) { 417 url = '/content/api/' + data.newsType + '/header/' + (lang === 'en/' ? 'E' : 'T') + '/' + data.recordPerPage + '/' + ((data.currentPage - 1) * data.recordPerPage); 418 if ('etnetNews' === data.newsType) { 419 url += '?category=' + data.params.category + '&date=' + data.params.date; 420 } else if ('hkexBulletin' === data.newsType) { 421 url += '?date=' + data.params.date; 422 } 423 } else if ('relatedEtnetNews' == data.newsType) { 424 if (!data.params.stockCode){ 425 return; 426 } 427 url = '/content/api/stock/' + data.params.stockCode + '/etnetNews/' + (lang === 'en/' ? 'E' : 'T') + '/' + data.recordPerPage + '/' + ((data.currentPage - 1) * data.recordPerPage); 428 } else if ('relatedHkexBulletin' == data.newsType) { 429 if (!data.params.stockCode){ 430 return; 431 } 432 url = '/content/api/stock/' + data.params.stockCode + '/hkexBulletin/' + (lang === 'en/' ? 'E' : 'T') + '/' + data.recordPerPage + '/' + ((data.currentPage - 1) * data.recordPerPage); 433 } 434 435 updateTPCMSSideMenu(data.params.stockCode); 436 $('.navbar .lang a').each(function (idx, itm){ 437 var $itm = $(itm); 438 var link = $itm.attr('href'); 439 if (link && link.indexOf('http') === 0){ 440 $itm.attr('href', addOrUpdateUrlParam(link, 'code', data.params.stockCode));
441 } 442 }); 443 444 // Update Stock Code in NWTE 445 if ($('body').hasClass('framed')){ 446 var siteID = ((host_name.indexOf(shkf.api.SITE_OS.substring(shkf.api.SITE_OS.indexOf('.'))) > -1) ? 'os' : 'is'); 447 var domain=(siteID=='os' ? '.ebshkdirect.com' : '.ebshkfg.com'); 448 document.cookie = "ETNETSTOCKCODE=" + data.params.stockCode + "; path=/;domain=" + domain + ";"; 449 } 450 451 $.ajax({ 452 headers: { 453 'shkf-api-version':'v1' 454 }, 455 url: url 456 }) 457 .done(function(response) { 458 var json = JSON.parse(response.replace(/\r\n/g, "").replace(/\n/g, "")); 459 var newsList = null; 460 var maxPage = 1; 461 var contentPage = ''; 462 var isIframeContent = $('body').hasClass('framed'); 463 464 465 if ('etnetNews' == data.newsType && 466 json && 467 json.mobileSysResp && 468 json.mobileSysResp.retrieveETNetNewsHeaderFeedResponse && 469 json.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.relatedETNetNewsList && 470 json.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.resultStatus === 'OK') { 471 newsList = json.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.relatedETNetNewsList; 472 maxPage = Math.ceil(json.mobileSysResp.retrieveETNetNewsHeaderFeedResponse.totalRows / data.recordPerPage); 473 contentPage = '/hk/web/'+ lang + 'market_news/et-news-content'; 474 } else if (('hkexBulletin' == data.newsType || 'relatedHkexBulletin' == data.newsType) && 475 json && 476 json.mobileSysResp && 477 json.mobileSysResp.retrieveSEHKBulletinHeaderListResponse && 478 json.mobileSysResp.retrieveSEHKBulletinHeaderListResponse.relatedSEHKBulletinList && 479 json.mobileSysResp.retrieveSEHKBulletinHeaderListResponse.resultStatus === 'OK') { 480 newsList = json.mobileSysResp.retrieveSEHKBulletinHeaderListResponse.relatedSEHKBulletinList; 481 maxPage = Math.ceil(json.mobileSysResp.retrieveSEHKBulletinHeaderListResponse.totalRows / data.recordPerPage); 482 contentPage = '/hk/web/'+ lang + 'market_news/sehk-news-content'; 483 } else if ('relatedEtnetNews' == data.newsType && 484 json && 485 json.mobileSysResp && 486 json.mobileSysResp.retrieveRelatedETNetNewsHeaderFeedResponse && 487 json.mobileSysResp.retrieveRelatedETNetNewsHeaderFeedResponse.relatedETNetNewsList && 488 json.mobileSysResp.retrieveRelatedETNetNewsHeaderFeedResponse.resultStatus === 'OK') { 489 newsList = json.mobileSysResp.retrieveRelatedETNetNewsHeaderFeedResponse.relatedETNetNewsList; 490 maxPage = Math.ceil(json.mobileSysResp.retrieveRelatedETNetNewsHeaderFeedResponse.totalRows / data.recordPerPage); 491 contentPage = '/hk/web/'+ lang + 'market_news/et-news-content'; 492 } 493 494 // toggle pager 495 if (maxPage > 1) { 496 $('.news-page').show(); 497 } else { 498 $('.news-page').hide(); 499 } 500 501 $('.news-content .news-content-holder a').remove(); 502 if (newsList) { 503 $.each(newsList, function(idx, itm) { 504 var dateLabel = ''; 505 dateLabel += itm['dateTime'].substr(8, 2) + ':' + itm['dateTime'].substr(10, 2); 506 dateLabel += ' '; 507 dateLabel += itm['dateTime'].substr(6, 2) + '/' + itm['dateTime'].substr(4, 2); 508 $('.news-content .news-content-holder').append('<a href="' + contentPage + '?id=' + itm['id'] + '&newsType=' + data.newsType + '' + (data.params.stockCode ? '&code=' + data.params.stockCode : '') + (isIframeContent ? '&iframeContent=true' : '') + '" class="col"><div class="news-list-date" style="vertical-align: top;">' + dateLabel + '</div><div class="news-list-topic" style="max-width:80%;">' + itm['headline'] + '</div></a>'); 509 }); 510 $('.news-content .empty-content-holder').hide(); 511 } else { 512 $('.news-content .empty-content-holder').show(); 513 } 514 $('.news-content .news-page span:nth-child(2)').text(data.currentPage); 515 $('.news-content .news-page span:nth-child(3)').text('of ' + maxPage); 516 517 $('button.news-search-button').attr('data-max-page', maxPage); 518 $('button.news-search-button').attr('data-current-page', data.currentPage); 519 520 }) 521 .always(function() { 522 523 $('button.news-search-button').attr('data-current-page', data.currentPage); 524 }) 525 .fail(function() { 526 527 });
528 529}; 530 531function getStockCodeFromURL(){ 532 var info = shkf.api.getAllInfo(); 533 for (i=0;i<info.info.length;i++){ 534 if (window.location.href.indexOf(info.info[i].urlprefix)>=0) { 535 var stockCodeKey = 'code'; 536 if (info.info[i].acceptstockcode && info.info[i].acceptstockcode.toLowerCase()=='y' && info.info[i].stockcodekey){ 537 stockCodeKey=info.info[i].stockcodekey; 538 } 539 if (getQueryVariable(stockCodeKey)){ 540 return getQueryVariable(stockCodeKey); 541 } 542 } 543 } 544 return ''; 545}; 546 547function extractURLDomain(url) { 548 var domain; 549 550 if (url.indexOf("://") > -1) { 551 domain = url.split(String.fromCharCode(47))[2]; 552 } 553 else { 554 domain = url.split(String.fromCharCode(47))[0]; 555 } 556 domain = domain.split(':')[0]; 557 558 return domain; 559}; 560 561function updateTPCMSSideMenu(stockcode) { 562 if (!stockcode){return;} 563 var getURLByKey = function (key){ 564 var paraSite=(shkf.api.SITE_OS.indexOf(extractURLDomain(window.location.href))>=0 || shkf.api.KANHAN_SITE_OS.indexOf(extractURLDomain(window.location.href))>=0) ? 'os' : 'is'; 565 var paraModule=key; 566 var paraLang=lang.substring(0,lang.length-1)=='en' ? 'en_US' : 'zh_TW' ; 567 var paraUser=''; 568 var paraParams=''; 569 var paraStockCode=stockcode; 570 571 var info = shkf.api.getPageInfoByKey(paraModule); 572 if (info.acceptstockcode && info.acceptstockcode=='n'){ 573 paraParams='code=' + stockcode; 574 paraStockCode=''; 575 } 576 577 return shkf.api.v2.getURL(paraSite, paraModule, paraLang, paraUser, paraParams, paraStockCode); 578 }; 579 580 $('.stockSearchSubMenuDesktop a').each(function(index){ 581 if ($(this).attr('theKey')){ 582 $(this).attr('href', (location.protocol ? location.protocol : 'https:') + '//' + getURLByKey($(this).attr('theKey'))); 583 } 584 }); 585 586 $('.stockSearchSubMenuMobile').each(function(index){ 587 if ($(this).attr('theKey')){ 588 $(this).attr('value', (location.protocol ? location.protocol : 'https:') + '//' + getURLByKey($(this).attr('theKey'))); 589 } 590 }); 591}; 592 593function addOrUpdateUrlParam(uri, paramKey, paramVal) { 594 var re = new RegExp("([?&])" + paramKey + "=[^&#]*", "i"); 595 if (re.test(uri)) { 596 uri = uri.replace(re, '$1' + paramKey + "=" + paramVal); 597 } else { 598 var separator = /\?/.test(uri) ? "&" : "?"; 599 uri = uri + separator + paramKey + "=" + paramVal; 600 } 601 return uri; 602}; 603 604function popuplateForexRatesTable(){ 605 606 var styleTable = function ($t){ 607 $t.addClass('forex-rate nowrap'); 608 }; 609 610 var createTableHeader = function($t){ 611 var updateLabel = (lang=='en/' ? 'Last Updated' : 'æå¾æ´æ°'); 612 var bidLabel = (lang=='en/' ? 'Bid' : 'è²·å ¥'); 613 var askLabel = (lang=='en/'? 'Ask' : 'è³£åº'); 614 var ccyLabel = (lang=='en/'? 'Currency' : 'å¤å¹£'); 615 616 var $trhead = $(document.createElement('tr')); 617 $trhead.appendTo($t); 618 619 var $thCcy = $(document.createElement('th')); 620 $thCcy.html(ccyLabel); 621 $thCcy.appendTo($trhead); 622 623 var $thBid = $(document.createElement('th')); 624 $thBid.html(bidLabel); 625 $thBid.appendTo($trhead); 626 627 var $thAsk = $(document.createElement('th')); 628 $thAsk.html(askLabel); 629 $thAsk.appendTo($trhead); 630 631 var $thLU = $(document.createElement('th')); 632 $thLU.html(updateLabel); 633 $thLU.appendTo($trhead); 634 }; 635 636 var addData = function($t, data){ 637 var $tr = $(document.createElement('tr')); 638 $tr.appendTo($t); 639 var $tdCcy = $(document.createElement('td')); 640 if(data.ccyPairCode){ 641 $tdCcy.text(data.ccyPairCode); 642 } 643 644 $tdCcy.appendTo($tr); 645 var $tdBid = $(document.createElement('td')); 646 if(data.bid){ 647 $tdBid.text(data.bid); 648 } 649 650 $tdBid.appendTo($tr); 651 var $tdAsk = $(document.createElement('td')); 652 if(data.ask){ 653 $tdAsk.text(data.ask); 654 } 655 656 $tdAsk.appendTo($tr); 657 var $tdLU = $(document.createElement('td')); 658 if(data.ccyTimestamp){ 659 var time = new Date(); 660 time.setHours(data.ccyTimestamp.substring(0,2)); 661 time.setHours(time.getHours()+8); 662 $tdLU.text(time.getHours()+":"+data.ccyTimestamp.substring(2,4)+":"+data.ccyTimestamp.substring(4,6)); 663 } 664 665 $tdLU.appendTo($tr); 666 }; 667 668 var addLastUpdateCopyRightFooter = function($div, data){ 669 if (data.mobileSysResp.sysMsgHeader.updateTime){ 670 var $divUpdate = $(document.createElement('div')); 671 $divUpdate.addClass('last-update'); 672 var hour = data.mobileSysResp.sysMsgHeader.updateTime.substring(8,10);
673 var min = data.mobileSysResp.sysMsgHeader.updateTime.substring(10,12); 674 var sec = data.mobileSysResp.sysMsgHeader.updateTime.substring(12,14); 675 $divUpdate.html((lang=='en/' ? 'Last Updated: ' : 'æå¾æ´æ°: ') + hour + ':' + min + ':' + sec + '<br>' + (lang=='en/' ? 'Market data and prices provided are for reference only.' : 'å¸å ´æ¸æå广 ¼å ä¾åèã')); 676 $divUpdate.appendTo($div); 677 } 678 }; 679 680 var addCopyRightFooter = function($div){ 681 var $divCopyRight = $(document.createElement('div')); 682 $divCopyRight.addClass('copy-right'); 683 $divCopyRight.html('<br>' + (lang=='en/' ? 'Market data and prices provided are for reference only.' : 'å¸å ´æ¸æå广 ¼å ä¾åèã') + ' '); 684 $divCopyRight.appendTo($div); 685 }; 686 687 $.ajax({ 688 url: '/content/api/forexfulllist', 689 dataType: "json", 690 contentType: "application/json; charset=utf-8", 691 success: function(data) { 692 if (data.mobileSysResp.retrieveForexRatesResponse.resultStatus == 'OK') { 693 var fxDataLength = data.mobileSysResp.retrieveForexRatesResponse.forexRateList.length; 694 var $div = $(document.createElement("div")); 695 var $t = $(document.createElement("table")); 696 $div.attr({ id : 'fxt' }); 697 styleTable($t); 698 $("#fxt").fadeOut(function() { 699 $(this).replaceWith($div).fadeIn(); 700 }); 701 702 createTableHeader($t); 703 704 for(var i in data.mobileSysResp.retrieveForexRatesResponse.forexRateList){ 705 addData($t, data.mobileSysResp.retrieveForexRatesResponse.forexRateList[i]); 706 } 707 $t.appendTo($div); 708 addLastUpdateCopyRightFooter($div,data); 709 addCopyRightFooter($div); 710 711 } 712 } 713 }); 714 715}; 716 717var onChangeMarketNewsSubNavOption = function(){ 718 var valueNewTab = $('#marketNewsSubNavOption').find(':selected').attr('valueNewTab'); 719 if (typeof valueNewTab !== typeof undefined && valueNewTab !== false) { 720 window.open(valueNewTab,'_blank'); 721 } 722};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.