{"version":3,"sources":["../../FootballJS/FootballLib/MatchTable.jsx"],"names":["_isInplayHADPage","_isHalfTimePage","tmp","allOddsType","schema","matches","pools","oddsType","startMatch","endMatch","totalMatch","maxMatch","curPage","refreshTableInterval","refreshSimpleMatchInterval","couponCount","rawDataForAllOdds","dateTournaTabInited","matchDataList","selectedTournamentIds","tmpSelectedTournamentIds","mixInplayBetType","selectedTabDateArra","selectedMatcheId","otherTabDates","allTabDateList","dateType","Single","Other","groupMidnight","groupCur","All","invalidBetTypes","Refund","Suspended","curTabType","curDateType","groupCurType","otherLength","countFeatureMatch","dateTabCount","dropdownCount","allTournaments","selectionCheckBox","parseInt","getParameterByName","isNaN","ex","sessionStorage","getItem","setItem","JSON","stringify","NoDataDiv","React","Component","OddsTable","coupons","tableType","props","oddsTable_tournaments","checkTournamentEmpty","tournaments","oddsTable_coupons","_oddsType","tabType","Date","availableDateList","getAvailabDateListFromMatches","$","inArray","mdate","pageName","length","push","tempOtherTabList","getOtherTabList","inOtherTab","oddsTabOtherDateTable","oddsTabDateTable","Feature","oddsTabAllFeaturedMatchesDateTable","oddsTabCompetitionTable","oddsFooter","Competition","selectedTournaMatches","couponTmpArr","tNameMap","tournamentData","tournamentIds","allTabDates","i","undefined","matchDate","_matchDate","getFormattedDateStr","jQuery","sort","availabledate","getDateTabList","_tourn","j","tournamentID","_selectedTournamentIds","getTournGroupIdsBytName","forEach","value","index","singleTournament","tounaIndex","singleCoupon","couponIndex","tournament","paginationCalculator","slice","tempTournNameList","matchRow","altRow","hasMLMatch","couponID","tName","tmpTournamentID","isML","toLowerCase","LINELIST","checkInplayLink","matchID","param","actionTNameList","tempMatchRow","couponNo","replace","key","matchOptionChange","oddsList","_matchDay","item","couponId","cyrPageKey","jsaftermidnight","midNightMatchRow","ordinaryFeaturedMatchRow","topFeaturedMatchRow","altRowMid","dateMatchTournament","indexOf","tabDateItem","selectedTabDate","hasMLMatchNextDay","dateMatchRow","matchDateObj","matchDateYYYYMMDD","split","groupNextDay","getTime","getNextDateZeroOclock","getNextDate","tgCouName","featureMatch","topPriority","matchDay","selectedTabDateFormat","formatDDMMYYYY","selectedNextDateFormat","getNextDateFormatDDMMYYYY","matchRowEndMatchCount","matchRowEndPage","totalRow","Math","ceil","concat","apply","matchNum","jstopfeaturedmatches","jsordinaryfeaturedmatches","getNextMatchDay","otherDateMatches","couponMatchDate","singleSelectedDate","ofmSum","otherMatchRow","getOFMTableList","selectedTabDateObj","dt","setTime","jsOffsetTime","startTime","x","y","seq","OddsTableHeader","coupsonList","match","jsFCHRemarks","__html","OddsTableAllUpCalculator","divCalErrMsg","state","expand","getDataArr","unitBet","getDivCalUnitbet","validUnitBet","formulaIdx","onItemClick","bind","event","setState","e","chkAmount","target","amt","newAmt","MINIBET","MAXBET","alert","jsunitbeterror","getDefaultAmount","para","dataStore","isAddedEntry","tryAddArr","parse","removeItem","dataArr","hasLine","hasLinePools","widthStyles","dCalTable","dCalRes","width","jsdivcal_type","textAlign","jsoddstable_eventid","jsteams1","jsteams2","jsdivcal_line","jsdivcal_selection","jsdivcal_odds","jsdivcal_results","jsdivcal_delete","bgColor","pool","isLinePool","winSel","delBtn","drawDelBtn","drawHDCSelect","drawHILSelect","drawWinLossIcon","itemGoalNo","getGoalNoByItemNo","curLang","GetResourcesByLang","getTeamVs","totalDiv","winningBet","comb","noOfComb","combArr","totalInv","totalAmount","netReturn","formulaItem","netReturnStyle","tmpDiv","idx","charAt","factor","tmpLine","k","parseFloat","ToDollarsAndCents_calculator","hasHDCPool","jsdivcal_msg_hdcWarningMsg","checkExceedMaxDiv","float","display","jsformula","jsunitbet","onUpdateUnitBetByButton","jsbet","jstotalinvestment","jsmaxDividend","jsmaxNetReturn","drawDivCalFormulaDropdown","onUpdateUnitBet","onBlurUnitBet","clear","fontWeight","jsAllupCalculator","padding","deleteDivCalData","jsreset","margin","addDivCalBS","jsaddSlip","OddsTableDateTournTab","tournExp","location","href","RegExp","isExpandTourn","defaultShowCount","expandTourn","totalTournamentCount","showShowallBtn","onClickExpandTournBtn","jsoddstab_hide","jsoddstab_showall","selectAllTournaments","resetTournaments","onClickSelectAll","jsoddstab_selectall","onClickReset","jsoddstab_reset","jsoddstab_searchbtn","prevProps","onfocusTournTab","attr","show","TournamentSpans","TournamentSecondSpans","TournamentRows","TournamentSecondRows","MatcheList","tournamentBoxCount","tournaRowCount","OddsTableTournaments","grep","hasCHPSubType","chpodds","CHPType","chpSubType","OddsTableMatches","_poolcloseDate","_match","_tournId","tmpSessionSelectedTournmentIds","hasOtherTab","_hasCurTab","dateTabList","getNormalTabList","tempMatches","removeRepeat","_matcheDay","_matcheDate","GetDateStr","_selectedTabDate","_seletedTab","jsAll","isInOtherTab","_otherTabDate","_otherTabDate2","jsOthers","tournAllBtn","renderTournAllBtn","renderMoreBtn","OddsTableSelectNav","onlyCompetition","jsoddstab_bydate","jsoddstab_bycompetitions","jsoddstab_byfeaturedmatches","TournamentRow","tournaRow","fourTournaments","classStr","TournamentSpan","_tournamentName","toUpperCase","tabId","frontEndId","selected","tournamentShortName","tournamentNameCH","tournamentNameEN","MatcheSpan","tabDate","spanMatchDay","DateWeekLanguageSwitch","otherNum","OddsTableInfo","displayRefreshInfo","_displayAddBet","_displayPrint","refreshInfo","extraInfo","_clink","jsLang","jsdhcpcalculator","_cimg","commonImagePath","cacheVersion","NewWindow","_dlink","switchTo","jsdhcpdividend","_dimg","jsrefreshat","jsrefresh","refreshOddsPage","rightContent","hidebutton","pathname","search","jsprintdata","printNow","formatOddsHeader","PageInfo","isResultPage","jsPagination1","jsPagination2","jsPagination3","type","pageInfo","Pagination","totalPage","maxPage","pagination","prevPages","nextPages","pStartPage","pEndPage","floor","pageContent","goToPage","jsPrevious","jsNext","PageSelection","targetPage","displayText","_className","MatchSelectList","optionList","tournamentList","matchList","singleMatch","SingleMatch","getDateOptinList","getCompetitionOptinList","homeTeamName","homeTeam","teamNameCH","teamNameEN","awayTeamName","awayTeam","tournamentName","code","_vsStr","jsVS","headerEsst","litTotalCorner","_ninetyMinsScore","spInplay","isInplay","isVoidMatch","IsMatchKickOff","formatInplayTeamAndStatus","ipinfo","matchTime","_scoure","jsres_fulltime","statemsg","isNTSDefined","jsscoringInformationAlt","jsscoringInformation","matchIDinofficial","displayCorner","arrPools","displayCornerNo","fchodds","isSelling","POOLSTATUS","chlodds","echodds","formatTotalCornerStr","homeAndAwayName","tList","matchOdds","isInplayOdds","INPLAY","formatEsstStr","formatImageStr","League","GetFlagPath","oddsAllJump","sTeamString","venue","formatNeutralGroundIcon","displayInplayClock","formatInplayIco","displayHead2Head","jsH2HEnabled","formatJumpHeadStr","formatTVIconAll","channel","isESOffer","formatESIcon","jsSelectAnotherMatch","matchId","groupCurOptionList","tabDateTimeName","GetDateTimeLegName","hasMatch","splice","selectedTournCount","tMatchID","setMatchId","MatcheOption","disabled","optionTitle","optionTyple","ColumnTitle","oddsTD","_poolType","poolType","getOddsTD","jsesst1","jsesst2","jsleagues_and_tournaments","jsmixallupselected","jsmixallupclear","btmborderStyle","jsTQLCode","qualifyingStage","jsteam","jsodds","jsliveinfo","jsinplaybet1","jsinplaybet2","footImagePath","jsmatchstatus","jsLine","jsHAD","jsheadtohead","jshead1","jshead2","debugLog","ColumnTitleSPCByItem","_itemInfo","itemInfo","_couponID","SELLIST","_selInfo","_sInd","SEL","CONTENTCH","CONTENTEN","_cellClassName","_rowClassName","jsHomeTeamWin","jsDRAW","jsAwayTeamWin","jsHight","jsLow","jsHomeTeam","jsNoGoal","jsAwayTeam","jsHometeamtql","jsAwayteamtql","bsodd","bseven","bshomecomb","bsdrawcomb","bsawaycomb","getOddsTDForAllOdds","_singleMatch","hTeamName","aTeamName","hgStr","renderGoalLine","agStr","jshandicapline","tqlHTeamName","tqlATeamName","tqlodds","_hLbl","_aLbl","_dLbl","jsHOME","jsAWAY","OddsTableFooter","ResultsCoupon","couponName","tourns","coupon","jstabletitlematches","Coupon","getCouponName","CouponHeader","mlExpander","marginRight","stopPropagation","tgMl2","jsexpandAll","jscollapseAll","rightElement","spBtnMinus","couponClass","mix_nextstep","jsnextstep","rightText","tgCoupon4","MatchRow","ehaodds","_tableType","_matchID","_showDelayMsg","remarkstype","oddsSelection","formatDelayMsg","getInplayLinkOddsCellSet","getOddsSelection","loadLink","inplayPools","tempMixAlupSelectedList","formatEsst","displayInplayMatchDiv","getLiveCastStr","getTvStr","formatTVIcon","showOddsSelection","toggleMix","mixSelectedCount","MatchRow_MatchInResults","tourn","filter","valTourn","fgsIsDefined","fgsresult","fgsResultsDetails","matchDate2","substr","_matchFGSText","_hRefund","_aRefund","_refundCell","_singleTournament","HasPoolResults","isPoolRefund","RESULTFINAL","jsnotyetavailable","jsfgsrefund","_allResult","RESULT","displayedFGSResult","GetFGSResultDetailsText","jsmatchinprogress","formatLastOddsString","MatchRow_ResultRow","isBAUResult","GetGlobalResources","firstHalfScore","secondHalfScore","extraTimeScore","isFTVoid","resultsScoreDetails","getResultScoreDetails","matchLeague","renderMatchNum","jsvoidmatch","formatDetailsString","MatchRow_FGSResults","refundForAll","jsrefundforall","results","res","_allRefund","refunds","_refundTxt","matchKODt","matchKODateFormatted","matchKODate","eventId","formatTournFlag","leagueCode","leagueCh","leagueEn","homeCh","homeEn","awayCh","awayEn","MatchRow_ParimutuelResults","rInd","_void","pmPool","dhcodds","hfmodds","divHT","divFT","legDivs","divs","flagStr","league","leagueShortName","leagueNameCH","leagueNameEN","GetLegName","formatYYYYMMDD","jsvoid_match","formatDHCPSelectionText","MatchRowSPCByItem","_item","displayInplayLink","ParimutuelResultPoolDetails","_pool","spUnitDividends","spWinningInvestment","_notPayout","winningdividend","numberWithCommas","round","jsNowinner","winninginvestment","consolationdividend","formatHFMPDividend","jswinning","jsconsolation","conInv","consolationinvestment","jpGen","jackpotgen","jswinningcombination","jsjackpotgenerated","jsinvestment","investment","jsunitdividend","jswinninginvestment","ParimutuelResultPoolTable","noOfLeg","_matchRows","_legInd","Match_Result","jsleg","jsmatchno","jsdate","jsmatchresults","jsres_halftime","ParimutuelNextDraw","lblNextDate","_poolInfo","jsnextdhcpdate","jsnext6hafudate","jsjackpot","jackpot","jsesst_nobr","OddsSelectionHeader","_specClass","specClass","formatEmptyOddsCell","genAllOddsDivLink","jsinplay_available","formatEmptyTQLOddsCell","singleItemAns","selItem","ind2","_itemNum","ITEM","_oddsSet","_oddsSuffix","_ref","_rowClasses","_checkboxTypeList","checkboxTypeList","isDisplayMultiplePoolPage","isMultiRowPool","isExpanded","find","is","isPoolClosed","displayInplayAllOddsAfterHADStopsell","poolStatus","poolId","lineId","isAllup","POOLID","LINEID","ALLUP","tmpAllCheckBoxType","isMultiplePoolPage","getCheckboxType","allCheckBoxType","tmpCells","_cbType","firstOddsType","secondOddsType","teamId","TEAMID","teamID","oddsName","tmpRows","lineInd","tmpOddsSet","goalnumber","getNumberSuffix","allSelections","noScoreItem","formatSelectionInsideGroup","addCellInd","formatEmptySelectionInsideGroup","oddsRows","formatCRSSelectionText","formatCRSSelectionOddsCell","formatCRSSelection","isSkipeOdds","_singleOddsSet","_ind","LINENUM","formatLineNum","tmpTypeCells","hasMainLine","singleOddsSet","_key","lineClass","lineDisplayValue","tgIndMl","singleItem","_tableKey","MultiPoolPageOddsSelection","_oddsSelection","OddsSelectionDHCP","indexInCoupon","lineNum","isDisabled","wordsInGrayBar","jsHT","jsFT","jsallfield","SPCTableByMatch","spcOddsType","allItemTable","ind","GROUP","singleItemTable","singleItemOdds","_lineNum","_spcTitleEsst","jsitemno","ITEMCH","ITEMEN","isSuspended","SPCTableByTourn","singleTourn","_tournID","ExpectedStopTime","SGATable","id","renderOddsTable","couponArr","oddsTableType","tournamentsArr","firstLoad","dataName","ReactDOM","render","document","getElementById","oddsTableLoaded","adjustHeaderLayout","headerLeftInnerTextLength","headerLeft","innerText","headerRight","addClass","adjustTabWidth","dateTabObj","dateTabWidth","initTablePage","resetSpBtn","getAllSelectedTournaments","tmpSessionSelectedTournsId","newSelectedTournsId","addSelect","removeSelect","each","temptName","hasClass","el","hasSelectedTournament","count","hasRemovedCurTournamentTab","newSelectedTName","tournGroup","elem","setMatchIdFromTabSelectionForPush","dateSel","matchSel","chkMatchLst","dataCache","name","oddsTableLoadedRender","AMS","disconnect","matchStateFilterTabState","renderMixAllUpMatchList","renderAllTable","renderAllTableRoute","hide","hasConnected","allowOddsPush","isLogon","connect","oddsChpTableLoaded","setCompetitionCheckbox","hideTabLoading","unbind","click","removeClass","prop","css","hiddenTournaOthers","changeConfirm","hasCheckedSelections","window","confirm","jstabchangeconfirm","pushHistoryAfterTabChange","jsodds_tab_filtermsg","noPoolObj","html","jsNoPoolMsg","map","hasSelectedDate","_date","bindUIEvent","adjustMlBtn","reselectCheckbox","isMatchStateFilterTabChange","isSwitchingDateTournTab","hasCheckedOdds","isAllupListPage","mixUnSelectedAll","siblings","initTabDate","dateTabChange","initTabFeature","hideDatePage","initTabCompetition","getAttribute","setTimeout","showTabLoading","oddsPushStatus","isCompetitionTab","hasRemovedTournTab","getAllTournamentIds","change","val","_singleCoupon","text","obj","dateTabDataVal","data","isPushState","newUrl","trimPara2","re","url","replaceUrlParam","tournid","history","pushState","title","curProduct","curPageId","replaceState","replaceHistoryAfterTabChange","animate","scrollTop","renderPushPortal","pushOddsTableTournamentsArr","sorted","sort_by2","renderParimutuelResult","poolResults","poolNextDraw","hasPMResults","displaySearchResult","FromDate","drawPariMutuelResultBody","getLastestPariMutuelResultFromLast10","renderEmptyPage","mDate","ajax","last10Path","contentType","success","oData","error","startIdx","endIdx","_coupons","_leg1","_couponName","jsstopselldate","renderParimutuelPage","keepRefresh","poolData","_poolOdds","trimMatchDate","singlePool","_tmpSinglePool","_tmpSingleTourna","formatMatchDate","LEG1","displayOrder","generateDHCPSelectionTable","displayNoMatch","renderEmptyOddsTable","getJSONQueryString","pathName","substring","lastIndexOf","qs","isTourn","pTournID","tteamcode","displaySearchInfo","srchdate","fdate","tdate","srchteam","teamcode","append","teamList","srchTeamName","_sel","getMatchData","_tempMatches","putMatchesToCoupon","getTournaments","getAvailableTourn","loadTournamentIdFromQueryString","tempId","noOfFail","retryOnce","requestOneMoreTime","isMqttConnected","queryStr","isPaginationClick","wafKeyword","setFBDataCacheToTmp","renderSPCTable","renderSGATable","renderCHPTable","renderTQLTable","sortSearchResults","drawSearchResults","renderResults","renderSPCResults","renderAllMatchAllTable","allupMatchIdChexkbox","betValue","loadDefaultOdds","initMixallup","defaultExpanedNoOfMatch","renderFocusMatch","renderMatchTable","renderTournTable","displayRemarks","pageReady","initRefreshTime","replayPushMsg","setRefreshInterval","invalidBetTypeArr","refreshMixallUpCalculator","tmatchids","renderTableAfterDropdownSelect","enableAutoRefresh","displayNoPoolMsg","spcAvailable","activeSPCTable","istMatchIDExist","datelist","tmpDt","availableDate","isDorpList","selectedMatch","sid","Match","_matchTable","hasSelectedTourn","xidx","spcItems","sortDataToItem","_singleItem","_sind","_itemTable","sgaAvailable","activeSGATable","jsSGARemarks","matchData","allMatchTable","allMatchID","_mInd","tmpMatch","getAllUpMatch","renderMatchAllTable","topCalculator","bottomCalculator","topHeader","jsSelectBetType","errImg","getAllUpInfo","resetDivCal","updateMixAllUpFormual","calculateBet2","AllUpDetailCalculator","setDivCalUnitbet","forceUpdate","isNumeric","updateMcTxtUnitbet","updateMcSelFormula","getDivCalUnitbetNoDefault","addslip","matchAllTables","_matchPoolStatus","_extraClass","showMatchStateFilterTab","hasNonFHPool","_singlePool","_spInd","GetMatchPoolStatus","displayInplayStatement","InplayMsg","hasFhPool","some","jsFhPools","includes","allFhPool","every","isFHPool","IsInplay","filterPoolByMatchState","displayHeader","renderMatchAllTableHeader","jsAllOddsFilterTab","tournShortName","tournName","tgCoupon5","SingleMatchSingleOddsTypeTable","hideLSE","onEliminateBtnClicked","betType","sTourn","expectedStopSellingTime","tournFrontendId","tournInfo","eliminateBtn","innerContent","renderTournInfo","_id","jsCRSRemarks","jsFCSRemarks","jsECSRemarks","jsHDCRemarks","jsEDCRemarks","jsHHARemarks","jsTTGRemarks","jsETGRemarks","specClassName","displayValue","cookie","tqlCode","tqlStage","tqlObj","CODE","foundMatch","_as","hadodds","_oddsCell","displayAddBet","displayInplayLnk","hTeam","aTeam","isQRPortal","_otherLang","hTeamOtherLang","aTeamOtherLang","isDisplayMatchDDLPage","renderMatchTableSingleMatch","renderMatchTableMultipleMatch","Msg","allCouponArr","displayContentWithDDL","resultsSearchPara","isOnLastOddsPage","tmpMatchId","GetDataStore","rMatchID","renderResultDetails","getMatchLength","_sortedMatchList","putUniqueMatchesToCoupon","matchRows","_mind","_coupon","_cid","drawEmptyResult","matchescount","hasExtraTimeMatch","GetExtraTimeScore","_rMatchID","_resultDetails","_tournament","_normalPools","_1stHalfPools","_ntsPools","_normalFtsPools","_extraTimePools","_entPools","normalTable","ftsTable","ntsTable","spcTable","sgaTable","extraTimeTable","entTable","strHalfTimeDiv","isEndOfHalfTimeWithDiv","jsdetailsResult_half","jsdetailsResult","scoreTable","scoreAbandonedTable","extraTimeScoreTable","extraTimeScoreAbandonedTable","abandonedScore","extraTimeAbandonedScore","halftimeCorner","normalCorner","abandonedNormalCorner","extraTimeCorner","abandonedExtraTimeCorner","is1stHalfFinal","is2ndHalfFinal","isExtraFinal","isVoid","accumulatedscore","firstHalfResult","periodvalue","secondHalfResult","extraTimeResult","periodstatus","home","away","htcornerresult","jsRFD","htcornerresultfinal","cornerresult","cornerresultfinal","etcornerresult","etcornerresultfinal","isETVoid","abandonedscore","abandonedcornerresult","abandonedcornerresultfinal","firstHalfAdd1","firstHalfAdd2","secondHalfAdd1","secondHalfAdd2","extraTimeAdd1","extraTimeAdd2","halfCornerAdd1","halfCornerAdd2","fullCornerAdd1","fullCornerAdd2","extraCornerAdd1","extraCornerAdd2","addResults","addRes1","addRes2","halfHome","halfAway","fullHome","fullAway","extraHome","extraAway","halfCorner","fullCorner","extraCorner","jsresults","jshalfTimeScoreResult","jsfullTimeScoreResult","jsCornerTakenHT","jsCornerTakenFT","jsabandonedScoreResult","jsscoreResult","jsCornerResult","jsextraTimeResult","jsextraTimeScoreResult","jsCornerTakenET","jsabandonedScoreResultET","displayPoolName","jsnts_HAD","jsnts_FHAD","GetNonNTSResult","extraTimeInfo","jsextratime","GetNTSResult","drawSPCResultRows","jsbettypes","jsNTS","jsscoreteam","jsspcresults","jsitem","jssgaresults","jsextraTimeBettypes","jsENT","resdetailtourn_img","marginTop","matchStatus","jsresultRemark","scrollTo","tmpId","ClearDataStoreItem","ResultDetailTournament","t","m","imgstr","jseventNo","renderLastOdds","lastOddsCache","drawLastOdds","statuslastupdated","p","renderFGSResults","couponList","fg","fgsJson","tmpX","tmpY","_resultRow","_singleObjectResult","_leagueName","_aTeamName","_hTeamName","formatMatchFlag","parser","DOMParser","xmlDoc","parseFromString","tournXML","tdata","getElementsByTagName","found","_content","StringBuffer","nameAttr","_tournName","_tournTitle","jstournamentno","allPools","langPrefix","_spcRFD","items","_itemResult","_itemNo","_itemQuestion","selNum","answer","refundedSel","rfdInd","rSelNum","rAnswer","noOfSPCRow","drawSPCSearchResults","_typeResult","FGSResultsTable","expandCoupon","initCouponExpands","s","cou","tmpBody","color","jsnoresultannounced","tmpHeader","jsFGS","tmpCoupons","tmpCoupon","_obj","dtObj","toggleCoupon","toWeekDay","getDay","jsfgsresults","print","odata","constructor","Array","extend","a","allTournamentsArr","tempArr","isEmptyObject","isArrayEmpty","showHeaderIcons","updateSimpleMatchList","matchInfo","tabDropTournaments","tabMatches","oMatchId","couponMatchID","bypassRedirect","singleSelectedTourn","couponMatchTourn","ci","isPoolEmpty","arrInPlayPools","tmpOptionList","displayNoMatchSection","hideHeaderIcons","renderNoPool","jsInfoUpdate","MatchPoolStatus","BEFORE_KICKOFF","BEFORE_KICKOFF_WITH_INPLAY","BEFORE_KICKOFF_WITH_HALFTIME","currentMatchList","prevMatchList","isHistorical","n","_matchList","filterAvailableMatch","trimFrontendId","trimMatchDate2","trimStr","uniqueMatchDate","filteredArray","renderMixAllUpMatchListDom","isFeaturedEnabled","formatOddsSelection","_checkboxType","selNo","_idSuffix","spText","COMBID","_type","formatRefOdds","oddsSet","checkboxType","oddsArr","oddsStr","formatOddsStr","formatOddsLink","lineStatus","combId","instNo","LINESTATUS","isMatchKickOff","combSpanID","selectionType","isTournPool","mlDetail","lineStrToDisplayed","LINE","lblNl","txt","bshomeothers","bsawayothers","bsdrawothers","bshomeothernil","bsawayothernil","bshomeothersnew","bsawayothersnew","bshomeothernilnew","bsawayothernilnew","lineCount","formatGPFSelection","keyPrefix","gpfHeader","GROUPCH","GROUPEN","jsgroupno","gpfTableRows","tmpGpfTableCells","left","paddingRight","jswinner","top","paddingLeft","jsrunnerup","NAMELIST","_team","_wInd","tmpTeamName","NO","CH","EN","_winnerSel","_tmpTeamInfo","_singleSel","OddsTypeOuterTable","objID","refOdds","stage","_dataOddsType","tspodds","spcoddsref","tpsInd","_tpsType","TPSTYPE","_sTourn","displayCoupon","drawOddsTypeCoupon","toString","drawOddsTypeTable","tournID","formatPageHeader","_singleTourn","loadImg","loadSuspend","displaySuspendedText","SPCItemContainer","refStr","_firstItem","_tournamentData","_singleObj","SPCContainer","ref","objType","singleObj","couponHeaderTxt","displayMatchDayDiv","displayByMatch","spcodds","_os","SGAContainer","SPCPageHeader","ParimutuelPoolTable","getParimutuelPoolTableMatchRows","_rows","noOfRows","_singleMatchDisabled","singePool","calBet","_thisObj","_betValueId","_bType","_optionKey","insNo","divCalStr","toDivCalString","SetDataStore","formulaIndex","dataArray","dataList","checkedObjs","str","mixFormula","jsallUpFormulaChangedStr","allDateList","beforeBizDate","getNowDate","otherDate","setDate","getDate","dtOther","processToDate","getFormattedDate","otherTabList","dtTab","list","date","year","getFullYear","month","getMonth","day","parts","now","availableMatches","_availableTournIds","newSelectedTournamentIds","tempTourn","sourceTournName","arr1","tournIdList","tmatchid"],"mappings":"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","file":"MatchTable.js","sourcesContent":["var _isInplayHADPage = false, _isHalfTimePage = false;\r\nvar tmp;\r\n\r\n/* for all odds page*/\r\nvar allOddsType = '';\r\nvar schema = '';\r\nvar matches = '';\r\nvar pools = '';\r\nvar oddsType = '';\r\n\r\nvar startMatch = 1;\r\nvar endMatch = 1;\r\nvar totalMatch = 0;\r\nvar maxMatch = 60; // 60 for odds page, 20 for results page\r\nvar curPage = 1;\r\nvar refreshTableInterval;\r\nvar refreshSimpleMatchInterval;\r\nvar couponCount = 0\r\nvar rawDataForAllOdds;\r\nvar dateTournaTabInited = false;\r\nvar matchDataList = [];\r\nvar selectedTournamentIds = [];\r\nvar tmpSelectedTournamentIds = [];\r\n\r\nvar mixInplayBetType = [];\r\nvar selectedTabDateArra = [];\r\nvar selectedMatcheId = \"0\";\r\nvar otherTabDates;\r\nvar allTabDateList;\r\nvar dateType = { Single: \"Single\", Other: \"Others\", groupMidnight: \"groupMidnight\", groupCur: \"groupCur\", All: \"All\" };\r\nvar invalidBetTypes = { Refund: \"refund\", Suspended: \"suspended\" };// value is lowercase\r\nvar curTabType = '';\r\nvar curDateType = '';\r\nvar groupCurType = '';\r\nvar otherLength = '';\r\nvar countFeatureMatch = 0;\r\nvar dateTabCount = 0;\r\nvar dropdownCount = 0;\r\nvar allTournaments = [];\r\nvar selectionCheckBox = {};\r\n\r\ntry {\r\n curPage = parseInt(getParameterByName('pageno'), 10);\r\n curPage = (isNaN(curPage) ? 1 : curPage); // set curPage to 1 if pageNo is not number\r\n} catch (ex) {\r\n\r\n}\r\ntry {\r\n if (sessionStorage.getItem(\"__extendShareSelectedTournsId\") === null) {\r\n sessionStorage.setItem(\"__extendShareSelectedTournsId\", JSON.stringify([]));\r\n }\r\n} catch (ex) {\r\n\r\n}\r\n\r\nclass NoDataDiv extends React.Component {\r\n render() {\r\n return
;\r\n }\r\n}\r\n\r\nclass OddsTable extends React.Component {\r\n render() {\r\n var coupons = [];\r\n var tableType = this.props.tableType;\r\n let oddsTable_tournaments = checkTournamentEmpty(this.props.tournaments);\r\n let oddsTable_coupons = this.props.coupons;\r\n var _oddsType = oddsType;\r\n\r\n // check if mdate in other tab\r\n if (curTabType == tabType.Date) {\r\n let availableDateList = getAvailabDateListFromMatches(oddsTable_coupons);\r\n\r\n // assign to first date tab if mdate not in available date list\r\n if ($.inArray(mdate, availableDateList) == -1) {\r\n mdate = (pageName!=\"OFM\" && availableDateList.length > 0) ? availableDateList[0] : \"\";\r\n selectedTabDateArra = [];\r\n selectedTabDateArra.push(mdate);\r\n }\r\n let tempOtherTabList = getOtherTabList(availableDateList);\r\n let inOtherTab = $.inArray(mdate, tempOtherTabList) != -1;\r\n if (inOtherTab && pageName != 'MIXALLUPLIST') {\r\n selectedTabDateArra = tempOtherTabList;\r\n curDateType = dateType.Other;\r\n }\r\n }\r\n\r\n if (curTabType == tabType.Date) {\r\n if (curDateType == dateType.Other) {\r\n coupons = oddsTabOtherDateTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType);\r\n } else if (curDateType == dateType.All) {\r\n coupons = oddsTabOtherDateTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType);\r\n } else {\r\n coupons = oddsTabDateTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType);\r\n }\r\n } else if (curTabType == tabType.Feature) {\r\n coupons = oddsTabAllFeaturedMatchesDateTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType);\r\n } else {\r\n coupons = oddsTabCompetitionTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType);\r\n }\r\n\r\n let oddsFooter = ;\r\n return
\r\n \r\n {curTabType == tabType.Competition ? (oddsTable_tournaments.length > 0 ? coupons : ) : coupons}\r\n {curTabType == tabType.Competition ? (oddsTable_tournaments.length > 0 ? oddsFooter : null) : oddsFooter}\r\n
;\r\n }\r\n}\r\n\r\nfunction oddsTabCompetitionTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType) { \r\n let selectedTournaMatches = [];\r\n let couponTmpArr = [];\r\n let tNameMap = [];\r\n let tournamentData = [];\r\n let tournamentIds = [];\r\n\r\n // get all availabel date\r\n let allTabDates = [];\r\n for (var i = 0; i < oddsTable_coupons.length; i++) {\r\n if (oddsTable_coupons[i] != undefined && oddsTable_coupons[i].matchDate != undefined) {\r\n let _matchDate = getFormattedDateStr(oddsTable_coupons[i].matchDate);\r\n if (jQuery.inArray(_matchDate, allTabDates) == -1) {\r\n allTabDates.push(_matchDate);\r\n }\r\n }\r\n }\r\n\r\n\r\n allTabDates.sort();\r\n // get available tournment list\r\n let availabledate = getDateTabList(allTabDates);\r\n\r\n for (var i = 0; i < oddsTable_tournaments.length; i++) {\r\n let _tourn = oddsTable_tournaments[i];\r\n for (var j = 0; j < oddsTable_coupons.length; j++) {\r\n let _matchDate = getFormattedDateStr(oddsTable_coupons[j].matchDate);\r\n if (jQuery.inArray(_matchDate, availabledate) != -1 && jQuery.inArray(_tourn.tournamentID, tournamentIds) == -1) {\r\n tournamentIds.push(_tourn.tournamentID);\r\n tournamentData.push(_tourn);\r\n }\r\n }\r\n }\r\n\r\n if (selectedTournamentIds.length == 0 || (selectedTournamentIds.length > 0 && jQuery.inArray(selectedTournamentIds[0], tournamentIds) == -1)) {\r\n selectedTournamentIds.push(tournamentData[0].tournamentID);\r\n }\r\n\r\n \r\n // group tournament id by tournament name\r\n let _selectedTournamentIds = getTournGroupIdsBytName(selectedTournamentIds);\r\n //sessionStorage.setItem(\"__extendShareSelectedTournsId\", JSON.stringify(selectedTournamentIds));\r\n\r\n _selectedTournamentIds.forEach(function (value, index) {\r\n tournamentData.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == value) {\r\n oddsTable_coupons.forEach(function (singleCoupon, couponIndex) {\r\n let _matchDate = getFormattedDateStr(singleCoupon.matchDate);\r\n if (singleCoupon.tournament.tournamentID == value && jQuery.inArray(_matchDate, availabledate) != -1) {\r\n selectedTournaMatches.push(singleCoupon);\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n paginationCalculator([selectedTournaMatches]);\r\n\r\n selectedTournaMatches = selectedTournaMatches.slice(startMatch, endMatch);\r\n\r\n let tempTournNameList = [];\r\n\r\n var matchRow = [];\r\n var altRow = 0;\r\n var hasMLMatch = false;\r\n var couponID = '';\r\n var couponCount = 0;\r\n _selectedTournamentIds.forEach(function (value, index) {\r\n oddsTable_tournaments.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == value) {\r\n if (jQuery.inArray(singleTournament.tName, tempTournNameList) == -1) {\r\n hasMLMatch = false;\r\n matchRow = [];\r\n altRow = 0;\r\n couponCount++;\r\n couponID = 'tgCou' + couponCount;\r\n }\r\n selectedTournaMatches.forEach(function (singleCoupon, couponIndex) {\r\n var tmpTournamentID = singleCoupon.tournament.tournamentID;\r\n if (tmpTournamentID == value) {\r\n altRow++;\r\n\r\n if (isML(_oddsType) && !hasMLMatch && singleCoupon[_oddsType.toLowerCase() + \"odds\"].LINELIST.length > 1 && !checkInplayLink(singleCoupon, _oddsType, pageName)) {\r\n hasMLMatch = true;\r\n }\r\n\r\n if (selectedMatcheId != \"0\" && selectedMatcheId == singleCoupon.matchID) {\r\n curPage = 1;\r\n matchRow.push();\r\n } else if (selectedMatcheId == \"0\") {\r\n matchRow.push();\r\n }\r\n\r\n }\r\n });\r\n if (matchRow.length > 0) {\r\n\r\n let param = {\r\n \"tName\": singleTournament.tName,\r\n \"matchRow\": matchRow,\r\n \"singleTournament\": singleTournament,\r\n \"key\": curPage + singleTournament.tournamentID,\r\n \"hasMLMatch\": hasMLMatch,\r\n \"couponID\": couponID\r\n };\r\n tempTournNameList.push(singleTournament.tName);\r\n tNameMap.push(param);\r\n }\r\n else {\r\n couponCount--;\r\n }\r\n }\r\n });\r\n });\r\n\r\n let actionTNameList = [];\r\n\r\n for (let i = 0; i < tNameMap.length; i++) {\r\n let tempMatchRow = tNameMap[i].matchRow;\r\n if (jQuery.inArray(tNameMap[i].tName, actionTNameList) == -1) {\r\n actionTNameList.push(tNameMap[i].tName);\r\n //for (let j = 0; j < tNameMap.length; j++) {\r\n // if (i != j && tNameMap[i].tName == tNameMap[j].tName) {\r\n // tempMatchRow = $.merge(tNameMap[j].matchRow, tempMatchRow);\r\n // }\r\n //}\r\n let couponNo = parseInt(tempMatchRow[0].props.couponID.replace('tgCou',''));\r\n couponTmpArr.push(\r\n );\r\n \r\n }\r\n }\r\n\r\n couponCount = 0;\r\n\r\n return couponTmpArr; \r\n}\r\n// Change the drop-down box event function\r\nfunction matchOptionChange(oddsList, _matchDay, hasMLMatch, _oddsType)\r\n{\r\n let couponTmpArr = [];\r\n \r\n oddsList.forEach(function (item, index) {\r\n let couponId = \"\";\r\n let cyrPageKey = \"\";\r\n if (item.key == selectedMatcheId && groupCurType == dateType.groupCur) {\r\n couponTmpArr.push();\r\n } else if (item.key == selectedMatcheId && groupCurType == dateType.groupMidnight) {\r\n couponTmpArr.push();\r\n }\r\n });\r\n \r\n return couponTmpArr;\r\n}\r\n\r\n// Load Single data list\r\nfunction oddsTabDateTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType) {\r\n var matchRow = [];\r\n let couponTmpArr = [];\r\n let _matchDay;\r\n var midNightMatchRow = [];\r\n var ordinaryFeaturedMatchRow = [];\r\n var topFeaturedMatchRow = [];\r\n let altRow = 1;\r\n let altRowMid = 1;\r\n let dateMatchTournament;\r\n if (tableType.toLowerCase().indexOf(\"presales\") >= 0) {\r\n couponID += \"ref\";\r\n }\r\n if (mdate != \"\") {\r\n selectedTabDateArra = [];\r\n selectedTabDateArra.push(mdate);\r\n }\r\n\r\n selectedTabDateArra.sort();\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n let selectedTabDate = tabDateItem;\r\n let hasMLMatch = false;\r\n let hasMLMatchNextDay = false;\r\n oddsTable_coupons.forEach(function (singleCoupon, couponIndex) {\r\n oddsTable_tournaments.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == singleCoupon.tournament.tournamentID) {\r\n dateMatchTournament = singleTournament;\r\n }\r\n });\r\n let dateMatchRow;\r\n let matchDateObj = new Date(singleCoupon.matchDate.replace(\"+08:00\", \"\"));\r\n let matchDateYYYYMMDD = singleCoupon.matchDate.split(\"T\")[0];\r\n let groupCur = matchDateYYYYMMDD == selectedTabDate;\r\n let groupNextDay = matchDateObj.getTime() >= getNextDateZeroOclock(selectedTabDate).getTime() && matchDateObj.getTime() <= getNextDate(selectedTabDate).getTime();\r\n\r\n if (groupCur || groupNextDay) {\r\n let tgCouName = \"\";\r\n if (groupCur) {\r\n if (pageName == \"OFM\" && (singleCoupon.featureMatch == null || singleCoupon.featureMatch.topPriority == null || singleCoupon.featureMatch.topPriority == \"false\")) {\r\n tgCouName = \"tgCou3\";\r\n } else if (pageName == \"OFM\" && singleCoupon.featureMatch.topPriority == \"true\") {\r\n tgCouName = \"tgCou4\";\r\n } else {\r\n tgCouName = \"tgCou1\";\r\n }\r\n } else if (groupNextDay) {\r\n tgCouName = \"tgCou2\";\r\n }\r\n dateMatchRow = ;\r\n\r\n //check to show expand button\r\n if (isML(_oddsType) && singleCoupon[_oddsType.toLowerCase() + \"odds\"].LINELIST.length > 1 && !checkInplayLink(singleCoupon, _oddsType, pageName)) {\r\n if (groupCur) {\r\n hasMLMatch = true;\r\n }\r\n if (groupNextDay) {\r\n hasMLMatchNextDay = true;\r\n }\r\n }\r\n //need current datetime >= start datetime?\r\n if (groupCur) {\r\n _matchDay = singleCoupon.matchDay;\r\n if (pageName == \"OFM\" && (singleCoupon.featureMatch == null || singleCoupon.featureMatch.topPriority == null || singleCoupon.featureMatch.topPriority == \"false\")) {\r\n ordinaryFeaturedMatchRow.push(dateMatchRow);\r\n } else if (pageName == \"OFM\" && singleCoupon.featureMatch.topPriority == \"true\") {\r\n topFeaturedMatchRow.push(dateMatchRow);\r\n } else {\r\n matchRow.push(dateMatchRow);\r\n }\r\n altRow++;\r\n }\r\n if (groupNextDay) {\r\n midNightMatchRow.push(dateMatchRow);\r\n altRowMid++;\r\n }\r\n }\r\n });\r\n\r\n if (matchRow.length > 0) {\r\n\r\n var selectedTabDateFormat = formatDDMMYYYY(selectedTabDate);\r\n var selectedNextDateFormat = getNextDateFormatDDMMYYYY(selectedTabDate);\r\n\r\n paginationCalculator([matchRow, midNightMatchRow]);\r\n\r\n //The number of matches on the last page of matches for the current date\r\n let matchRowEndMatchCount = \"\";\r\n //end page of the current date\r\n let matchRowEndPage = \"\";\r\n let totalRow = [];\r\n if (pageName == \"OFM\") {\r\n paginationCalculator([topFeaturedMatchRow, ordinaryFeaturedMatchRow]);\r\n matchRowEndMatchCount = topFeaturedMatchRow.length % maxMatch;\r\n //end page of the current date\r\n matchRowEndPage = Math.ceil(topFeaturedMatchRow.length / maxMatch);\r\n totalRow = [].concat.apply(topFeaturedMatchRow, ordinaryFeaturedMatchRow);\r\n\r\n } else {\r\n matchRowEndMatchCount = matchRow.length % maxMatch;\r\n //end page of the current date\r\n matchRowEndPage = Math.ceil(matchRow.length / maxMatch);\r\n totalRow = [].concat.apply(matchRow, midNightMatchRow);\r\n }\r\n\r\n let matchNum = startMatch + matchRowEndMatchCount;\r\n if (totalRow.length > 0 && selectedMatcheId != \"0\") {\r\n curPage = 1;\r\n couponTmpArr = matchOptionChange(totalRow, _matchDay, hasMLMatch, _oddsType);\r\n } else {\r\n if (pageName == \"OFM\") {\r\n if (topFeaturedMatchRow.length > 0 && (curPage < matchRowEndPage || (curPage == matchRowEndPage && matchRowEndMatchCount >= 0) || totalMatch <= maxMatch)) {\r\n topFeaturedMatchRow = matchRowEndMatchCount > 0 && matchRowEndMatchCount < maxMatch\r\n && curPage == matchRowEndPage ? totalRow.slice(startMatch, matchNum) : totalRow.slice(startMatch, endMatch);\r\n couponTmpArr.push();\r\n\r\n }\r\n if (ordinaryFeaturedMatchRow.length > 0 && (curPage > matchRowEndPage || (curPage == matchRowEndPage && matchRowEndMatchCount > 0) || totalMatch <= maxMatch)) {\r\n ordinaryFeaturedMatchRow = matchRowEndMatchCount > 0 && matchRowEndMatchCount < maxMatch\r\n && curPage == matchRowEndPage ? totalRow.slice(matchNum, endMatch) : totalRow.slice(startMatch, endMatch);\r\n couponTmpArr.push();\r\n\r\n }\r\n } else {\r\n\r\n if (matchRow.length > 0 && (curPage < matchRowEndPage || (curPage == matchRowEndPage && matchRowEndMatchCount >= 0) || totalMatch <= maxMatch)) {\r\n matchRow = matchRowEndMatchCount > 0 && matchRowEndMatchCount < maxMatch\r\n && curPage == matchRowEndPage ? totalRow.slice(startMatch, matchNum) : totalRow.slice(startMatch, endMatch);\r\n couponTmpArr.push();\r\n }\r\n\r\n if (midNightMatchRow.length > 0 && (curPage > matchRowEndPage || (curPage == matchRowEndPage && matchRowEndMatchCount > 0) || totalMatch <= maxMatch)) {\r\n midNightMatchRow = matchRowEndMatchCount > 0 && matchRowEndMatchCount < maxMatch\r\n && curPage == matchRowEndPage ? totalRow.slice(matchNum, endMatch) : totalRow.slice(startMatch, endMatch);\r\n couponTmpArr.push();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n return couponTmpArr;\r\n}\r\n\r\n// Load \"other\" data list\r\nfunction oddsTabOtherDateTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType) {\r\n let otherDateMatches = [];\r\n let couponTmpArr = [];\r\n\r\n if (curDateType == dateType.All) {\r\n selectedTabDateArra = [];\r\n oddsTable_coupons.forEach(function (singleCoupon, couponIndex) {\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n if (jQuery.inArray(couponMatchDate, selectedTabDateArra) === -1) {\r\n selectedTabDateArra.push(couponMatchDate);\r\n }\r\n });\r\n }\r\n\r\n if (pageName == \"MIXALLUPLIST\" && curTabType != tabType.Feature)\r\n selectedTabDateArra.sort();\r\n\r\n oddsTable_coupons.forEach(function (singleCoupon, couponIndex) {\r\n selectedTabDateArra.forEach(function (singleSelectedDate) {\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n if (couponMatchDate == singleSelectedDate) {\r\n if (selectedMatcheId != \"0\" && selectedMatcheId == singleCoupon.matchID) {\r\n curPage = 1;\r\n otherDateMatches.push(singleCoupon);\r\n } else if (selectedMatcheId == \"0\") {\r\n otherDateMatches.push(singleCoupon);\r\n }\r\n }\r\n });\r\n });\r\n if (pageName != \"OFM\") {\r\n paginationCalculator([otherDateMatches]);\r\n\r\n otherDateMatches = otherDateMatches.slice(startMatch, endMatch);\r\n }\r\n let _matchDay;\r\n let altRow = 1;\r\n let altRowMid = 1;\r\n var hasMLMatch = false;\r\n let dateMatchTournament;\r\n let ordinaryFeaturedMatchRow = [];\r\n let topFeaturedMatchRow = [];\r\n couponCount = 0;\r\n if (curDateType != dateType.All || (pageName == \"MIXALLUPLIST\" && curDateType == dateType.All)) {\r\n\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n hasMLMatch = false;\r\n let selectedTabDate = tabDateItem;\r\n let ofmSum = \"1\";\r\n var couponID = 'tgCou' + ++couponCount;\r\n let otherMatchRow = [];\r\n if (tableType.toLowerCase().indexOf(\"presales\") >= 0) {\r\n couponID += \"ref\";\r\n }\r\n otherDateMatches.forEach(function (singleCoupon, couponIndex) {\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n if (couponMatchDate == tabDateItem) {\r\n _matchDay = singleCoupon.matchDay;\r\n oddsTable_tournaments.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == singleCoupon.tournament.tournamentID) {\r\n dateMatchTournament = singleTournament;\r\n }\r\n });\r\n\r\n if (isML(_oddsType) && !hasMLMatch && singleCoupon[_oddsType.toLowerCase() + \"odds\"].LINELIST.length > 1 && !checkInplayLink(singleCoupon, _oddsType, pageName)) {\r\n hasMLMatch = true;\r\n }\r\n let dateMatchRow;\r\n if (pageName == \"OFM\") {\r\n if (singleCoupon.featureMatch == null || singleCoupon.featureMatch.topPriority == null || singleCoupon.featureMatch.topPriority == \"false\") {\r\n dateMatchRow = ;\r\n ordinaryFeaturedMatchRow.push(dateMatchRow);\r\n altRow++;\r\n } else if (singleCoupon.featureMatch.topPriority == \"true\") {\r\n dateMatchRow = ;\r\n topFeaturedMatchRow.push(dateMatchRow);\r\n altRowMid++;\r\n }\r\n } else {\r\n dateMatchRow = ;\r\n otherMatchRow.push(dateMatchRow);\r\n altRow++;\r\n }\r\n }\r\n });\r\n if (pageName == \"OFM\") {\r\n couponTmpArr = getOFMTableList(topFeaturedMatchRow, ordinaryFeaturedMatchRow, _matchDay, hasMLMatch);\r\n } else {\r\n if (otherMatchRow.length > 0) {\r\n var selectedTabDateFormat = formatDDMMYYYY(selectedTabDate);\r\n let selectedTabDateObj = new Date(selectedTabDate);\r\n couponTmpArr.push();\r\n }\r\n }\r\n });\r\n } else {\r\n\r\n otherDateMatches.forEach(function (singleCoupon, couponIndex) {\r\n\r\n let ofmSum = \"1\";\r\n var selectedTabDate = \"\";\r\n var couponID = 'tgCou' + ++couponCount;\r\n let otherMatchRow = [];\r\n if (tableType.toLowerCase().indexOf(\"presales\") >= 0) {\r\n couponID += \"ref\";\r\n }\r\n\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n\r\n selectedTabDate = tabDateItem;\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n if (couponMatchDate == tabDateItem) {\r\n _matchDay = singleCoupon.matchDay;\r\n oddsTable_tournaments.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == singleCoupon.tournament.tournamentID) {\r\n dateMatchTournament = singleTournament;\r\n }\r\n });\r\n\r\n if (isML(_oddsType) && !hasMLMatch && singleCoupon[_oddsType.toLowerCase() + \"odds\"].LINELIST.length > 1 && !checkInplayLink(singleCoupon, _oddsType, pageName)) {\r\n hasMLMatch = true;\r\n }\r\n let dateMatchRow;\r\n if (pageName == \"OFM\") {\r\n if (singleCoupon.featureMatch == null || singleCoupon.featureMatch.topPriority == null || singleCoupon.featureMatch.topPriority == \"false\") {\r\n dateMatchRow = ;\r\n ordinaryFeaturedMatchRow.push(dateMatchRow);\r\n altRow++;\r\n } else if (singleCoupon.featureMatch.topPriority == \"true\") {\r\n dateMatchRow = ;\r\n topFeaturedMatchRow.push(dateMatchRow);\r\n altRowMid++;\r\n }\r\n } else {\r\n dateMatchRow = ;\r\n otherMatchRow.push(dateMatchRow);\r\n altRow++;\r\n }\r\n }\r\n });\r\n if (pageName == \"OFM\") {\r\n couponTmpArr = getOFMTableList(topFeaturedMatchRow, ordinaryFeaturedMatchRow, _matchDay, hasMLMatch);\r\n } else {\r\n if (otherMatchRow.length > 0) {\r\n var selectedTabDateFormat = formatDDMMYYYY(selectedTabDate);\r\n let selectedTabDateObj = new Date(selectedTabDate);\r\n couponTmpArr.push();\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n couponCount = 0;\r\n return couponTmpArr;\r\n}\r\n\r\n// Load \"All\" Featured Matches data list\r\nfunction oddsTabAllFeaturedMatchesDateTable(tableType, oddsTable_tournaments, oddsTable_coupons, _oddsType) {\r\n let otherDateMatches = [];\r\n let couponTmpArr = [];\r\n\r\n selectedTabDateArra = [];\r\n let dt = new Date();\r\n dt.setTime(dt.getTime() + (jsOffsetTime * 1000));\r\n oddsTable_coupons.forEach(function (singleCoupon, couponIndex) {\r\n if (singleCoupon.featureMatch != null && (singleCoupon.featureMatch.startTime == null || dt >= new Date(singleCoupon.featureMatch.startTime))) {\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n if (jQuery.inArray(couponMatchDate, selectedTabDateArra) === -1) {\r\n selectedTabDateArra.push(couponMatchDate);\r\n }\r\n otherDateMatches.push(singleCoupon);\r\n }\r\n });\r\n\r\n otherDateMatches.sort(function (x, y) {\r\n if (x.featureMatch.seq < y.featureMatch.seq) {\r\n return -1;\r\n }\r\n else if (x.featureMatch.seq > y.featureMatch.seq) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n\r\n let _matchDay;\r\n let altRow = 1;\r\n let altRowMid = 1;\r\n var hasMLMatch = false;\r\n let dateMatchTournament;\r\n let ordinaryFeaturedMatchRow = [];\r\n let topFeaturedMatchRow = [];\r\n\r\n otherDateMatches.forEach(function (singleCoupon, couponIndex) {\r\n var couponID = 'tgCou' + ++couponCount;\r\n let otherMatchRow = [];\r\n hasMLMatch = false;\r\n\r\n if (tableType.toLowerCase().indexOf(\"presales\") >= 0) {\r\n couponID += \"ref\";\r\n }\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n\r\n if (couponMatchDate == tabDateItem) {\r\n oddsTable_tournaments.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == singleCoupon.tournament.tournamentID) {\r\n dateMatchTournament = singleTournament;\r\n }\r\n });\r\n\r\n if (isML(_oddsType) && !hasMLMatch && singleCoupon[_oddsType.toLowerCase() + \"odds\"].LINELIST.length > 1 && !checkInplayLink(singleCoupon, _oddsType, pageName)) {\r\n hasMLMatch = true;\r\n }\r\n let dateMatchRow = ;\r\n ordinaryFeaturedMatchRow.push(dateMatchRow);\r\n altRow++;\r\n }\r\n\r\n });\r\n couponTmpArr = getOFMTableList(topFeaturedMatchRow, ordinaryFeaturedMatchRow, _matchDay, hasMLMatch);\r\n });\r\n\r\n couponCount = 0;\r\n\r\n return couponTmpArr;\r\n}\r\n\r\nfunction getOFMTableList(topFeaturedMatchRow, ordinaryFeaturedMatchRow, _matchDay,hasMLMatch)\r\n{ \r\n let couponTmpArr = [];\r\n //The number of matches on the last page of matches for the current date\r\n let matchRowEndMatchCount = \"\";\r\n //end page of the current date\r\n let matchRowEndPage = \"\";\r\n let totalRow = [];\r\n \r\n paginationCalculator([topFeaturedMatchRow, ordinaryFeaturedMatchRow]);\r\n matchRowEndMatchCount = topFeaturedMatchRow.length % maxMatch;\r\n //end page of the current date\r\n matchRowEndPage = Math.ceil(topFeaturedMatchRow.length / maxMatch); \r\n totalRow = [].concat.apply(topFeaturedMatchRow, ordinaryFeaturedMatchRow);\r\n \r\n let matchNum = startMatch + matchRowEndMatchCount;\r\n if (totalRow.length > 0 && selectedMatcheId != \"0\") {\r\n curPage = 1;\r\n couponTmpArr = matchOptionChange(totalRow, _matchDay, hasMLMatch, _oddsType);\r\n } else {\r\n if (topFeaturedMatchRow.length > 0 && (curPage < matchRowEndPage || (curPage == matchRowEndPage && matchRowEndMatchCount >= 0) || totalMatch <= maxMatch)) {\r\n topFeaturedMatchRow = matchRowEndMatchCount > 0 && matchRowEndMatchCount < maxMatch\r\n && curPage == matchRowEndPage ? totalRow.slice(startMatch, matchNum) : totalRow.slice(startMatch, endMatch);\r\n couponTmpArr.push();\r\n\r\n }\r\n if (ordinaryFeaturedMatchRow.length > 0 && (curPage > matchRowEndPage || (curPage == matchRowEndPage && matchRowEndMatchCount > 0) || totalMatch <= maxMatch)) {\r\n ordinaryFeaturedMatchRow = matchRowEndMatchCount > 0 && matchRowEndMatchCount < maxMatch\r\n && curPage == matchRowEndPage ? totalRow.slice(matchNum, endMatch) : totalRow.slice(startMatch, endMatch);\r\n couponTmpArr.push();\r\n\r\n } \r\n }\r\n return couponTmpArr;\r\n}\r\n \r\nclass OddsTableHeader extends React.Component {\r\n render() { \r\n\r\n // Screening date\r\n var coupsonList = this.props.coupons;//removeRepeat(this.props.coupons);\r\n if (this.props.oddsType.match(/^(SPC|CRS|FCS|FGS|DHCP|CHP|ALL)$/)) {\r\n // WUCHeader\r\n return
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
;\r\n } else {\r\n return
\r\n \r\n {pageName == \"FCH\" && jsFCHRemarks != \"\" ?
: null}\r\n {pageName == \"MIXALLUPLIST\" ? null : < div id=\"oddAllUpCalDiv\">
}\r\n {pageName == \"OFM\" ? null : }\r\n {curTabType == tabType.Competition ? (this.props.tournaments.length > 0 ? : null) : }\r\n {curTabType == tabType.Competition ? (this.props.tournaments.length > 0 ? : null) : }\r\n ;\r\n }\r\n }\r\n}\r\n\r\nclass OddsTableAllUpCalculator extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n divCalErrMsg = '';\r\n this.state = {\r\n expand: getDataArr().length > 0,\r\n unitBet: parseInt(getDivCalUnitbet(\"ALUPX\")),\r\n validUnitBet: true,\r\n formulaIdx: this.props.formulaIdx == null ? 0 : this.props.formulaIdx\r\n };\r\n this.onItemClick = this.onItemClick.bind(this);\r\n }\r\n onItemClick(event) {\r\n this.setState({ expand: !this.state.expand });\r\n }\r\n onUpdateUnitBet(e) {\r\n divCalErrMsg = '';\r\n if (chkAmount(e, 0)) {\r\n this.setState({ unitBet: parseInt(e.target.value), validUnitBet: true });\r\n } else if (e.target.value == '') {\r\n this.setState({ unitBet: '', validUnitBet: false });\r\n }\r\n }\r\n onUpdateUnitBetByButton(amt) {\r\n let newAmt = this.state.unitBet + amt;\r\n if (newAmt < MINIBET) {\r\n this.setState({ unitBet: MINIBET });\r\n }\r\n else if (newAmt > MAXBET ) {\r\n this.setState({ unitBet: MAXBET });\r\n }\r\n else {\r\n this.setState({ unitBet: newAmt });\r\n }\r\n }\r\n onBlurUnitBet(e) {\r\n if (!chkAmount(e, 10)) {\r\n alert(jsunitbeterror);\r\n this.setState({ unitBet: parseInt(getDefaultAmount(\"ALUPX\")), validUnitBet: true });\r\n }\r\n }\r\n render() {\r\n var para = dataStore.getItem(\"tmpAllupBetline\");\r\n if (para != null && para != '') {\r\n var isAddedEntry = tryAddArr(JSON.parse(para));\r\n dataStore.removeItem(\"tmpAllupBetline\");\r\n this.setState({ expand: true, formulaIdx: 0});\r\n }\r\n\r\n var dataArr = getDataArr();\r\n var hasLine = hasLinePools();\r\n var widthStyles = [91, 60, 215, 0, 67, 75, 85, 60];\r\n if (hasLine)\r\n widthStyles = [91, 60, 130, 79, 67, 75, 85, 60];\r\n\r\n let dCalTable = [];\r\n let dCalRes = [];\r\n if (dataArr.length > 0) {\r\n dCalTable.push(
\r\n
{jsdivcal_type}
\r\n
{jsoddstable_eventid}
\r\n
{jsteams1}
{jsteams2}
\r\n {hasLine ?
{jsdivcal_line}
: null}\r\n
{jsdivcal_selection}
\r\n
{jsdivcal_odds}
\r\n
{jsdivcal_results}
\r\n
{jsdivcal_delete}
\r\n
);\r\n\r\n var bgColor = ['divCalTableBg1', 'divCalTableBg2'];\r\n for (var i = 0; i < dataArr.length; i++) {\r\n var pool = dataArr[i][1];\r\n var isLinePool = pool.match(/^(HIL|EHL|FHL|CHL|FCH|ECH)$/);\r\n let winSel = null;\r\n let delBtn = drawDelBtn(this, i);\r\n if (pool.match(/^(HDC|EDC)$/)) {\r\n winSel = drawHDCSelect(this, dataArr[i], i);\r\n } else if (isLinePool) {\r\n winSel = drawHILSelect(this, dataArr[i], i);\r\n } else {\r\n winSel = drawWinLossIcon(this, dataArr[i], i);\r\n }\r\n\r\n let itemGoalNo = '';\r\n if (pool.match(/^(NTS|ENT)$/)) {\r\n itemGoalNo = getGoalNoByItemNo(dataArr[i][23], curLang);\r\n }\r\n\r\n dCalTable.push(
\r\n
{GetResourcesByLang(pool, curLang)}{itemGoalNo}
\r\n
{dataArr[i][3]}
\r\n
{getTeamVs(dataArr[i])}
\r\n {hasLine ?
{isLinePool ? '[' + dataArr[i][12] + ']' : '-'}
: null}\r\n
{curLang == 'ch' ? dataArr[i][6] : dataArr[i][5]}
\r\n
{dataArr[i][4]}
\r\n
{winSel}
\r\n
{delBtn}
\r\n
);\r\n }\r\n \r\n }\r\n\r\n var unitBet = this.state.unitBet;\r\n var totalDiv = 0;\r\n var winningBet = 0;\r\n var comb = this.state.formulaIdx;\r\n var noOfComb = dataArr.length > 0 ? 1 : '-';\r\n var combArr = ['1'];\r\n var totalInv = '-';\r\n var totalAmount = '-';\r\n var netReturn = '-';\r\n if (dataArr.length > 1) {\r\n comb = this.state.formulaIdx;\r\n var tmp = formulaItem[dataArr.length][comb];\r\n combArr = tmp.split('#');\t//if 3x7, 1#2#3#12#13#23#123\r\n noOfComb = combArr.length;\r\n }\r\n\r\n var netReturnStyle = 'divCalResultCell';\r\n if (dataArr.length > 0) {\r\n for (var i = 0; i < noOfComb; i++) {\r\n var tmpDiv = 1;\r\n for (var j = 0; j < combArr[i].length; j++) {\r\n var idx = parseInt(combArr[i].charAt(j)) - 1;\r\n var factor = 0;\r\n if (dataArr[idx][17].indexOf('/') >= 0) {\r\n var tmpLine = dataArr[idx][17].split('/');\r\n for (var k = 0; k < tmpLine.length; k++) {\r\n if (tmpLine[k] == 'W')\r\n factor += 0.5 * parseFloat(dataArr[idx][4]);\r\n else\r\n factor += 0.5 * parseFloat(tmpLine[k]);\r\n }\r\n }\r\n else {\r\n if (dataArr[idx][17] == 'W')\r\n factor = parseFloat(dataArr[idx][4]);\r\n else\r\n factor = parseFloat(dataArr[idx][17]);\r\n }\r\n tmpDiv *= factor;\r\n }\r\n if (tmpDiv > 0)\r\n winningBet++;\r\n totalDiv += tmpDiv;\r\n }\r\n\r\n if (this.state.validUnitBet) {\r\n totalInv = unitBet * noOfComb;\r\n totalAmount = ToDollarsAndCents_calculator(unitBet * totalDiv);\r\n netReturn = ToDollarsAndCents_calculator(totalAmount - totalInv);\r\n\r\n if (hasHDCPool() && totalInv < 200 && divCalErrMsg.length == 0) {\r\n divCalErrMsg = jsdivcal_msg_hdcWarningMsg;\r\n }\r\n\r\n checkExceedMaxDiv(dataArr.length, this.state.formulaIdx, totalAmount);\r\n }\r\n\r\n netReturnStyle += netReturn > 0 ? ' green-bold' : ' red-bold';\r\n\r\n } else {\r\n netReturnStyle += ' red-bold';\r\n }\r\n\r\n totalInv = totalInv == '-' ? totalInv : '$' + totalInv\r\n totalAmount = totalAmount == '-' ? totalAmount : '$' + totalAmount\r\n netReturn = netReturn == '-' ? netReturn : '$' + netReturn\r\n\r\n dCalRes.push(
\r\n
\r\n
\r\n
{jsformula}
\r\n
{jsunitbet} $
\r\n
{ this.onUpdateUnitBetByButton(10) }} className=\"divCalUnitBetBtn\">+10
\r\n
{ this.onUpdateUnitBetByButton(100) }} className=\"divCalUnitBetBtn\">+100
\r\n
{jsbet}
\r\n
{jstotalinvestment}
\r\n
{jsmaxDividend}
\r\n
{jsmaxNetReturn}
\r\n
\r\n
\r\n
{drawDivCalFormulaDropdown(this)}
\r\n
{ this.onUpdateUnitBet(e); }} onBlur={(e) => { this.onBlurUnitBet(e); }} className=\"allup_calculator_input\" />
\r\n
{ this.onUpdateUnitBetByButton(-10) }} className=\"divCalUnitBetBtn\">-10
\r\n
{ this.onUpdateUnitBetByButton(-100) }} className=\"divCalUnitBetBtn\">-100
\r\n
{noOfComb}
\r\n
{totalInv}
\r\n
{totalAmount}
\r\n
{netReturn}
\r\n
\r\n
\r\n
\r\n
);\r\n\r\n\r\n return
\r\n
\r\n \r\n {jsAllupCalculator}\r\n
\r\n {this.state.expand ?\r\n
\r\n
{dCalTable}
\r\n
{dCalRes}
\r\n
{divCalErrMsg}
\r\n
\r\n
deleteDivCalData(this)} title={jsreset}>
\r\n
{ addDivCalBS(); }} title={jsaddSlip}>
\r\n
\r\n
\r\n
\r\n : null}\r\n
\r\n }\r\n}\r\n\r\nclass OddsTableDateTournTab extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n var tournExp = location.href.match(new RegExp(\"&tournid=[\\\\da-z]+\"));\r\n var isExpandTourn = false;\r\n if (tournExp != null && tournExp.length > 0) {\r\n isExpandTourn = tournExp[0].split(\"=\")[1].toLowerCase() == \"all\";\r\n }\r\n this.state = {\r\n defaultShowCount: 16,\r\n expandTourn: isExpandTourn\r\n };\r\n }\r\n\r\n onClickExpandTournBtn() {\r\n this.setState({ expandTourn: !this.state.expandTourn });\r\n }\r\n\r\n renderMoreBtn(totalTournamentCount) {\r\n\r\n let showShowallBtn = totalTournamentCount > this.state.defaultShowCount ? { display: \"\" } : { display: \"none\" };\r\n\r\n if (this.state.expandTourn) {\r\n return

this.onClickExpandTournBtn()}>\r\n {jsoddstab_hide} ▲\r\n

\r\n }\r\n else {\r\n return

this.onClickExpandTournBtn()}>\r\n {jsoddstab_showall} ▼\r\n

\r\n }\r\n }\r\n\r\n onClickSelectAll() {\r\n selectAllTournaments();\r\n this.setState({ expandTourn: true });\r\n }\r\n\r\n onClickReset() {\r\n resetTournaments();\r\n this.setState({ expandTourn: false });\r\n }\r\n\r\n renderTournAllBtn() {\r\n\r\n return
\r\n

\r\n this.onClickSelectAll()}>{jsoddstab_selectall}    \r\n this.onClickReset()}>{jsoddstab_reset}\r\n

\r\n

{jsoddstab_searchbtn}

\r\n
;\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n\r\n let onfocusTournTab = $(\"span[class=cur]\").attr(\"data-value\") == \"1\" ? false : true;\r\n if (!onfocusTournTab && this.state.expandTourn) {\r\n this.setState({ expandTourn: false });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.expandTourn) {\r\n selectAllTournaments();\r\n }\r\n\r\n if ($(\".second_ul input:checked\").length > 0) {\r\n this.setState({ expandTourn: true });\r\n $(\".second_ul\").show()\r\n }\r\n }\r\n\r\n render() {\r\n var TournamentSpans = [];\r\n var TournamentSecondSpans = [];\r\n var TournamentRows = [];\r\n var TournamentSecondRows = [];\r\n var MatcheList = [];\r\n let tournamentBoxCount = 1;\r\n let tournaRowCount = 1;\r\n let tournamentData = [];\r\n let tournamentIds = [];\r\n let allTabDates = [];\r\n let defaultShowCount = this.state.defaultShowCount;\r\n\r\n if (pageName == \"TQL\") {\r\n tournamentData = this.props.OddsTableTournaments;\r\n }\r\n else if (pageName == \"CHP\") {\r\n tournamentData = jQuery.grep(this.props.OddsTableTournaments, function (item) {\r\n\r\n // hidden Comprtions tab on Champion page which CHP sub type is not null or CHP sub type is not 0\r\n let hasCHPSubType = item.chpodds.CHPType == chpSubType || chpSubType == '0' ? true : false;\r\n\r\n if (hasCHPSubType) {\r\n return true;\r\n }\r\n });\r\n } else {\r\n for (var i = 0; i < this.props.OddsTableMatches.length; i++) {\r\n let _poolcloseDate = \"\";\r\n if (this.props.OddsTableMatches[i] != undefined && this.props.OddsTableMatches[i].matchDate != undefined) {\r\n _poolcloseDate = this.props.OddsTableMatches[i].matchDate;\r\n }\r\n if (jQuery.inArray(_poolcloseDate.split(\"T\")[0], allTabDates) == -1) {\r\n allTabDates.push(_poolcloseDate.split(\"T\")[0]);\r\n }\r\n }\r\n allTabDates.sort();\r\n\r\n // get available tournment list\r\n for (var i = 0; i < this.props.OddsTableTournaments.length; i++) {\r\n\r\n let _tourn = this.props.OddsTableTournaments[i];\r\n\r\n for (var j = 0; j < this.props.OddsTableMatches.length; j++) {\r\n\r\n let _match = this.props.OddsTableMatches[j];\r\n let _tournId = \"\";\r\n\r\n if (_match != undefined && _match.matchDate != undefined) {\r\n _tournId = _match.tournament.tournamentID;\r\n }\r\n\r\n if (jQuery.inArray(_tourn.tournamentID, tournamentIds) == -1 && _tourn.tournamentID == _tournId) {\r\n tournamentIds.push(_tourn.tournamentID);\r\n tournamentData.push(_tourn);\r\n }\r\n }\r\n }\r\n\r\n }\r\n let tempTournNameList = [];\r\n tournamentData.forEach(function (item) {\r\n\r\n if (jQuery.inArray(item.tName, tempTournNameList) == -1) {\r\n tempTournNameList.push(item.tName);\r\n\r\n // R0a : check sessionStorage if tournmentID match.\r\n var tmpSessionSelectedTournmentIds = JSON.parse(sessionStorage.getItem(\"__extendShareSelectedTournsId\"));\r\n if (tmpSessionSelectedTournmentIds == null)\r\n tmpSessionSelectedTournmentIds = [];\r\n\r\n if (tournamentBoxCount <= defaultShowCount) {\r\n if (tournamentBoxCount == 1 && selectedTournamentIds.length == 0) {\r\n TournamentSpans.push();\r\n }\r\n else if (selectedTournamentIds.length > 0 && jQuery.inArray(item.tournamentID, selectedTournamentIds) !== -1) {\r\n TournamentSpans.push();\r\n } else if (tmpSessionSelectedTournmentIds.length > 0 && jQuery.inArray(item.tournamentID, tmpSessionSelectedTournmentIds) !== -1) {\r\n TournamentSpans.push();\r\n }\r\n else {\r\n TournamentSpans.push();\r\n }\r\n }\r\n else {\r\n if (tournamentBoxCount == 1 && selectedTournamentIds.length == 0) {\r\n TournamentSecondSpans.push();\r\n }\r\n else if (selectedTournamentIds.length > 0 && jQuery.inArray(item.tournamentID, selectedTournamentIds) !== -1) {\r\n TournamentSecondSpans.push();\r\n } else if (tmpSessionSelectedTournmentIds.length > 0 && jQuery.inArray(item.tournamentID, tmpSessionSelectedTournmentIds) !== -1) {\r\n TournamentSecondSpans.push();\r\n }\r\n else {\r\n TournamentSecondSpans.push();\r\n }\r\n \r\n }\r\n if ((tournamentBoxCount % 4 == 0 && tournamentBoxCount <= defaultShowCount) || (tournamentBoxCount == totalTournamentCount)) {\r\n TournamentRows.push();\r\n TournamentSpans = [];\r\n tournaRowCount++;\r\n }\r\n if ((tournamentBoxCount % 4 == 0 && tournamentBoxCount > defaultShowCount) || (tournamentBoxCount == totalTournamentCount)) {\r\n TournamentSecondRows.push();\r\n TournamentSecondSpans = [];\r\n tournaRowCount++;\r\n }\r\n tournamentBoxCount++;\r\n }\r\n });\r\n\r\n if (TournamentSpans.length > 0) {\r\n TournamentSecondRows.push();\r\n TournamentSpans = [];\r\n tournamentBoxCount++;\r\n }\r\n if (TournamentSecondSpans.length > 0) {\r\n TournamentSecondRows.push();\r\n TournamentSecondSpans = [];\r\n tournamentBoxCount++;\r\n }\r\n let totalTournamentCount = tournamentBoxCount - 1;\r\n let hasOtherTab = false;\r\n \r\n // Filter Date\r\n if (pageName != \"TQL\" && this.props.OddsTableMatches != null && this.props.OddsTableMatches != undefined && this.props.OddsTableMatches != \"\" && this.props.OddsTableMatches.length > 0) { \r\n \r\n let _hasCurTab = false;\r\n let dateTabList = getNormalTabList(allTabDates);\r\n\r\n let tempMatches = removeRepeat(this.props.OddsTableMatches);\r\n for (var i = 0; i < dateTabList.length; i++) {\r\n for (var y = 0; y < tempMatches.length; y++) {\r\n let _matcheDay = tempMatches[y].matchDay;\r\n let _matcheDate = GetDateStr(tempMatches[y].matchDate, \"0\");\r\n let _selectedTabDate = getFormattedDateStr(tempMatches[y].matchDate);\r\n\r\n if (_selectedTabDate == dateTabList[i] && pageName != \"OFM\" && pageName != \"MIXALLUPLIST\") {\r\n let _seletedTab = \"\";\r\n if (selectedTabDateArra.length > 0 && selectedTabDateArra[0] == _selectedTabDate) {\r\n _seletedTab = \"cur\";\r\n _hasCurTab = true;\r\n }\r\n if (i >= otherLength - 1) {\r\n hasOtherTab = true;\r\n }\r\n MatcheList.push();\r\n\r\n } else if ((pageName == \"OFM\" || pageName == \"MIXALLUPLIST\") && i == 0 && y == 0) {\r\n MatcheList.push(
{jsAll}
);\r\n _hasCurTab = true;\r\n }\r\n }\r\n \r\n }\r\n\r\n allTabDateList = allTabDates;\r\n otherTabDates = getOtherTabList(allTabDates);\r\n\r\n if (selectedTabDateArra.length == 1) {\r\n let isInOtherTab = false;\r\n otherTabDates.forEach(function (_otherTabDate, index) {\r\n if (_otherTabDate == selectedTabDateArra[0]) {\r\n selectedTabDateArra = [];\r\n otherTabDates.forEach(function (_otherTabDate2, index) {\r\n selectedTabDateArra.push(_otherTabDate2.split(\"T\")[0]);\r\n });\r\n isInOtherTab = true;\r\n }\r\n });\r\n\r\n curDateType = isInOtherTab ? dateType.Other : dateType.Single;\r\n }\r\n\r\n if (otherTabDates.length > 0 && !hasOtherTab) {\r\n MatcheList.push(
{jsOthers}
);\r\n }\r\n }\r\n\r\n let tournAllBtn = this.renderTournAllBtn();\r\n dateTournaTabInited = false;\r\n \r\n return
\r\n
\r\n 0 ? false : true} /> \r\n
\r\n
\r\n
\r\n
\r\n {MatcheList}\r\n
\r\n
\r\n
\r\n {TournamentRows}\r\n {TournamentSecondRows}\r\n
    \r\n
\r\n {this.renderMoreBtn(totalTournamentCount)}\r\n {curTabType == tabType.Competition ? (this.props.OddsTableTournaments.length > 0 ?\r\n tournAllBtn : null) : tournAllBtn}\r\n
\r\n {/*

{jsPagination1} 1 - {totalTournamentCount} {jsPagination2_tab} {totalTournamentCount}{jsLang.toLowerCase() == 'ch' ? jsPagination3_tab : \"\"}

*/}\r\n {/*

Matches 1 - 2 out of 3

*/}\r\n
\r\n }\r\n}\r\n\r\nclass OddsTableSelectNav extends React.Component {\r\n render() {\r\n let onlyCompetition = this.props.onlyCompetition == null || this.props.onlyCompetition == undefined ? false : this.props.onlyCompetition;\r\n \r\n if (pageName == \"MIXALLUPLIST\") {\r\n return

\r\n {jsoddstab_bydate}\r\n {jsoddstab_bycompetitions}\r\n {countFeatureMatch > 0 ? {jsoddstab_byfeaturedmatches} : null}\r\n

\r\n }else{\r\n return

\r\n {jsoddstab_bydate}\r\n {jsoddstab_bycompetitions}\r\n

\r\n }\r\n }\r\n}\r\n\r\nclass TournamentRow extends React.Component {\r\n render() {\r\n let tournaRow = [];\r\n\r\n this.props.fourTournaments.forEach(function (singleTournament) {\r\n tournaRow.push(singleTournament);\r\n });\r\n\r\n return
    {tournaRow}
\r\n }\r\n}\r\n\r\nclass TournamentSpan extends React.Component {\r\n\r\n render() {\r\n let item = this.props.tournaments;\r\n let _tournamentName = item['tournamentName' + curLang.toUpperCase()];\r\n let tabId = \"cbTourn_\" + item.frontEndId\r\n\r\n return
  • \r\n
    \r\n \r\n {_tournamentName} \r\n
    \r\n
  • \r\n }\r\n}\r\n\r\nclass MatcheSpan extends React.Component {\r\n render() {\r\n let tabDate = this.props.selectedTabDate.split(\"T\")[0];\r\n var spanMatchDay = DateWeekLanguageSwitch(this.props.matchDay);\r\n \r\n if (this.props.otherNum < otherLength - 1) {\r\n return
    {this.props.matchDate}
    ({spanMatchDay})
    \r\n } else {\r\n return
    {jsOthers}
    \r\n }\r\n }\r\n}\r\n\r\n// green bar on top of the odds table, may appear twice in a page\r\nclass OddsTableInfo extends React.Component {\r\n render() {\r\n let _oddsType = this.props.oddsType;\r\n let displayRefreshInfo = pageName != \"DHCP\";\r\n\r\n let _displayAddBet = (this.props.tableType.toLowerCase().indexOf(\"presales\") == -1 && this.props.tableType != \"NoMatch\" && pageName != \"INDEX\" && pageName != \"MIXALLUPLIST\" && pageName != \"MIXALLUP\");\r\n let _displayPrint = _displayAddBet || (pageName == \"DHCP\" || pageName == \"INDEX\" || pageName == \"MIXALLUPLIST\" || pageName == \"MIXALLUP\");\r\n\r\n let refreshInfo = \"\";\r\n let extraInfo = \"\";\r\n if (pageName == \"DHCP\") {\r\n // calculator\r\n let _clink = {jsdhcpcalculator}\r\n let _cimg = \"\" NewWindow(`/football/cal/dhcp_cal/dhcpcalculator2.aspx?Lang=${jsLang}`, 'dhcpcalculator2', '730', '550', 'no', 'no')} />;\r\n\r\n // dhcpdividend\r\n let _dlink = switchTo('football', 'results/dhcp_results', curLang)}>{jsdhcpdividend};\r\n let _dimg = \"\" switchTo('football', 'results/dhcp_results', curLang)} />;\r\n\r\n extraInfo = {_clink}{_cimg} {_dlink}{_dimg} ;\r\n } else {\r\n refreshInfo = \r\n {jsrefreshat}:\r\n {jsrefresh}\r\n \r\n \r\n {jsrefresh} { refreshOddsPage() }} />\r\n \r\n \r\n ;\r\n }\r\n\r\n if (pageName == \"MIXALLUPLIST\") {\r\n refreshInfo = null;\r\n extraInfo = null;\r\n _displayAddBet = false;\r\n }\r\n\r\n let rightContent = null;\r\n\r\n if (this.props.tableType != \"NoMatch\" && this.props.tableType != \"PresalesMatches\" && (this.props.hidebutton == undefined || !this.props.hidebutton)) {\r\n rightContent =
    \r\n {_displayPrint ?\r\n \r\n {jsprintdata}\r\n { printNow(`${location.pathname}${location.search}&pv=1`) }} alt={jsprintdata} title={jsprintdata} />\r\n \r\n : null\r\n }\r\n {refreshInfo}\r\n {extraInfo}\r\n {_displayAddBet ?\r\n : null}\r\n
    \r\n }\r\n\r\n return
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n {formatOddsHeader(pageName, this.props.tableType, \"\", \"\")}\r\n
    \r\n {rightContent}\r\n
    \r\n
    \r\n
    ;\r\n }\r\n}\r\n\r\nclass PageInfo extends React.Component {\r\n\r\n pageInfo() {\r\n\r\n if (isResultPage(pageName)) {\r\n return
    \r\n {jsPagination1} {startMatch} - {endMatch} {jsPagination2} {totalMatch} {jsLang.toLowerCase() == 'ch' ? jsPagination3 : \"\"}\r\n
    \r\n }\r\n else if (this.props.type == \"header\") {\r\n return
    \r\n {jsPagination1} {startMatch + 1} - {endMatch} {jsPagination2} {totalMatch} {jsLang.toLowerCase() == 'ch' ? jsPagination3 : \"\"}\r\n
    \r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n render() {\r\n if (this.props.type != \"header\" || couponCount == 0) {\r\n return
    \r\n
    \r\n {this.pageInfo()}\r\n \r\n
    \r\n
    \r\n {isResultPage(pageName) ? null :
    }\r\n
    \r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass Pagination extends React.Component {\r\n render() {\r\n if (totalMatch > maxMatch) {\r\n let totalPage = Math.ceil(totalMatch / maxMatch);\r\n let maxPage = 10;\r\n let pagination;\r\n let prevPages = [];\r\n let nextPages = [];\r\n\r\n let pStartPage, pEndPage;\r\n if (totalPage > maxPage) {\r\n pStartPage = (Math.floor((curPage - 1) / 10) * 10) + 1;\r\n if ((pStartPage + 9) > totalPage) {\r\n pEndPage = totalPage;\r\n } else {\r\n pEndPage = pStartPage + 9;\r\n }\r\n } else {\r\n pStartPage = 1;\r\n pEndPage = totalPage;\r\n }\r\n if (pStartPage > 1) {\r\n prevPages.push()\r\n }\r\n for (let i = pStartPage; i < curPage; i++) {\r\n prevPages.push()\r\n }\r\n for (let i = curPage + 1; i <= pEndPage; i++) {\r\n nextPages.push()\r\n }\r\n if (pEndPage < totalPage) {\r\n nextPages.push()\r\n }\r\n let pageContent = \r\n {(curPage != 1) ? goToPage(curPage - 1)}>{jsPrevious} : null}  \r\n {prevPages}\r\n {curPage} \r\n {nextPages}\r\n {(curPage != totalPage) ? goToPage(curPage + 1)}>{jsNext} : null}  \r\n \r\n pagination =
    \r\n <<\r\n {pageContent}\r\n >>\r\n
    \r\n return pagination\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass PageSelection extends React.Component {\r\n render() {\r\n var i = this.props.targetPage;\r\n var displayText = this.props.displayText;\r\n var _className = this.props._className;\r\n //return goToPage(i)}>{displayText} \r\n return goToPage(i)}>{displayText} ;\r\n }\r\n}\r\n\r\nclass MatchSelectList extends React.Component {\r\n render() {\r\n let optionList = []; \r\n let tournamentList = this.props.OddsTableTournaments;\r\n let matchList = this.props.OddsTableMatches;\r\n let singleMatch = this.props.SingleMatch;\r\n var _oddsType = oddsType;\r\n if (pageName == \"INDEX\" || pageName == \"INDEX_HAD\") {\r\n _oddsType = \"HAD\";\r\n }\r\n\r\n if (curTabType == tabType.Date) {\r\n optionList = getDateOptinList(tournamentList, matchList, singleMatch.matchID); \r\n } else {\r\n optionList = getCompetitionOptinList(tournamentList, matchList, singleMatch.matchID); \r\n }\r\n\r\n homeTeamName = jsLang.toLowerCase() == 'ch' ? singleMatch.homeTeam.teamNameCH : singleMatch.homeTeam.teamNameEN;\r\n awayTeamName = jsLang.toLowerCase() == 'ch' ? singleMatch.awayTeam.teamNameCH : singleMatch.awayTeam.teamNameEN;\r\n let tournamentName = \"\";\r\n let code = \"\";\r\n\r\n let _vsStr = jsVS;\r\n let headerEsst = null;\r\n let litTotalCorner = null;\r\n let _ninetyMinsScore = null;\r\n let spInplay = null;\r\n if (isInplay) {\r\n if (!singleMatch.isVoidMatch() && singleMatch.IsMatchKickOff()) {\r\n _vsStr = formatInplayTeamAndStatus(singleMatch.ipinfo, \"matchresult\", singleMatch.matchTime, _isHalfTimePage);\r\n }\r\n\r\n if (singleMatch.ipinfo[3] != \"-1\") {\r\n let _scoure = _vsStr == \"---:---\" ? \"---:---\" : singleMatch.ipinfo[3];\r\n _ninetyMinsScore = \r\n {jsres_fulltime} [{_scoure}]\r\n ;\r\n }\r\n\r\n let statemsg;\r\n // check if nts available\r\n if (singleMatch.isNTSDefined()) {\r\n statemsg = \r\n \r\n {jsscoringInformation}\r\n \r\n \r\n ;\r\n //;\r\n } else {\r\n statemsg = null;\r\n }\r\n\r\n headerEsst = \r\n \r\n {formatInplayTeamAndStatus(singleMatch.ipinfo, \"stagemsg\", singleMatch.matchTime, _isHalfTimePage)}\r\n {statemsg}\r\n ;\r\n\r\n\r\n // only display corner no. if match is kick off and CHL is selling\r\n let displayCorner = ((singleMatch.arrPools.indexOf(\"FCH\") != -1 || singleMatch.arrPools.indexOf(\"CHL\") != -1 || singleMatch.arrPools.indexOf(\"ECH\") != -1) && singleMatch.IsMatchKickOff());\r\n let displayCornerNo = ((singleMatch.fchodds != null && isSelling(singleMatch.fchodds.POOLSTATUS, \"100\", \"1\"))\r\n || (singleMatch.chlodds != null && isSelling(singleMatch.chlodds.POOLSTATUS, \"100\", \"1\"))\r\n || (singleMatch.echodds != null && isSelling(singleMatch.echodds.POOLSTATUS, \"100\", \"1\")));\r\n litTotalCorner = formatTotalCornerStr(singleMatch.ipinfo[4], displayCorner, displayCornerNo, \"\");\r\n }\r\n let homeAndAwayName = {homeTeamName} {awayTeamName};\r\n\r\n tournamentList.forEach(function (tList) {\r\n if (singleMatch.tournament != undefined) {\r\n if (singleMatch.tournament.tournamentID == tList.tournamentID) {\r\n code = tList.tournamentShortName;\r\n tournamentName = tList['tournamentName' + curLang.toUpperCase()];\r\n }\r\n }\r\n });\r\n\r\n let matchOdds = singleMatch[_oddsType.toLowerCase() + \"odds\"];\r\n let isInplayOdds = matchOdds != null ? (singleMatch.IsMatchKickOff() && matchOdds.INPLAY == \"true\") : false;\r\n\r\n return
    \r\n

    \r\n {formatEsstStr(singleMatch.matchDate, false) + \" \" + singleMatch.frontEndId} \r\n \r\n {formatImageStr([League.GetFlagPath(code), tournamentName, code])} \r\n \r\n \r\n {\r\n (pageName != \"ALL\" && pageName != \"INPLAYALL\") ? \r\n oddsAllJump(singleMatch.matchID, sTeamString(!isInplay, false, singleMatch, false, true, _oddsType), isInplayOdds)\r\n : homeAndAwayName\r\n }\r\n \r\n \r\n {singleMatch.venue == null ? \"\" : formatNeutralGroundIcon(singleMatch.venue, \"ng\")}\r\n \r\n {displayInplayClock(pageName) ?\r\n

    {formatInplayIco(singleMatch, \"ico\", pageName)}
    \r\n : null}\r\n {_ninetyMinsScore}\r\n \r\n {displayHead2Head(pageName) && jsH2HEnabled ? formatJumpHeadStr(singleMatch) : \"\"}\r\n \r\n {formatTVIconAll(singleMatch.channel)}\r\n \r\n {litTotalCorner}\r\n \r\n {singleMatch.isESOffer ? formatESIcon() : null}\r\n

    \r\n {headerEsst}\r\n
    \r\n {(optionList.length > 1) ? : null}\r\n
    \r\n
    ;\r\n }\r\n}\r\n\r\n// getDateOptinList\r\nfunction getDateOptinList(tournamentList, matchList, matchId) { \r\n let groupCurOptionList = [];\r\n let optionList = [];\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n let tabDateTimeName = GetDateTimeLegName(tabDateItem);\r\n let hasMatch = false;\r\n groupCurOptionList.push();\r\n matchList.forEach(function (item, index) {\r\n if (matchId != item.matchID) {\r\n let selectedTabDate = tabDateItem;\r\n let matchDateYYYYMMDD = item.matchDate.split(\"T\")[0];\r\n let groupCur = matchDateYYYYMMDD == selectedTabDate; \r\n let matchDate = formatEsstStr(item.matchDate, false);\r\n let frontEndId = item.frontEndId;\r\n let code = \"\";\r\n let homeAndAwayName = \"\";\r\n if (jsLang.toLowerCase() == 'ch') {\r\n homeAndAwayName = item.homeTeam.teamNameCH + \" VS \" + item.awayTeam.teamNameCH;\r\n } else {\r\n homeAndAwayName = item.homeTeam.teamNameEN + \" VS \" + item.awayTeam.teamNameEN;\r\n }\r\n tournamentList.forEach(function (tList) {\r\n if (item.tournament != undefined) {\r\n if (item.tournament.tournamentID == tList.tournamentID) {\r\n code = tList.tournamentShortName;\r\n }\r\n }\r\n })\r\n\r\n if (groupCur) {\r\n groupCurOptionList.push();\r\n hasMatch = true;\r\n }\r\n\r\n }\r\n });\r\n if (!hasMatch) {\r\n groupCurOptionList.splice(-1, 1);\r\n }\r\n }); \r\n return groupCurOptionList;\r\n}\r\n\r\n// getCompetitionOptinList\r\nfunction getCompetitionOptinList(tournamentList, matchList, matchId)\r\n{\r\n let optionList = [];\r\n let selectedTournaMatches = [];\r\n\r\n selectedTournamentIds.forEach(function (value, index) {\r\n let selectedTournCount = 0;\r\n tournamentList.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == value) {\r\n let tournamentName = singleTournament['tournamentName' + curLang.toUpperCase()]; \r\n matchList.forEach(function (item, couponIndex) {\r\n if (item.tournament != \"\" && item.tournament != undefined && item.matchID != matchId) { \r\n if (item.tournament.tournamentID == value) { \r\n if (selectedTournCount == 0)\r\n selectedTournaMatches.push(\"======\" + tournamentName + \"======\");\r\n selectedTournaMatches.push(item);\r\n selectedTournCount++;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }); \r\n\r\n selectedTournaMatches.forEach(function (item, couponIndex) { \r\n if (item.matchDate != undefined) { \r\n let matchDate = formatEsstStr(item.matchDate, false);\r\n let frontEndId = item.frontEndId;\r\n let code = \"\";\r\n let homeAndAwayName = \"\";\r\n if (jsLang.toLowerCase() == 'ch') {\r\n homeAndAwayName = item.homeTeam.teamNameCH + \" VS \" + item.awayTeam.teamNameCH;\r\n } else {\r\n homeAndAwayName = item.homeTeam.teamNameEN + \" VS \" + item.awayTeam.teamNameEN;\r\n }\r\n tournamentList.forEach(function (tList) {\r\n if (item.tournament != undefined) {\r\n if (item.tournament.tournamentID == tList.tournamentID) {\r\n code = tList.tournamentShortName;\r\n }\r\n }\r\n })\r\n if ((tMatchID == null || tMatchID == \"\") && item.chlodds != undefined) {\r\n selectedMatcheId = item.matchID;\r\n setMatchId(selectedMatcheId);\r\n }\r\n optionList.push();\r\n } else {\r\n optionList.push();\r\n }\r\n }); \r\n return optionList;\r\n}\r\n\r\nclass MatcheOption extends React.Component {\r\n render() {\r\n var disabled = this.props.disabled != null ? \"disabled\" : null;\r\n if (this.props.optionTitle == \"\") {\r\n return \r\n } else {\r\n return \r\n\r\n }\r\n }\r\n}\r\n\r\nclass ColumnTitle extends React.Component {\r\n render() {\r\n try {\r\n var oddsTD;\r\n var _poolType;\r\n if (pageName == \"INPLAYHAD\") {\r\n _poolType = \"HAD\";\r\n } else if (this.props.poolType === undefined || this.props.poolType === null) {\r\n _poolType = oddsType;\r\n } else {\r\n _poolType = this.props.poolType;\r\n }\r\n oddsTD = getOddsTD(_poolType, \"\", \"\");\r\n\r\n if (pageName == \"MIXALLUPLIST\") {\r\n return
    \r\n
    \r\n {jsesst1}\r\n
    \r\n {jsesst2}\r\n
    \r\n
    {jsoddstable_eventid}
    \r\n
    \r\n \r\n {jsleagues_and_tournaments}\r\n \r\n
    \r\n
    \r\n {jsteams1}\r\n
    \r\n {jsteams2}\r\n
    \r\n
    \r\n
    \r\n {jsmixallupselected}\r\n 0
    \r\n {jsmixallupclear}\r\n
    \r\n
    \r\n } else if (pageName == \"TQL\" || (pageName == \"TOURN\" && _poolType == \"TQL\")) {\r\n let btmborderStyle = pageName == \"TQL\" ? \"\" : \"rBottomBorder\";\r\n \r\n return
    \r\n
    \r\n {jsesst1}\r\n
    \r\n {jsesst2}\r\n
    \r\n
    {jsTQLCode}
    \r\n
    {qualifyingStage}
    \r\n
    {jsteam}
    \r\n
    {jsodds}
    \r\n
    {jsteam}
    \r\n
    {jsodds}
    \r\n
    \r\n\r\n\r\n } else {\r\n return
    \r\n\r\n
    \r\n {jsesst1}\r\n
    \r\n {jsesst2}\r\n
    \r\n\r\n
    {jsoddstable_eventid}
    \r\n
    \r\n \r\n {jsleagues_and_tournaments}\r\n \r\n
    \r\n
    \r\n {jsteams1}\r\n
    \r\n {jsteams2}\r\n
    \r\n
    \r\n
    \r\n {\r\n pageName == \"INPLAYHAD\" ?
    \r\n {jsliveinfo}\r\n
    : null\r\n }\r\n {displayInplayClock(pageName) ?\r\n
    \r\n {jsinplaybet1}\r\n
    \r\n {jsinplaybet2}\r\n
    : null}\r\n {pageName == \"INDEX\" ?\r\n
    \r\n \"\"\r\n
    \r\n :\r\n null\r\n }\r\n {\r\n pageName == \"INPLAYHAD\" ?\r\n
    \r\n {jsmatchstatus}\r\n
    \r\n :\r\n null\r\n }\r\n {\r\n isML(_poolType) ?\r\n
    \r\n {jsLine}\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n {(pageName == \"INPLAYHAD\" || pageName == \"INDEX\") ? jsHAD : jsodds}\r\n
    \r\n {pageName == \"TTG\" ? null : oddsTD}\r\n
    \r\n {\r\n isML(_poolType) ?\r\n
    \r\n
    \r\n :\r\n null\r\n }\r\n {jsH2HEnabled ?
    \r\n {jsLang.toLowerCase() == \"ch\" ? jsheadtohead : jshead1}
    \r\n {jsLang.toLowerCase() == \"ch\" ? \"\" : jshead2}\r\n
    : null}\r\n
    \r\n\r\n }\r\n } catch (ex) {\r\n debugLog(\"ColumnTitle:\" + ex);\r\n }\r\n }\r\n}\r\n\r\nclass ColumnTitleSPCByItem extends React.Component {\r\n render() {\r\n let _itemInfo = this.props.itemInfo;\r\n let _couponID = this.props.couponID;\r\n let oddsTD = [];\r\n\r\n _itemInfo.SELLIST.forEach(function (_selInfo, _sInd) {\r\n oddsTD.push(
    \r\n ({parseInt(_selInfo.SEL, 10)})
    \r\n {jsLang == \"CH\" ? _selInfo.CONTENTCH : _selInfo.CONTENTEN}\r\n
    );\r\n });\r\n\r\n return
    \r\n {oddsTD}\r\n
    \r\n }\r\n}\r\n\r\nfunction getOddsTD(_poolType, _cellClassName, _rowClassName) {\r\n if (_cellClassName == undefined || _cellClassName == null) {\r\n _cellClassName = \"\";\r\n }\r\n if (_rowClassName == undefined || _rowClassName == null) {\r\n _rowClassName = \"\";\r\n }\r\n if (_poolType == \"HAD\" || _poolType == \"FHA\" || _poolType == \"HHA\") {\r\n return
    \r\n {jsHomeTeamWin}\r\n {jsDRAW}\r\n {jsAwayTeamWin}\r\n
    \r\n } else if (_poolType == \"HIL\" || _poolType == \"CHL\" || _poolType == \"FCH\" || _poolType == \"FHL\") {\r\n return
    \r\n {jsHight}\r\n {jsLow}\r\n
    \r\n } else if (_poolType == \"HDC\") {\r\n return
    \r\n {jsHomeTeamWin}\r\n {jsAwayTeamWin}\r\n
    \r\n } else if (_poolType == \"FTS\") {\r\n return
    \r\n {jsHomeTeam}\r\n {jsNoGoal}\r\n {jsAwayTeam}\r\n
    \r\n } else if (_poolType == \"TQL\") {\r\n return
    \r\n {jsHometeamtql}\r\n {jsAwayteamtql}\r\n
    \r\n } else if (_poolType == \"OOE\") {\r\n return
    \r\n {bsodd}\r\n {bseven}\r\n
    \r\n } else if (_poolType == \"HFT\") {\r\n return
    \r\n
    \r\n {bshomecomb}\r\n {bshomecomb}\r\n {bshomecomb}\r\n {bsdrawcomb}\r\n {bsdrawcomb}\r\n {bsdrawcomb}\r\n {bsawaycomb}\r\n {bsawaycomb}\r\n {bsawaycomb}\r\n
    \r\n
    \r\n {bshomecomb}\r\n {bsdrawcomb}\r\n {bsawaycomb}\r\n {bshomecomb}\r\n {bsdrawcomb}\r\n {bsawaycomb}\r\n {bshomecomb}\r\n {bsdrawcomb}\r\n {bsawaycomb}\r\n
    \r\n
    \r\n } else {\r\n return
    \r\n }\r\n\r\n}\r\n\r\nfunction getOddsTDForAllOdds(_singleMatch, _poolType, _cellClassName, _rowClassName) {\r\n if (_cellClassName == undefined || _cellClassName == null) {\r\n _cellClassName = \"\";\r\n }\r\n if (_rowClassName == undefined || _rowClassName == null) {\r\n _rowClassName = \"\";\r\n }\r\n let hTeamName = (jsLang == \"CH\" ? _singleMatch.homeTeam.teamNameCH : _singleMatch.homeTeam.teamNameEN);\r\n let aTeamName = (jsLang == \"CH\" ? _singleMatch.awayTeam.teamNameCH : _singleMatch.awayTeam.teamNameEN);\r\n\r\n if (_poolType.match(/^(HAD|EHA|HADINPLAY|FHA|FHAINPLAY)$/)) {\r\n return
    \r\n {hTeamName}({jsHomeTeamWin})\r\n {jsDRAW}\r\n {aTeamName}({jsAwayTeamWin})\r\n
    \r\n } else if (_poolType.match(/^(HHA|HHAINPLAY)$/)) {\r\n let hgStr = renderGoalLine(_singleMatch, _poolType, \"HG\", false, false, \"0\");\r\n let agStr = renderGoalLine(_singleMatch, _poolType, \"AG\", false, false, \"0\");\r\n\r\n return
    \r\n {hTeamName}{hgStr}({jsHomeTeamWin})\r\n {jsDRAW}\r\n {aTeamName}{agStr}({jsAwayTeamWin})\r\n
    \r\n } else if (_poolType.match(/^(HIL|EHL|HILINPLAY|FHL|FHLINPLAY|CHL|FCH|ECH|CHLINPLAY|FCHINPLAY)$/)) {\r\n return
    \r\n {jsLine}\r\n {jsHight}\r\n {jsLow}\r\n
    \r\n } else if (_poolType.match(/^(HDC|EDC|HDCINPLAY)$/)) {\r\n return
    \r\n {jshandicapline}\r\n {hTeamName}({jsHomeTeamWin})\r\n {aTeamName}({jsAwayTeamWin})\r\n
    \r\n } else if (_poolType.match(/^(FTS|NTS|ENT|ETS)$/)) {\r\n return
    \r\n {(pageName == \"RESULT\" && _poolType.match(/^(NTS|ENT|ETS)$/)) ? : null}\r\n {hTeamName}({jsHomeTeam})\r\n {jsNoGoal}\r\n {aTeamName}({jsAwayTeam})\r\n
    \r\n } else if (_poolType == \"FGS\") {\r\n return
    \r\n {hTeamName} ({jsHomeTeam})\r\n {aTeamName} ({jsAwayTeam})\r\n
    \r\n } else if (_poolType.match(/^(TQL|TQLINPLAY)$/)) {\r\n let tqlHTeamName = hTeamName;\r\n let tqlATeamName = aTeamName;\r\n if (pageName != 'RESULT' && _singleMatch.tqlodds != null) {\r\n tqlHTeamName = (jsLang == \"CH\" ? _singleMatch.tqlodds.homeTeam.teamNameCH : _singleMatch.tqlodds.homeTeam.teamNameEN);\r\n tqlATeamName = (jsLang == \"CH\" ? _singleMatch.tqlodds.awayTeam.teamNameCH : _singleMatch.tqlodds.awayTeam.teamNameEN);\r\n }\r\n return
    \r\n {tqlHTeamName}\r\n {tqlATeamName}\r\n
    \r\n } else if (_poolType == \"OOE\") {\r\n return
    \r\n {bsodd}\r\n {bseven}\r\n
    \r\n } else if (_poolType.match(/^(CRS|ECS|CRSINPLAY|FCS|FCSINPLAY)$/)) {\r\n return
    \r\n {hTeamName} ({jsHomeTeamWin})\r\n {pageName == \"MIXALLUP\" ? null : {jsDRAW}}\r\n {aTeamName} ({jsAwayTeamWin})\r\n
    \r\n } else if (_poolType.match(/^(HFT|HFTINPLAY)$/)) {\r\n let _hLbl = bshomecomb;\r\n let _aLbl = bsawaycomb;\r\n let _dLbl = bsdrawcomb;\r\n if (pageName == \"RESULT\") {\r\n _hLbl = jsHOME;\r\n _aLbl = jsAWAY;\r\n _dLbl = jsDRAW;\r\n }\r\n return
    \r\n
    \r\n {_hLbl}\r\n {_hLbl}\r\n {_hLbl}\r\n {_dLbl}\r\n {_dLbl}\r\n {_dLbl}\r\n {_aLbl}\r\n {_aLbl}\r\n {_aLbl}\r\n
    \r\n
    \r\n {_hLbl}\r\n {_dLbl}\r\n {_aLbl}\r\n {_hLbl}\r\n {_dLbl}\r\n {_aLbl}\r\n {_hLbl}\r\n {_dLbl}\r\n {_aLbl}\r\n
    \r\n
    \r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nclass OddsTableFooter extends React.Component {\r\n render() {\r\n return
    \r\n \r\n
    ;\r\n }\r\n}\r\n\r\nclass ResultsCoupon extends React.Component {\r\n render() {\r\n var couponName;\r\n var _oddsType = oddsType;\r\n\r\n let tourns = this.props.tournaments;\r\n\r\n var matchRow = [];\r\n var altRow = 0;\r\n var tableType = this.props.tableType;\r\n var couponID = 'tgCou' + ++couponCount;\r\n this.props.coupon.forEach(function (singleMatch) {\r\n //couponName = GetGlobalResources(\"Coupon\" + getMatchDayIndex(singleMatch.matchDay));\r\n couponName = formatDDMMYYYY(singleMatch.matchDate) + \"(\" + DateWeekLanguageSwitch(singleMatch.matchDay) + \") \" + jstabletitlematches;\r\n matchRow.push();\r\n altRow++;\r\n });\r\n return
    \r\n \r\n {matchRow}\r\n
    ;\r\n }\r\n}\r\n\r\nclass Coupon extends React.Component {\r\n\r\n getCouponName() {\r\n let couponName = \"\";\r\n\r\n if (pageName == \"TQL\") {\r\n couponName = this.props.tournament.frontEndId + \" \" + this.props.tournament['tournamentName' + curLang.toUpperCase()];\r\n } else if (curTabType == tabType.Feature) {\r\n couponName = this.props.matchDate;\r\n } else if (curTabType == tabType.Date) {\r\n couponName = this.props.matchDate + \"(\" + DateWeekLanguageSwitch(this.props.matchDay) + \") \" + jstabletitlematches;\r\n } else {\r\n couponName = this.props.tournament['tournamentName' + curLang.toUpperCase()];\r\n }\r\n return couponName;\r\n }\r\n\r\n render() {\r\n let couponName = this.getCouponName();\r\n let couponNo = this.props.couponNo == null ? couponCount : this.props.couponNo;\r\n\r\n return
    \r\n {pageName == \"OFM\" ?\r\n
    \r\n :\r\n \r\n }\r\n {this.props.matchRow}\r\n
    ;\r\n }\r\n}\r\n\r\nclass CouponHeader extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n var _oddsType = oddsType;\r\n\r\n this.mlExpander = null;\r\n if (isML(_oddsType)) {\r\n this.mlExpander = { e.stopPropagation(); tgMl2(this, this.props.couponID); }} className={`tgMl mlHeader${this.props.couponCount}`}>\r\n \r\n {jsexpandAll}\r\n
    \r\n
    \r\n \r\n {jscollapseAll}\r\n
    \r\n
    \r\n      \r\n
    \r\n }\r\n }\r\n\r\n render() {\r\n let rightElement = null;\r\n let spBtnMinus = null;\r\n let couponClass = \"tgCoupon couponRow\";\r\n\r\n if (pageName == \"MIXALLUPLIST\") {\r\n rightElement = { e.stopPropagation(); mix_nextstep(e) }}>\r\n \r\n \r\n \r\n } else if (this.props.rightText != undefined) {\r\n rightElement = \r\n \r\n ;\r\n }\r\n\r\n if (pageName != \"SPC\")\r\n spBtnMinus = ;\r\n else\r\n couponClass = \"rhead couponRow tOdds rTopBorder rBottomBorder\";\r\n\r\n\r\n return
    { pageName == \"SPC\" ? null : tgCoupon4(this, `${this.props.couponID}`) }}>\r\n {spBtnMinus}\r\n {this.props.couponName}\r\n {this.props.hasMLMatch ? this.mlExpander : null}\r\n {rightElement}\r\n
    ;\r\n }\r\n}\r\n\r\nclass MatchRow extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n var _oddsType = oddsType;\r\n if (pageName.match(/^(INDEX|INDEX_HAD|MIXALLUPLIST)$/)) {\r\n _oddsType = \"HAD\";\r\n }\r\n else if (pageName == \"INPLAYHAD\") {\r\n _oddsType = this.props.match.ehaodds != null ? \"EHA\" : \"HAD\";\r\n }\r\n\r\n this.state = {\r\n singleMatch: this.props.match,\r\n singleTournament: this.props.tournament,\r\n tableType: this.props.tableType,\r\n altRow: this.props.altRow,\r\n couponID: this.props.couponID,\r\n oddsType: _oddsType\r\n };\r\n }\r\n\r\n showOddsSelection() {\r\n\r\n let _singleMatch = this.state.singleMatch;\r\n let _oddsType = this.state.oddsType;\r\n let _tableType = this.state.tableType;\r\n let _matchID = _singleMatch.matchIDinofficial;\r\n let _showDelayMsg = pageName == \"HAD\" && _singleMatch.remarkstype == \"A\";\r\n let oddsSelection = null;\r\n\r\n // show delay message from index page\r\n if (_showDelayMsg) {\r\n oddsSelection = formatDelayMsg(_matchID);\r\n }\r\n else if (pageName != \"MIXALLUPLIST\" && curTabType != tabType.Feature) {\r\n oddsSelection = checkInplayLink(_singleMatch, _oddsType, pageName) ? getInplayLinkOddsCellSet(_singleMatch, _oddsType, _matchID, null) :\r\n getOddsSelection({ \"singleMatch\": _singleMatch, \"tableType\": _tableType, \"oddsType\": _oddsType, \"inplayLink\": checkInplayLink(_singleMatch, _oddsType, pageName), \"_oddsSuffix\": \"odds\" });\r\n }\r\n\r\n return oddsSelection;\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (JSON.stringify(this.props.match) !== JSON.stringify(prevProps.match)) {\r\n this.setState({ singleMatch: this.props.match, altRow: this.props.altRow, couponID: this.props.couponID });\r\n }\r\n else if (this.props.couponID != prevProps.couponID) {\r\n this.setState({ couponID: this.props.couponID });\r\n }\r\n }\r\n\r\n render() {\r\n let singleMatch = this.state.singleMatch;\r\n let singleTournament = this.state.singleTournament;\r\n let loadLink = this.state.tableType.indexOf(\"Presales\") >= 0;\r\n let _oddsType = this.state.oddsType;\r\n let isInplayOdds = singleMatch.inplayPools.length > 0 && singleMatch.IsMatchKickOff();\r\n let _matchID = singleMatch.matchIDinofficial;\r\n\r\n return
    \r\n
    \r\n {formatEsst(singleMatch, true, _oddsType)}\r\n
    \r\n
    {singleMatch.frontEndId}
    \r\n
    {singleTournament != null ? formatImageStr([League.GetFlagPath(singleTournament.tournamentShortName), singleTournament['tournamentName' + curLang.toUpperCase()], singleTournament.tournamentShortName]) : \"\"}
    \r\n
    \r\n {\r\n pageName == \"INPLAYHAD\" ? displayInplayMatchDiv(singleMatch.isVoidMatch(), singleMatch.matchID, sTeamString(!isInplay, loadLink, singleMatch, false, true, _oddsType))\r\n : oddsAllJump(singleMatch.matchID, sTeamString(!isInplay, loadLink, singleMatch, false, true, _oddsType), isInplayOdds)\r\n }\r\n
    \r\n
    \r\n {singleMatch.venue == null ? \"\" : formatNeutralGroundIcon(singleMatch.venue, \"ng\")}\r\n {singleMatch.isESOffer ? formatESIcon() : null}\r\n
    \r\n {pageName == \"INPLAYHAD\" ?
    {getLiveCastStr(singleMatch)}{getTvStr(singleMatch)}
    : null}\r\n
    \r\n
    \r\n {formatInplayIco(singleMatch, \"ico\", pageName)}\r\n {formatTVIcon(singleMatch.matchID, singleMatch.channel, \"tv\")}\r\n
    \r\n
    \r\n {pageName == \"INPLAYHAD\" ?\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n :\r\n null}\r\n {this.showOddsSelection()}\r\n {pageName == \"MIXALLUPLIST\" ?\r\n
    { toggleMix(`chk${singleMatch.matchID}`, `rmid${_matchID}`); mixSelectedCount(); }} />
    \r\n : null\r\n }\r\n {pageName != \"MIXALLUPLIST\" && jsH2HEnabled ?\r\n
    {singleTournament != null ? formatJumpHeadStr(singleMatch) : \"\"}\r\n
    \r\n : null\r\n }\r\n
    ;\r\n }\r\n}\r\n\r\nclass MatchRow_MatchInResults extends React.Component {\r\n render() {\r\n let singleMatch = this.props.match;\r\n let tourns = this.props.tournaments;\r\n let tourn = tourns.filter(function (valTourn) {\r\n return valTourn.tournamentID == singleMatch.tournament.tournamentID;\r\n });\r\n let fgsIsDefined = (this.props.match.fgsresult != undefined && this.props.match.fgsresult != null);\r\n let fgsResultsDetails = this.props.match.fgsresult;\r\n let _matchDate = singleMatch.matchDate2.substr(8, 2) + \"-\" + singleMatch.matchDate2.substr(5, 2) + \"-\" + singleMatch.matchDate2.substr(0, 4);\r\n let _matchFGSText = [];\r\n let _hRefund = []; /*********** */ // or notyetavailable\r\n let _aRefund = []; /*********** */\r\n let _refundCell;\r\n let _singleTournament = singleMatch.tournament;\r\n\r\n if (fgsIsDefined && singleMatch.HasPoolResults(\"fgs\")) {\r\n if (isPoolRefund(fgsResultsDetails.POOLSTATUS)) {\r\n if (fgsResultsDetails.RESULTFINAL == \"true\") {\r\n _matchFGSText =
    {jsnotyetavailable}
    ;\r\n } else {\r\n _matchFGSText = ;\r\n }\r\n } else {\r\n let _allResult = fgsResultsDetails.RESULT;\r\n let displayedFGSResult = false;\r\n\r\n if (_allResult != undefined && _allResult != null && _allResult.length > 0) {\r\n _matchFGSText = singleMatch.GetFGSResultDetailsText(false);\r\n displayedFGSResult = true;\r\n }\r\n if (!displayedFGSResult) {\r\n _matchFGSText =
    {jsmatchinprogress}
    ;\r\n }\r\n }\r\n } else {\r\n _matchFGSText =
    {jsmatchinprogress}
    ;\r\n }\r\n\r\n return
    \r\n
    {singleMatch.frontEndId}
    \r\n
    \r\n {formatImageStr\r\n (\r\n [\r\n League.GetFlagPath(_singleTournament.tournamentShortName),\r\n _singleTournament['tournamentName' + curLang.toUpperCase()],\r\n _singleTournament.tournamentShortName\r\n ]\r\n )}\r\n
    \r\n
    {sTeamString(false, false, singleMatch, false, true, \"FGS\")}
    \r\n
    {_matchFGSText}
    \r\n
    {formatLastOddsString(singleMatch)}
    \r\n
    ;\r\n }\r\n}\r\n\r\nclass MatchRow_ResultRow extends React.Component {\r\n\r\n renderMatchNum(singleMatch) {\r\n if (singleMatch.isBAUResult) {\r\n return GetGlobalResources(singleMatch.matchDay, \"js\") + \" \" + singleMatch.matchNum\r\n }\r\n else {\r\n return singleMatch.frontEndId == \"\" ? GetGlobalResources(singleMatch.matchDay, \"js\") + \" \" + singleMatch.matchNum : singleMatch.frontEndId\r\n }\r\n }\r\n\r\n render() {\r\n let singleMatch = this.props.match;\r\n let firstHalfScore;\r\n let secondHalfScore = \"\";\r\n let extraTimeScore = \"\";\r\n let isFTVoid = false;\r\n\r\n let resultsScoreDetails = getResultScoreDetails(singleMatch);\r\n\r\n isFTVoid = resultsScoreDetails[0];\r\n firstHalfScore = resultsScoreDetails[1];\r\n secondHalfScore = resultsScoreDetails[2];\r\n extraTimeScore = resultsScoreDetails[3];\r\n\r\n let matchLeague =
    \r\n {(singleMatch.tournament.tournamentShortName!=null && singleMatch.tournament.tournamentShortName != \"\") ? formatImageStr(\r\n [League.GetFlagPath(singleMatch.tournament.tournamentShortName),\r\n singleMatch.tournament['tournamentName' + curLang.toUpperCase()],\r\n singleMatch.tournament.tournamentShortName]) : null}\r\n
    ;\r\n\r\n let matchID = singleMatch.frontEndId == \"\" ? GetGlobalResources(singleMatch.matchDay, \"js\") + \" \" + singleMatch.matchNum : singleMatch.frontEndId;\r\n\r\n return
    \r\n
    {formatEsstStr(singleMatch.matchTime, true).split(' ')[0]}
    \r\n
    {this.renderMatchNum(singleMatch)}
    \r\n
    {matchLeague}
    \r\n
    {sTeamString(false, false, singleMatch, false, true, \"FGS\")}
    \r\n {isFTVoid ?
    {jsvoidmatch}
    \r\n :
    \r\n
    {firstHalfScore}
    \r\n
    }\r\n {isFTVoid ?
    \r\n :
    \r\n
    {secondHalfScore}
    \r\n {extraTimeScore}\r\n
    }\r\n
    {formatDetailsString(singleMatch)}
    \r\n
    {formatLastOddsString(singleMatch)}
    \r\n
    ;\r\n }\r\n}\r\n\r\nclass MatchRow_FGSResults extends React.Component {\r\n render() {\r\n let singleMatch = this.props.match;\r\n let _matchFGSText = [];\r\n let _hRefund = [];\r\n let _aRefund = [];\r\n let _refundCell;\r\n\r\n if (singleMatch.refundForAll) {\r\n _matchFGSText.push(
    -
    );\r\n _refundCell =
    {jsrefundforall}
    \r\n } else {\r\n for (let i = 0; i < singleMatch.results.length; i++) {\r\n let res = singleMatch.results[i];\r\n if (singleMatch.results[i] != null) {\r\n _matchFGSText.push(
    {res.SEL} {(curLang == \"ch\" ? res.CONTENTCH : res.CONTENTEN)}
    );\r\n }\r\n else {\r\n _matchFGSText.push(
    -
    );\r\n }\r\n }\r\n // display refund info\r\n let _allRefund = singleMatch.refunds;\r\n if (_allRefund.length == 0) {\r\n _hRefund.push(
    );\r\n _aRefund.push(
    );\r\n } else {\r\n for (let i = 0; i < _allRefund.length; i++) {\r\n let _refundTxt = _allRefund[i].SEL + \" \" + (curLang == \"ch\" ? _allRefund[i].CONTENTCH : _allRefund[i].CONTENTEN);\r\n if (_allRefund[i].SEL[0] == \"1\") {\r\n // home\r\n _hRefund.push(
    {_refundTxt}
    );\r\n } else {\r\n // away\r\n _aRefund.push(
    {_refundTxt}
    );\r\n }\r\n }\r\n }\r\n _refundCell =
    \r\n
    {_hRefund}
    \r\n
    {_aRefund}
    \r\n
    \r\n }\r\n\r\n let matchKODt = singleMatch.matchKODateFormatted != null && singleMatch.matchKODateFormatted != '' ? singleMatch.matchKODateFormatted : singleMatch.matchKODate;\r\n let eventId = singleMatch.frontEndId != null && singleMatch.frontEndId != '' ? singleMatch.frontEndId : singleMatch.matchDay + ' ' + singleMatch.matchNum;\r\n\r\n return
    \r\n
    {matchKODt}
    \r\n
    {eventId}
    \r\n
    {formatTournFlag(singleMatch.leagueCode, curLang == 'ch' ? singleMatch.leagueCh : singleMatch.leagueEn)}
    \r\n
    \r\n \r\n {(curLang == 'ch' ? singleMatch.homeCh : singleMatch.homeEn)}\r\n {jsVS}\r\n {(curLang == 'ch' ? singleMatch.awayCh : singleMatch.awayEn)}\r\n \r\n
    \r\n
    {_matchFGSText}
    \r\n {_refundCell}\r\n
    ;\r\n }\r\n}\r\n\r\nclass MatchRow_ParimutuelResults extends React.Component {\r\n render() {\r\n let singleMatch = this.props.match;\r\n let _couponID = this.props._couponID;\r\n let rInd = this.props.rInd;\r\n let _void = this.props._void\r\n let pmPool = (pools == \"DHCP\") ? this.props.pool.dhcodds : this.props.pool.hfmodds;\r\n let divHT = '';\r\n let divFT = '';\r\n if (pools == \"DHCP\" && pmPool.RESULT != null) {\r\n let legDivs = pmPool.RESULT.split('/');\r\n if (legDivs.length > 1) {\r\n var divs = legDivs[rInd - 1].split('#');\r\n if (divs.length > 1) {\r\n divHT = divs[0];\r\n divFT = divs[1];\r\n }\r\n }\r\n }\r\n\r\n let resultsScoreDetails = getResultScoreDetails(singleMatch);\r\n let isFTVoid = resultsScoreDetails[0];\r\n let firstHalfScore = resultsScoreDetails[1];\r\n let secondHalfScore = resultsScoreDetails[2];\r\n\r\n let flagStr = null;\r\n if (singleMatch.league != null) {\r\n flagStr = formatImageStr([League.GetFlagPath(singleMatch.league.leagueShortName), (jsLang.toLowerCase() == 'ch' ? singleMatch.league.leagueNameCH : singleMatch.league.leagueNameEN), singleMatch.league.leagueShortName]);\r\n }\r\n\r\n return
    \r\n
    {GetLegName(rInd - 1)}
    \r\n
    {GetGlobalResources(singleMatch.matchDay)} {singleMatch.matchNum}
    \r\n
    {flagStr}
    \r\n
    \r\n {sTeamString(false, false, singleMatch, false, true, pools)}\r\n
    \r\n
    \r\n {formatYYYYMMDD(singleMatch.matchTime.substr(0, 10).replace(/-/g, ''))}\r\n
    \r\n
    \r\n {isFTVoid ? {jsvoid_match} :\r\n
    \r\n {firstHalfScore}{formatDHCPSelectionText(pools, divHT)}\r\n {secondHalfScore}{formatDHCPSelectionText(pools, divFT)}\r\n
    }\r\n
    \r\n
    ;\r\n }\r\n}\r\n\r\nclass MatchRowSPCByItem extends React.Component {\r\n render() {\r\n var singleMatch = this.props.match;\r\n var _item = this.props.item;\r\n var _oddsType = oddsType;\r\n var loadLink = false;\r\n var displayInplayLink = checkInplayLink(singleMatch, _oddsType, pageName);\r\n let singleTournament = [];\r\n \r\n return
    \r\n \r\n {displayInplayLink ? getInplayLinkOddsCellSet(singleMatch, _oddsType, singleMatch.matchIDinofficial, _item) :\r\n getOddsSelection({ \"singleItem\": _item, \"singleMatch\": singleMatch, \"tableType\": this.props.tableType, \"oddsType\": oddsType, \"_oddsSuffix\": \"odds\" })\r\n }\r\n\r\n
    ;\r\n }\r\n}\r\n\r\nclass ParimutuelResultPoolDetails extends React.Component {\r\n render() {\r\n let _void = this.props._void;\r\n let _couponID = this.props.couponID;\r\n let _pool = this.props._pool;\r\n let spUnitDividends, spWinningInvestment;\r\n\r\n let pmPool = (pools == \"DHCP\") ? _pool.dhcodds : _pool.hfmodds;\r\n\r\n let _notPayout = (pmPool.POOLSTATUS != \"Payout\");\r\n\r\n if (!_void) {\r\n if (pools == \"DHCP\") {\r\n if (pmPool.winningdividend != '' && pmPool.winningdividend > 0)\r\n spUnitDividends = `$${numberWithCommas(Math.round(pmPool.winningdividend * 100) / 100)}`;\r\n else\r\n spUnitDividends = jsNowinner;\r\n spWinningInvestment = `$${numberWithCommas(Math.round(pmPool.winninginvestment * 100) / 100)}`;\r\n } else if (pools == \"HFMP\") {\r\n if (pmPool.consolationdividend == null)\r\n spUnitDividends = {formatHFMPDividend(pmPool.winningdividend)} ;\r\n else {\r\n spUnitDividends = \r\n {jswinning} {formatHFMPDividend(pmPool.winningdividend)}
    \r\n {jsconsolation} {formatHFMPDividend(pmPool.consolationdividend)}\r\n
    ;\r\n }\r\n var conInv = (pmPool.consolationinvestment != null) ? '$' + numberWithCommas(Math.round(pmPool.consolationinvestment * 100) / 100) : '';\r\n spWinningInvestment = \r\n ${numberWithCommas(Math.round(pmPool.winninginvestment * 100) / 100)}
    \r\n {conInv}
    \r\n
    ;\r\n }\r\n }\r\n\r\n var jpGen = numberWithCommas(pmPool.jackpotgen);\r\n if (jpGen != '-')\r\n jpGen = '$' + jpGen;\r\n\r\n return
    \r\n
    \r\n {jswinningcombination} :
    \r\n {_void ? \"-\" : pmPool.RESULT}\r\n
    \r\n
    \r\n {jsjackpotgenerated} :
    \r\n {_void ? \"-\" : jpGen}\r\n
    \r\n
    \r\n {jsinvestment} :
    \r\n {_void ? \"-\" : `$${numberWithCommas(pmPool.investment)}`}\r\n
    \r\n {(_void || _notPayout) ? null :
    \r\n {jsunitdividend} :
    \r\n {spUnitDividends}\r\n
    }\r\n {(_void || _notPayout) ? null :
    \r\n {jswinninginvestment} :
    \r\n {spWinningInvestment}\r\n
    }\r\n
    ;\r\n }\r\n}\r\n\r\nclass ParimutuelResultPoolTable extends React.Component {\r\n render() {\r\n let _void = this.props._void;\r\n let _couponID = this.props.couponID;\r\n let _pool = this.props._pool;\r\n\r\n let pmPool = (pools == \"DHCP\") ? _pool.dhcodds : _pool.hfmodds;\r\n let noOfLeg = (pools == \"DHCP\" ? 2 : 6);\r\n let _matchRows = [];\r\n //let _matchResult = pmPool.RESULT!=null ? pmPool.RESULT.split('/') : \"\";\r\n\r\n\r\n for (let _legInd = 1; _legInd <= noOfLeg; _legInd++) {\r\n // if(_matchResult[_legInd]==undefined) {\r\n // _matchResult[_legInd] = \"\";\r\n // }\r\n _matchRows.push();\r\n }\r\n\r\n return
    \r\n
    \r\n
    {jsleg}
    \r\n
    {jsmatchno}
    \r\n
    \r\n \r\n {jsleagues_and_tournaments}\r\n \r\n
    \r\n
    \r\n {jsteams1}\r\n
    \r\n {jsteams2}\r\n
    \r\n
    \r\n {jsdate}\r\n
    \r\n
    \r\n
    {jsmatchresults}
    \r\n
    \r\n {jsres_halftime}\r\n {jsres_fulltime}\r\n
    \r\n
    \r\n
    \r\n {_matchRows}\r\n
    ;\r\n }\r\n}\r\n\r\nclass ParimutuelNextDraw extends React.Component {\r\n render() {\r\n let lblNextDate;\r\n let _pool = this.props._pool;\r\n let _poolInfo;\r\n if (pools == \"DHCP\") {\r\n lblNextDate = jsnextdhcpdate;\r\n _poolInfo = _pool.dhcodds;\r\n }\r\n else if (pools == \"HFMP\") {\r\n lblNextDate = jsnext6hafudate;\r\n _poolInfo = _pool.hfmodds;\r\n }\r\n\r\n return
    \r\n \r\n
    \r\n {jsinvestment} :
    \r\n {_poolInfo.investment == \"\" ? \"-\" : `$${numberWithCommas(_poolInfo.investment)}`}\r\n
    \r\n
    \r\n {jsjackpot} :
    \r\n {_poolInfo.jackpot == \"\" ? \"-\" : `$${numberWithCommas(_poolInfo.jackpot)}`}\r\n
    \r\n
    \r\n {jsesst_nobr} :
    \r\n {formatEsstStr(_pool.matchTime, false)}\r\n
    \r\n
    ;\r\n }\r\n}\r\n\r\nclass OddsSelectionHeader extends React.Component {\r\n render() {\r\n let _poolType = this.props.poolType;\r\n let _specClass = this.props.specClass;\r\n let _singleMatch = this.props.singleMatch;\r\n return getOddsTDForAllOdds(_singleMatch, _poolType, `tableCell`, `tOdds ${_specClass}`);\r\n }\r\n}\r\n\r\nfunction getInplayLinkOddsCellSet(singleMatch, _oddsType, _matchID, item) {\r\n if (singleMatch == null) return;\r\n if (_oddsType.match(/^(HAD|HADINPLAY|FHA|FHAINPLAY|HHA|HHAINPLAY)$/)) {\r\n return [\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    ,\r\n formatEmptyOddsCell(_matchID + _oddsType + \"D_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"A_codds\")\r\n ];\r\n } else if (_oddsType.match(/^(HDC|HDCINPLAY)$/)) {\r\n return [\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    ,\r\n formatEmptyOddsCell(_matchID + _oddsType + \"A_codds\")\r\n ];\r\n } else if (_oddsType.match(/^(FTS|NTS|ETS)$/)) {\r\n return [\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    ,\r\n formatEmptyOddsCell(_matchID + _oddsType + \"N_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"A_codds\")\r\n ];\r\n } else if (_oddsType == \"OOE\") {\r\n return [\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    ,\r\n formatEmptyOddsCell(_matchID + _oddsType + \"E_codds\")\r\n ];\r\n } else if (_oddsType == \"TQL\") {\r\n return [\r\n
    \r\n
    {genAllOddsDivLink(\"alloddsLink\", \"\", \"odds/odds_inplay_all\", _matchID, jsinplay_available)}
    \r\n
    ,\r\n formatEmptyTQLOddsCell(\"codds\", _matchID + _oddsType + \"H_codds\"),\r\n formatEmptyTQLOddsCell(\"cteams\", _matchID + _oddsType + \"A_team\"),\r\n formatEmptyTQLOddsCell(\"codds\", _matchID + _oddsType + \"A_codds\")\r\n ];\r\n } else if (_oddsType.match(/^(HFT|HFTINPLAY)$/)) {\r\n return [\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    ,\r\n formatEmptyOddsCell(_matchID + _oddsType + \"HD_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"HA_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"DH_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"DD_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"DA_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"AH_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"AD_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"AA_codds\")\r\n ];\r\n } else if (_oddsType.match(/^(TTG|ETG|TTGINPLAY)$/)) {\r\n return [\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    \r\n ]\r\n } else if (isML(_oddsType)) {\r\n return [\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    ,\r\n formatEmptyOddsCell(_matchID + _oddsType + \"H_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"L_codds\"),\r\n
    \r\n ];\r\n } else if (_oddsType == \"SPC\") {\r\n if (item !== undefined && item !== null) {\r\n let singleItemAns = [];\r\n\r\n singleItemAns.push(\r\n
    \r\n
    {formatInplayIco(singleMatch, \"url\", pageName)}
    \r\n
    );\r\n item.SELLIST.forEach(function (selItem, ind2) {\r\n let _itemNum = selItem.SEL + \"_\" + item.ITEM;\r\n singleItemAns.push(formatEmptyOddsCell(_matchID + _oddsType + _itemNum + \"_codds\"));\r\n })\r\n return singleItemAns;\r\n }\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nfunction getOddsSelection(props) {\r\n try {\r\n let singleMatch = props.singleMatch;\r\n let _matchID = singleMatch.matchIDinofficial;\r\n let _oddsType = props.oddsType;\r\n let _oddsSet = singleMatch[_oddsType.toLowerCase() + props._oddsSuffix];\r\n let _tableType = props.tableType;\r\n let _ref = ((props._ref == undefined || props._ref == null) ? \"\" : props._ref);\r\n let _rowClasses = \"coddsSelections\";\r\n let _checkboxTypeList = props.checkboxTypeList;\r\n\r\n if ((isDisplayMultiplePoolPage(pageName)) && !isMultiRowPool(_oddsType))\r\n _rowClasses += \" rAlt0\";\r\n if (_tableType == \"result\") {\r\n _tableType = \"presales\";\r\n //_oddsSet = singleMatch[_oddsType.toLowerCase()+\"lastodds\"]; \r\n }\r\n\r\n let isExpanded = false;\r\n if (isML(_oddsType)) {\r\n isExpanded = $('#rmid' + _matchID).find('.mlBtnMinus').is(':visible');\r\n }\r\n\r\n if ((pageName == \"INPLAYHAD\" || pageName==\"OFM\") && (_oddsSet === undefined || _oddsSet === null || isPoolClosed(_oddsSet.POOLSTATUS))) {\r\n return [\r\n
    \r\n
    \r\n {displayInplayAllOddsAfterHADStopsell(singleMatch)}\r\n
    \r\n
    ,\r\n formatEmptyOddsCell(_matchID + _oddsType + \"D_codds\"),\r\n formatEmptyOddsCell(_matchID + _oddsType + \"A_codds\")\r\n ]\r\n }\r\n\r\n let poolStatus = \"\";\r\n let poolId = \"\";\r\n let lineId = \"\";\r\n let isAllup = false;\r\n if (_oddsType != \"SPC\") {\r\n poolStatus = _oddsSet.POOLSTATUS;\r\n poolId = _oddsSet.POOLID;\r\n lineId = _oddsSet.LINEID;\r\n isAllup = _oddsSet.ALLUP;\r\n }\r\n\r\n let tmpAllCheckBoxType;\r\n if (isMultiplePoolPage()) {\r\n tmpAllCheckBoxType = getCheckboxType(_oddsType);\r\n } else {\r\n tmpAllCheckBoxType = allCheckBoxType;\r\n }\r\n\r\n // XXXINPLAY are included for last odds page\r\n if (_oddsType.match(/^(HAD|EHA|HADINPLAY|FHA|FHAINPLAY|HHA|HHAINPLAY|HDC|EDC|HDCINPLAY|FTS|OOE|HFT|HFTINPLAY|TTG|ETG|TTGINPLAY)$/)\r\n || ((_oddsType == \"NTS\" || _oddsType == \"ENT\" || _oddsType == \"ETS\") && pageName != \"RESULT\")\r\n || ((_oddsType == \"TQL\" || _oddsType == \"TQLINPLAY\") && pageName == \"RESULT\") ) {\r\n let tmpCells = [];\r\n tmpAllCheckBoxType.forEach(function (_cbType) {\r\n tmpCells.push();\r\n });\r\n if (_oddsType.match(/^(TTG|ETG|TTGINPLAY)$/)) {\r\n return
    \r\n
    \r\n
    0
    \r\n
    1
    \r\n
    2
    \r\n
    3
    \r\n
    4
    \r\n
    5
    \r\n
    6
    \r\n
    7+
    \r\n
    \r\n
    \r\n {tmpCells}\r\n
    \r\n
    ;\r\n } else {\r\n return tmpCells;\r\n }\r\n } else if (_oddsType == \"TQL\") {\r\n let tmpCells = [];\r\n let firstOddsType = \"1\";\r\n let secondOddsType = \"2\";\r\n let _tournId = singleMatch.tournament.tournamentID;\r\n for (var i = 0; i < _oddsSet.SELLIST.length; i++) {\r\n let teamId = _oddsSet.SELLIST[i].TEAMID;\r\n if (teamId == _oddsSet.homeTeam.teamID) {\r\n firstOddsType = _oddsSet.SELLIST[i].SEL;\r\n }\r\n else {\r\n secondOddsType = _oddsSet.SELLIST[i].SEL;\r\n }\r\n }\r\n\r\n tmpAllCheckBoxType.forEach(function (_cbType, index) {\r\n let oddsName = \"\";\r\n if (index==0) {\r\n oddsName = jsLang.toLowerCase() == 'ch' ? singleMatch.homeTeam.teamNameCH : singleMatch.homeTeam.teamNameEN;\r\n _cbType = firstOddsType;\r\n } else {\r\n oddsName = jsLang.toLowerCase() == 'ch' ? singleMatch.awayTeam.teamNameCH : singleMatch.awayTeam.teamNameEN;\r\n _cbType = secondOddsType;\r\n } \r\n \r\n tmpCells.push();\r\n });\r\n return tmpCells;\r\n } else if (_oddsType.match(/^(NTS|ETS|ENT)$/)) { // last odds NTS\r\n let tmpRows = [];\r\n for (let lineInd = 0; lineInd < _oddsSet.length; lineInd++) {\r\n let tmpOddsSet = _oddsSet[lineInd];\r\n let tmpCells = [];\r\n if (pageName == \"RESULT\") {\r\n let goalnumber = tmpOddsSet.ITEM;\r\n if (jsLang == \"EN\") {\r\n goalnumber =
    {goalnumber}{}{GetGlobalResources(\"ntslastpart\", \"js\")}
    ;\r\n } else {\r\n goalnumber =
    {GetGlobalResources(\"ntsfstpart\", \"js\")}{goalnumber}{GetGlobalResources(\"ntslastpart\", \"js\")}
    ;\r\n }\r\n tmpCells.push(goalnumber);\r\n /*\r\n tmpCells.push(\r\n
    {GetGlobalResources(\"ntsfstpart\", \"js\")}{tmpOddsSet.ITEM}
    \r\n );\r\n */\r\n\r\n }\r\n tmpAllCheckBoxType.forEach(function (_cbType) {\r\n tmpCells.push();\r\n });\r\n tmpRows.push(
    {tmpCells}
    );\r\n }\r\n return tmpRows;\r\n } else if (_oddsType == \"FGS\") {\r\n let allSelections = [];\r\n allSelections[0] = []; // home \r\n allSelections[1] = []; // away\r\n let noScoreItem;\r\n _oddsSet.SELLIST.forEach(function (item) {\r\n if (item.SEL[0] == \"1\") {\r\n //let poolId = \"\";\r\n allSelections[0].push(formatSelectionInsideGroup(_oddsType, _matchID, item, \"ODDS\", 0, _tableType, isExpanded, item.SEL, poolStatus, isAllup, poolId));\r\n } else if (item.SEL[0] == \"2\") {\r\n allSelections[1].push(formatSelectionInsideGroup(_oddsType, _matchID, item, \"ODDS\", 0, _tableType, isExpanded, item.SEL, poolStatus, isAllup, poolId));\r\n } else {\r\n noScoreItem = item;\r\n }\r\n });\r\n\r\n if (allSelections[0].length > allSelections[1].length) {\r\n for (let addCellInd = allSelections[1].length; addCellInd < allSelections[0].length; addCellInd++) {\r\n allSelections[1].push(formatEmptySelectionInsideGroup(_oddsType, allSelections[0].length));\r\n }\r\n } else {\r\n for (let addCellInd = allSelections[0].length; addCellInd < allSelections[1].length; addCellInd++) {\r\n allSelections[0].push(formatEmptySelectionInsideGroup(_oddsType, allSelections[1].length));\r\n }\r\n }\r\n\r\n let oddsRows = [];\r\n for (let rInd = 0; rInd < allSelections[0].length; rInd++) {\r\n oddsRows.push(\r\n
    \r\n {allSelections[0][rInd]}\r\n {allSelections[1][rInd]}\r\n
    )\r\n }\r\n\r\n return
    \r\n {oddsRows}\r\n
    \r\n
    \r\n
    \r\n {\"00 \" + (jsLang == \"CH\" ? noScoreItem.CONTENTCH : noScoreItem.CONTENTEN)}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n } else if (_oddsType.match(/^(CRS|ECS|CRSINPLAY|FCS|FCSINPLAY)$/)) {\r\n if (pageName == \"MIXALLUP\") {\r\n return
    \r\n
    \r\n
    \r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0100\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0200\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0201\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0300\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0301\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0302\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0400\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0401\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0402\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0500\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0501\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0502\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {_oddsSet[\"SHOAN\"] ? formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"SHOAN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n {_oddsSet[\"SHOAS\"] ? formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"SHOAS\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n
    \r\n
    \r\n
    {jsHOME}
    \r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0100\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0200\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0201\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0300\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0301\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0302\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0400\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0401\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0402\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0500\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0501\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0502\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {_oddsSet[\"SHOAN\"] ? formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"SHOAN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n {_oddsSet[\"SHOAS\"] ? formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"SHOAS\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n
    \r\n
    \r\n
    \r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0001\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0002\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0102\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0003\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0103\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0203\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0004\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0104\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0204\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0005\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0105\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0205\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {_oddsSet[\"SAOHN\"] ? formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"SAOHN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n {_oddsSet[\"SAOHS\"] ? formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"SAOHS\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n
    \r\n
    \r\n
    {jsAWAY}
    \r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0001\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0002\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0102\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0003\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0103\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0203\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0004\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0104\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0204\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0005\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0105\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0205\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {_oddsSet[\"SAOHN\"] ? formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"SAOHN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n {_oddsSet[\"SAOHS\"] ? formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"SAOHS\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n
    \r\n
    \r\n
    \r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0000\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0101\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0202\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"S0303\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionText(_oddsType, _matchID, _oddsSet, \"SM1MD\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n
    {jsDRAW}
    \r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0000\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0101\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0202\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"S0303\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, \"SM1MD\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n } else {\r\n return
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0100\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0000\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0001\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0200\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0101\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0002\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0201\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0202\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0102\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0300\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0303\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0003\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0301\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0103\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0302\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0203\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0400\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0004\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0401\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0104\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0402\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0204\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0500\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0005\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0501\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0105\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0502\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0205\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    \r\n {_oddsSet[\"SOHN\"] || _oddsSet[\"SOAN\"] ?
    \r\n {_oddsSet[\"SOHN\"] ? formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SOHN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n
    \r\n
    \r\n {_oddsSet[\"SOAN\"] ? formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SOAN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId): null}\r\n
    : null}\r\n {_oddsSet[\"SHOAN\"] || _oddsSet[\"SAOHN\"] ?
    \r\n {_oddsSet[\"SHOAN\"] ? formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SHOAN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n
    \r\n
    \r\n {_oddsSet[\"SAOHN\"] ? formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SAOHN\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId) : null}\r\n
    : null}\r\n {_oddsSet[\"SM1MH\"] || _oddsSet[\"SM1MA\"] ?
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SM1MH\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SM1MD\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SM1MA\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    : null}\r\n {_oddsSet[\"SHOAS\"] || _oddsSet[\"SAOHS\"] ?
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SHOAS\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SM1MD\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SAOHS\", 0, _tableType, isExpanded, poolStatus, isAllup, poolId)}\r\n
    : null}\r\n
    \r\n }\r\n } else if (isML(_oddsType)) {\r\n if (isDisplayMultiplePoolPage(pageName)) {\r\n let allSelections = [];\r\n let isSkipeOdds = false;\r\n _oddsSet.LINELIST.forEach(function (_singleOddsSet, _ind) {\r\n isSkipeOdds = false;\r\n if (_singleOddsSet[\"SKIPELINE\"] != null && _singleOddsSet[\"SKIPELINE\"] == \"1\" && !isResultPage())\r\n isSkipeOdds = true;\r\n\r\n let tmpCells = [];\r\n tmpAllCheckBoxType.forEach(function (_cbType) {\r\n if (_singleOddsSet[_cbType] != null) {\r\n\r\n if (_singleOddsSet[_cbType].indexOf(\"LSE\") >= 0)\r\n isSkipeOdds = true;\r\n\r\n tmpCells.push();\r\n }\r\n });\r\n\r\n if (!isSkipeOdds) {\r\n allSelections.push(\r\n
    \r\n {formatLineNum(_oddsType, _matchID, [_singleOddsSet], isExpanded, poolStatus)}\r\n {tmpCells}\r\n
    \r\n );\r\n }\r\n });\r\n\r\n return
    {allSelections}
    ;\r\n } else {\r\n let tmpCells = [];\r\n tmpAllCheckBoxType.forEach(function (_cbType) {\r\n let tmpTypeCells = [];\r\n let hasMainLine = false;\r\n _oddsSet.LINELIST.forEach(function (singleOddsSet, index) {\r\n let _key = `${_matchID}${_oddsType}${_cbType}_0OC_${singleOddsSet.LINENUM}`;\r\n let lineClass = \"\", lineDisplayValue = \"\";\r\n if (index == 0) {\r\n lineClass = \"mlMainRow \";\r\n } else {\r\n lineClass = \"mlSubRow \";\r\n }\r\n if (singleOddsSet[\"MAINLINE\"] == \"true\") {\r\n lineClass += \"mainLineRow\";\r\n lineDisplayValue = \"block\";\r\n } else {\r\n lineClass += \"otherLineRow\";\r\n if (isExpanded) {\r\n lineDisplayValue = \"block\";\r\n } else {\r\n lineDisplayValue = \"none\";\r\n }\r\n }\r\n tmpTypeCells.push(\r\n \r\n );\r\n });\r\n tmpCells.push(
    \r\n {tmpTypeCells}\r\n
    );\r\n });\r\n\r\n return [\r\n formatLineNum(_oddsType, _matchID, _oddsSet, isExpanded, poolStatus),\r\n tmpCells,\r\n (_oddsSet.LINELIST.length > 1 ?\r\n
    \r\n { tgIndMl(singleMatch.matchIDinofficial) }} className=\"tgIndMlBtn mlBtnPlus\">\r\n
    :\r\n
    \r\n
    \r\n )\r\n ];\r\n }\r\n } else if (_oddsType == \"SPC\" || _oddsType == \"SPCINPLAY\") {\r\n let item = props.singleItem;\r\n if (item !== undefined && item !== null) {\r\n let singleItemAns = [];\r\n poolStatus = item.POOLSTATUS;\r\n isAllup = item.ALLUP;\r\n poolId = item.POOLID;\r\n item.SELLIST.forEach(function (selItem, ind2) {\r\n let _itemNum = selItem.SEL + \"_\" + item.ITEM;\r\n singleItemAns.push();\r\n })\r\n return singleItemAns;\r\n } else {\r\n let _tableKey = singleMatch.matchID;\r\n if (_oddsType == \"SPCINPLAY\") {\r\n _ref = \"inplay\";\r\n _tableKey = singleMatch.matchID + _ref;\r\n }\r\n return ;\r\n }\r\n } else if (_oddsType == \"SGA\") {\r\n return ;\r\n } else {\r\n return null;\r\n }\r\n } catch (ex) {\r\n return null;\r\n }\r\n}\r\n\r\nclass MultiPoolPageOddsSelection extends React.Component {\r\n render() {\r\n try {\r\n let singleMatch = this.props.singleMatch;\r\n let _tableType = this.props.tableType;\r\n let _oddsType = this.props.oddsType;\r\n let _oddsSuffix = \"odds\"\r\n\r\n let _rowClasses = \"coddsSelections\";\r\n if (!isMultiRowPool(_oddsType))\r\n _rowClasses += \" rAlt0\";\r\n if (_tableType == \"result\") {\r\n _tableType = \"presales\";\r\n // _oddsSuffix = \"lastodds\";\r\n if (!(_oddsType.toLowerCase() + _oddsSuffix) in singleMatch)\r\n return null;\r\n //_oddsSet = singleMatch[_oddsType.toLowerCase()+\"lastodds\"];\r\n }\r\n\r\n let _oddsSelection = getOddsSelection({ \"singleMatch\": singleMatch, \"tableType\": _tableType, \"oddsType\": _oddsType, \"inplayLink\": false, \"_oddsSuffix\": _oddsSuffix });\r\n\r\n if (_oddsType.match(/^(HAD|EHA|HADINPLAY|FHA|FHAINPLAY|HHA|HHAINPLAY|OOE|TQL|TQLINPLAY|HFT|HFTINPLAY)$/)) {\r\n return
    \r\n {_oddsSelection}\r\n
    ;\r\n } else if (_oddsType.match(/^(HDC|HDCINPLAY|EDC)$/)) {\r\n let hTeamName = jsLang.toLowerCase() == 'ch' ? singleMatch.homeTeam.teamNameCH : singleMatch.homeTeam.teamNameEN;\r\n let aTeamName = jsLang.toLowerCase() == 'ch' ? singleMatch.awayTeam.teamNameCH : singleMatch.awayTeam.teamNameEN;\r\n\r\n return
    \r\n
    \r\n {hTeamName}{renderGoalLine(singleMatch, _oddsType, \"HG\", false, false, \"0\")}
    \r\n {aTeamName}{renderGoalLine(singleMatch, _oddsType, \"AG\", false, false, \"0\")}\r\n
    \r\n {_oddsSelection}\r\n
    \r\n } else if (_oddsType.match(/^(FTS|NTS|ENT|ETS)$/)) {\r\n if (pageName == \"RESULT\") {\r\n return
    \r\n {_oddsSelection}\r\n
    ;\r\n } else {\r\n return
    \r\n {_oddsSelection}\r\n
    ;\r\n }\r\n } else if (_oddsType.match(/^(TTG|ETG|TTGINPLAY|FGS|CRS|ECS|CRSINPLAY|FCS|FCSINPLAY|SPC|SPCINPLAY|SGA)$/) || isML(_oddsType)) {\r\n return _oddsSelection;\r\n } else {\r\n return null;\r\n }\r\n } catch (ex) {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass OddsSelectionDHCP extends React.Component {\r\n render() {\r\n var couponID = this.props.couponID;\r\n var indexInCoupon = this.props.indexInCoupon;\r\n var lineNum = (parseInt(couponID, 10) - 1) * 2 + (parseInt(indexInCoupon, 10) - 1);\r\n var singleMatch = this.props.singleMatch;\r\n var _matchID = singleMatch.matchIDinofficial + \"_\" + indexInCoupon;\r\n var _oddsType = this.props.oddsType;\r\n var _oddsSet = singleMatch[_oddsType.toLowerCase() + \"odds\"];\r\n var _tableType = this.props.tableType;\r\n var poolStatus = this.props.poolStatus;\r\n var isAllup = singleMatch.isVoidMatch(); //used for void match checking\r\n var isDisabled = singleMatch.isVoidMatch() || !isSelling(poolStatus, \"1\", \"1\");\r\n var _rowClasses = \"coddsSelections\";\r\n\r\n var hTeamName, aTeamName;\r\n var wordsInGrayBar = \"\";\r\n\r\n if (jsLang == \"CH\") {\r\n hTeamName = singleMatch.homeTeam.teamNameCH;\r\n aTeamName = singleMatch.awayTeam.teamNameCH;\r\n if (indexInCoupon == \"1\") {\r\n // first half\r\n wordsInGrayBar = jsHT;\r\n } else {\r\n wordsInGrayBar = jsFT;\r\n\r\n }\r\n } else {\r\n hTeamName = singleMatch.homeTeam.teamNameEN;\r\n aTeamName = singleMatch.awayTeam.teamNameEN;\r\n if (indexInCoupon == \"1\") {\r\n // first half\r\n wordsInGrayBar = F
    I
    R
    S
    T

    H
    A
    L
    F
    ;\r\n } else {\r\n wordsInGrayBar = F
    U
    L
    L

    T
    I
    M
    E
    ;\r\n }\r\n }\r\n hTeamName += \" (\" + jsHomeTeamWin + \")\";\r\n aTeamName += \" (\" + jsAwayTeamWin + \")\";\r\n\r\n _rowClasses += \"\";\r\n\r\n var isExpanded = false;\r\n\r\n\r\n return
    \r\n
    {wordsInGrayBar}
    \r\n
    \r\n
    \r\n
    {hTeamName}
    \r\n
    {jsDRAW}
    \r\n
    {aTeamName}
    \r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0100\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0000\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0001\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0200\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0101\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0002\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0201\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0202\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0102\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0300\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0303\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0003\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0301\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0103\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0302\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0203\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0400\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0004\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0401\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0104\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0402\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0204\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0500\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0005\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0501\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0105\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0502\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"S0205\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SM1MH\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SM1MD\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n {formatCRSSelection(_oddsType, _matchID, _oddsSet, \"SM1MA\", lineNum, _tableType, isExpanded, poolStatus, isAllup)}\r\n
    \r\n
    \r\n
    \r\n {jsallfield} \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n}\r\n\r\nclass SPCTableByMatch extends React.Component {\r\n render() {\r\n let singleMatch = this.props.singleMatch;\r\n let _matchID = singleMatch.matchIDinofficial;\r\n let _tableType = this.props.tableType;\r\n let _oddsSet;\r\n if (this.props.spcOddsType == \"Ref\" || _tableType == \"PresalesMatches\") {\r\n _oddsSet = singleMatch[\"spcoddsref\"];\r\n if (_oddsSet == undefined || _oddsSet == null) {\r\n _oddsSet = singleMatch[\"spcodds\"];\r\n }\r\n } else if (this.props.spcOddsType == \"inplay\") {\r\n _oddsSet = singleMatch[\"spcinplayodds\"];\r\n }\r\n else {\r\n _oddsSet = singleMatch[\"spcodds\"];\r\n }\r\n\r\n let _rowClasses = \"coddsSelections\";\r\n let allItemTable = [];\r\n\r\n _oddsSet.forEach(function (item, ind) {\r\n if (item.GROUP == undefined || item.GROUP == null || item.GROUP == \"Match\" || pageName == \"ALL\" || pageName == \"INPLAYALL\" || pageName == \"INPLAYSPC\") {\r\n var singleItemTable;\r\n var singleItemAns = [];\r\n var singleItemOdds = [];\r\n item.SELLIST.forEach(function (selItem, ind2) {\r\n let _lineNum = selItem.SEL + \"_\" + item.ITEM;\r\n singleItemAns.push(\r\n
    \r\n ({parseInt(selItem.SEL, 10)})
    {jsLang == \"CH\" ? selItem.CONTENTCH : selItem.CONTENTEN}\r\n
    );\r\n singleItemOdds.push(\r\n
    \r\n \r\n
    );\r\n });\r\n\r\n let _spcTitleEsst;\r\n if (isInplay || pageName == \"RESULT\") {\r\n _spcTitleEsst = null;\r\n // } else if (singleMatch.IsMatchKickOff()) {\r\n // _spcTitleEsst =
    \r\n // {formatInplayIco(singleMatch, \"ico\", pageName)} {formatInplayIco(singleMatch, \"url\", pageName)}\r\n //
    ;\r\n } else {\r\n _spcTitleEsst =
    \r\n {jsesst1}{jsesst2}: {formatEsst(singleMatch, true, \"SPC\")}\r\n
    ;\r\n }\r\n\r\n singleItemTable =
    \r\n {isInplay && pageName != \"INPLAYALL\" ?\r\n
    \r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n
    \r\n {jsitemno}: {item.ITEM} \r\n {jsLang == \"CH\" ? item.ITEMCH : item.ITEMEN}\r\n \r\n {(pageName!='RESULT' && item.POOLSTATUS != \"\" && isSuspended(item.POOLSTATUS)) ?\r\n
    \r\n {isInplay ? \"-\" : \"\"}{GetGlobalResources(\"suspended\")}\r\n
    \r\n :\r\n \"\"\r\n }\r\n
    \r\n {_spcTitleEsst}\r\n
    \r\n
    \r\n
    \r\n {singleItemAns}\r\n
    \r\n
    \r\n {singleItemOdds}\r\n
    \r\n
    \r\n
    ;\r\n }\r\n\r\n allItemTable.push(singleItemTable);\r\n })\r\n return
    {allItemTable}
    \r\n }\r\n\r\n}\r\n\r\nclass SPCTableByTourn extends React.Component {\r\n render() {\r\n try {\r\n var singleTourn = this.props.singleTourn;\r\n var _tournID = singleTourn.tournamentID;\r\n var _tableType = this.props.tableType;\r\n var _oddsSet;\r\n if (this.props.spcOddsType == \"Ref\") {\r\n _oddsSet = singleTourn[\"tspoddsref\"];\r\n } else {\r\n _oddsSet = singleTourn[\"tspodds\"];\r\n }\r\n var _rowClasses = \"coddsSelections\";\r\n\r\n var allItemTable = [];\r\n\r\n _oddsSet.forEach(function (item, ind) {\r\n var singleItemTable;\r\n var singleItemAns = [];\r\n var singleItemOdds = [];\r\n\r\n item.SELLIST.forEach(function (selItem, ind2) {\r\n var _lineNum = item.ITEM + \"_\" + selItem.SEL;\r\n singleItemAns.push(\r\n
    \r\n ({parseInt(selItem.SEL, 10)})
    {jsLang == \"CH\" ? selItem.CONTENTCH : selItem.CONTENTEN}\r\n
    );\r\n singleItemOdds.push(\r\n
    \r\n \r\n
    );\r\n });\r\n singleItemTable =
    \r\n
    \r\n
    \r\n {jsitemno}: {item.ITEM} \r\n {jsLang == \"CH\" ? item.ITEMCH : item.ITEMEN}\r\n \r\n {(_tableType == \"ActiveTournaments\" && item.POOLSTATUS != \"\" && isSuspended(item.POOLSTATUS)) ?\r\n
    \r\n {GetGlobalResources(\"suspended\")}\r\n
    \r\n :\r\n \"\"\r\n }\r\n
    \r\n
    \r\n {item.ExpectedStopTime != \"\" ? jsesst1 : null}\r\n {item.ExpectedStopTime != \"\" ? jsesst2 : null}:\r\n {item.ExpectedStopTime != \"\" ? formatEsstStr(item.ExpectedStopTime, true) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {singleItemAns}\r\n
    \r\n
    \r\n {singleItemOdds}\r\n
    \r\n
    \r\n
    ;\r\n allItemTable.push(singleItemTable);\r\n });\r\n return
    {allItemTable}
    \r\n } catch (ex) {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass SGATable extends React.Component {\r\n render() {\r\n let singleMatch = this.props.singleMatch;\r\n let _matchID = singleMatch.matchIDinofficial;\r\n let _tableType = this.props.tableType;\r\n let _oddsSet = singleMatch[\"sgaodds\"];\r\n\r\n let _rowClasses = \"coddsSelections\";\r\n let allItemTable = [];\r\n\r\n _oddsSet.forEach(function (item, ind) {\r\n let selItem = item.SELLIST[0];\r\n let lineNum = item.SELLIST[0].id + '_' + item.ITEM;\r\n allItemTable.push(
    \r\n
    \r\n
    \r\n {jsLang == \"CH\" ? selItem.CONTENTCH : selItem.CONTENTEN}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    );\r\n })\r\n return
    {allItemTable}
    \r\n }\r\n\r\n}\r\n\r\nfunction renderOddsTable(couponArr, oddsTableType, oddsType, tournamentsArr, firstLoad, dataName) {\r\n selectedTournamentIds = getTournGroupIdsBytName(selectedTournamentIds);\r\n\r\n if (dataName != \"odds_featured_matches.aspx\" && pageName == \"OFM\") {\r\n return;\r\n }\r\n\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('ActiveMatchesOdds'), () => {\r\n oddsTableLoaded();\r\n }\r\n );\r\n}\r\nfunction adjustHeaderLayout() {\r\n var headerLeftInnerTextLength = 0;\r\n var headerLeft = $('.normalheader .left')[0];\r\n if (headerLeft != undefined) {\r\n headerLeftInnerTextLength = parseInt(headerLeft.innerText.length, 10);\r\n }\r\n var headerRight = $('.normalheader .right');\r\n\r\n if (headerLeftInnerTextLength > 40 && headerRight != undefined) {\r\n $('.normalheader .left span a').addClass(\"ntext\");\r\n $('.normalheader .left span label').addClass(\"ntext\");\r\n $('.normalheader .left span span').addClass(\"ntext\");\r\n }\r\n}\r\n\r\nfunction adjustTabWidth() {\r\n\r\n let dateTabObj = $(\"#SelectDateTimeId\");\r\n\r\n let dateTabWidth = dateTabObj.width() - 5;\r\n\r\n let dateTabCount = dateTabObj.find(\"div\").length;\r\n\r\n dateTabObj.find(\"div\").width((dateTabWidth / dateTabCount) - 2);\r\n}\r\n\r\nfunction initTablePage() {\r\n curPage = 1;\r\n endMatch = 0;\r\n startMatch = 0;\r\n totalMatch = 0;\r\n dateTournaTabInited = false;\r\n selectedTournamentIds = [];\r\n selectedTabDateArra = [];\r\n resetSpBtn();\r\n}\r\n\r\nfunction getAllSelectedTournaments() {\r\n selectedTournamentIds = [];\r\n // R0a: Remove unselected Torunament and a selected tournament to sessionStorage.\r\n var tmpSessionSelectedTournsId = JSON.parse(sessionStorage.getItem(\"__extendShareSelectedTournsId\"));\r\n\r\n if (tmpSessionSelectedTournsId == null)\r\n tmpSessionSelectedTournsId = [];\r\n\r\n var newSelectedTournsId = [];\r\n var addSelect = [];\r\n var removeSelect = [];\r\n $(\".js_selectCompetitionNav\").find(\"li\").each(function () {\r\n let temptName = $(this).attr(\"data-value\");\r\n for (var i = 0; i < allTournaments.length; i++) {\r\n if (allTournaments[i].tName == temptName) {\r\n if ($(this).hasClass(\"cur\")) {\r\n selectedTournamentIds.push(allTournaments[i].tournamentID);\r\n if ($.inArray(allTournaments[i].tournamentID, newSelectedTournsId) === -1) {\r\n newSelectedTournsId.push(allTournaments[i].tournamentID);\r\n }\r\n } else {\r\n removeSelect.push(allTournaments[i].tournamentID);\r\n }\r\n }\r\n } \r\n });\r\n tmpSessionSelectedTournsId = jQuery.grep(newSelectedTournsId, function (el) {\r\n return removeSelect.indexOf(el) < 0;\r\n });\r\n // R0a: update session\r\n sessionStorage.setItem(\"__extendShareSelectedTournsId\", JSON.stringify(tmpSessionSelectedTournsId));\r\n}\r\n\r\nfunction hasSelectedTournament() {\r\n\r\n let count = 0;\r\n $(\".js_selectCompetitionNav\").find(\"li\").each(function () {\r\n if ($(this).hasClass(\"cur\")) {\r\n let temptName = $(this).attr(\"data-value\");\r\n\r\n for (var i = 0; i < allTournaments.length; i++) {\r\n if (allTournaments[i].tName == temptName) {\r\n count++;\r\n }\r\n }\r\n }\r\n });\r\n\r\n return count > 0;\r\n}\r\n\r\nfunction hasRemovedCurTournamentTab() {\r\n\r\n let newSelectedTName = [];\r\n\r\n $(\".js_selectCompetitionNav\").find(\"li\").each(function () {\r\n if ($(this).hasClass(\"cur\")) {\r\n let temptName = $(this).attr(\"data-value\");\r\n\r\n for (var i = 0; i < allTournaments.length; i++) {\r\n if (allTournaments[i].tName == temptName) {\r\n newSelectedTName.push(temptName);\r\n }\r\n }\r\n }\r\n });\r\n\r\n \r\n let tournGroup = $.grep(allTournaments, function (elem) {\r\n return $.inArray(elem.tournamentID, selectedTournamentIds) !== -1;\r\n });\r\n\r\n for (var i = 0; i < tournGroup.length; i++) {\r\n\r\n if ($.inArray(tournGroup[i].tName, newSelectedTName) === -1) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction setMatchIdFromTabSelectionForPush(dateSel) { \r\n var matchSel = \"\"; \r\n var chkMatchLst;\r\n if (dataCache.length > 0) {\r\n for (var j = 0; j < dataCache.length; j++) {\r\n if (dataCache[j].name == \"ActiveMatches\") {\r\n chkMatchLst = dataCache[j].matches;\r\n }\r\n }\r\n } else {\r\n chkMatchLst = dataCache.matches;\r\n }\r\n\r\n if (chkMatchLst != undefined) {\r\n for (var i = 0; i < chkMatchLst.length; i++) {\r\n if (chkMatchLst[i].matchDate.indexOf(dateSel) != -1) {\r\n matchSel = chkMatchLst[i].matchID;\r\n break;\r\n }\r\n }\r\n } \r\n return matchSel;\r\n}\r\nfunction oddsTableLoadedRender() {\r\n try {\r\n $('#divLoading').show();\r\n AMS.disconnect();\r\n matchStateFilterTabState = \"ALL\";\r\n\r\n if (pageName == \"MIXALLUPLIST\") {\r\n renderMixAllUpMatchList();\r\n } else if (pageName == \"ALL\" || pageName == \"INPLAYALL\") {\r\n selectionCheckBox = {};\r\n renderAllTable(false, false, true); \r\n } else {\r\n renderAllTableRoute(dataCache, false);\r\n }\r\n } catch (ex) {\r\n\r\n } finally{\r\n $('#divLoading').hide();\r\n if (!AMS.hasConnected && allowOddsPush && isLogon()) {\r\n AMS.connect();\r\n }\r\n }\r\n \r\n}\r\n\r\nfunction oddsChpTableLoaded() {\r\n try {\r\n setCompetitionCheckbox();\r\n\r\n if (dateTournaTabInited == false) {\r\n dateTournaTabInited = true;\r\n hideTabLoading();\r\n\r\n //$(\".competition_nav\").show();\r\n curTabType = tabType.Competition;\r\n \r\n //selected competition\r\n $(\".js_selectCompetitionNav li\").unbind();\r\n $(\".js_selectCompetitionNav li\").click(function () {\r\n if ($(this).hasClass(\"cur\")) {\r\n $(this).removeClass(\"cur\");\r\n\r\n $(this).find(\"input\").prop(\"checked\", false)\r\n } else {\r\n $(this).addClass(\"cur\");\r\n\r\n $(this).find(\"input\").prop(\"checked\", true)\r\n }\r\n })\r\n \r\n //show all tournaments\r\n $(\".more span\").unbind();\r\n $(\".more span\").click(function () {\r\n $(\".competition_nav\").find(\".second_ul\").each(function () {\r\n if ($(this).css(\"display\") == \"none\") {\r\n $(this).show();\r\n if ($(\"#oddstab_showall\").css(\"display\") != \"none\") {\r\n $(\"#oddstab_showall\").hide();\r\n $(\"#oddstab_hide\").show();\r\n }\r\n } else {\r\n hiddenTournaOthers($(this));\r\n }\r\n })\r\n })\r\n\r\n //applay filter event\r\n $(\"#oddstab_searchbtn\").unbind();\r\n $(\"#oddstab_searchbtn\").click(function () {\r\n let changeConfirm = hasCheckedSelections() && (curTabType != tabType.Competition || (curTabType == tabType.Competition && hasRemovedCurTournamentTab())) ? window.confirm(jstabchangeconfirm) : true;\r\n if (changeConfirm) {\r\n if (hasSelectedTournament()) {\r\n initTablePage();\r\n getAllSelectedTournaments();\r\n pushHistoryAfterTabChange(selectedTournamentIds[0], true);\r\n oddsTableLoadedRender();\r\n $('.betTypeAllOdds').show();\r\n } else {\r\n alert(jsodds_tab_filtermsg);\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n } catch (ex) {\r\n debugLog(\"oddsChpTableLoaded:\" + ex)\r\n }\r\n}\r\n\r\nfunction oddsTableLoaded() {\r\n try {\r\n adjustHeaderLayout();\r\n adjustTabWidth();\r\n setCompetitionCheckbox();\r\n let noPoolObj = $(\"#noPoolContentMsg\");\r\n if (noPoolObj != null) {\r\n noPoolObj.html(jsNoPoolMsg);\r\n }\r\n \r\n if (dateTournaTabInited == false || (dateTournaTabInited == true && dateTabCount != $(\"#SelectDateTimeId\").find(\"div\").length) || dropdownCount != $(\"#matchSelectId\").find(\"option\").length) {\r\n dateTabCount = $(\"#SelectDateTimeId\").find(\"div\").length;\r\n dropdownCount = $(\"#matchSelectId\").find(\"option\").length;\r\n dateTournaTabInited = true;\r\n selectedTabDateArra = [];\r\n hideTabLoading();\r\n\r\n if (mdate != \"\" && curTabType == tabType.Date && curDateType != dateType.All) {\r\n otherTabDates.forEach(function (_otherTabDate, index) {\r\n if (_otherTabDate.split(\"T\")[0] == mdate) {\r\n curDateType = dateType.Other\r\n }\r\n });\r\n }\r\n\r\n if ($(\"#SelectDateTimeId div.cur\").attr(\"data-value\") == dateType.All || curTabType == tabType.Feature) {\r\n curTabType == tabType.Feature ? $(\".date_nav\").hide() : null\r\n selectedTabDateArra = $.map(allTabDateList, function (value) {\r\n return value.split(\"T\")[0];\r\n });\r\n } else if (mdate != \"\" && curDateType != dateType.Other && curTabType == tabType.Date) {\r\n selectedTabDateArra.push(mdate);\r\n } else if (mdate != \"\" && curDateType == dateType.Other && curTabType == tabType.Date) {\r\n $(\"#SelectDateTimeId\").find(\"[data-value=\" + dateType.Other + \"]\").attr('class', 'cur');\r\n selectedTabDateArra = $.map(otherTabDates, function (value) {\r\n return value.split(\"T\")[0];\r\n });\r\n } else if ($(\"#SelectDateTimeId div.cur\").attr(\"data-value\") == dateType.Other) {\r\n selectedTabDateArra = $.map(otherTabDates, function (value) {\r\n return value.split(\"T\")[0];\r\n });\r\n } else if ($($(\"#SelectDateTimeId div.cur\")[0]).attr(\"data-value\") !== undefined) {\r\n selectedTabDateArra.push($($(\"#SelectDateTimeId div.cur\")[0]).attr(\"data-value\").split(\"T\")[0]);\r\n } else if ($($(\"#SelectDateTimeId div\")[0]).attr(\"data-value\") !== undefined){\r\n selectedTabDateArra.push($($(\"#SelectDateTimeId div\")[0]).attr(\"data-value\").split(\"T\")[0]);\r\n }\r\n\r\n \r\n var hasSelectedDate = false;\r\n selectedTabDateArra.forEach(function (_date, index) {\r\n if (_date.split(\"T\")[0] == mdate) {\r\n hasSelectedDate = true;\r\n }\r\n });\r\n if (!hasSelectedDate && curTabType != tabType.Competition) {\r\n mdate = selectedTabDateArra[0];\r\n }\r\n bindUIEvent();\r\n\r\n adjustMlBtn();\r\n\r\n reselectCheckbox();\r\n }\r\n } catch (ex) {\r\n debugLog(\"oddsTableLoaded:\" + ex);\r\n }\r\n}\r\n\r\n function reselectCheckbox() {\r\n if ( isMatchStateFilterTabChange ) {\r\n for ( var x in selectionCheckBox ) {\r\n if (selectionCheckBox[x]==true && ($('#' + x).length>0 && !$('#' + x).is(':checked')) ) {\r\n $('#' + x).click();\r\n }\r\n }\r\n isMatchStateFilterTabChange = false;\r\n }\r\n }\r\n\r\nvar isSwitchingDateTournTab = false;\r\nfunction bindUIEvent() {\r\n\r\n hideTabLoading();\r\n\r\n //Tab change\r\n $(\".js_selectNav span\").unbind();\r\n $(\".js_selectNav span\").click(function () {\r\n //$(\".checkedOdds\").length > 0 -> checked ODDS? > 0-> YES <=0 -> NO\r\n if (isSwitchingDateTournTab)\r\n return;\r\n\r\n var hasCheckedOdds = hasCheckedSelections();\r\n var isAllupListPage = pageName == \"MIXALLUPLIST\";\r\n\r\n let changeConfirm = hasCheckedOdds && !isAllupListPage ? window.confirm(jstabchangeconfirm) : true;\r\n if (changeConfirm) {\r\n\r\n isSwitchingDateTournTab = true;\r\n tMatchID = \"\";\r\n mixUnSelectedAll();\r\n\r\n if (!$(this).hasClass(\"cur\")) {\r\n $(this).addClass(\"cur\").siblings().removeClass(\"cur\");\r\n if ($(this).attr(\"data-value\") == 1) {\r\n initTablePage();\r\n initTabDate();\r\n dateTabChange($($(\"#SelectDateTimeId div.cur\")[0]));\r\n if (pageName == \"MIXALLUPLIST\") {\r\n curDateType = dateType.All;\r\n }\r\n oddsTableLoadedRender();\r\n\r\n } else if ($(this).attr(\"data-value\") == 0) {\r\n initTablePage();\r\n initTabFeature();\r\n hideDatePage();\r\n oddsTableLoadedRender();\r\n } else {\r\n //competition shown\r\n initTablePage();\r\n\r\n hideDatePage();\r\n initTabCompetition();\r\n oddsTableLoadedRender();\r\n pushHistoryAfterTabChange($(\".competition_nav li\")[0].getAttribute(\"data-value\"), true)\r\n }\r\n }\r\n }\r\n setTimeout(function () { isSwitchingDateTournTab = false; }, 4000);\r\n })\r\n \r\n //selected competition\r\n $(\".js_selectCompetitionNav li\").unbind();\r\n $(\".js_selectCompetitionNav li\").click(function () {\r\n if ($(this).hasClass(\"cur\")) {\r\n $(this).removeClass(\"cur\");\r\n $(this).find(\"input\").prop(\"checked\", false)\r\n } else {\r\n $(this).addClass(\"cur\");\r\n $(this).find(\"input\").prop(\"checked\", true)\r\n }\r\n })\r\n \r\n //show all tournaments\r\n $(\".more span\").unbind();\r\n $(\".more span\").click(function () {\r\n $(\".competition_nav\").find(\".second_ul\").each(function () {\r\n if ($(this).css(\"display\") == \"none\") {\r\n $(this).show();\r\n if ($(\"#oddstab_showall\").css(\"display\") != \"none\") {\r\n $(\"#oddstab_showall\").hide();\r\n $(\"#oddstab_hide\").show();\r\n }\r\n } else {\r\n hiddenTournaOthers($(this));\r\n }\r\n })\r\n })\r\n //date tab change\r\n $(\"#SelectDateTimeId div\").unbind();\r\n $(\"#SelectDateTimeId div\").click(function () {\r\n if (!dateTournaTabInited)\r\n return;\r\n\r\n if (isSwitchingDateTournTab)\r\n return;\r\n\r\n if (!$(this).hasClass(\"cur\")) {\r\n let changeConfirm = hasCheckedSelections() ? window.confirm(jstabchangeconfirm) : true;\r\n if (changeConfirm) {\r\n\r\n showTabLoading();\r\n dateTournaTabInited = false;\r\n curTabType = tabType.Date;\r\n selectedMatcheId = \"0\";\r\n tMatchID = \"\";\r\n $(\"#matchSelectId option:eq(0)\").prop(\"selected\", true);\r\n isSwitchingDateTournTab = true;\r\n\r\n if (!$(this).hasClass(\"cur\")) {\r\n initTablePage();\r\n $(this).addClass(\"cur\").siblings(\"div\").removeClass(\"cur\");\r\n dateTabChange(this);\r\n if (oddsPushStatus == 'push') {\r\n tMatchID = setMatchIdFromTabSelectionForPush($(this).attr(\"data-value\"));\r\n } \r\n oddsTableLoadedRender()\r\n }\r\n }\r\n }\r\n\r\n setTimeout(function () { isSwitchingDateTournTab = false; }, 4000);\r\n });\r\n\r\n //applay filter event\r\n $(\"#oddstab_searchbtn\").unbind();\r\n $(\"#oddstab_searchbtn\").click(function () {\r\n if (selectedMatcheId != \"0\") {\r\n selectedMatcheId = \"0\";\r\n $(\"#matchSelectId option:eq(0)\").prop(\"selected\", true);\r\n }\r\n tMatchID = \"\";\r\n\r\n let isCompetitionTab = curTabType == tabType.Competition;\r\n let hasRemovedTournTab = pageName != \"MIXALLUPLIST\" && hasRemovedCurTournamentTab();\r\n\r\n let changeConfirm = hasCheckedSelections() && (!isCompetitionTab || (isCompetitionTab && hasRemovedTournTab)) ? window.confirm(jstabchangeconfirm) : true;\r\n\r\n if (changeConfirm) {\r\n if (pageName == \"MIXALLUPLIST\") {\r\n mixUnSelectedAll();\r\n }\r\n\r\n if (curTabType == tabType.Date) {\r\n initTablePage();\r\n selectedTabDateArra.push($($(\"#SelectDateTimeId div.cur\")[0]).attr(\"data-value\"));\r\n if (selectedTabDateArra.length == 0 || (selectedTabDateArra.length > 0 && (selectedTabDateArra[0] == null || selectedTabDateArra[0] == undefined))) {\r\n alert(jsodds_tab_filtermsg);\r\n return false;\r\n }\r\n } else {\r\n if (hasSelectedTournament()) {\r\n initTablePage();\r\n getAllSelectedTournaments();\r\n pushHistoryAfterTabChange(selectedTournamentIds.length == getAllTournamentIds().length ? \"all\" : selectedTournamentIds[0], true);\r\n oddsTableLoadedRender();\r\n } else {\r\n alert(jsodds_tab_filtermsg);\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n //dropdown list chage\r\n $(\"#matchSelectId\").unbind();\r\n $(\"#matchSelectId\").change(function () {\r\n let changeConfirm = hasCheckedSelections() ? window.confirm(jstabchangeconfirm) : true;\r\n if (changeConfirm) {\r\n if ($(this).val() != \"0\") {\r\n //$(\"#matchValue\").html($(this).find(\"option:selected\").text());\r\n dateTournaTabInited = false;\r\n selectedMatcheId = $(this).val();\r\n setMatchId(selectedMatcheId);\r\n matchDataList.forEach(function (_singleCoupon, couponIndex) {\r\n if (tMatchID == _singleCoupon.matchID) {\r\n mdate = _singleCoupon.matchDate2\r\n }\r\n })\r\n\r\n pushHistoryAfterTabChange(mdate, true)\r\n\r\n groupCurType = $(\"#matchSelectId option:checked\").attr(\"data-type\");\r\n oddsTableLoadedRender();\r\n }\r\n } else {\r\n $(this).val($(\"#matchSelectId option:first\").val());\r\n }\r\n });\r\n // oddsAll select\r\n $(\"#matchAllSelectId\").unbind();\r\n $(\"#matchAllSelectId\").change(function () {\r\n let changeConfirm = hasCheckedSelections() ? window.confirm(jstabchangeconfirm) : true;\r\n if (changeConfirm) {\r\n if ($(this).val() == \"0\") {\r\n $(\"#litMDay\").html(\"\");\r\n } else {\r\n $(\"#litMDay\").html($(this).find(\"option:selected\").text());\r\n }\r\n\r\n selectedMatcheId = $(this).val();\r\n oddsTableLoadedRender();\r\n }\r\n });\r\n}\r\n\r\nfunction dateTabChange(obj) {\r\n let dateTabDataVal = $(obj).attr(\"data-value\");\r\n if (dateTabDataVal == dateType.Other) {\r\n selectedTabDateArra = $.map(otherTabDates, function (value) {\r\n return value.split(\"T\")[0];\r\n });\r\n curDateType = dateType.Other;\r\n } else if (dateTabDataVal == \"All\") {\r\n curDateType = dateType.All;\r\n selectedTabDateArra = $.map(allTabDateList, function (value) {\r\n return value.split(\"T\")[0];\r\n });\r\n } else if (dateTabDataVal != null) {\r\n curDateType = dateType.Single;\r\n selectedTabDateArra.push($(obj).attr(\"data-value\"));\r\n } else if (mdate != null) {\r\n selectedTabDateArra = [];\r\n selectedTabDateArra.push(mdate);\r\n } else {\r\n selectedTabDateArra = [];\r\n selectedTabDateArra.push(\"\");\r\n }\r\n pushHistoryAfterTabChange(selectedTabDateArra[0], true)\r\n}\r\n\r\nfunction pushHistoryAfterTabChange(data, isPushState) {\r\n\r\n let newUrl = \"\"\r\n var para = trimPara2();\r\n\r\n if (tabType.Competition == curTabType) {\r\n var re = new RegExp(\"&mdate=\\\\d+[-]+\\\\d+[-]+\\\\d+\");\r\n url = location.href.replace(re, '');\r\n newUrl = replaceUrlParam(url, \"tournid\", data);\r\n para.tournid = data;\r\n para.mdate = null;\r\n } else {\r\n var re = new RegExp(\"&tournid=[\\\\da-z]+\");\r\n url = location.href.replace(re, '');\r\n newUrl = replaceUrlParam(url, \"mdate\", data);\r\n para.mdate = data;\r\n para.tournid = null;\r\n mdate = data;\r\n }\r\n\r\n if (isPushState) {\r\n window.history.pushState(\r\n {\r\n \"html\": \"\",\r\n \"pageTitle\": document.title,\r\n \"product\": curProduct,\r\n \"page\": curPageId,\r\n \"lang\": curLang,\r\n \"para\": para\r\n }, \"\", newUrl);\r\n }\r\n else {\r\n window.history.replaceState(\r\n {\r\n \"html\": \"\",\r\n \"pageTitle\": document.title,\r\n \"product\": curProduct,\r\n \"page\": curPageId,\r\n \"lang\": curLang,\r\n \"para\": para\r\n }, \"\", newUrl);\r\n }\r\n\r\n}\r\n\r\n\r\nfunction replaceHistoryAfterTabChange(data) {\r\n\r\n let newUrl = \"\"\r\n var para = trimPara2();\r\n\r\n if (tabType.Competition == curTabType) {\r\n var re = new RegExp(\"&mdate=\\\\d+[-]+\\\\d+[-]+\\\\d+\");\r\n url = location.href.replace(re, '');\r\n newUrl = replaceUrlParam(url, \"tournid\", data);\r\n para.tournid = data;\r\n para.mdate = null;\r\n } else {\r\n var re = new RegExp(\"&tournid=[\\\\da-z]+\");\r\n url = location.href.replace(re, '');\r\n newUrl = replaceUrlParam(url, \"mdate\", data);\r\n para.mdate = data;\r\n para.tournid = null;\r\n mdate = data;\r\n }\r\n\r\n}\r\n\r\nfunction selectAllTournaments() {\r\n\r\n $(\".js_selectCompetitionNav\").find(\"li\").each(function (index) {\r\n if (!$(this).hasClass(\"cur\")) {\r\n $(this).addClass(\"cur\");\r\n\r\n $(this).find(\"input\").prop(\"checked\", true)\r\n }\r\n })\r\n\r\n $(\".competition_nav\").find(\".second_ul\").each(function () {\r\n $(this).show();\r\n if ($(\"#oddstab_showall\").css(\"display\") != \"none\") {\r\n $(\"#oddstab_showall\").hide();\r\n $(\"#oddstab_hide\").show();\r\n }\r\n })\r\n}\r\n\r\nfunction resetTournaments() {\r\n $(\".js_selectCompetitionNav\").find(\"li\").each(function (index) {\r\n if (index == 0) {\r\n $(this).addClass(\"cur\");\r\n $(this).find(\"input\").prop(\"checked\", true)\r\n\r\n //selectedTournamentIds = [];\r\n //selectedTournamentIds.push($(this).attr(\"data-value\"));\r\n //sessionStorage.setItem(\"__extendShareSelectedTournsId\", JSON.stringify(selectedTournamentIds));\r\n }\r\n if ($(this).hasClass(\"cur\")) {\r\n if (index != 0) {\r\n $(this).removeClass(\"cur\");\r\n\r\n $(this).find(\"input\").prop(\"checked\", false)\r\n }\r\n }\r\n //when clicked apply btn,the newd data is displayed\r\n //if (index == 0) {\r\n // selectedTournamentIds = [];\r\n // selectedTournamentIds.push($(this).attr(\"data-value\"));\r\n //}\r\n });\r\n\r\n $(\".competition_nav\").find(\".second_ul\").each(function () {\r\n hiddenTournaOthers($(this));\r\n })\r\n\r\n $('html, body').animate({ scrollTop: 0 }, 'fast');\r\n}\r\n\r\n\r\nfunction setCompetitionCheckbox() {\r\n\r\n $(\".js_selectCompetitionNav\").find(\"li\").each(function () {\r\n if ($(this).hasClass(\"cur\")) {\r\n $(this).find(\"input\").prop(\"checked\", true)\r\n }\r\n else {\r\n $(this).find(\"input\").prop(\"checked\", false)\r\n }\r\n });\r\n}\r\n\r\nfunction hideDatePage() {\r\n $(\"#datepage\").hide();\r\n}\r\n\r\nfunction hiddenTournaOthers(obj) {\r\n obj.hide();\r\n if ($(\"#oddstab_hide\").css(\"display\") != \"none\") {\r\n $(\"#oddstab_hide\").hide();\r\n $(\"#oddstab_showall\").show();\r\n }\r\n //$(\"#showall_tournament\").hide();\r\n //$(\"#partial_tournament\").show();\r\n hideDatePage();\r\n}\r\n\r\nfunction initTabFeature() {\r\n\r\n $(\".js_selectNav\").find(\"span[data-value='0']\").addClass(\"cur\").siblings().removeClass(\"cur\");\r\n selectedTabDateArra = [];\r\n selectedTabDateArra = $.map(allTabDateList, function (value) {\r\n return value.split(\"T\")[0];\r\n });\r\n\r\n //$(\".competition_nav\").hide();\r\n //$(\".date_nav\").hide();\r\n curTabType = tabType.Feature;\r\n\r\n sessionStorage.setItem(\"__extendShareSelectedTournsId\", JSON.stringify([]));\r\n}\r\n\r\nfunction initTabDate() {\r\n\r\n $(\".js_selectNav\").find(\"span[data-value='1']\").addClass(\"cur\").siblings().removeClass(\"cur\");\r\n\r\n //date shown\r\n //$(\".date_nav\").show();\r\n //$(\".competition_nav\").hide();\r\n $(\"#datepage\").show();\r\n //hideCompetitionPage();\r\n curTabType = tabType.Date;\r\n curDateType = dateType.Single;\r\n\r\n $(\"#SelectDateTimeId div\").each(function (index) {\r\n if (index == 0) {\r\n $(this).addClass(\"cur\");\r\n } else {\r\n $(this).removeClass(\"cur\");\r\n }\r\n });\r\n\r\n sessionStorage.setItem(\"__extendShareSelectedTournsId\", JSON.stringify([]));\r\n}\r\n\r\nfunction initTabCompetition() {\r\n\r\n curTabType = tabType.Competition;\r\n $(\".js_selectNav\").find(\"span[data-value='2']\").addClass(\"cur\").siblings().removeClass(\"cur\");\r\n //$(\".date_nav\").hide();\r\n $(\".competition_nav\").find(\".second_ul\").each(function () {\r\n if ($(this).css(\"display\") != \"none\") {\r\n hiddenTournaOthers($(this));\r\n } else {\r\n //$(\"#showall_tournament\").hide();\r\n //$(\"#partial_tournament\").show();\r\n hideDatePage();\r\n }\r\n });\r\n resetTournaments();\r\n //$(\".competition_nav\").show();\r\n //getAllSelectedTournaments();\r\n\r\n if (oddsPushStatus == 'push') {\r\n showTabLoading();\r\n renderPushPortal(); \r\n } else if (pageName == \"MIXALLUPLIST\") {\r\n renderMixAllUpMatchList();\r\n } else if (pageName == \"ALL\" || pageName == \"INPLAYALL\") {\r\n selectionCheckBox = {};\r\n renderAllTable(false);\r\n } else {\r\n renderAllTable(false);\r\n }\r\n}\r\n\r\n\r\nfunction pushOddsTableTournamentsArr(data, sorted) {\r\n let tournamentsArr = data;\r\n\r\n if (tournamentsArr.length > 0) {\r\n if (!sorted) {\r\n // sort matches by num \r\n tournamentsArr = tournamentsArr.sort(sort_by2([\"displayOrder\"], [false], [parseInt]));\r\n }\r\n }\r\n\r\n return tournamentsArr;\r\n}\r\n\r\nfunction renderParimutuelResult(data) {\r\n try {\r\n let poolResults, poolNextDraw;\r\n var hasPMResults = false;\r\n if (pools == \"DHCP\") {\r\n poolResults = data[0];\r\n } else if (pools == \"HFMP\") {\r\n poolResults = data[0];\r\n }\r\n poolNextDraw = displaySearchResult ? null : data[1];\r\n\r\n if (poolResults != undefined && poolResults.length > 0) {\r\n if (displaySearchResult) {\r\n totalMatch = poolResults.length;\r\n startMatch = (curPage - 1) * maxMatch + 1;\r\n endMatch = startMatch + maxMatch - 1;\r\n endMatch = (endMatch > totalMatch ? totalMatch : endMatch);\r\n\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('searchTableHeader')\r\n );\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('searchTableFooter')\r\n );\r\n if (FromDate != \"\")\r\n $('.pagination').show();\r\n else\r\n $('.pagination').hide();\r\n } else {\r\n startMatch = 1;\r\n endMatch = poolResults.length;\r\n }\r\n drawPariMutuelResultBody(poolResults, displaySearchResult, startMatch, endMatch);\r\n hasPMResults = true;\r\n }\r\n else if (!displaySearchResult) {\r\n // get latest results from last 10\r\n getLastestPariMutuelResultFromLast10();\r\n hasPMResults = true;\r\n }\r\n\r\n if (!hasPMResults) {\r\n $('#dContainer').hide();\r\n $('.noinfo').css('display', 'table-cell');\r\n $('.pagination').hide();\r\n }\r\n\r\n if (!displaySearchResult && poolNextDraw != 'N') {\r\n // sort parimutuel odds\r\n ReactDOM.render(\r\n
    \r\n \r\n
    ,\r\n document.getElementById('dNextContainer')\r\n );\r\n $('#dNextContainer').show();\r\n } else {\r\n $('#dNextContainer').hide();\r\n }\r\n } catch (ex) {\r\n renderEmptyPage();\r\n debugLog(\"renderParimutuelResult\" + ex);\r\n }\r\n}\r\n\r\n\r\nfunction getLastestPariMutuelResultFromLast10() {\r\n var mDate = \"\";\r\n $.ajax({\r\n url: last10Path,\r\n type: \"get\",\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n var oData = [];\r\n if (data != null && data[0] != null) {\r\n try {\r\n for (var i = 0; i < data[0].length; i++) {\r\n var dt = data[0][i][(pools == \"DHCP\" ? \"dhcodds\" : \"hfmodds\")][\"LEG1\"].matchDate;\r\n if (mDate == '' || mDate == dt) {\r\n oData.push(data[0][i]);\r\n mDate = dt;\r\n }\r\n }\r\n if (oData.length > 0) {\r\n drawPariMutuelResultBody(oData, false, 1, oData.length);\r\n }\r\n else {\r\n $('#dContainer').hide();\r\n $('.noinfo').css('display', 'table-cell');\r\n $('.pagination').hide();\r\n }\r\n } catch (ex) {\r\n debugLog(\"getLastestPariMutuelResultFromLast10: \" + ex);\r\n }\r\n }\r\n },\r\n error: function () {\r\n }\r\n });\r\n}\r\n\r\nfunction drawPariMutuelResultBody(poolResults, displaySearchResult, startIdx, endIdx) {\r\n let _coupons = [];\r\n for (let i = (startIdx - 1); i < endIdx; i++) {\r\n let pmPool = (pools == \"DHCP\") ? poolResults[i].dhcodds : poolResults[i].hfmodds;\r\n let _leg1 = pmPool[\"LEG1\"];\r\n let _couponID = \"c\" + i + \"_\" + _leg1.matchIDinofficial;\r\n let _couponName = `${formatYYYYMMDD(_leg1.matchTime.substr(0, 10).replace(/-/g, ''))} ${GetGlobalResources(_leg1.matchDay)} ${_leg1.matchNum}`;\r\n let rightText = (displaySearchResult ? null : `${jsstopselldate}: ${formatYYYYMMDD(_leg1.matchTime.substr(0, 10).replace(/-/g, ''))}`);\r\n\r\n let _void = isPoolRefund(pmPool.POOLSTATUS);\r\n\r\n _coupons.push(
    \r\n \r\n \r\n \r\n
    );\r\n }\r\n ReactDOM.render(\r\n
    \r\n {_coupons}\r\n
    ,\r\n document.getElementById('dContainer')\r\n );\r\n $('.noinfo').hide();\r\n $('#dContainer').show();\r\n}\r\n\r\n\r\nfunction renderParimutuelPage(data, _oddsType, firstLoad) {\r\n let keepRefresh = false;\r\n try {\r\n let poolData = data.matches != null && data.matches.length > 0 ? data.matches : [];//removeRepeat(data.matches) : [];\r\n let _tableType = (poolData.length > 0 ? \"ActiveMatches\" : \"NoMatch\");\r\n let _poolOdds = (_oddsType == \"DHCP\" ? \"dhcodds\" : \"hfmodds\")\r\n // render page header\r\n ReactDOM.render(\r\n
    \r\n \r\n
    \r\n \r\n
    ,\r\n document.getElementById('dHeader'), () => {\r\n oddsTableLoaded();\r\n }\r\n );\r\n if (poolData.length > 0) {\r\n if (poolData.length > 1)\r\n poolData = poolData.sort(sort_by2([\"matchDate\", \"displayOrder\"], [false, false], [trimMatchDate, parseInt]));\r\n\r\n // find displaying matchid \r\n if (tMatchID == \"\")\r\n setMatchId(poolData[0].matchID);\r\n // select single match data\r\n let singlePool = jQuery.grep(poolData, function (_tmpSinglePool) {\r\n return _tmpSinglePool.matchID == tMatchID;\r\n })[0];\r\n let singleTournament;\r\n if (singlePool != null) {\r\n singleTournament = jQuery.grep(data.tournaments, function (_tmpSingleTourna) {\r\n return _tmpSingleTourna.tournamentID == singlePool.tournament.tournamentID;\r\n })[0];\r\n }\r\n\r\n singlePool = singlePool[_poolOdds];\r\n\r\n if (singlePool != null) {\r\n\r\n if (firstLoad) {\r\n $(\".poolDetails\").show();\r\n\r\n $('#dateVal').html(formatMatchDate(singlePool.LEG1.matchDate) + \" \" + GetGlobalResources(singlePool.LEG1.matchDay, \"js\") + \" \" + singlePool.LEG1.displayOrder);\r\n if (singlePool.investment == \"\")\r\n $('#investmentVal').html(\"-\");\r\n else\r\n $('#investmentVal').html(\"$\" + numberWithCommas(singlePool.investment));\r\n if (singlePool.jackpot == \"\")\r\n $('#jackpotVal').html(\"-\");\r\n else\r\n $('#jackpotVal').html(\"$\" + numberWithCommas(singlePool.jackpot));\r\n $('#esstVal').html(formatEsstStr(singlePool.LEG1.matchTime));\r\n }\r\n\r\n // ************* to be done\r\n // if cannot find selection with the matchid\r\n // >> if displayed > turn all cb to dimmed\r\n // else display first available\r\n\r\n // render DDL - if more than 1 selections\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('dMatchListDDL')\r\n );\r\n\r\n // render pool table\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('dPoolTable')\r\n );\r\n\r\n if (_oddsType == \"DHCP\") {\r\n ReactDOM.render(\r\n generateDHCPSelectionTable(singlePool, 1),\r\n document.getElementById('dCoupon1')\r\n );\r\n ReactDOM.render(\r\n generateDHCPSelectionTable(singlePool, 2),\r\n document.getElementById('dCoupon2')\r\n );\r\n }\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('dFooterAddBet')\r\n );\r\n\r\n keepRefresh = true;\r\n pmPool = singlePool;\r\n }\r\n }\r\n } catch (ex) {\r\n debugLog(\"renderParimutuelPage: \" + ex);\r\n }\r\n\r\n if (!keepRefresh) {\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('dHeader')\r\n );\r\n displayNoMatch(false);\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction renderEmptyOddsTable() {\r\n try {\r\n ReactDOM.render(\r\n
    ,\r\n document.getElementById('ActiveMatchesOdds')\r\n );\r\n } catch (ex) { }\r\n}\r\n\r\nfunction getJSONQueryString() {\r\n var pathName = location.pathname.substring(location.pathname.lastIndexOf(\"/\") + 1);\r\n\r\n if (pathName == \"odds_chp2.aspx\" || pathName == \"odds_finalists.aspx\" || pathName == \"odds_winning_continent.aspx\" || pathName == \"odds_winning_country.aspx\") {\r\n pathName = \"odds_chp.aspx\";\r\n// } else if (pageName == \"MIXALLUPLIST\" && curTabType == tabType.Feature) {\r\n// pathName = \"odds_featured_matches.aspx\";\r\n } else if (pageName == \"MIXALLUP\") {\r\n pathName = \"odds_mixallup_all.aspx\";\r\n } else if (pageName == \"FOCUSMATCH\") {\r\n pathName = \"odds_had.aspx\";\r\n } else if (pathName == \"index.aspx\") {\r\n if (pageName == \"HAD\") {\r\n pathName = \"odds_had.aspx\";\r\n }\r\n } else if (pageName == \"RESULT\" && displaySearchResult) {\r\n pathName = \"search_result.aspx\";\r\n } else if (pageName == \"DHCP_RESULT\" && displaySearchResult) {\r\n if (FromDate == \"\") {\r\n pathName = \"dhcp_results_search_recent.aspx\";\r\n para = \"\";\r\n } else {\r\n pathName = \"dhcp_results_search.aspx\";\r\n }\r\n } else if (pageName == \"HFMP_RESULT\" && displaySearchResult) {\r\n if (FromDate == \"\") {\r\n pathName = \"hfmp_results_search_recent.aspx\";\r\n para = \"\";\r\n } else {\r\n pathName = \"hfmp_results_search.aspx\";\r\n }\r\n }\r\n var qs = \"?jsontype=\" + pathName;\r\n if (pageName == \"ALL\" || pageName == \"MIXALLUPSHORTCUT\" || pageName == \"INPLAYALL\" || pageName == \"MIXALLUP\" || pageName == \"LASTODDS\") {\r\n\r\n let isTourn = false;\r\n\r\n if (curTabType == tabType.Date && mdate.length > 0 && tMatchID == \"\") {\r\n qs += \"&mdate=\" + mdate;\r\n } else if (tMatchID == \"\") { \r\n if (selectedTournamentIds.length > 0) {\r\n //let tournId = $($(\".js_selectCompetitionNav li.cur\")[0]).attr(\"data-value\");\r\n qs += \"&tournid=\" + selectedTournamentIds[0];\r\n }\r\n if (selectedTabDateArra.length > 0 && selectedTournamentIds.length == 0) {\r\n let mdate = \"\";\r\n mdate = selectedTabDateArra[0];\r\n qs += \"&mdate=\" + mdate;\r\n } else { \r\n qs += \"&matchid=default\";\r\n }\r\n } else if (selectedTournamentIds.length > 0 && tMatchID != \"\") {\r\n qs += \"&matchid=\" + tMatchID;\r\n } else {\r\n if (selectedMatcheId!=\"0\") {\r\n setMatchId(selectedMatcheId);\r\n }\r\n qs += \"&matchid=\" + tMatchID;\r\n }\r\n } else if (pageName == \"TOURN\") {\r\n qs += \"&tournid=\" + pTournID;\r\n } else if ((pageName == \"RESULT\" || pageName == \"DHCP_RESULT\" || pageName == \"HFMP_RESULT\") && displaySearchResult) {\r\n qs += para;\r\n }\r\n\r\n if (pageName == \"RESULT\" && displaySearchResult) {\r\n qs += \"&pageno=\" + curPage;\r\n }\r\n return qs;\r\n}\r\nvar tteamcode;\r\nfunction displaySearchInfo() {\r\n let srchdate = getParameterByName(\"srchdate\"); // 1 or 0\r\n let fdate = getParameterByName(\"fdate\"); // start date YYYYMMDD\r\n let tdate = getParameterByName(\"tdate\"); // end date YYYYMMDD\r\n let srchteam = getParameterByName(\"srchteam\"); // 1 or 0\r\n let teamcode = getParameterByName(\"teamcode\"); // guid of team\r\n\r\n $('#searchInfo').html(\"\");\r\n if (srchdate == \"1\") {\r\n $('#searchInfo').append(`
    ${jsdate}: ${formatYYYYMMDD(fdate)} - ${formatYYYYMMDD(tdate)}
    `);\r\n }\r\n\r\n if (srchteam == \"1\") {\r\n if (teamList != undefined && teamList.length > 0) {\r\n tteamcode = teamcode;\r\n let srchTeamName = $.grep(teamList, function (_sel) { return _sel.teamID == teamcode; })[0][\"teamName\" + jsLang];\r\n\r\n $('#searchInfo').append(`
    ${jsteam}: ${srchTeamName}
    `);\r\n }\r\n }\r\n}\r\n\r\nfunction getMatchData(data) {\r\n if (pageName != \"TOURN\" && data != null && (data[0] != null || data.matches != null)) {\r\n if (pageName == \"CHP\" || pageName == \"TQL\" || pageName == \"MIXALLUP\") {\r\n matchDataList = data;\r\n } else if ( pageName!=\"RESULT\" ) {\r\n let _tempMatches = putMatchesToCoupon(data.matches, [], true);\r\n matchDataList = data.matches = _tempMatches != null ? _tempMatches : [];\r\n } else {\r\n if (data.length == 1) {\r\n let _tempMatches = putMatchesToCoupon(data[0].matches, [], true);\r\n matchDataList = data[0].matches = _tempMatches != null ? _tempMatches : [];\r\n } else if (data.length > 1 )\r\n {\r\n if (data[1].matchDate != null && data[1].matchDate != undefined) {\r\n let _tempMatches = putMatchesToCoupon(data, [], true);\r\n matchDataList = data = _tempMatches != null ? _tempMatches : [];\r\n } else {\r\n let _tempMatches = putMatchesToCoupon(data[1].matches, [], true);\r\n matchDataList = data[1].matches = _tempMatches != null ? _tempMatches : [];\r\n }\r\n } else{\r\n matchDataList = data;\r\n }\r\n }\r\n } else if (data != null){\r\n if (pageName != \"TOURN\" && data[0] != null && data[0] != undefined) {\r\n let _tempMatches = putMatchesToCoupon(data, [], true);\r\n matchDataList = data = _tempMatches != null ? _tempMatches : [];\r\n } else {\r\n matchDataList = data;\r\n }\r\n }\r\n}\r\n\r\nfunction getTournaments(data) {\r\n\r\n if (data == null || data.length == 0)\r\n allTournaments = [];\r\n else if (pageName != \"TOURN\" && data != null && (data[0] != null || data.tournaments != null)) {\r\n if (pageName == \"CHP\" || pageName == \"TQL\" || pageName == \"MIXALLUP\") {\r\n allTournaments = data;\r\n } else if (pageName != \"RESULT\") {\r\n allTournaments = data.tournaments = getAvailableTourn(data.tournaments);\r\n } else if (data != null && data[1] != undefined) {\r\n allTournaments = data[1].tournaments = getAvailableTourn(data[1].tournaments);\r\n } else if (pageName == \"RESULT\" && data[0].tournaments != null) {\r\n allTournaments = getAvailableTourn(data[0].tournaments);\r\n }\r\n } else if (pageName == \"TOURN\") {\r\n allTournaments = data;\r\n }\r\n}\r\n\r\nfunction loadTournamentIdFromQueryString() {\r\n\r\n // skipe load tournament if featured match\r\n if (pageName == \"OFM\") {\r\n return;\r\n }\r\n\r\n // get tournament id from query string\r\n var tournExp = location.href.match(new RegExp(\"&tournid=[\\\\da-z]+\"));\r\n if (tournExp != null && tournExp.length > 0) {\r\n let tempId = tournExp[0].split(\"=\")[1];\r\n\r\n // show all tournament if the tournament id = \"all\"\r\n if (tempId.toLowerCase() == \"all\") {\r\n selectedTournamentIds = getAllTournamentIds();\r\n }\r\n else if (selectedTournamentIds.length == 0) {\r\n selectedTournamentIds.push(tempId);\r\n }\r\n\r\n curTabType = tabType.Competition;\r\n\r\n // set tournament id in session\r\n selectedTournamentIds = getTournGroupIdsBytName(selectedTournamentIds);\r\n }\r\n\r\n sessionStorage.setItem(\"__extendShareSelectedTournsId\", JSON.stringify(selectedTournamentIds));\r\n}\r\n\r\nvar noOfFail = 0;\r\nfunction renderAllTable(firstLoad, retryOnce, requestOneMoreTime) {\r\n if (!firstLoad && isMqttConnected && !requestOneMoreTime)\r\n return;\r\n\r\n try {\r\n if (firstLoad) {\r\n //resetClickedCheckBox();\r\n matchStateFilterTabState = \"ALL\";\r\n selectionCheckBox = {};\r\n if (tMatchID == \"\")\r\n $('.nopool').hide();\r\n $('#divLoading').show();\r\n }\r\n if (noOfFail <= 2) {\r\n var queryStr = getJSONQueryString();\r\n $.ajax({\r\n url: \"/football/getJSON.aspx\" + queryStr,\r\n type: \"get\",\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n isPaginationClick = false;\r\n\r\n // check if the return JSON matches the request URL\r\n if (data!=null && data.name != null && data.name != '' && queryStr.indexOf(data.name) < 0) {\r\n return;\r\n }\r\n\r\n try {\r\n if (data != null && data.indexOf && data.indexOf(wafKeyword) >= 0 && !retryOnce) {\r\n //console.log('Blocked by WAF, retry one time...');\r\n $('#tFrame').attr('src', '/reload.aspx?a=' + (new Date().getTime()));\r\n setTimeout(function () {\r\n renderAllTable(firstLoad, true, requestOneMoreTime);\r\n }, 1000);\r\n return;\r\n }\r\n\r\n rawDataForAllOdds = data;\r\n dataCache = data;\r\n setFBDataCacheToTmp();\r\n\r\n if (pageName != \"HFMP_RESULT\" && pageName != \"DHCP_RESULT\") {\r\n getMatchData(data);\r\n getTournaments(data);\r\n loadTournamentIdFromQueryString();\r\n if (allTournaments.length == 0) {\r\n renderEmptyPage(firstLoad);\r\n $('#divLoading').hide();\r\n return;\r\n }\r\n }\r\n\r\n if (data != null && data.name != null && data.name != '' && queryStr.indexOf(data.name) < 0) {\r\n return;\r\n }\r\n\r\n if (pageName == \"SPC\" || pageName == \"INPLAYSPC\") {\r\n // Hybrid\r\n renderSPCTable(data, firstLoad);\r\n } else if (pageName == \"SGA\") {\r\n // Hybrid\r\n renderSGATable(data, firstLoad);\r\n } else if (pageName == \"CHP\") {\r\n // Hybrid\r\n renderCHPTable(data, firstLoad);\r\n } else if (pageName == \"TQL\") {\r\n renderTQLTable(data, firstLoad);\r\n } else if (pageName == \"RESULT\") {\r\n if (displaySearchResult) {\r\n sortSearchResults();\r\n drawSearchResults();\r\n } else {\r\n renderResults();\r\n }\r\n } else if (pageName == \"HFMP_RESULT\" || pageName == \"DHCP_RESULT\") {\r\n renderParimutuelResult(data);\r\n } else if (pageName == \"SPC_RESULTS\") {\r\n renderSPCResults(data);\r\n } else if (pageName == \"MIXALLUP\" || pageName == \"MIXALLUPSHORTCUT\") {\r\n renderAllMatchAllTable(data, firstLoad);\r\n if (firstLoad) {\r\n allupMatchIdChexkbox = [];\r\n for (var key in betValue) {\r\n if (tMatchID.indexOf(betValue[key].matchID) >= 0)\r\n allupMatchIdChexkbox.push(betValue[key].matchIDinofficial);\r\n }\r\n if (pageName == \"MIXALLUP\") {\r\n loadDefaultOdds();\r\n } else {\r\n $('.cTitle').find('.btext').html($('.oMenuHighlight').text());\r\n initMixallup();\r\n\r\n // collapse match\r\n for (var i = defaultExpanedNoOfMatch; i < $('.dMixHeader').length; i++) {\r\n $($('.dMixHeader')[i]).click();\r\n }\r\n }\r\n }\r\n } else if (pageName == \"FOCUSMATCH\") {\r\n renderFocusMatch(data, firstLoad);\r\n } else if (pageName != \"TOURN\") {\r\n renderMatchTable(data, firstLoad);\r\n } else {\r\n renderTournTable(data, firstLoad);\r\n }\r\n displayRemarks();\r\n\r\n pageReady = true;\r\n initRefreshTime();\r\n\r\n if ( oddsPushStatus == 'push' ) {\r\n replayPushMsg();\r\n }\r\n } catch (ex) {\r\n if (dataCache == null || dataCache == \"\") {\r\n renderEmptyPage(firstLoad); debugLog(ex);\r\n }\r\n } finally {\r\n isSwitchingDateTournTab = false;\r\n }\r\n $('#divLoading').hide();\r\n\r\n },\r\n error: function () {\r\n noOfFail++;\r\n }\r\n });\r\n } else { renderEmptyPage(firstLoad); }\r\n } catch (ex) {\r\n renderEmptyPage(firstLoad);\r\n }\r\n setRefreshInterval();\r\n}\r\n\r\nfunction renderAllTableRoute(data, firstLoad) {\r\n if (pageName == \"SPC\" || pageName == \"INPLAYSPC\") {\r\n // Hybrid\r\n renderSPCTable(data, firstLoad);\r\n } else if (pageName == \"SGA\") {\r\n // Hybrid\r\n renderSGATable(data, firstLoad);\r\n } else if (pageName == \"CHP\") {\r\n // Hybrid\r\n renderCHPTable(data, firstLoad);\r\n } else if (pageName == \"TQL\") {\r\n // Hybrid\r\n renderTQLTable(data, firstLoad);\r\n } else if (pageName == \"RESULT\") {\r\n if (displaySearchResult) {\r\n sortSearchResults();\r\n drawSearchResults();\r\n } else {\r\n renderResults();\r\n }\r\n } else if (pageName == \"HFMP_RESULT\" || pageName == \"DHCP_RESULT\") {\r\n renderParimutuelResult(data);\r\n } else if (pageName == \"SPC_RESULTS\") {\r\n renderSPCResults(data);\r\n } else if (pageName == \"MIXALLUP\" || pageName == \"MIXALLUPSHORTCUT\") {\r\n invalidBetTypeArr = [];\r\n renderAllMatchAllTable(data, firstLoad);\r\n refreshMixallUpCalculator();\r\n if (firstLoad) {\r\n tmatchids = [];\r\n for (var key in betValue) {\r\n tmatchids.push(betValue[key].matchIDinofficial);\r\n }\r\n if (pageName == \"MIXALLUP\") {\r\n loadDefaultOdds();\r\n } else {\r\n $('.cTitle').find('.btext').html($('.oMenuHighlight').text());\r\n initMixallup();\r\n\r\n // collapse match\r\n for (var i = defaultExpanedNoOfMatch; i < $('.dMixHeader').length; i++) {\r\n $($('.dMixHeader')[i]).click();\r\n }\r\n }\r\n }\r\n } else if (pageName == \"FOCUSMATCH\") {\r\n renderFocusMatch(data, firstLoad);\r\n } else if (pageName != \"TOURN\") {\r\n renderMatchTable(data, firstLoad);\r\n } else {\r\n renderTournTable(data, firstLoad);\r\n }\r\n isSwitchingDateTournTab = false;\r\n}\r\n\r\nfunction renderTableAfterDropdownSelect(firstLoad) {\r\n if (!firstLoad && !enableAutoRefresh)\r\n return;\r\n try {\r\n if (firstLoad) {\r\n //resetClickedCheckBox();\r\n if (tMatchID == \"\")\r\n $('.nopool').hide();\r\n $('#divLoading').show();\r\n }\r\n\r\n if (noOfFail <= 2) {\r\n $.ajax({\r\n url: \"/football/getJSON.aspx\" + getJSONQueryString(),\r\n type: \"get\",\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n try {\r\n //data = JSON.parse(data);\r\n dataCache = data;\r\n renderMatchTable(data, firstLoad);\r\n displayRemarks();\r\n pageReady = true;\r\n } catch (ex) {\r\n renderEmptyPage(firstLoad);\r\n debugLog(ex);\r\n }\r\n $('#divLoading').hide();\r\n },\r\n error: function () {\r\n noOfFail++;\r\n }\r\n });\r\n } else { renderEmptyPage(firstLoad); }\r\n } catch (ex) { renderEmptyPage(firstLoad); }\r\n}\r\n\r\nfunction renderSPCTable(data, firstLoad) {\r\n let displayNoPoolMsg = false;\r\n let tournamentData, spcAvailable, singleMatch;\r\n tournamentData = data.tournaments;\r\n spcAvailable = data.matches.length > 0;\r\n\r\n\r\n if (spcAvailable) {\r\n // render active SPC item first\r\n let activeSPCTable = [];\r\n\r\n let hasSelectedDate = false;\r\n let istMatchIDExist = false;\r\n let datelist = [];\r\n\r\n if (curTabType == tabType.Date) {\r\n\r\n if (selectedTabDateArra.length == 0 && mdate.length > 0)\r\n selectedTabDateArra.push(mdate);\r\n else if (selectedTabDateArra.length > 0 && mdate.length > 0 && $.inArray(mdate, selectedTabDateArra) > -1) {\r\n selectedTabDateArra = []\r\n selectedTabDateArra.push(mdate)\r\n }\r\n if (tMatchID != \"\") {\r\n data.matches.forEach(function (_singleCoupon, couponIndex) {\r\n let tmpDt = getFormattedDateStr(_singleCoupon.matchDate);\r\n if (_singleCoupon.matchID == tMatchID && tmpDt != mdate) {\r\n selectedTabDateArra = []\r\n selectedTabDateArra.push(tmpDt);\r\n pushHistoryAfterTabChange(selectedTabDateArra[0], false);\r\n }\r\n });\r\n }\r\n\r\n data.matches.forEach(function (_singleCoupon, couponIndex) {\r\n datelist.push(getFormattedDateStr(_singleCoupon.matchDate));\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n let selectedTabDate = tabDateItem;\r\n let matchDateYYYYMMDD = _singleCoupon.matchDate.split(\"T\")[0];\r\n if (matchDateYYYYMMDD == selectedTabDate) {\r\n hasSelectedDate = true;\r\n }\r\n if (_singleCoupon.matchID == tMatchID) {\r\n istMatchIDExist = true;\r\n }\r\n });\r\n });\r\n\r\n if (!hasSelectedDate || (!istMatchIDExist && tMatchID != \"\")) {\r\n selectedTabDateArra = [];\r\n tMatchID = '';\r\n initTabDate();\r\n let availableDate = getDateTabList(datelist)[0];\r\n selectedTabDateArra.push(availableDate);\r\n pushHistoryAfterTabChange(selectedTabDateArra[0], false);\r\n }\r\n\r\n }\r\n\r\n let isDorpList = false;\r\n let selectedMatch = null;\r\n // gen match table\r\n if (data!=null && data.matches != null) {\r\n if (curTabType == tabType.Date) {\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n let selectedTabDate = tabDateItem;\r\n data.matches.forEach(function (_singleMatch, sid) {\r\n let matchDateYYYYMMDD = _singleMatch.matchDate.split(\"T\")[0];\r\n if (selectedTabDate == matchDateYYYYMMDD) {\r\n if (tMatchID == \"\" && !isDorpList) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSPCTable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n setMatchId(_singleMatch.matchID);\r\n isDorpList = true;\r\n } else if (_singleMatch.matchID == tMatchID) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSPCTable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n }\r\n }\r\n });\r\n });\r\n } else if (curTabType == tabType.Competition) {\r\n // R0a\r\n var tmpSessionSelectedTournsId = JSON.parse(sessionStorage.getItem(\"__extendShareSelectedTournsId\"));\r\n\r\n if (tmpSessionSelectedTournsId == null)\r\n tmpSessionSelectedTournsId = [];\r\n\r\n let hasSelectedTourn = false;\r\n tournamentData.forEach(function (singleTournament, tounaIndex) {\r\n if (jQuery.inArray(singleTournament.tournamentID, selectedTournamentIds) !== -1) {\r\n hasSelectedTourn = true;\r\n } else if (jQuery.inArray(singleTournament.tournamentID, tmpSessionSelectedTournsId) !== -1) {\r\n hasSelectedTourn = true;\r\n }\r\n });\r\n if (!hasSelectedTourn) {\r\n selectedTournamentIds = [];\r\n selectedTournamentIds.push(tournamentData[0].tournamentID);\r\n }\r\n\r\n tmpSessionSelectedTournsId.forEach(function (id, xidx) {\r\n if (jQuery.inArray(id, selectedTournamentIds) === -1) {\r\n selectedTournamentIds.push(id);\r\n }\r\n });\r\n\r\n let selectedTournaMatches = [];\r\n\r\n selectedTournamentIds.forEach(function (value, index) {\r\n tournamentData.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == value) {\r\n data.matches.forEach(function (singleCoupon, couponIndex) {\r\n if (singleCoupon.tournament.tournamentID == value) {\r\n selectedTournaMatches.push(singleCoupon);\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n selectedTournaMatches.forEach(function (_singleMatch, sid) {\r\n if (tMatchID == \"\" && !isDorpList) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSPCTable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n isDorpList = true;\r\n } else if (_singleMatch.matchID == tMatchID) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSPCTable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n if (selectedMatch != null) {\r\n\r\n let spcItems = sortDataToItem(selectedMatch, false);\r\n\r\n if (spcItems.length > 0) {\r\n spcItems.forEach(function (_singleItem, _sind) {\r\n if (_singleItem.length > 0) {\r\n let _itemTable = ;\r\n\r\n activeSPCTable.push(_itemTable);\r\n }\r\n })\r\n }\r\n }\r\n\r\n if (activeSPCTable.length > 0) {\r\n \r\n var coupsonList = data.matches;//removeRepeat(data.matches);\r\n ReactDOM.render(\r\n
    \r\n \r\n \r\n \r\n {activeSPCTable}\r\n \r\n
    ,\r\n document.getElementById(\"dSPC\"), () => {\r\n oddsTableLoaded();\r\n }\r\n ); \r\n \r\n }\r\n\r\n } else {\r\n displayNoMatch(true, true);\r\n }\r\n}\r\n\r\nfunction renderSGATable(data, firstLoad) {\r\n let displayNoPoolMsg = false;\r\n let tournamentData, sgaAvailable, singleMatch;\r\n tournamentData = data.tournaments;\r\n sgaAvailable = data.matches.length > 0;\r\n\r\n if (sgaAvailable) {\r\n // render active SGA item first\r\n let activeSGATable = [];\r\n\r\n let hasSelectedDate = false;\r\n let istMatchIDExist = false;\r\n let datelist = [];\r\n\r\n if (curTabType == tabType.Date) {\r\n if (selectedTabDateArra.length == 0 && mdate.length > 0)\r\n selectedTabDateArra.push(mdate);\r\n else if (selectedTabDateArra.length > 0 && mdate.length > 0 && $.inArray(mdate, selectedTabDateArra) > -1) {\r\n selectedTabDateArra = []\r\n selectedTabDateArra.push(mdate)\r\n }\r\n if (tMatchID != \"\") {\r\n data.matches.forEach(function (_singleCoupon, couponIndex) {\r\n let tmpDt = getFormattedDateStr(_singleCoupon.matchDate);\r\n if (_singleCoupon.matchID == tMatchID && tmpDt!=mdate) {\r\n selectedTabDateArra = []\r\n selectedTabDateArra.push(tmpDt);\r\n pushHistoryAfterTabChange(selectedTabDateArra[0], false);\r\n }\r\n });\r\n }\r\n\r\n data.matches.forEach(function (_singleCoupon, couponIndex) {\r\n datelist.push(getFormattedDateStr(_singleCoupon.matchDate));\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n let selectedTabDate = tabDateItem;\r\n let matchDateYYYYMMDD = _singleCoupon.matchDate.split(\"T\")[0];\r\n if (matchDateYYYYMMDD == selectedTabDate) {\r\n hasSelectedDate = true;\r\n }\r\n if (_singleCoupon.matchID == tMatchID) {\r\n istMatchIDExist = true;\r\n }\r\n });\r\n });\r\n\r\n if (!hasSelectedDate || (!istMatchIDExist && tMatchID != \"\")) {\r\n selectedTabDateArra = [];\r\n tMatchID = '';\r\n initTabDate();\r\n let availableDate = getDateTabList(datelist)[0];\r\n selectedTabDateArra.push(availableDate);\r\n pushHistoryAfterTabChange(selectedTabDateArra[0], false);\r\n }\r\n\r\n }\r\n\r\n let isDorpList = false;\r\n let selectedMatch = null;\r\n // gen match table\r\n if (data != null && data.matches != null) {\r\n if (curTabType == tabType.Date) {\r\n selectedTabDateArra.forEach(function (tabDateItem) {\r\n let selectedTabDate = tabDateItem;\r\n data.matches.forEach(function (_singleMatch, sid) {\r\n let matchDateYYYYMMDD = _singleMatch.matchDate.split(\"T\")[0];\r\n if (selectedTabDate == matchDateYYYYMMDD) {\r\n if (tMatchID == \"\" && !isDorpList) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSGATable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n setMatchId(_singleMatch.matchID);\r\n isDorpList = true;\r\n } else if (_singleMatch.matchID == tMatchID) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSGATable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n }\r\n }\r\n });\r\n });\r\n } else if (curTabType == tabType.Competition) {\r\n // R0a\r\n var tmpSessionSelectedTournsId = JSON.parse(sessionStorage.getItem(\"__extendShareSelectedTournsId\"));\r\n\r\n if (tmpSessionSelectedTournsId == null)\r\n tmpSessionSelectedTournsId = [];\r\n\r\n let hasSelectedTourn = false;\r\n tournamentData.forEach(function (singleTournament, tounaIndex) {\r\n if (jQuery.inArray(singleTournament.tournamentID, selectedTournamentIds) !== -1) {\r\n hasSelectedTourn = true;\r\n } else if (jQuery.inArray(singleTournament.tournamentID, tmpSessionSelectedTournsId) !== -1) {\r\n hasSelectedTourn = true;\r\n }\r\n });\r\n if (!hasSelectedTourn) {\r\n selectedTournamentIds = [];\r\n selectedTournamentIds.push(tournamentData[0].tournamentID);\r\n }\r\n\r\n tmpSessionSelectedTournsId.forEach(function (id, xidx) {\r\n if (jQuery.inArray(id, selectedTournamentIds) === -1) {\r\n selectedTournamentIds.push(id);\r\n }\r\n });\r\n\r\n let selectedTournaMatches = [];\r\n\r\n selectedTournamentIds.forEach(function (value, index) {\r\n tournamentData.forEach(function (singleTournament, tounaIndex) {\r\n if (singleTournament.tournamentID == value) {\r\n data.matches.forEach(function (singleCoupon, couponIndex) {\r\n if (singleCoupon.tournament.tournamentID == value) {\r\n selectedTournaMatches.push(singleCoupon);\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n selectedTournaMatches.forEach(function (_singleMatch, sid) {\r\n if (tMatchID == \"\" && !isDorpList) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSGATable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n isDorpList = true;\r\n } else if (_singleMatch.matchID == tMatchID) {\r\n singleMatch = new Match(_singleMatch, false);\r\n let _matchTable = ;\r\n activeSGATable.push(_matchTable);\r\n selectedMatch = _singleMatch;\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n if (activeSGATable.length > 0) {\r\n\r\n var coupsonList = data.matches;//removeRepeat(data.matches);\r\n ReactDOM.render(\r\n
    \r\n \r\n
    \r\n \r\n \r\n {activeSGATable}\r\n \r\n
    ,\r\n document.getElementById(\"dSGA\"), () => {\r\n oddsTableLoaded();\r\n }\r\n );\r\n }\r\n\r\n } else {\r\n displayNoMatch(true, true);\r\n }\r\n}\r\n\r\nfunction renderAllMatchAllTable(matchData, firstLoad) {\r\n\r\n let allMatchTable = [];\r\n\r\n allMatchID.forEach(function (_matchID, _mInd) {\r\n var tmpMatch = getAllUpMatch(matchData, _matchID);\r\n if (tmpMatch != null) {\r\n let singleMatch = new Match(tmpMatch, false);\r\n allMatchTable.push(renderMatchAllTable(singleMatch, firstLoad, \"ActiveMatch\"));\r\n }\r\n })\r\n\r\n let displayNoPoolMsg = allMatchTable.length == 0;\r\n\r\n let topCalculator = ;\r\n let bottomCalculator = ;\r\n let topHeader = ;\r\n\r\n ReactDOM.render(\r\n
    \r\n {topHeader}\r\n
    \r\n
    \r\n
    \r\n
    {jsSelectBetType}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \"\"
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {topCalculator}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {allMatchTable}\r\n
    \r\n\r\n
    \r\n {bottomCalculator}\r\n
    \r\n
    \r\n
    ,\r\n document.getElementById('mixAllUpContent'), () => {\r\n if (firstLoad) {\r\n getAllUpInfo();\r\n $(\".mcTxtUnitbet\").val(getDefaultAmount(\"ALUPX\"));\r\n resetDivCal();\r\n }\r\n updateMixAllUpFormual();\r\n calculateBet2(true);\r\n }\r\n );\r\n\r\n if (displayNoPoolMsg) {\r\n $('.mixAllUpContent').hide();\r\n $('.cActions').hide();\r\n $('.oddsSCMixAllup').hide();\r\n $('#NoPoolMsg').show();\r\n $('#NoPoolMsgContent').html(jsNoPoolMsg);\r\n displayNoMatch(true, true);\r\n }\r\n else {\r\n $('.mixAllUpContent').show();\r\n $('.cActions').show();\r\n $('.oddsSCMixAllup').show();\r\n $('#NoPoolMsg').hide();\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction getAllUpMatch(matchData, matchId) {\r\n for (var idx in matchData) {\r\n if (matchData[idx].matchID == matchId)\r\n return matchData[idx];\r\n }\r\n return null;\r\n}\r\n\r\nclass AllUpDetailCalculator extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n onUpdateUnitBet(e) {\r\n if (chkAmount(e, 0)) {\r\n setDivCalUnitbet(parseInt(e.target.value));\r\n this.forceUpdate();\r\n }\r\n else if (e.target.value == '') {\r\n setDivCalUnitbet('');\r\n this.forceUpdate();\r\n }\r\n }\r\n onUpdateUnitBetByButton(amt) {\r\n let newAmt = parseInt($(\".mcTxtUnitbet\").val()) + amt;\r\n if (newAmt < MINIBET) {\r\n setDivCalUnitbet(MINIBET);\r\n $(\".mcTxtUnitbet\").val(MINIBET);\r\n this.forceUpdate();\r\n }\r\n else if (newAmt > MAXBET) {\r\n setDivCalUnitbet(MAXBET);\r\n $(\".mcTxtUnitbet\").val(MAXBET);\r\n this.forceUpdate();\r\n }\r\n else {\r\n setDivCalUnitbet(newAmt);\r\n $(\".mcTxtUnitbet\").val(newAmt);\r\n this.forceUpdate();\r\n }\r\n calculateBet2(true);\r\n }\r\n onBlurUnitBet(e) {\r\n if (!$.isNumeric(e.target.value) || parseInt(e.target.value) < 10) {\r\n alert(jsunitbeterror);\r\n $(\".mcTxtUnitbet\").val(getDefaultAmount(\"ALUPX\"));\r\n resetDivCal();\r\n this.forceUpdate();\r\n }\r\n else {\r\n updateMcTxtUnitbet(e);\r\n }\r\n calculateBet2(true);\r\n }\r\n render() {\r\n return
    \r\n
    \r\n
    \r\n
    \r\n
    {jsformula}
    \r\n
    {jsunitbet} $
    \r\n
    { this.onUpdateUnitBetByButton(10) }} className=\"divCalUnitBetBtn\">+10
    \r\n
    { this.onUpdateUnitBetByButton(100) }} className=\"divCalUnitBetBtn\">+100
    \r\n
    {jsbet}
    \r\n
    {jstotalinvestment}
    \r\n
    {jsmaxDividend}
    \r\n
    {jsmaxNetReturn}
    \r\n
    \r\n
    \r\n
    \r\n
    { this.onUpdateUnitBet(e); }} onBlur={(e) => { this.onBlurUnitBet(e); }} />
    \r\n
    { this.onUpdateUnitBetByButton(-10) }} className=\"divCalUnitBetBtn\">-10
    \r\n
    { this.onUpdateUnitBetByButton(-100) }} className=\"divCalUnitBetBtn\">-100
    \r\n
    -
    \r\n
    -
    \r\n
    -
    \r\n
    -
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    { addslip(); }} title={jsaddSlip}>
    \r\n
    \r\n
    \r\n }\r\n}\r\n\r\nfunction renderMatchAllTable(_singleMatch, firstLoad, _tableType, tournamentName) {\r\n let matchAllTables = [];\r\n let _matchID = _singleMatch.matchIDinofficial;\r\n let _matchPoolStatus;\r\n let _extraClass = \"\";\r\n let showMatchStateFilterTab = false;\r\n let hasNonFHPool = false;\r\n mixInplayBetType = [];\r\n if (_tableType == \"result\") {\r\n _singleMatch.arrPools.forEach(function (_singlePool, _spInd) {\r\n matchAllTables.push();\r\n });\r\n _extraClass = \"dContentResult\";\r\n } else {\r\n _matchPoolStatus = _singleMatch.GetMatchPoolStatus(pageName);\r\n if (displayInplayStatement(_matchPoolStatus)) {\r\n matchAllTables.push(InplayMsg(_singleMatch));\r\n } else {\r\n let hasFhPool = _singleMatch.arrPools.some(x => jsFhPools.includes(x));\r\n let allFhPool = _singleMatch.arrPools.every(x => jsFhPools.includes(x));\r\n if (!hasFhPool || allFhPool) {\r\n matchStateFilterTabState = \"ALL\";\r\n }\r\n _singleMatch.arrPools.forEach(function (_singlePool, _spInd) {\r\n let isFHPool = jsFhPools.includes(_singlePool);\r\n if (pageName ==\"INPLAYALL\") { \r\n let IsInplay = (_singlePool + \"odds\").toLowerCase();\r\n if (_singleMatch[IsInplay].INPLAY == \"true\") {\r\n if (!showMatchStateFilterTab) {\r\n showMatchStateFilterTab = isFHPool;\r\n }\r\n if (!hasNonFHPool) {\r\n hasNonFHPool = !isFHPool;\r\n }\r\n if (filterPoolByMatchState(isFHPool)) {\r\n matchAllTables.push();\r\n }\r\n }\r\n } else {\r\n let IsInplay = (_singlePool + \"odds\").toLowerCase();\r\n if (_singleMatch[IsInplay].INPLAY == \"true\" && pageName == \"MIXALLUP\") {\r\n if (!$.inArray(_singlePool, mixInplayBetType)) {\r\n mixInplayBetType.push(_singlePool);\r\n }\r\n }\r\n\r\n if (!showMatchStateFilterTab) {\r\n showMatchStateFilterTab = isFHPool;\r\n }\r\n if (!hasNonFHPool) {\r\n hasNonFHPool = !isFHPool;\r\n }\r\n if (filterPoolByMatchState(isFHPool)) {\r\n matchAllTables.push();\r\n }\r\n }\r\n });\r\n \r\n }\r\n }\r\n let displayHeader = !(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"CRS\" || pageName == \"FCS\" || pageName == \"FGS\");\r\n\r\n return
    \r\n {(displayHeader) ? renderMatchAllTableHeader(_singleMatch, firstLoad, _tableType, _matchID, _matchPoolStatus) : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\") && showMatchStateFilterTab && jsAllOddsFilterTab && hasNonFHPool ? : null}\r\n
    \r\n {matchAllTables}\r\n
    \r\n {pageName == \"MIXALLUP\" || pageName == \"RESULT\" ?
    : null}\r\n
    ;\r\n}\r\n\r\nfunction renderMatchAllTableHeader(_singleMatch, firstLoad, _tableType, _matchID, _matchPoolStatus) {\r\n let tournShortName = _singleMatch.tournament.tournamentShortName;\r\n let tournName = _singleMatch.tournament['tournamentName' + curLang.toUpperCase()];\r\n\r\n let matchId = \"\";\r\n if (_singleMatch.isBAUResult) {\r\n matchId = jsmatchno + \": \" + _singleMatch.matchDay + \" \" + _singleMatch.matchNum;\r\n }\r\n else {\r\n matchId = _singleMatch.frontEndId;\r\n }\r\n\r\n return
    { pageName == \"MIXALLUPSHORTCUT\" ? tgCoupon5(`dMixHeader_${_matchID}`, `dMixContent_${_matchID}`) : null }}>\r\n\r\n
    \r\n {/*jsesst1}{jsesst2}: {formatEsst(_singleMatch, false, \"HAD\")*/}\r\n {_tableType == \"result\" ?\r\n null : formatEsst(_singleMatch, false, \"HAD\")}\r\n {matchId}\r\n \r\n {formatImageStr([League.GetFlagPath(tournShortName), tournName, tournShortName])}\r\n \r\n {sTeamString(false, false, _singleMatch, true, true, \"ALL\")}\r\n \r\n {_singleMatch.venue == null ? \"\" : formatNeutralGroundIcon(_singleMatch.venue, \"ng\")}\r\n {_tableType == \"result\" ? null : }\r\n {_tableType == \"result\" ? null : formatInplayIco(_singleMatch, \"ico\", pageName)}\r\n {_tableType == \"result\" ? null : }\r\n {_tableType == \"result\" || !jsH2HEnabled ? null : {formatJumpHeadStr(_singleMatch)}}\r\n {_tableType == \"result\" ? null : }\r\n {_tableType == \"result\" ? null : formatTVIconAll(_singleMatch.channel)}\r\n {_tableType == \"result\" ? null : }\r\n {_tableType == \"result\" ? null : {_singleMatch.isESOffer ? formatESIcon() : null}}\r\n
    \r\n
    \r\n}\r\n\r\nclass SingleMatchSingleOddsTypeTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hideLSE: true };\r\n this.onEliminateBtnClicked = this.onEliminateBtnClicked.bind(this);\r\n }\r\n onEliminateBtnClicked(event) {\r\n this.setState({ hideLSE: !this.state.hideLSE });\r\n }\r\n renderTournInfo(singleMatch, betType) {\r\n\r\n let sTourn = singleMatch[betType.toLowerCase() + \"odds\"];\r\n\r\n let expectedStopSellingTime = sTourn.ExpectedStopTime != \"\" ? formatEsstStr(sTourn.ExpectedStopTime, true) : null;\r\n\r\n let tournamentName = singleMatch.tournament['tournamentName' + curLang.toUpperCase()];\r\n\r\n let tournFrontendId = singleMatch.tournament.frontEndId\r\n\r\n let tournInfo =
    \r\n

    {tournFrontendId} {tournamentName}

    \r\n

    {jsesst_nobr}: {expectedStopSellingTime}

    \r\n
    \r\n\r\n\r\n return tournInfo;\r\n }\r\n render() {\r\n try {\r\n let _poolType = this.props._poolType;\r\n let _tableType = this.props._tableType;\r\n let _matchID = this.props._matchID;\r\n let _singleMatch = this.props._singleMatch;\r\n let eliminateBtn = null;\r\n let tournamentName = this.props.tournamentName;\r\n\r\n let _ref = \"\";\r\n if (_tableType.indexOf(\"Presales\") != -1) {\r\n _ref = \"Ref\";\r\n }\r\n if (_poolType.indexOf(\"ref\") != -1) {\r\n _ref = \"Ref\";\r\n _poolType = \"SPC\"; // only SPC can have both active and presales odds\r\n _tableType = \"PresalesMatches\";\r\n }\r\n\r\n let innerContent;\r\n if (_poolType == \"CHP\") {\r\n let tournamentID = _singleMatch[\"chpodds\"].tournamentID;\r\n let hideLSE = this.state.hideLSE;\r\n\r\n eliminateBtn = \r\n\r\n innerContent =
    \r\n {this.renderTournInfo(_singleMatch, _poolType)}\r\n \r\n
    ;\r\n }\r\n else if (_poolType == \"TQL\" && pageName!=\"RESULT\" ) {\r\n var _id = `d${_poolType}Table${_ref}${_matchID}`;\r\n innerContent =
    \r\n {this.renderTournInfo(_singleMatch, _poolType)}\r\n \r\n \r\n
    ;\r\n } else {\r\n var _id = `d${_poolType}Table${_ref}${_matchID}`;\r\n\r\n innerContent =
    \r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName==\"MIXALLUP\") && _poolType == \"SGA\" && jsSGARemarks!=\"\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"CRS\" && jsCRSRemarks != \"\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"FCS\" && jsFCSRemarks != \"\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"ECS\" && jsECSRemarks != \"\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"FCH\" && jsFCHRemarks != \"\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"HDC\" && jsHDCRemarks != \"\" && _singleMatch[\"hdcodds\"] != null && _singleMatch[\"hdcodds\"].INPLAY == \"true\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"EDC\" && jsEDCRemarks != \"\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"HHA\" && jsHHARemarks != \"\" && _singleMatch[\"hhaodds\"] != null && _singleMatch[\"hhaodds\"].INPLAY == \"true\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"TTG\" && jsTTGRemarks != \"\" && _singleMatch[\"ttgodds\"] != null && _singleMatch[\"ttgodds\"].INPLAY == \"true\" ?
    : null}\r\n {(pageName == \"INPLAYALL\" || pageName == \"ALL\" || pageName == \"MIXALLUP\") && _poolType == \"ETG\" && jsETGRemarks != \"\" ?
    : null}\r\n \r\n \r\n
    ;\r\n }\r\n let specClassName = \"\";\r\n let displayValue = \"block\";\r\n if (pageName == \"MIXALLUP\") {\r\n specClassName = `mixOdds${_poolType}`;\r\n if ($.cookie(\"chkMixallup\") == null || $.cookie(\"chkMixallup\").indexOf(_poolType) == -1)\r\n displayValue = \"none\";\r\n }\r\n\r\n let tqlCode = \"\";\r\n let tqlStage = \"\";\r\n let expectedStopSellingTime = null;\r\n if (pageName.match(/^(ALL|INPLAYALL)$/) && _poolType == \"TQL\") {\r\n let tqlObj = _singleMatch[\"tqlodds\"];\r\n if (tqlObj != null) {\r\n tqlCode = tqlObj.CODE;\r\n tqlStage = tqlObj['STAGE'+curLang.toUpperCase()];\r\n //expectedStopSellingTime =
    \r\n // {tqlObj.ExpectedStopTime != null && tqlObj.ExpectedStopTime != \"\" ? formatEsstStr(tqlObj.ExpectedStopTime, true) : null} {tournamentName}
    ;\r\n }\r\n }\r\n\r\n return
    \r\n \r\n
    ;\r\n } catch (ex) {\r\n debugLog(\"SingleMatchSingleOddsTypeTable: \" + ex);\r\n }\r\n }\r\n}\r\n\r\nfunction renderFocusMatch(data, firstLoad) {\r\n try {\r\n var foundMatch = $.grep(data.matches, function (_as) { return _as.matchID == tMatchID; })[0];\r\n if (foundMatch == null) {\r\n $('#focusMatchNoInfo').show();\r\n }\r\n else {\r\n let _item = new Match(foundMatch);\r\n let _matchID = _item.matchIDinofficial;\r\n let singleOddsSet = _item.hadodds;\r\n let poolStatus = singleOddsSet.POOLSTATUS;\r\n let poolId = singleOddsSet.POOLID;\r\n let lineId = singleOddsSet.LINEID;\r\n let isAllup = singleOddsSet.ALLUP;\r\n let _oddsCell;\r\n let displayAddBet = false;\r\n let displayInplayLnk = false;\r\n\r\n if (_item.IsMatchKickOff()) {\r\n _oddsCell = null;\r\n if (singleOddsSet.INPLAY != \"true\") {\r\n $('#focusMatchStoppedSell').show();\r\n } else {\r\n displayInplayLnk = true;\r\n }\r\n } else {\r\n let tmpCells = [];\r\n allCheckBoxType.forEach(function (_cbType) {\r\n tmpCells.push();\r\n });\r\n _oddsCell =
    \r\n {tmpCells}\r\n
    ;\r\n if (!isSelling(poolStatus, \"100\", \"1\")) {\r\n $('#focusMatchNotStartedSell').show();\r\n } else {\r\n displayAddBet = true;\r\n }\r\n }\r\n ReactDOM.render(\r\n
    \r\n
    \r\n
    \r\n {_item.frontEndId}\r\n {formatImageStr([League.GetFlagPath(_item.tournament.tournamentShortName), _item.tournament['tournamentName' + curLang.toUpperCase()], _item.tournament.tournamentShortName])}\r\n
    \r\n
    \r\n {oddsAllJump(_item.matchID, sTeamString(true, false, _item, true, false), displayInplayLnk)}\r\n
    \r\n
    \r\n {_oddsCell}\r\n {displayAddBet ? : null}\r\n {displayInplayLnk ?\r\n
    \r\n
    \r\n {formatInplayIco(_item, \"focusmatch\", \"HAD\")}\r\n
    \r\n
    \r\n :\r\n null}\r\n
    ,\r\n document.getElementById('focusMatchContent')\r\n );\r\n }\r\n\r\n } catch (ex) { debugLog(ex); }\r\n return false;\r\n}\r\n\r\nfunction renderMatchTable(data, firstLoad) {\r\n\r\n let keepRefresh = false;\r\n try {\r\n if (matchDataList == null || matchDataList.length == 0) {\r\n //handler either not an array or empty array\r\n\r\n displayNoMatch(true, true);\r\n }\r\n if (pageName == \"DHCP\") {\r\n // Parimutuel pools\r\n keepRefresh = renderParimutuelPage(data, pageName, firstLoad);\r\n if (firstLoad) {\r\n matchDay = [];\r\n matchNum = [];\r\n let hTeam = [];\r\n let aTeam = [];\r\n for (var key in betValue) {\r\n matchDay[matchDay.length] = betValue[key].matchDay;\r\n matchNum[matchNum.length] = betValue[key].matchNum;\r\n hTeam[hTeam.length] = betValue[key].homeTeam[\"teamName\" + jsLang];\r\n aTeam[aTeam.length] = betValue[key].awayTeam[\"teamName\" + jsLang];\r\n\r\n if (isQRPortal) {\r\n let _otherLang = \"EN\";\r\n if (jsLang == \"EN\") {\r\n _otherLang = \"CH\";\r\n }\r\n hTeamOtherLang[hTeamOtherLang.length] = betValue[key].homeTeam[\"teamName\" + _otherLang];\r\n aTeamOtherLang[aTeamOtherLang.length] = betValue[key].awayTeam[\"teamName\" + _otherLang];\r\n }\r\n }\r\n }\r\n } else if (isDisplayMatchDDLPage()) {\r\n keepRefresh = renderMatchTableSingleMatch(data, firstLoad);\r\n } else {\r\n keepRefresh = renderMatchTableMultipleMatch(data, firstLoad);\r\n }\r\n } catch (e) {\r\n displayNoMatch(true, true);\r\n }\r\n \r\n return keepRefresh;\r\n}\r\n\r\nfunction renderMatchTableSingleMatch(data, firstLoad) {\r\n let keepRefresh = false;\r\n //var _matchList = [];\r\n couponCount = 0;\r\n if (data == null || data.length == 0) {\r\n totalMatch = 0;\r\n } else {\r\n totalMatch = data.matches.length;\r\n }\r\n var Msg = false;\r\n var allCouponArr = [];\r\n\r\n if (totalMatch > 0) {\r\n allCouponArr = [putMatchesToCoupon(data.matches, [], false)];\r\n if (curTabType == tabType.Feature) {\r\n curTabType = tabType.Date;\r\n }\r\n\r\n let displayNoPoolMsg = displayContentWithDDL(allCouponArr, data, firstLoad);\r\n\r\n if (displayNoPoolMsg) {\r\n displayNoMatch(true, true);\r\n $('#dContainer').hide();\r\n } else {\r\n $('#dContainer').show();\r\n $('#NoPoolMsg').hide();\r\n $('#todds .OddsDetails').show();\r\n // update display update time\r\n initRefreshTime();\r\n keepRefresh = true;\r\n }\r\n } else {\r\n displayNoMatch(true, true);\r\n $('#dContainer').hide();\r\n }\r\n return keepRefresh;\r\n}\r\n\r\nvar resultsSearchPara = '';\r\nvar isOnLastOddsPage = false;\r\nfunction renderResults() {\r\n try {\r\n isOnLastOddsPage = false;\r\n let data = dataCache;\r\n var tmpMatchId = GetDataStore(\"__extendresdtls\");\r\n if (tmpMatchId != null && tmpMatchId != \"\")\r\n rMatchID = tmpMatchId;\r\n\r\n if (rMatchID != \"\") {\r\n renderResultDetails(rMatchID);\r\n return false;\r\n }\r\n\r\n if (getMatchLength(data[0]) > 0) {\r\n // render coupons\r\n let _sortedMatchList = putUniqueMatchesToCoupon(data[0].matches, null, false);\r\n // put all coupons to same array\r\n _sortedMatchList = [].concat.apply([], _sortedMatchList);\r\n let matchRows = [];\r\n _sortedMatchList.forEach(function (singleMatch, _mind) {\r\n let altRow = _mind;\r\n matchRows.push();\r\n });\r\n ReactDOM.render(\r\n
    \r\n {matchRows}\r\n
    ,\r\n document.getElementById('resMatchIn')\r\n );\r\n $('.trMatchIn').show();\r\n } else {\r\n $('.trMatchIn').hide();\r\n }\r\n if (getMatchLength(data[1]) > 0) {\r\n // render coupons\r\n let _sortedMatchList = putUniqueMatchesToCoupon(data[1].matches, null, false);\r\n\r\n //_sortedMatchList = _sortedMatchList.reverse();\r\n let _coupons = [];\r\n _sortedMatchList.forEach(function (_coupon, _cid) {\r\n _coupons.push()\r\n });\r\n\r\n ReactDOM.render(\r\n
    \r\n {_coupons}\r\n
    ,\r\n document.getElementById('resMatch')\r\n );\r\n\r\n $('.lblFullTime').show();\r\n // display extra time label\r\n if ($('.lblExtraTime').length > 1) {\r\n $('.lblExtraTime').show();\r\n } else {\r\n $('.lblExtraTime').hide();\r\n }\r\n\r\n $('.noinfo').hide();\r\n $('.trMatch').show();\r\n } else {\r\n if (getMatchLength(data[0]) > 0) {\r\n $('#trHeaderMatch').hide();\r\n }\r\n }\r\n if (getMatchLength(data[0]) == 0 && getMatchLength(data[1]) == 0)\r\n drawEmptyResult();\r\n return false;\r\n } catch (ex) {\r\n debugLog(\"renderResults:\" + ex);\r\n }\r\n}\r\n\r\nfunction drawSearchResults() {\r\n $('#trHeaderMatch').show();\r\n $('.trMatchIn').hide();\r\n $('#divLoading').hide();\r\n\r\n var tmpMatchId = GetDataStore(\"__extendresdtls\");\r\n if (tmpMatchId != null && tmpMatchId != \"\")\r\n rMatchID = tmpMatchId;\r\n\r\n if (rMatchID != \"\") {\r\n renderResultDetails(rMatchID);\r\n return false;\r\n }\r\n\r\n totalMatch = parseInt(dataCache[0].matchescount, 10);\r\n //displaySearchLabel();\r\n\r\n if (totalMatch > 0) {\r\n startMatch = (curPage - 1) * maxMatch + 1;\r\n endMatch = startMatch + maxMatch - 1;\r\n endMatch = (endMatch > totalMatch ? totalMatch : endMatch);\r\n\r\n let matchRows = [];\r\n let hasExtraTimeMatch = false;\r\n for (let i = 0; i < dataCache[0].matches.length; i++) {\r\n let singleMatch = dataCache[0].matches[i];\r\n matchRows.push();\r\n if (!hasExtraTimeMatch && singleMatch.GetExtraTimeScore() != null) {\r\n hasExtraTimeMatch = true;\r\n }\r\n }\r\n\r\n ReactDOM.render(\r\n
    \r\n {matchRows}\r\n
    ,\r\n document.getElementById('resMatch')\r\n );\r\n couponCount = 0;\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('searchTableHeader')\r\n );\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('searchTableFooter')\r\n );\r\n\r\n $('.pagination').show();\r\n $('.lblFullTime').show();\r\n // display extra time label\r\n if (hasExtraTimeMatch) {\r\n $('.lblExtraTime').show();\r\n } else {\r\n $('.lblExtraTime').hide();\r\n }\r\n\r\n $('.noinfo').hide();\r\n $('.trMatch').show();\r\n } else {\r\n drawEmptyResult();\r\n }\r\n return false;\r\n}\r\n\r\nfunction renderResultDetails(_rMatchID) {\r\n try {\r\n rMatchID = _rMatchID;\r\n\r\n // find match from dataCache\r\n let _resultDetails;\r\n let _tournament;\r\n if (dataCache.length > 1) {\r\n _resultDetails = $.grep(dataCache[1].matches, function (_match) { return _match.matchID == _rMatchID; })[0];\r\n _tournament= $.grep(dataCache[1].tournaments, function (_tourn) { return _tourn.tournamentID == _resultDetails.tournament.tournamentID; })[0];\r\n } else {\r\n _resultDetails = $.grep(dataCache[0].matches, function (_match) { return _match.matchID == _rMatchID; })[0];\r\n _tournament= $.grep(dataCache[0].tournaments, function (_tourn) { return _tourn.tournamentID == _resultDetails.tournament.tournamentID; })[0];\r\n }\r\n let _normalPools = [\"HAD\", \"FHA\", \"CRS\", \"FCS\", \"HFT\", \"TTG\", \"OOE\", \"FGS\", \"TQL\"];\r\n let _1stHalfPools = [\"FHA\", \"FCS\", \"FGS\"];\r\n let _ntsPools = [\"NTS\", \"ETS\"];\r\n let _normalFtsPools = [\"FTS\"];\r\n let _extraTimePools = [\"EHA\", \"ECS\", \"ETG\"];\r\n let _entPools = [\"ENT\"];\r\n\r\n let normalTable = [];\r\n let ftsTable = [];\r\n let ntsTable = [];\r\n let spcTable = [];\r\n let sgaTable = [];\r\n let extraTimeTable = [];\r\n let entTable = [];\r\n\r\n // change title for half time result\r\n let strHalfTimeDiv = \"FCS,FHA,FGS,FTS\"; // \"fcs,fts,fgs,fha\";\r\n if (_resultDetails.isEndOfHalfTimeWithDiv(strHalfTimeDiv)) {\r\n $('.matchResultDetail').html(jsdetailsResult_half);\r\n _normalPools = _1stHalfPools;\r\n } else {\r\n $('.matchResultDetail').html(jsdetailsResult);\r\n }\r\n\r\n let scoreTable = [];\r\n let scoreAbandonedTable = [];\r\n let extraTimeScoreTable = [];\r\n let extraTimeScoreAbandonedTable = [];\r\n\r\n let firstHalfScore = '-';\r\n let secondHalfScore = '-';\r\n let abandonedScore = '-';\r\n let extraTimeScore = '-';\r\n let extraTimeAbandonedScore = '-';\r\n let halftimeCorner = \"\";\r\n let normalCorner = \"\";\r\n let abandonedNormalCorner = \"\";\r\n let extraTimeCorner = \"\";\r\n let abandonedExtraTimeCorner = \"\";\r\n let is1stHalfFinal = false;\r\n let is2ndHalfFinal = false;\r\n let isExtraFinal = false; \r\n let isVoid = _resultDetails.isVoidMatch();\r\n \r\n // score result\r\n if (_resultDetails.accumulatedscore != null) {\r\n let firstHalfResult = $.grep(_resultDetails.accumulatedscore, function (_as) { return _as.periodvalue == \"FirstHalf\"; })[0];\r\n let secondHalfResult = $.grep(_resultDetails.accumulatedscore, function (_as) { return _as.periodvalue == \"SecondHalf\"; })[0];\r\n let extraTimeResult = $.grep(_resultDetails.accumulatedscore, function (_as) { return _as.periodvalue == \"ExtraTime\"; })[0];\r\n is1stHalfFinal = firstHalfResult != null && firstHalfResult.periodstatus == \"ResultFinal\";\r\n is2ndHalfFinal = secondHalfResult != null && secondHalfResult.periodstatus == \"ResultFinal\";\r\n isExtraFinal = extraTimeResult != null && extraTimeResult.periodstatus == \"ResultFinal\";\r\n if (is1stHalfFinal) {\r\n firstHalfScore = firstHalfResult.home + \" : \" + firstHalfResult.away;\r\n }\r\n if (is2ndHalfFinal) {\r\n secondHalfScore = secondHalfResult.home + \" : \" + secondHalfResult.away;\r\n }\r\n if (isExtraFinal) {\r\n extraTimeScore = extraTimeResult.home + \" : \" + extraTimeResult.away;\r\n }\r\n if (_resultDetails.htcornerresult == 'RFD') {\r\n halftimeCorner = jsRFD;\r\n }\r\n else if (_resultDetails.htcornerresultfinal == \"1\" && _resultDetails.htcornerresult != null && _resultDetails.htcornerresult != '') {\r\n halftimeCorner = _resultDetails.htcornerresult;\r\n }\r\n if (_resultDetails.cornerresult == 'RFD') {\r\n normalCorner = jsRFD;\r\n }\r\n else if (_resultDetails.cornerresultfinal == \"1\" && _resultDetails.cornerresult != null && _resultDetails.cornerresult!='') {\r\n normalCorner = _resultDetails.cornerresult;\r\n }\r\n if (_resultDetails.etcornerresult == 'RFD') {\r\n extraTimeCorner = jsRFD;\r\n }\r\n else if (_resultDetails.etcornerresultfinal == \"1\" && _resultDetails.etcornerresult != null && _resultDetails.etcornerresult != '') {\r\n extraTimeCorner = _resultDetails.etcornerresult;\r\n }\r\n }\r\n\r\n let isETVoid = isVoid && is1stHalfFinal && is2ndHalfFinal;\r\n if (isVoid) {\r\n if (isETVoid) {\r\n if (_resultDetails.abandonedscore != null) {\r\n extraTimeAbandonedScore = _resultDetails.abandonedscore.home + \" : \" + _resultDetails.abandonedscore.away;\r\n }\r\n if (_resultDetails.abandonedcornerresult != null && _resultDetails.abandonedcornerresultfinal == \"1\") {\r\n abandonedExtraTimeCorner = _resultDetails.abandonedcornerresult;\r\n }\r\n }\r\n else {\r\n if (_resultDetails.abandonedscore != null) {\r\n abandonedScore = _resultDetails.abandonedscore.home + \" : \" + _resultDetails.abandonedscore.away;\r\n }\r\n if (_resultDetails.abandonedcornerresult != null && _resultDetails.abandonedcornerresultfinal == \"1\") {\r\n abandonedNormalCorner = _resultDetails.abandonedcornerresult;\r\n }\r\n }\r\n }\r\n\r\n let firstHalfAdd1 = null;\r\n let firstHalfAdd2 = null;\r\n let secondHalfAdd1 = null;\r\n let secondHalfAdd2 = null;\r\n let extraTimeAdd1 = null;\r\n let extraTimeAdd2 = null;\r\n let halfCornerAdd1 = null;\r\n let halfCornerAdd2 = null;\r\n let fullCornerAdd1 = null;\r\n let fullCornerAdd2 = null;\r\n let extraCornerAdd1 = null;\r\n let extraCornerAdd2 = null;\r\n\r\n if (_resultDetails.addResults.length > 0) {\r\n let addRes1 = _resultDetails.addResults.filter(function (x) { return x.id == 1; })[0];\r\n let addRes2 = _resultDetails.addResults.filter(function (x) { return x.id == 2; })[0];\r\n if (addRes1) {\r\n if (addRes1.halfHome != null && addRes1.halfAway != null) {\r\n firstHalfAdd1 = addRes1.halfHome + \" : \" + addRes1.halfAway;\r\n }\r\n if (addRes1.fullHome != null && addRes1.fullAway != null) {\r\n secondHalfAdd1 = addRes1.fullHome + \" : \" + addRes1.fullAway;\r\n }\r\n if (addRes1.extraHome != null && addRes1.extraAway != null) {\r\n extraTimeAdd1 = \"[\" + addRes1.extraHome + \" : \" + addRes1.extraAway + \"]\";\r\n }\r\n if (addRes1.halfCorner != null) {\r\n halfCornerAdd1 = addRes1.halfCorner;\r\n }\r\n if (addRes1.fullCorner != null) {\r\n fullCornerAdd1 = addRes1.fullCorner;\r\n }\r\n if (addRes1.extraCorner != null) {\r\n extraCornerAdd1 = addRes1.extraCorner;\r\n }\r\n }\r\n if (addRes2) {\r\n if (addRes2.halfHome != null && addRes2.halfAway != null) {\r\n firstHalfAdd2 = addRes2.halfHome + \" : \" + addRes2.halfAway;\r\n }\r\n if (addRes2.fullHome != null && addRes2.fullAway != null) {\r\n secondHalfAdd2 = addRes2.fullHome + \" : \" + addRes2.fullAway;\r\n }\r\n if (addRes2.extraHome != null && addRes2.extraAway != null) {\r\n extraTimeAdd2 = \"[\" + addRes2.extraHome + \" : \" + addRes2.extraAway + \"]\";\r\n }\r\n if (addRes2.halfCorner != null) {\r\n halfCornerAdd2 = addRes2.halfCorner;\r\n }\r\n if (addRes2.fullCorner != null) {\r\n fullCornerAdd2 = addRes2.fullCorner;\r\n }\r\n if (addRes2.extraCorner != null) {\r\n extraCornerAdd2 = addRes2.extraCorner;\r\n }\r\n }\r\n }\r\n\r\n scoreTable =
    \r\n
    \r\n
    {jsresults}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {jshalfTimeScoreResult}
    \r\n
    \r\n
    {firstHalfScore}
    \r\n {firstHalfAdd1 ?
    {firstHalfAdd1}
    : null}\r\n {firstHalfAdd2 ?
    {firstHalfAdd2}
    : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {jsfullTimeScoreResult}
    \r\n
    \r\n
    {secondHalfScore}
    \r\n {secondHalfAdd1 ?
    {secondHalfAdd1}
    : null}\r\n {secondHalfAdd2 ?
    {secondHalfAdd2}
    : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {halftimeCorner != '' || normalCorner != '' ?\r\n
    \r\n
    \r\n {halftimeCorner != '' ?
    \r\n
    {jsCornerTakenHT}
    \r\n
    \r\n
    {halftimeCorner == 'RFD' ? jsRFD : halftimeCorner}
    \r\n {halfCornerAdd1 ?
    {halfCornerAdd1}
    : null}\r\n {halfCornerAdd2 ?
    {halfCornerAdd2}
    : null}\r\n
    \r\n
    : null}\r\n
    \r\n
    \r\n {normalCorner != '' ?
    \r\n
    {jsCornerTakenFT}
    \r\n
    \r\n
    {normalCorner == 'RFD' ? jsRFD : normalCorner}
    \r\n {fullCornerAdd1 ?
    {fullCornerAdd1}
    : null}\r\n {fullCornerAdd2 ?
    {fullCornerAdd2}
    : null}\r\n
    \r\n
    : null}\r\n
    \r\n
    : null}\r\n
    ;\r\n\r\n if (abandonedScore != '-' || abandonedNormalCorner != '') {\r\n scoreAbandonedTable =
    \r\n
    \r\n
    {jsabandonedScoreResult}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {jsscoreResult}
    \r\n
    {abandonedScore}
    \r\n
    \r\n
    \r\n
    \r\n {abandonedNormalCorner != '' ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {jsCornerResult}
    \r\n
    {abandonedNormalCorner == 'RFD' ? jsRFD : abandonedNormalCorner}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    : null}\r\n
    ;\r\n }\r\n\r\n if (extraTimeScore != '-' || extraTimeCorner != '' || extraTimeAbandonedScore != '-') {\r\n extraTimeScoreTable =
    \r\n
    \r\n
    {jsextraTimeResult}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {jsextraTimeScoreResult}
    \r\n
    \r\n
    {extraTimeScore}
    \r\n {extraTimeAdd1 ?
    {extraTimeAdd1}
    : null}\r\n {extraTimeAdd2 ?
    {extraTimeAdd2}
    : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {extraTimeCorner != '' ?\r\n
    \r\n
    {jsCornerTakenET}
    \r\n
    \r\n
    {extraTimeCorner}
    \r\n {extraCornerAdd1 ?
    {extraCornerAdd1}
    : null}\r\n {extraCornerAdd2 ?
    {extraCornerAdd2}
    : null}\r\n
    \r\n
    : null}\r\n
    \r\n
    \r\n
    \r\n
    ;\r\n }\r\n\r\n if (extraTimeAbandonedScore != '-' || abandonedExtraTimeCorner != '') {\r\n extraTimeScoreAbandonedTable =
    \r\n
    \r\n
    {jsabandonedScoreResultET}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {jsscoreResult}
    \r\n
    {extraTimeAbandonedScore}
    \r\n
    \r\n
    \r\n
    \r\n {abandonedExtraTimeCorner != '' ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {jsCornerResult}
    \r\n
    {abandonedExtraTimeCorner}
    \r\n
    \r\n
    \r\n
    \r\n
    : null}\r\n
    \r\n
    ;\r\n }\r\n \r\n // draw normal pools\r\n for (let i = 0; i < _normalPools.length; i++) {\r\n if (_resultDetails.HasPoolResults(_normalPools[i])) {\r\n let displayPoolName;\r\n if (_normalPools[i] == \"HAD\") {\r\n displayPoolName = jsnts_HAD;\r\n } else if (_normalPools[i] == \"FHA\") {\r\n displayPoolName = jsnts_FHAD;\r\n } else {\r\n displayPoolName = GetGlobalResources(_normalPools[i]);\r\n }\r\n normalTable.push(
    \r\n
    {displayPoolName}
    \r\n
    {_resultDetails.GetNonNTSResult(_normalPools[i])}
    \r\n
    );\r\n }\r\n }\r\n\r\n // draw fts pools (right top table)\r\n for (let i = 0; i < _normalFtsPools.length; i++) {\r\n if (_resultDetails.HasPoolResults(_normalFtsPools[i])) {\r\n ftsTable.push(
    \r\n
    {GetGlobalResources(_normalFtsPools[i])}
    \r\n
    {_resultDetails.GetNonNTSResult(_normalFtsPools[i])}
    \r\n
    );\r\n }\r\n }\r\n\r\n // draw nts pools (right bottom table)\r\n for (let i = 0; i < _ntsPools.length; i++) {\r\n for (let k = 1; k <= 30; k++) { //assume maximum 30 NTS / ETS items\r\n if (_resultDetails.HasPoolResults(_ntsPools[i] + k)) {\r\n let displayPoolName;\r\n let goalnumber = k;\r\n let extraTimeInfo = \"\";\r\n if (_ntsPools[i] == \"ETS\") {\r\n goalnumber = parseInt(goalnumber, 10);\r\n extraTimeInfo = jsextratime;\r\n }\r\n if (curLang == 'en') {\r\n displayPoolName = {goalnumber}{getNumberSuffix(goalnumber)}{GetGlobalResources(\"ntslastpart\", \"js\")} {extraTimeInfo};\r\n } else {\r\n displayPoolName = {GetGlobalResources(\"ntsfstpart\", \"js\")}{goalnumber}{GetGlobalResources(\"ntslastpart\", \"js\")} {extraTimeInfo};\r\n }\r\n ntsTable.push(
    \r\n
    {displayPoolName}
    \r\n
    {_resultDetails.GetNTSResult(_ntsPools[i], k)}
    \r\n
    );\r\n }\r\n }\r\n }\r\n\r\n // draw spc (bottom table)\r\n spcTable = drawSPCResultRows(_resultDetails, `dSPC${_resultDetails.matchID}`, 'SPC');\r\n\r\n // draw sga (bottom table)\r\n sgaTable = drawSPCResultRows(_resultDetails, 'dSGA' + _resultDetails.matchID, 'SGA');\r\n\r\n // draw extra time pools\r\n for (let i = 0; i < _extraTimePools.length; i++) {\r\n if (_resultDetails.HasPoolResults(_extraTimePools[i])) {\r\n let displayPoolName = GetGlobalResources(_extraTimePools[i]);\r\n extraTimeTable.push(
    \r\n
    {displayPoolName}
    \r\n
    {_resultDetails.GetNonNTSResult(_extraTimePools[i])}
    \r\n
    );\r\n }\r\n }\r\n\r\n // draw ent pools (right bottom table)\r\n for (let i = 0; i < _entPools.length; i++) {\r\n for (let k = 1; k <= 30; k++) { //assume maximum 30 NTS / ETS items\r\n if (_resultDetails.HasPoolResults(_entPools[i] + k)) {\r\n let displayPoolName;\r\n let goalnumber = k;\r\n if (curLang=='en') {\r\n displayPoolName = {goalnumber}{getNumberSuffix(goalnumber)}{GetGlobalResources(\"ntslastpart\", \"js\")};\r\n } else {\r\n displayPoolName = {GetGlobalResources(\"ntsfstpart\", \"js\")}{goalnumber}{GetGlobalResources(\"ntslastpart\", \"js\")};\r\n }\r\n entTable.push(
    \r\n
    {displayPoolName}
    \r\n
    {_resultDetails.GetNTSResult(_entPools[i], k)}
    \r\n
    );\r\n }\r\n }\r\n }\r\n\r\n // add title row to tables\r\n if (normalTable.length > 0) {\r\n normalTable =
    \r\n
    \r\n
    {jsbettypes}
    \r\n
    {jsmatchresults}
    \r\n
    \r\n {normalTable}\r\n
    ;\r\n }\r\n if (ftsTable.length > 0) {\r\n ftsTable =
    \r\n
    \r\n
    {jsbettypes}
    \r\n
    {jsmatchresults}
    \r\n
    \r\n {ftsTable}\r\n
    ;\r\n }\r\n if (ntsTable.length > 0) {\r\n ntsTable =
    \r\n
    \r\n
    {jsNTS}
    \r\n
    {jsscoreteam}
    \r\n
    \r\n {ntsTable}\r\n
    ;\r\n }\r\n if (spcTable.length > 0) {\r\n spcTable =
    \r\n
    \r\n {jsspcresults}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {jsitemno}\r\n
    \r\n
    \r\n {jsitem}\r\n
    \r\n
    \r\n {jsresults}\r\n
    \r\n
    \r\n {spcTable}\r\n
    \r\n
    ;\r\n }\r\n if (sgaTable.length > 0) {\r\n sgaTable =
    \r\n
    \r\n {jssgaresults}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {jsitemno}\r\n
    \r\n
    \r\n {jsitem}\r\n
    \r\n
    \r\n {jsresults}\r\n
    \r\n
    \r\n {sgaTable}\r\n
    \r\n
    ;\r\n }\r\n if (extraTimeTable.length > 0) {\r\n extraTimeTable =
    \r\n
    \r\n
    {jsextraTimeBettypes}
    \r\n
    {jsmatchresults}
    \r\n
    \r\n {extraTimeTable}\r\n
    ;\r\n }\r\n if (entTable.length > 0) {\r\n entTable =
    \r\n
    \r\n
    {jsextraTimeBettypes}
    \r\n
    {jsmatchresults}
    \r\n
    \r\n
    \r\n
    {jsENT}
    \r\n
    {jsscoreteam}
    \r\n
    \r\n {entTable}\r\n
    ;\r\n }\r\n let resdetailtourn_img = formatImageStr(\r\n [League.GetFlagPath(_tournament.tournamentShortName),\r\n _tournament['tournamentName' + curLang.toUpperCase()],\r\n _tournament.tournamentShortName]);\r\n ReactDOM.render(\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {scoreTable}\r\n
    \r\n
    \r\n
    \r\n {\r\n scoreAbandonedTable.length == 0 ? null :\r\n
    \r\n
    \r\n
    \r\n {scoreAbandonedTable}\r\n
    \r\n
    \r\n
    \r\n }\r\n {\r\n (normalTable.length == 0 && ftsTable.length == 0 && ntsTable.length==0 ) ? null :\r\n
    \r\n
    \r\n
    \r\n {normalTable}\r\n
    \r\n
    \r\n {ftsTable}\r\n {ntsTable}\r\n
    \r\n
    \r\n
    \r\n }\r\n {\r\n extraTimeScoreTable.length == 0 ? null :\r\n
    \r\n
    \r\n
    \r\n {extraTimeScoreTable}\r\n
    \r\n
    \r\n
    \r\n }\r\n {\r\n extraTimeScoreAbandonedTable.length == 0 ? null :\r\n
    \r\n
    \r\n
    \r\n {extraTimeScoreAbandonedTable}\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {extraTimeTable}\r\n
    \r\n
    \r\n {entTable}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {spcTable}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {sgaTable}\r\n
    \r\n
    \r\n
    \r\n
    ,\r\n document.getElementById('trResultDetails')\r\n );\r\n\r\n $(\"#resultRemark\").html('');\r\n if (_resultDetails.matchStatus == \"Canceled\") {\r\n $(\"#resultRemark\").html(jsresultRemark);\r\n }\r\n\r\n window.scrollTo(0, 0);\r\n\r\n $('.allResults').hide();\r\n $('.resultsDetails').show();\r\n\r\n $('.hdMatchLastOdds').hide();\r\n $('.hdResultDetails').show();\r\n\r\n var tmpId = GetDataStore(\"__extendresdtls\");\r\n if (tmpId == null || tmpId == '') {\r\n window.scrollTo(0, 0);\r\n let newUrl = location.href + '#';\r\n window.history.pushState({ \"product\": curProduct, \"page\": curPageId, \"lang\": curLang, \"para\": para }, \"\", newUrl);\r\n }\r\n else {\r\n ClearDataStoreItem(\"__extendresdtls\");\r\n }\r\n } catch (ex) {\r\n debugLog(\"renderResultDetails\" + ex);\r\n }\r\n}\r\n\r\nclass ResultDetailTournament extends React.Component {\r\n render() {\r\n let t = this.props.tournament;\r\n let m = this.props.match;\r\n let i = this.props.imgstr;\r\n\r\n let eventId = m.isBAUResult ? GetGlobalResources(m.matchDay, \"js\") + \" \" + m.matchNum : m.frontEndId\r\n\r\n if (t) {\r\n return
    \r\n \r\n {`${jseventNo}:`}\r\n {'\\u00A0'}{eventId}{'\\u00A0'}\r\n {i}\r\n {'\\u00A0'}{sTeamString(false, false, m, true, true, \"HAD\")}\r\n \r\n
    ;\r\n } \r\n return null;\r\n }\r\n}\r\n\r\nfunction renderLastOdds(_rMatchID, retryOnce) {\r\n try {\r\n // get data\r\n if (noOfFail <= 2) {\r\n $.ajax({\r\n url: \"/football/getJSON.aspx?jsontype=last_odds.aspx&matchid=\" + _rMatchID,\r\n type: \"get\",\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n if (data.indexOf && data.indexOf(wafKeyword) >= 0 && !retryOnce) {\r\n $('#tFrame').attr('src', '/reload.aspx?a=' + (new Date().getTime()));\r\n setTimeout(function () {\r\n renderLastOdds(_rMatchID, true);\r\n }, 1000);\r\n return;\r\n }\r\n lastOddsCache = data;\r\n drawLastOdds(_rMatchID);\r\n },\r\n error: function () {\r\n noOfFail++;\r\n }\r\n });\r\n }\r\n\r\n } catch (ex) { debugLog(ex); }\r\n}\r\n\r\nfunction drawLastOdds(_rMatchID) {\r\n try {\r\n rMatchID = _rMatchID;\r\n let _singleMatch = new Match(lastOddsCache);\r\n\r\n ReactDOM.render(\r\n renderMatchAllTable(_singleMatch, true, \"result\"),\r\n document.getElementById('trResultDetails')\r\n );\r\n\r\n $('#lastOddsRefreshTime').html(formatEsstStr(_singleMatch.statuslastupdated, true));\r\n\r\n $('.allResults').hide();\r\n $('.resultsDetails').show();\r\n\r\n $('.hdResultDetails').hide();\r\n $('.hdMatchLastOdds').show();\r\n $('#sgaRemarks').hide();\r\n\r\n var tmpId = GetDataStore(\"__extendlastOdds\");\r\n if (tmpId == null || tmpId == '') {\r\n window.scrollTo(0, 0);\r\n let newUrl = location.href + \"#\";\r\n var p = trimPara2();\r\n window.history.pushState({ \"product\": curProduct, \"page\": curPageId, \"lang\": curLang, \"para\": p }, \"\", newUrl);\r\n }\r\n else {\r\n ClearDataStoreItem(\"__extendlastOdds\");\r\n }\r\n\r\n isOnLastOddsPage = true;\r\n } catch (ex) {\r\n debugLog(\"drawLastOdds\" + ex);\r\n }\r\n}\r\n\r\nfunction renderFGSResults(firstLoad) {\r\n let couponList = [];\r\n let fg = [];\r\n for (let i in fgsJson) {\r\n var key = fgsJson[i].matchKODateFormatted.substring(0, 10);\r\n if (fg[key]) continue;\r\n fg[key] = true;\r\n couponList.push(key);\r\n }\r\n couponList.sort(function (x, y) {\r\n let tmpX = x.split('/');\r\n let tmpY = y.split('/');\r\n return (new Date(parseInt(tmpY[2]), parseInt(tmpY[1]) - 1, parseInt(tmpY[0]))).getTime() - (new Date(parseInt(tmpX[2]), parseInt(tmpX[1])-1, parseInt(tmpX[0]))).getTime();\r\n });\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('fgsRes')\r\n );\r\n return false;\r\n}\r\n\r\nfunction renderSPCResults(data, firstLoad) {\r\n // display no pool\r\n if (data == undefined || data == null || data.length == 0) {\r\n $('#noinformation').show();\r\n $('#dContainer').show();\r\n return false;\r\n }\r\n // display match SPC result\r\n let _coupons = [];\r\n data = data.sort(sort_by2([\"matchDate\", \"matchNum\"], [false, false], [trimMatchDate, parseInt]));\r\n for (var i = 0; i < data.length; i++) {\r\n let _couponName, _couponID;\r\n let _resultRow = [];\r\n let rightText = \"\";\r\n let _singleObjectResult;\r\n\r\n let _leagueName, _aTeamName, _hTeamName;\r\n if (jsLang == \"CH\") {\r\n _leagueName = data[i].league.leagueNameCH;\r\n _hTeamName = data[i].homeTeam.teamNameCH;\r\n _aTeamName = data[i].awayTeam.teamNameCH;\r\n } else {\r\n _leagueName = data[i].league.leagueNameEN;\r\n _hTeamName = data[i].homeTeam.teamNameEN;\r\n _aTeamName = data[i].awayTeam.teamNameEN;\r\n }\r\n _couponName = {jsmatchno}: {GetGlobalResources(data[i].matchDay, \"js\")} {data[i].matchNum} {formatMatchFlag(data[i].league.leagueShortName, _leagueName)} {_hTeamName} {jsVS} {_aTeamName};\r\n _couponID = `d${data[i].matchIDinofficial}`;\r\n rightText = `${jsdate}: ${formatYYYYMMDD(data[i].matchIDinofficial.substr(0, 8))}`;\r\n _singleObjectResult = new Match_Result(data[i], data.name == \"SPC Results\");;\r\n _resultRow = drawSPCResultRows(_singleObjectResult, _couponID);\r\n\r\n // coupon \r\n _coupons.push(
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {jsitemno}\r\n
    \r\n
    \r\n {jsitem}\r\n
    \r\n
    \r\n {jsresults}\r\n
    \r\n
    \r\n {_resultRow}\r\n
    \r\n
    );\r\n // content\r\n }\r\n\r\n // tourn results\r\n if (!displaySearchResult) {\r\n let parser = new DOMParser();\r\n let xmlDoc = parser.parseFromString(tournXML, \"text/xml\");\r\n\r\n let tdata = xmlDoc.getElementsByTagName(\"TOURN\");\r\n let found = false;\r\n\r\n let _content = new StringBuffer();\r\n for (var i = 0; i < tdata.length; i++) {\r\n let _tourn = tdata[i];\r\n let _tournID = _tourn.getAttribute(\"TOURN_ID\");\r\n\r\n let nameAttr = (jsLang == \"CH\" ? \"C_NAME\" : \"E_NAME\");\r\n let _tournName = _tourn.getAttribute(nameAttr);\r\n let _tournTitle = \r\n {jstournamentno} : {_tourn.getAttribute('TOURNAMENT_NO')} {formatTournFlag(_tourn.getAttribute('CODE'), _tournName)} {_tournName}\r\n ;\r\n\r\n let allPools = _tourn.getElementsByTagName('POOL');\r\n let _singlePool = allPools[0];\r\n\r\n let langPrefix;\r\n let _spcRFD = _singlePool.getAttribute('REFUND') == \"1\";\r\n let items = _singlePool.getElementsByTagName('ITEM');\r\n\r\n let _resultRow = [];\r\n let rightText = \"\";\r\n for (var j = 0; j < items.length; j++) {\r\n let _itemResult = [];\r\n if (_spcRFD) {\r\n _itemResult.push(
    {jsrefundforall}
    );\r\n } else {\r\n langPrefix = jsLang[0] + \"_\";\r\n }\r\n\r\n let _itemNo = items[j].getAttribute('NUM');\r\n let _itemQuestion = items[j].getAttribute(nameAttr);\r\n if (!_spcRFD) {\r\n if (items[j].getAttribute('REFUND') == \"1\") {\r\n _itemResult.push(
    {jsRFD}
    );\r\n } else {\r\n // get all selections\r\n let selNum = items[j].getAttribute(`SEL_1`);\r\n let answer = items[j].getAttribute(langPrefix + `SEL_1`);\r\n _itemResult.push(
    ({parseInt(selNum, 10)}) {answer}
    );\r\n\r\n // get all refund selections\r\n let refundedSel = items[j].getElementsByTagName('RFD');\r\n for (let rfdInd = 0; rfdInd < refundedSel.length; rfdInd++) {\r\n let rSelNum = refundedSel[rfdInd].getAttribute('NUM');\r\n let rAnswer = refundedSel[rfdInd].getAttribute(nameAttr);\r\n _itemResult.push(
    ({parseInt(rSelNum, 10)}) {rAnswer} - {jsRFD}
    );\r\n }\r\n }\r\n }\r\n _resultRow.push(
    \r\n
    {_itemNo}
    \r\n
    {_itemQuestion}
    \r\n
    {_itemResult}
    \r\n
    );\r\n }\r\n\r\n _coupons.push(
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {jsitemno}\r\n
    \r\n
    \r\n {jsitem}\r\n
    \r\n
    \r\n {jsresults}\r\n
    \r\n
    \r\n {_resultRow}\r\n
    \r\n
    );\r\n }\r\n }\r\n\r\n\r\n ReactDOM.render(\r\n
    {_coupons}
    ,\r\n document.getElementById('dContainer')\r\n );\r\n return false;\r\n}\r\n\r\nfunction drawSPCSearchResults() {\r\n noOfSPCRow = 0;\r\n //displaySearchLabel();\r\n\r\n // display no pool\r\n if (dataCache == undefined || dataCache == null || dataCache.length == 0) {\r\n $('#noinformation').show();\r\n $('#dContainer').hide();\r\n return false;\r\n } else {\r\n $('#noinformation').hide();\r\n $('#dContainer').show();\r\n }\r\n // display match SPC result\r\n let _coupons = [];\r\n if (dataCache.length > 0) {\r\n totalMatch = dataCache.length;\r\n startMatch = (curPage - 1) * maxMatch + 1;\r\n endMatch = startMatch + maxMatch - 1;\r\n endMatch = (endMatch > totalMatch ? totalMatch : endMatch);\r\n\r\n let _typeResult = dataCache;\r\n\r\n _typeResult = _typeResult.sort(sort_by2([\"matchDate\", \"matchNum\"], [true, false], [trimMatchDate, parseInt]));\r\n\r\n for (var i = (startMatch - 1); i < endMatch; i++) {\r\n let _couponName, _couponID;\r\n let _resultRow = [];\r\n let _singleObjectResult;\r\n let rightText = \"\";\r\n\r\n let _leagueName, _aTeamName, _hTeamName;\r\n if (jsLang == \"CH\") {\r\n _leagueName = _typeResult[i].league.leagueNameCH;\r\n _hTeamName = _typeResult[i].homeTeam.teamNameCH;\r\n _aTeamName = _typeResult[i].awayTeam.teamNameCH;\r\n } else {\r\n _leagueName = _typeResult[i].league.leagueNameEN;\r\n _hTeamName = _typeResult[i].homeTeam.teamNameEN;\r\n _aTeamName = _typeResult[i].awayTeam.teamNameEN;\r\n }\r\n _couponName = {jsmatchno}: {GetGlobalResources(_typeResult[i].matchDay, \"js\")} {_typeResult[i].matchNum} {formatMatchFlag(_typeResult[i].league.leagueShortName, _leagueName)} {_hTeamName} {jsVS} {_aTeamName};\r\n _couponID = `d${_typeResult[i].matchIDinofficial}`;\r\n\r\n rightText = `${formatYYYYMMDD(_typeResult[i].matchIDinofficial.substr(0, 8))}`;\r\n _singleObjectResult = new Match_Result(_typeResult[i], _typeResult.name == \"SPC Results\");;\r\n _resultRow = drawSPCResultRows(_singleObjectResult, _couponID);\r\n\r\n // coupon \r\n _coupons.push(
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {jsitemno}\r\n
    \r\n
    \r\n {jsitem}\r\n
    \r\n
    \r\n {jsresults}\r\n
    \r\n
    \r\n {_resultRow}\r\n
    \r\n
    );\r\n }\r\n }\r\n\r\n ReactDOM.render(\r\n
    {_coupons}
    ,\r\n document.getElementById('dContainer')\r\n );\r\n\r\n couponCount = 0;\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('searchTableHeader')\r\n );\r\n\r\n $('.pagination').show();\r\n\r\n return false;\r\n}\r\n\r\nclass FGSResultsTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.couponList = this.props.couponList;\r\n this.state = {\r\n expandCoupon: this.initCouponExpands()\r\n };\r\n }\r\n initCouponExpands() {\r\n let s = {};\r\n for (let i in this.couponList) {\r\n s[this.couponList[i]] = true;\r\n }\r\n return s;\r\n }\r\n toggleCoupon(i) {\r\n let cou = this.state.expandCoupon;\r\n cou[i] = !cou[i];\r\n this.setState({ expandCoupon: cou });\r\n }\r\n render() {\r\n let tmpBody = [];\r\n if (fgsJson.length == 0) {\r\n tmpBody.push(
    \r\n

    \r\n

    {jsnoresultannounced}

    \r\n

    \r\n
    );\r\n $('.fgsRmks').hide();\r\n }\r\n else {\r\n let tmpHeader =
    \r\n
    {jsdate}
    \r\n
    {jsoddstable_eventid}
    \r\n
    \r\n \r\n {jsleagues_and_tournaments}\r\n \r\n
    \r\n
    {jsteams1}
    {jsteams2}
    \r\n
    {jsFGS}
    \r\n
    \r\n
    {jsRFD}
    \r\n
    \r\n {jsHomeTeam}\r\n {jsAwayTeam}\r\n
    \r\n
    \r\n
    ;\r\n\r\n let tmpCoupons = [];\r\n for (var i in this.couponList) {\r\n let tmpCoupon = [];\r\n let dt = this.couponList[i];\r\n let matches = $.grep(fgsJson, function (_obj) { return _obj.matchKODateFormatted.substring(0, 10) == dt; });\r\n let dtObj = new Date(dt.substring(6, 10) + '-' + dt.substring(3, 5) + '-' + dt.substring(0, 2));\r\n tmpCoupon.push(
    { this.toggleCoupon(dt); }}>\r\n \r\n {dt}({DateWeekLanguageSwitch(toWeekDay(dtObj.getDay()))}) {jstabletitlematches}\r\n
    );\r\n if (this.state.expandCoupon[dt]) {\r\n let altRow = 1;\r\n matches.sort(function (x, y) {\r\n if (x.matchNum != '') {\r\n return parseInt(x.matchNum) - parseInt(y.matchNum);\r\n }\r\n return x.frontEndId - y.frontEndId;\r\n });\r\n for (var j in matches) {\r\n tmpCoupon.push();\r\n }\r\n }\r\n tmpCoupons.push(
    {tmpCoupon}
    );\r\n }\r\n\r\n tmpBody.push(
    \r\n {tmpHeader}\r\n {tmpCoupons}\r\n
    );\r\n\r\n $('.fgsRmks').show();\r\n }\r\n\r\n return
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n {jsfgsresults}\r\n
    \r\n
    { window.print(); }} title={jsprintdata}>{jsprintdata}
    \r\n
    \r\n
    \r\n {tmpBody}\r\n
    ;\r\n }\r\n}\r\n\r\nfunction renderMatchTableMultipleMatch(odata, firstLoad) {\r\n //data = data.map(a => Object.assign({}, a)); << not available in IE\r\n try {\r\n let data;\r\n if (odata.constructor === Array)\r\n data = odata.map(a => jQuery.extend(true, {}, a));\r\n else\r\n data = jQuery.extend(true, {}, odata);\r\n\r\n let keepRefresh = false;\r\n //var _matchList = [];\r\n\r\n if (data.name != \"odds_featured_matches.aspx\" && pageName == \"OFM\") {\r\n return;\r\n }\r\n\r\n couponCount = 0;\r\n if (data.length == 0) {\r\n totalMatch = 0;\r\n } else {\r\n totalMatch = data.matches.length;\r\n }\r\n\r\n let displayNoPoolMsg = false;\r\n let allCouponArr = [];\r\n let allTournamentsArr = [];\r\n\r\n if (totalMatch > 0) {\r\n var couponArr = null;\r\n var tournamentsArr = null;\r\n if (data != undefined && data.matches != undefined && data.matches.length > 0 && data.tournaments != undefined && data.tournaments.length > 0) {\r\n couponArr = putMatchesToCoupon(data.matches, null, true);\r\n tournamentsArr = pushOddsTableTournamentsArr(data.tournaments, false);\r\n }\r\n allCouponArr.push.apply(allCouponArr, [couponArr]);\r\n allTournamentsArr.push.apply(allTournamentsArr, [tournamentsArr]);\r\n\r\n if (allCouponArr[0] != undefined && allCouponArr[0] != null && allCouponArr[0].length > 0) {\r\n renderOddsTable(allCouponArr[0], \"ActiveMatches\", oddsType, allTournamentsArr[0], firstLoad, data.name);\r\n } else {\r\n renderEmptyOddsTable();\r\n }\r\n\r\n let tempArr = jQuery.isEmptyObject(allCouponArr) ? allTournamentsArr : allCouponArr;\r\n let isArrayEmpty = jQuery.isEmptyObject(tempArr) ? jQuery.isEmptyObject(tempArr) : false;\r\n for (var i in tempArr) {\r\n if (!isArrayEmpty)\r\n break;\r\n isArrayEmpty = jQuery.isEmptyObject(tempArr[i]);\r\n }\r\n\r\n if (displayNoPoolMsg || isArrayEmpty) {\r\n displayNoMatch(true);\r\n } else {\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('OddsTableFooter')\r\n );\r\n if (firstLoad) {\r\n showHeaderIcons();\r\n }\r\n $('#NoPoolMsg').hide();\r\n $('#todds .OddsDetails').show();\r\n updateSimpleMatchList();\r\n // update display update time\r\n initRefreshTime();\r\n keepRefresh = true;\r\n }\r\n } else {\r\n displayNoMatch(true);\r\n /*\r\n if(firstLoad) {\r\n displayNoMatch(true);\r\n } else {\r\n disableAllCheckBox();\r\n }*/\r\n }\r\n return keepRefresh;\r\n } catch (ex) {\r\n debugLog(\"renderMatchTableMultipleMatch:\" + ex);\r\n }\r\n}\r\n\r\nvar matchInfo = null;\r\nfunction displayContentWithDDL(allCouponArr, data, firstLoad) {\r\n let displayNoPoolMsg = false;\r\n var singleMatch = null;\r\n let otherDateMatches = [];\r\n \r\n let tabDropTournaments = allTournaments.sort(sort_by2([\"displayOrder\"], [false], [parseInt]));\r\n\r\n // get available date\r\n let hasSelectedDate = false;\r\n let tabMatches = matchDataList;\r\n let availableDate = getAvailabDateListFromMatches(tabMatches);\r\n let oMatchId = tMatchID;\r\n\r\n selectedTabDateArra = [];\r\n // set selected date tab\r\n tabMatches.forEach(function (singleCoupon, couponIndex) {\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n let couponMatchID = singleCoupon.matchID;\r\n if (tMatchID == couponMatchID && tMatchID != \"\") {\r\n hasSelectedDate = true;\r\n selectedTabDateArra.push(couponMatchDate);\r\n if (mdate != couponMatchDate) {\r\n mdate = couponMatchDate;\r\n selectedTournamentIds.push(singleCoupon.tournament.tournamentID)\r\n }\r\n } else if (couponMatchDate == mdate && tMatchID == \"\") {\r\n hasSelectedDate = true;\r\n selectedTabDateArra.push(couponMatchDate);\r\n }\r\n });\r\n\r\n // refresh page if match not found\r\n var bypassRedirect = getParameterByName('t') == \"1\";\r\n if (!bypassRedirect && firstLoad && ((!hasSelectedDate && tMatchID != \"\") || (mdate != \"\" && $.inArray(mdate, availableDate) == -1) || mdate == \"\")) {\r\n tMatchID = mdate = \"\";\r\n switch (curTabType) {\r\n case tabType.Date:\r\n initTabDate();\r\n mdate = availableDate[0];\r\n break;\r\n case tabType.Feature:\r\n initTabFeature();\r\n break;\r\n }\r\n oddsTableLoadedRender();\r\n return;\r\n }\r\n\r\n // show default tournament if match voided or suspended after auto refresh\r\n if (tabType.Competition == curTabType && selectedTournamentIds.length == 0) {\r\n selectedTournamentIds.push(allTournaments[0].tournamentID)\r\n oddsTableLoadedRender();\r\n return;\r\n }\r\n\r\n // filter by date tab\r\n if (tabType.Date == curTabType && selectedTabDateArra.length > 0) {\r\n\r\n // check if date in others tab\r\n let tempOtherTabList = getOtherTabList(availableDate);\r\n let inOtherTab = $.inArray(mdate, tempOtherTabList) != -1;\r\n if (inOtherTab) {\r\n selectedTabDateArra = tempOtherTabList;\r\n curDateType = dateType.Other;\r\n }\r\n\r\n // get single match\r\n selectedTabDateArra.forEach(function (singleSelectedDate) {\r\n tabMatches.forEach(function (singleCoupon, couponIndex) {\r\n let couponMatchDate = singleCoupon.matchDate.split(\"T\")[0];\r\n if (couponMatchDate == singleSelectedDate) {\r\n otherDateMatches.push(singleCoupon);\r\n }\r\n if (tMatchID != null && tMatchID != \"\" && tMatchID == singleCoupon.matchID) {\r\n singleMatch = new Match(singleCoupon);\r\n }\r\n });\r\n });\r\n\r\n if (otherDateMatches.length == 0) {\r\n otherDateMatches.push(tabMatches[0]);\r\n selectedTabDateArra = [];\r\n }\r\n\r\n if (tMatchID == null || tMatchID == \"\") {\r\n if ($.inArray(mdate, selectedTabDateArra) != -1) {\r\n singleMatch = $.grep(otherDateMatches, function (elem) {\r\n return elem.matchDate2 == mdate;\r\n })[0];\r\n setMatchId(singleMatch.matchID)\r\n } else {\r\n setMatchId(otherDateMatches[0].matchID)\r\n singleMatch = new Match(otherDateMatches[0]);\r\n }\r\n }\r\n // filter by competition tab\r\n } else if (tabType.Competition == curTabType && selectedTournamentIds.length > 0) {\r\n\r\n // get tournament id by season\r\n selectedTournamentIds = getTournGroupIdsBytName(selectedTournamentIds);\r\n\r\n selectedTournamentIds.forEach(function (singleSelectedTourn) {\r\n tabMatches.forEach(function (singleCoupon, couponIndex) {\r\n let couponMatchTourn = singleCoupon.tournament.tournamentID;\r\n if (couponMatchTourn == singleSelectedTourn) {\r\n otherDateMatches.push(singleCoupon);\r\n }\r\n if (tMatchID != null && tMatchID != \"\" && tMatchID == singleCoupon.matchID) {\r\n singleMatch = new Match(singleCoupon);\r\n }\r\n });\r\n });\r\n\r\n if (otherDateMatches.length == 0) {\r\n otherDateMatches.push(tabMatches[0]);\r\n }\r\n if (tMatchID == null || tMatchID == \"\") {\r\n //tMatchID = otherDateMatches[0].matchID;\r\n setMatchId(otherDateMatches[0].matchID)\r\n singleMatch = new Match(otherDateMatches[0]);\r\n }\r\n } else if (!bypassRedirect && (tMatchID == \"\" || firstLoad)) {\r\n // check if match list is empty ***************\r\n for (var ci = 0; ci < allCouponArr.length; ci++) {\r\n if (allCouponArr[ci] != null && allCouponArr[ci][0] != undefined) { \r\n //tMatchID = allCouponArr[ci][0].matchID;\r\n singleMatch = new Match(allCouponArr[ci][0]);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // check if inplay pool is empty\r\n let isPoolEmpty = false;\r\n if (pageName == \"INPLAYALL\" && singleMatch != null && singleMatch.arrInPlayPools.length == 0 && oMatchId == tMatchID)\r\n isPoolEmpty = true;\r\n // find singleMatch\r\n // if not find \r\n // >> auto refresh > return null, set all odds info to ---\r\n // >> first load > select first meeting\r\n if ((singleMatch == null && (!firstLoad || bypassRedirect)) || isPoolEmpty) {\r\n displayNoPoolMsg = true;\r\n }\r\n /*all odds*/\r\n let tournamentName = \"\";\r\n let tmpOptionList = [];\r\n if (singleMatch != null) {\r\n tabDropTournaments.forEach(function (tList) {\r\n if (singleMatch.tournament != undefined) {\r\n if (singleMatch.tournament.tournamentID == tList.tournamentID) {\r\n tournamentName = tList['tournamentName' + curLang.toUpperCase()]\r\n }\r\n }\r\n })\r\n\r\n // get date or compeition dropdown list\r\n if (pageName == \"ALL\" || pageName == \"FGS\" || pageName == \"CRS\" || pageName == \"FCS\" || pageName == \"INPLAYALL\") {\r\n tmpOptionList = curTabType == tabType.Date ?\r\n getDateOptinList(tabDropTournaments, tabMatches, singleMatch.matchID)\r\n : getCompetitionOptinList(tabDropTournaments, tabMatches, singleMatch.matchID);\r\n }\r\n\r\n matchInfo = \r\n } else {\r\n selectedTabDateArra.push(mdate);\r\n }\r\n\r\n ReactDOM.render(\r\n
    \r\n \r\n {pageName == \"CRS\" && jsCRSRemarks != \"\" ?
    : null}\r\n {pageName == \"FCS\" && jsFCSRemarks != \"\" ?
    : null}\r\n
    \r\n \r\n {matchInfo}\r\n {!displayNoPoolMsg ? renderMatchAllTable(singleMatch, firstLoad, \"ActiveMatches\", tournamentName) : displayNoMatchSection()}\r\n
    ,\r\n document.getElementById('dContainer'), () => {\r\n oddsTableLoaded();\r\n } \r\n );\r\n \r\n let _matchPoolStatus = singleMatch != null && singleMatch.GetMatchPoolStatus(pageName);\r\n\r\n if (!displayInplayStatement(_matchPoolStatus)) {\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('dFooterAddBet')\r\n );\r\n showHeaderIcons();\r\n } else {\r\n hideHeaderIcons();\r\n }\r\n\r\n}\r\n\r\nfunction renderNoPool() {\r\n return
    \r\n
    \r\n
    \r\n {jsInfoUpdate}\r\n
    \r\n
    \r\n
    ;\r\n}\r\n\r\nfunction displayInplayStatement(_matchPoolStatus) {\r\n if ((pageName != \"INPLAYALL\" && pageName != \"FGS\") && (_matchPoolStatus != -1 &&\r\n _matchPoolStatus != MatchPoolStatus.BEFORE_KICKOFF &&\r\n _matchPoolStatus != MatchPoolStatus.BEFORE_KICKOFF_WITH_INPLAY &&\r\n _matchPoolStatus != MatchPoolStatus.BEFORE_KICKOFF_WITH_HALFTIME)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\n\r\nfunction putMatchesToCoupon(currentMatchList, prevMatchList, sorted, isHistorical) {\r\n /* create match list */\r\n currentMatchList.forEach(function (item, index) {\r\n if (currentMatchList[index] != null) {\r\n if (isResultPage()) {\r\n currentMatchList[index] = new Match_Result(currentMatchList[index], currentMatchList.name == \"PresalesMatches\");\r\n } else {\r\n currentMatchList[index] = new Match(currentMatchList[index], currentMatchList.name == \"PresalesMatches\");\r\n }\r\n }\r\n })\r\n\r\n currentMatchList = currentMatchList.filter(function (n) { return n != undefined });\r\n currentMatchList = currentMatchList.filter(function (n) { return n.matchID != '' });\r\n let _matchList = filterAvailableMatch(currentMatchList);\r\n\r\n if (_matchList.length > 0) {\r\n if (!sorted) {\r\n if (!isHistorical) {\r\n // sort matches by match date frontEndId \r\n _matchList = _matchList.sort(sort_by2([\"matchDate2\", \"frontEndId\"], [false, false], [trimMatchDate, parseInt]));\r\n } else {\r\n _matchList = _matchList.sort(sort_by2([\"matchDate2\", \"frontEndId\", \"matchNum\"], [true, false, false], [trimMatchDate, trimFrontendId, parseInt]));\r\n }\r\n }\r\n }\r\n if (_matchList.length == 0) {\r\n return null;\r\n } else {\r\n return _matchList;\r\n }\r\n}\r\n\r\nfunction putUniqueMatchesToCoupon(currentMatchList, prevMatchList, sorted) {\r\n /* create match list */\r\n currentMatchList.forEach(function (item, index) {\r\n if (currentMatchList[index] != null) {\r\n if (isResultPage()) {\r\n currentMatchList[index] = new Match_Result(currentMatchList[index], currentMatchList.name == \"PresalesMatches\");\r\n } else {\r\n currentMatchList[index] = new Match(currentMatchList[index], currentMatchList.name == \"PresalesMatches\");\r\n }\r\n }\r\n })\r\n\r\n currentMatchList = currentMatchList.filter(function (n) { return n != undefined });\r\n let _matchList = currentMatchList;\r\n let couponArr = [];\r\n\r\n if (_matchList.length > 0) {\r\n if (!sorted) {\r\n // sort matches by num\r\n if (_matchList[0].frontEndId != null && _matchList[0].frontEndId != '') {\r\n _matchList = _matchList.sort(sort_by2([\"matchDate2\", \"matchDate\", \"tournament.tournamentShortName\", \"homeTeam.teamNameEN\"], [true, false, false, false], [trimMatchDate, trimMatchDate2, trimStr, trimStr]));\r\n }\r\n else {\r\n _matchList = _matchList.sort(sort_by2([\"matchDate2\", \"matchNum\"], [true, false], [trimMatchDate, parseInt]));\r\n }\r\n }\r\n\r\n //// get unique tournament\r\n //var tournIds = _matchList.map(function (val) {\r\n // return val['tournament']['tournamentID'];\r\n //});\r\n\r\n //var uniqueTourns = [];\r\n //$.each(tournIds, function (i, el) {\r\n // if ($.inArray(el, uniqueTourns) === -1) uniqueTourns.push(el);\r\n //});\r\n\r\n\r\n // get unique match date\r\n var matchDate = _matchList.map(function (val) {\r\n return trimMatchDate(val['matchDate2']); //.substr(0,10).trim();\r\n });\r\n\r\n var uniqueMatchDate = [];\r\n $.each(matchDate, function (i, el) {\r\n if ($.inArray(el, uniqueMatchDate) === -1) uniqueMatchDate.push(el);\r\n });\r\n\r\n // put matches in couponArr\r\n for (var i = 0; i < uniqueMatchDate.length; i++) {\r\n let filteredArray = _matchList.filter(function (val) {\r\n //return val['tournament']['tournamentID'].indexOf(uniqueTourns[i].toLowerCase()) != -1;\r\n return val['matchDate2'].toLowerCase().indexOf(uniqueMatchDate[i].toLowerCase()) != -1;\r\n });\r\n if (filteredArray.length > 0) {\r\n couponArr.push(filteredArray);\r\n }\r\n }\r\n }\r\n if (couponArr.length == 0) {\r\n return null;\r\n } else {\r\n return couponArr;\r\n }\r\n}\r\n\r\nfunction renderMixAllUpMatchList() {\r\n if (noOfFail < 2) {\r\n $.ajax({\r\n url: \"/football/getJSON.aspx\" + getJSONQueryString(),\r\n type: \"get\",\r\n contentType: \"application/json; charset=utf-8\",\r\n //dataType: \"json\",\r\n success: function (data) {\r\n if (data != undefined && data != \"\") {\r\n try {\r\n //data = JSON.parse(data);\r\n if (data != undefined) {\r\n dataCache = data;\r\n getMatchData(data);\r\n getTournaments(data);\r\n renderMixAllUpMatchListDom(data);\r\n } else {\r\n displayNoMatch(true, true);\r\n displayRemarks();\r\n hideHeaderIcons();\r\n }\r\n } catch (ex) {\r\n displayNoMatch(true, true);\r\n displayRemarks();\r\n hideHeaderIcons();\r\n debugLog(ex);\r\n }\r\n } else {\r\n displayNoMatch(true, true);\r\n hideHeaderIcons();\r\n displayRemarks();\r\n }\r\n isSwitchingDateTournTab = false;\r\n },\r\n error: function () {\r\n noOfFail++;\r\n }\r\n });\r\n } else {\r\n displayNoMatch(false);\r\n hideHeaderIcons();\r\n\r\n }\r\n}\r\n\r\nfunction renderMixAllUpMatchListDom(data) {\r\n\r\n countFeatureMatch = 0;\r\n\r\n matchDataList.forEach(function (singleCoupon, couponIndex) {\r\n if (singleCoupon.featureMatch != null && isFeaturedEnabled)\r\n countFeatureMatch++;\r\n });\r\n\r\n if (curTabType == tabType.Feature && countFeatureMatch == 0) {\r\n curTabType = tabType.Date;\r\n renderMixAllUpMatchList();\r\n return;\r\n }\r\n\r\n if (data.matches.length > 0 && data.tournaments.length > 0) {\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('dAllCoupons'), () => {\r\n oddsTableLoaded();\r\n }\r\n );\r\n showHeaderIcons();\r\n } else {\r\n displayNoMatch(true, true);\r\n displayRemarks();\r\n hideHeaderIcons();\r\n }\r\n}\r\n\r\nfunction displayRemarks() {\r\n $('.divRemarks').show();\r\n}\r\n\r\nfunction formatOddsSelection(_oddsType, _matchID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded, poolId) {\r\n var selNo = _oddsSet.SEL;\r\n var _idSuffix = \"\";\r\n if (_oddsType == \"GPW\") {\r\n selNo = parseInt(selNo, 10);\r\n _idSuffix = _lineNum;\r\n } else {\r\n if (_oddsType == \"CHP\") {\r\n _idSuffix = \"n_\" + selNo;\r\n selNo = parseInt(selNo, 10);\r\n } else if (_oddsType == \"TPS\") {\r\n if (selNo != \"00\") {\r\n selNo = parseInt(_oddsSet.SEL, 10);\r\n }\r\n _idSuffix = _lineNum;\r\n } else {\r\n _idSuffix = \"n_\" + selNo;\r\n }\r\n }\r\n var spText = selNo + \" \" + (jsLang == \"CH\" ? _oddsSet.CONTENTCH : _oddsSet.CONTENTEN);\r\n let _id = `s_tourn_${_oddsType}_${_matchID}_${_idSuffix}_${poolId}_${_oddsSet.LINEID}_${_oddsSet.COMBID}`;\r\n if (_oddsType == \"CHP\" || _oddsType == \"TPS\")\r\n return
    {spText}
    \r\n else\r\n return {spText}\r\n}\r\n\r\nfunction formatEmptyOddsCell(_key) {\r\n return
    \r\n
    ;\r\n}\r\n\r\nfunction formatEmptyTQLOddsCell(_type, _key) {\r\n return
    \r\n
    ;\r\n}\r\n\r\nfunction formatRefOdds(_oddsType, _matchID, oddsSet, checkboxType, lineNum) {\r\n var oddsArr;\r\n if (oddsSet.length != undefined) {\r\n oddsArr = oddsSet[lineNum][checkboxType].split('@');\r\n } else {\r\n oddsArr = oddsSet[checkboxType].split('@');\r\n }\r\n var oddsStr;\r\n if (oddsArr[0].charAt(2) == '1' && pageName != 'RESULT') {\r\n // irrational\r\n oddsStr = '---';\r\n }\r\n else {\r\n oddsStr = formatOddsStr(oddsArr[1], _oddsType);\r\n }\r\n var _key = _matchID;\r\n if (_oddsType == \"FGS\") {\r\n _key += oddsSet.SEL;\r\n } else {\r\n _key += checkboxType;\r\n }\r\n let _extraClass = \"\";\r\n if (pageName == \"RESULT\") {\r\n _extraClass = \"oddsLink\";\r\n }\r\n return {oddsStr}\r\n}\r\n\r\nfunction formatOddsLink(_oddsType, _matchID, oddsSet, checkboxType, lineNum, poolStatus, isAllup, poolId) {\r\n let oddsArr;\r\n let lineStatus = \"1\";\r\n let lineId;\r\n let combId;\r\n let instNo = \"\";\r\n if (oddsSet.ITEM != null) {\r\n instNo = oddsSet.ITEM;\r\n }\r\n if (oddsSet.length != undefined) {\r\n oddsArr = oddsSet[lineNum][checkboxType].split('@');\r\n if (isML(_oddsType)) {\r\n lineStatus = oddsSet[lineNum].LINESTATUS;\r\n }\r\n } else {\r\n oddsArr = oddsSet[checkboxType].split('@');\r\n if (isML(_oddsType)) {\r\n lineStatus = oddsSet.LINESTATUS;\r\n }\r\n lineId = oddsSet[\"LINEID\"];\r\n\r\n combId = oddsSet[checkboxType + \"COMBID\"];\r\n\r\n if (_oddsType.match(/^(SPC|SGA)$/))\r\n combId = oddsSet[oddsSet.SEL + \"COMBID\"];\r\n else if (!oddsSet[checkboxType + \"COMBID\"])\r\n combId = oddsSet[\"COMBID\"];\r\n\r\n }\r\n var oddsStr = oddsArr[1];\r\n if (!(oddsStr == \"RFD\" || oddsStr == \"LSE\")) {\r\n // special handling for SPC\r\n\r\n if (!isQRPortal) {\r\n\r\n let isMatchKickOff = betValue[_matchID] != null && betValue[_matchID].IsMatchKickOff != null ? betValue[_matchID].IsMatchKickOff() : false;\r\n\r\n if (_oddsType == \"SPC\") {\r\n if (!isInplay && isMatchKickOff) {\r\n oddsStr = \"---\";\r\n } else {\r\n if (isInplay && !isSelling(poolStatus, \"1\", \"1\")) {\r\n oddsStr = \"---\";\r\n }\r\n }\r\n } else {\r\n if (isInplay && !isSelling(poolStatus, oddsArr[0], lineStatus) && isMatchKickOff) {\r\n oddsStr = \"---\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n var combSpanID; // = _matchID + '_' + _oddsType + '_' + checkboxType;\r\n let selectionType;\r\n if (_oddsType == \"FGS\") {\r\n selectionType = oddsSet.SEL;\r\n } else if (isTournPool(_oddsType)) {\r\n if (_oddsType.match(/^(GPW|TPS|GPF|SPC|TSP)$/)) {\r\n selectionType = lineNum; // add group num\r\n } else if (_oddsType == \"TQL\") {\r\n selectionType = \"n_\" + checkboxType;\r\n } else {\r\n selectionType = \"n_\" + oddsSet.SEL;\r\n }\r\n } else if (_oddsType.match(/^(SPC|SGA)$/)) {\r\n selectionType = lineNum; // add group num\r\n } else {\r\n selectionType = checkboxType;\r\n }\r\n\r\n //var _key = _matchID;\r\n if (_oddsType == \"FGS\") {\r\n //_key += oddsSet.SEL;\r\n combSpanID = _matchID + '_' + _oddsType + '_' + selectionType;\r\n } else if (_oddsType == \"CHP\") {\r\n combSpanID = _matchID + '_' + _oddsType + '_n_' + selectionType;\r\n } else if (_oddsType.match(/^(GPW|TPS|GPF|SPC|TSP)$/)) {\r\n combSpanID = _matchID + '_' + _oddsType + '_' + selectionType;\r\n } else {\r\n //_key += checkboxType;\r\n combSpanID = _matchID + '_' + _oddsType + '_' + selectionType;\r\n }\r\n if (_oddsType == \"CHP\") {\r\n combSpanID = \"tourn_\" + combSpanID;\r\n } else if (isML(_oddsType)) {\r\n combSpanID += '_' + lineNum;\r\n }\r\n combSpanID += '_' + poolId + '_' + lineId + '_' + combId;\r\n if (isAllup && oddsStr != '---' && oddsStr != 'LSE' && oddsStr != 'RFD')\r\n return \r\n else\r\n return ;\r\n}\r\n\r\nfunction formatLineNum(_oddsType, _matchID, oddsSet, isExpanded, poolStatus) {\r\n let tmpOddsSet = oddsSet;\r\n if (isDisplayMultiplePoolPage(pageName)) {\r\n isExpanded = true;\r\n } else {\r\n tmpOddsSet = oddsSet.LINELIST;\r\n }\r\n var mlDetail = [];\r\n for (var i = 0; i < tmpOddsSet.length; i++) {\r\n var lineClass;\r\n var lineDisplayValue;\r\n if (i == 0) {\r\n lineClass = \"mlMainRow \";\r\n } else {\r\n lineClass = \"mlSubRow \";\r\n }\r\n if (tmpOddsSet[i][\"MAINLINE\"] == \"true\") {\r\n lineClass += \"mainLineRow\";\r\n lineDisplayValue = \"block\";\r\n } else {\r\n lineClass += \"otherLineRow\";\r\n if (isExpanded) {\r\n lineDisplayValue = \"block\";\r\n } else {\r\n lineDisplayValue = \"none\";\r\n }\r\n }\r\n let lineStrToDisplayed = `[${tmpOddsSet[i].LINE}]`;\r\n if (pageName == \"INPLAYALL\" && (!isSelling(poolStatus, \"100\", tmpOddsSet[i].LINESTATUS)) && betValue[_matchID].IsMatchKickOff()) {\r\n lineStrToDisplayed = \"---\";\r\n }\r\n mlDetail.push(
    \r\n {lineStrToDisplayed}\r\n
    \r\n
    )\r\n }\r\n return
    \r\n {mlDetail}\r\n
    \r\n}\r\n\r\n\r\nfunction formatCRSSelection(_oddsType, _matchID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded, poolStatus, isAllup, poolId) {\r\n return [formatCRSSelectionText(_oddsType, _matchID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded, poolStatus, isAllup, poolId),\r\n formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded, poolStatus, isAllup, poolId)];\r\n}\r\n\r\nfunction lblNl(txt) {\r\n let tmp = txt.split(\"{nl}\");\r\n if (tmp.length > 1) {\r\n return
    {tmp[0]}
    {tmp[1]}
    \r\n }\r\n return txt;\r\n}\r\n\r\nfunction formatCRSSelectionText(_oddsType, _matchID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded, poolStatus, isAllup) {\r\n let spText, _id;\r\n switch (_checkboxType) {\r\n case \"SM1MH\":\r\n spText = bshomeothers;\r\n break;\r\n case \"SM1MA\":\r\n spText = bsawayothers;\r\n break;\r\n case \"SM1MD\":\r\n spText = bsdrawothers;\r\n break;\r\n case \"SOHN\":\r\n spText = lblNl(bshomeothernil);\r\n break;\r\n case \"SOAN\":\r\n spText = lblNl(bsawayothernil);\r\n break;\r\n case \"SHOAS\":\r\n spText = lblNl(bshomeothersnew);\r\n break;\r\n case \"SAOHS\":\r\n spText = lblNl(bsawayothersnew);\r\n break;\r\n case \"SHOAN\":\r\n spText = lblNl(bshomeothernilnew);\r\n break;\r\n case \"SAOHN\":\r\n spText = lblNl(bsawayothernilnew);\r\n break;\r\n default:\r\n spText = _checkboxType[2] + \" : \" + _checkboxType[4];\r\n break;\r\n }\r\n\r\n _id = `${_matchID}_${_oddsType}_${_checkboxType}`;\r\n\r\n return
    \r\n {spText}\r\n
    \r\n}\r\n\r\nfunction formatCRSSelectionOddsCell(_oddsType, _matchID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded, poolStatus, isAllup, poolId) {\r\n var _oddsCell;\r\n\r\n if (_oddsType == \"DHCP\") {\r\n // only for DHCP case, use isAllUp to pass singleMatch.isVoidMatch() parameter\r\n isDisabled = isAllup || !isSelling(poolStatus, \"1\", \"1\");\r\n _oddsCell =
    \r\n \r\n
    ;\r\n } else {\r\n let _key = `${_matchID}${_oddsType}${_checkboxType}_0OC`;\r\n _oddsCell = ;\r\n }\r\n\r\n return _oddsCell;\r\n}\r\n\r\n\r\n// FOR FGS\r\nfunction formatSelectionInsideGroup(_oddsType, _matchID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded, lineCount, poolStatus, isAllup, poolId) {\r\n var selNo = _oddsSet.SEL;\r\n var spText = selNo + \" \" + (jsLang == \"CH\" ? _oddsSet.CONTENTCH : _oddsSet.CONTENTEN);\r\n var _className = \"coddsSelectionsInnerTable\";\r\n var _id = `s${_matchID}_${_checkboxType}`;\r\n\r\n return [
    \r\n {spText}\r\n
    ,\r\n \r\n ];\r\n}\r\n\r\nfunction formatEmptySelectionInsideGroup(_oddsType, lineCount) {\r\n var _className = (_oddsType == \"GPW\" ? \"coddsSelectionsInnerTable\" : \"coddsSelectionsInnerTable\");\r\n\r\n\r\n return [
    ,\r\n
    ]\r\n}\r\n\r\nfunction formatGPFSelection(_oddsType, _tournID, _oddsSet, _checkboxType, _lineNum, _tableType, isExpanded) {\r\n let keyPrefix = `${_tournID}GPF${_oddsSet.GROUP}`;\r\n let gpfHeader =
    \r\n
    \r\n {jsLang === \"CH\" ? _oddsSet.GROUPCH : _oddsSet.GROUPEN} / {jsgroupno}: {_oddsSet.GROUP}\r\n
    \r\n
    \r\n {_oddsSet.ExpectedStopTime != \"\" ? jsesst1 : null}\r\n {_oddsSet.ExpectedStopTime != \"\" ? jsesst2 : null}:\r\n {_oddsSet.ExpectedStopTime != \"\" ? formatEsstStr(_oddsSet.ExpectedStopTime, true) : null}\r\n
    \r\n
    ;\r\n let gpfTableRows = [];\r\n\r\n let tmpGpfTableCells = [];\r\n\r\n tmpGpfTableCells.push(
    \r\n
    {jswinner}
    \r\n
    {jsrunnerup}
    \r\n
    );\r\n _oddsSet.NAMELIST.forEach(function (_team, _wInd) {\r\n let tmpTeamName = `${parseInt(_team.NO, 10)} ${jsLang === \"CH\" ? _team.CH : _team.EN}`;\r\n tmpGpfTableCells.push(
    {tmpTeamName}
    )\r\n })\r\n\r\n gpfTableRows.push(
    {tmpGpfTableCells}
    );\r\n\r\n _oddsSet.SELLIST.forEach(function (_winnerSel, _wInd) {\r\n tmpGpfTableCells = [];\r\n var _tmpTeamInfo = _oddsSet.NAMELIST[_wInd - 1];\r\n let tmpTeamName = `${parseInt(_tmpTeamInfo.NO, 10)} ${jsLang == \"CH\" ? _tmpTeamInfo.CH : _tmpTeamInfo.EN}`;\r\n tmpGpfTableCells.push(
    {tmpTeamName}
    );\r\n\r\n _winnerSel.forEach(function (_singleSel, _sInd) {\r\n _lineNum = _oddsSet.GROUP + \"_\" + _singleSel.SEL.replace(\":\", \"\");\r\n tmpGpfTableCells.push(
    \r\n \r\n
    );\r\n });\r\n\r\n // add
    -
    \r\n tmpGpfTableCells.splice((parseInt(_tmpTeamInfo.NO, 10)), 0,\r\n
    -
    );\r\n\r\n gpfTableRows.push(
    \r\n {tmpGpfTableCells}\r\n
    );\r\n })\r\n\r\n return
    \r\n {gpfHeader}\r\n
    \r\n {gpfTableRows}\r\n
    \r\n
    ;\r\n}\r\n\r\nclass OddsTypeOuterTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hideLSE: true };\r\n this.onEliminateBtnClicked = this.onEliminateBtnClicked.bind(this);\r\n }\r\n onEliminateBtnClicked(event) {\r\n this.setState({ hideLSE: !this.state.hideLSE });\r\n }\r\n render() {\r\n let _oddsType = this.props._oddsType;\r\n let tableType = this.props.tableType;\r\n let objID = this.props.objID;\r\n let innerContent = this.props.innerContent\r\n let eliminateBtn = this.props.eliminateBtn;\r\n let expectedStopSellingTime = this.props.expectedStopSellingTime;\r\n let refOdds = \"\";//this.props.refOdds;\r\n\r\n let tqlCode = this.props.code;\r\n let tqlStage = this.props.stage;\r\n let frontEndId = \"\";\r\n var _ref = \"\";//tableType.indexOf(\"Presales\") != -1 ? \"Ref\" : \"\";\r\n if (pageName == \"TOURN\") {\r\n let _dataOddsType = this.props._dataOddsType;\r\n try {\r\n let singleTourn = betValue[objID];\r\n frontEndId = singleTourn.frontEndId;\r\n if (_oddsType == \"TSP\") {\r\n // Render Active and Presales SPC Odds Table By Tourn\r\n if (singleTourn.tspodds != undefined && singleTourn.tspodds != null) {\r\n innerContent = ;\r\n } else if (singleTourn.spcoddsref != undefined && singleTourn.spcoddsref != null) {\r\n innerContent = ;\r\n }\r\n } else if (_oddsType == \"TPS0\" || _oddsType == \"TPS1\") {\r\n if (singleTourn[_dataOddsType + \"odds\" + refOdds] != null) {\r\n for (var tpsInd = 0; tpsInd < singleTourn[_dataOddsType + \"odds\" + refOdds].length; tpsInd++) {\r\n var _tpsType = (singleTourn[_dataOddsType + \"odds\" + refOdds][tpsInd].TPSTYPE == \"Player\" ? \"0\" : \"1\");\r\n if ((_oddsType == \"TPS0\" && singleTourn[_dataOddsType + \"odds\" + refOdds][tpsInd].TPSTYPE == \"Player\") ||\r\n (_oddsType == \"TPS1\" && singleTourn[_dataOddsType + \"odds\" + refOdds][tpsInd].TPSTYPE == \"Team\")) {\r\n let _sTourn = singleTourn[_dataOddsType + \"odds\" + refOdds][tpsInd];\r\n expectedStopSellingTime =
    \r\n {_sTourn.ExpectedStopTime != \"\" ? jsesst1 : null}\r\n {_sTourn.ExpectedStopTime != \"\" ? jsesst2 : null}:\r\n {_sTourn.ExpectedStopTime != \"\" ? formatEsstStr(_sTourn.ExpectedStopTime, true) : null}
    ;\r\n innerContent = ;\r\n break;\r\n }\r\n }\r\n }\r\n } else if (_oddsType == \"TQL\") {\r\n let _sTourn = singleTourn[_dataOddsType + \"odds\" + refOdds];\r\n\r\n innerContent = \r\n } else {\r\n if (singleTourn[_dataOddsType + \"odds\" + refOdds] != null) {\r\n if (_oddsType == \"CHP\") {\r\n let _sTourn = singleTourn[_dataOddsType + \"odds\" + refOdds];\r\n expectedStopSellingTime =
    \r\n {_sTourn.ExpectedStopTime != \"\" ? jsesst1 : null}\r\n {_sTourn.ExpectedStopTime != \"\" ? jsesst2 : null}:\r\n {_sTourn.ExpectedStopTime != \"\" ? formatEsstStr(_sTourn.ExpectedStopTime, true) : null}
    \r\n }\r\n innerContent = \r\n }\r\n\r\n $('#d' + _oddsType).show();\r\n }\r\n\r\n innerContent =
    {innerContent}
    ;\r\n\r\n if (tableType.indexOf(\"Active\") >= 0 && (_oddsType == \"CHP\" || _oddsType == \"TPS0\" || _oddsType == \"TPS1\" || _oddsType == \"GPW\")) {\r\n eliminateBtn = \r\n }\r\n } catch (ex) {\r\n debugLog(_dataOddsType + \" \" + ex);\r\n }\r\n }\r\n\r\n if (innerContent === undefined || innerContent === null) {\r\n innerContent =
    {displayNoMatchSection()}
    ;\r\n }\r\n\r\n let displayCoupon = !pageName.match(/^(CRS|FCS|FGS|SPC)$/);\r\n\r\n return
    \r\n {displayCoupon ? drawOddsTypeCoupon(_oddsType, tableType, objID, \"\", eliminateBtn, expectedStopSellingTime, tqlCode, tqlStage, frontEndId) : null}\r\n
    \r\n {innerContent}\r\n
    \r\n
    \r\n }\r\n}\r\n\r\nfunction drawOddsTypeCoupon(_oddsType, tableType, objID, _ref, eliminateBtn, expectedStopSellingTime, code, stage, frontEndId) {\r\n return
    { pageName == \"MIXALLUPSHORTCUT\" ? null : tgCoupon5(`d${_oddsType}Coupon${_ref}${objID}`, `d${_oddsType}Table${_ref}${objID}`); }}>\r\n {pageName == \"MIXALLUPSHORTCUT\" ? : } \r\n {formatOddsHeader(_oddsType, tableType, objID, \"\", false, code, stage, frontEndId)}\r\n \r\n {eliminateBtn}\r\n {expectedStopSellingTime}\r\n
    ;\r\n}\r\n\r\nfunction drawOddsTypeTable(_oddsType, tableType, tournID) {\r\n var _ref = \"\";\r\n if (tableType.indexOf(\"Presales\") != -1) {\r\n _ref = \"Ref\";\r\n }\r\n if (tournID == null) tournID = \"\";\r\n return
    \r\n}\r\n\r\nfunction formatPageHeader(_singleTourn, _tableType, loadImg, loadSuspend) {\r\n let tournName = _singleTourn['tournamentName' + curLang.toUpperCase()];\r\n return ;\r\n}\r\n\r\nclass SPCItemContainer extends React.Component {\r\n render() {\r\n let _item = this.props.singleItem;\r\n let tableType = this.props.tableType;\r\n let _ref = this.props.refStr;\r\n let _firstItem = _item[0].item;\r\n let _couponID = `coupon${_firstItem.ITEM}`;\r\n let _couponName = `${jsitemno}: ${_firstItem.ITEM} - ${jsLang == \"CH\" ? _firstItem.ITEMCH : _firstItem.ITEMEN}`;\r\n let _tournamentData = this.props.tournamentData;\r\n let matchRow = [];\r\n _item.forEach(function (_singleObj, altRow) {\r\n let _singleMatch = _singleObj.match;\r\n matchRow.push();\r\n });\r\n\r\n return
    \r\n {}\r\n \r\n {matchRow}\r\n
    \r\n }\r\n}\r\n\r\nclass SPCContainer extends React.Component {\r\n render() {\r\n let ref = this.props.refStr;\r\n let tableType = this.props.tableType;\r\n let objID = this.props.objID;\r\n let objType = this.props.objType;\r\n let singleObj = this.props.singleObj;\r\n\r\n let couponHeaderTxt = \"\";\r\n\r\n if (objType == \"match\") {\r\n couponHeaderTxt = {displayMatchDayDiv(singleObj.matchID, singleObj.matchDay, singleObj.matchNum, pageName, false)} {sTeamString(!isInplay, false, singleObj, false, true, \"SPC\")};\r\n } else {\r\n couponHeaderTxt = formatPageHeader(singleObj, ref, false, false);\r\n }\r\n\r\n let displayByMatch;\r\n if (objType != \"match\" || pageName != \"SPC\") {\r\n displayByMatch = 1;\r\n } else {\r\n displayByMatch = 0;\r\n singleObj.spcodds.forEach(function (_os) {\r\n if (_os.GROUP == \"Match\") {\r\n displayByMatch++;\r\n }\r\n });\r\n }\r\n if (displayByMatch == 0) {\r\n return null;\r\n } else { \r\n return
    \r\n\r\n
    \r\n
    \r\n {objType == \"match\" ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n }\r\n}\r\n\r\nclass SGAContainer extends React.Component {\r\n render() {\r\n let tableType = this.props.tableType;\r\n let objID = this.props.objID;\r\n let singleObj = this.props.singleObj;\r\n \r\n return
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n}\r\n\r\n// SPC Page Header\r\nclass SPCPageHeader extends React.Component {\r\n render() {\r\n //var _oddsType = this.props.oddsType;\r\n\r\n return
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n {formatOddsHeader(pageName, this.props.tableType, \"\", \"\")}\r\n
    \r\n {(this.props.tableType.toLowerCase().indexOf(\"presales\") >= 0 || this.props.tableType == \"NoMatch\") ? null :\r\n \r\n }\r\n
    \r\n
    \r\n
    ;\r\n }\r\n}\r\n\r\nclass ParimutuelPoolTable extends React.Component {\r\n render() {\r\n let _singlePool = this.props.singlePool;\r\n let _singleTournament = this.props.singleTournament;\r\n let _poolType = this.props.poolType;\r\n\r\n return
    \r\n
    \r\n
    {jsleg}
    \r\n
    {\"ID\"}
    \r\n
    \r\n \r\n {jsleagues_and_tournaments}\r\n \r\n
    \r\n
    \r\n {jsteams1}\r\n
    \r\n {jsteams2}\r\n
    \r\n
    \r\n {getParimutuelPoolTableMatchRows(_singlePool, _poolType, _singleTournament)}\r\n
    ;\r\n }\r\n}\r\n\r\nfunction getParimutuelPoolTableMatchRows(_singlePool, _poolType, _singleTournament) {\r\n let _rows = [];\r\n let noOfRows = 2;\r\n let loadLink = false;\r\n let isDisabled = !isSelling(_singlePool.POOLSTATUS, \"1\", \"1\");\r\n\r\n betValue = [];\r\n\r\n for (var rInd = 0; rInd < noOfRows; rInd++) {\r\n let singleMatch = new Match(_singlePool[\"LEG\" + (rInd + 1)]);\r\n let _singleMatchDisabled = singleMatch.isVoidMatch() || isDisabled;\r\n\r\n //betValue[singleMatch.matchIDinofficial] = singleMatch;\r\n betValue[singleMatch.matchID] = singleMatch;\r\n _rows.push(
    \r\n
    {GetLegName(rInd)}
    \r\n
    {displayMatchDayDiv(singleMatch.matchID, singleMatch.matchDay, singleMatch.matchNum, pageName, false)}
    \r\n
    {formatImageStr([League.GetFlagPath(_singleTournament.tournamentShortName), _singleTournament['tournamentName' + curLang.toUpperCase()], _singleTournament.tournamentShortName])}
    \r\n
    \r\n {sTeamString(true, loadLink, singleMatch, false, true, _poolType)}\r\n {singleMatch.isVoidMatch() ? {\" \" + jsvoidmatch} : \"\"}\r\n {singleMatch.venue == null ? \"\" : formatNeutralGroundIcon(singleMatch.venue, \"ng\")}\r\n
    \r\n
    )\r\n }\r\n\r\n return _rows;\r\n}\r\n\r\nfunction generateDHCPSelectionTable(singePool, couponID) {\r\n let singleMatch = new Match(singePool[\"LEG\" + couponID]);\r\n\r\n return
    \r\n
    { tgCoupon5(`tgCoupon${couponID}`, `couponContent${couponID}`) }}>\r\n \r\n {GetLegName(couponID - 1)}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n}\r\n\r\nfunction calBet(_thisObj, _betValueId, _bType, _optionKey, _itemNo, poolId, lineId, combId, insNo) {\r\n var divCalStr = toDivCalString(_betValueId, _bType, poolId, lineId, combId, _optionKey, false, _itemNo, insNo);\r\n SetDataStore(\"tmpAllupBetline\", divCalStr);\r\n $(\"#selFormula\").val(0)\r\n let formulaIndex = 0\r\n divCalErrMsg = '';\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('oddAllUpCalDiv')\r\n );\r\n}\r\n\r\nfunction paginationCalculator(dataArray) {\r\n totalMatch = 0;\r\n startMatch = (maxMatch * curPage) - maxMatch;\r\n endMatch = (maxMatch * curPage);\r\n dataArray.forEach(function (dataList) {\r\n totalMatch = totalMatch + dataList.length;\r\n });\r\n endMatch = endMatch > totalMatch ? totalMatch : endMatch;\r\n}\r\n\r\nfunction refreshMixallUpCalculator() {\r\n if (invalidBetTypeArr.length>0) {\r\n var checkedObjs = $(\".coddsSelections input:checked\");// if checked item changed to invalid bet types , cal\r\n for (var i = 0; i < checkedObjs.length; i++) {\r\n var str = $(checkedObjs[i]).attr(\"id\").split(\"_\");\r\n // var poolId = str[5];\r\n mixFormula($(checkedObjs[i]), str[0], str[1], str[2]);\r\n calculateBet2(true);\r\n }\r\n alert(jsallUpFormulaChangedStr);//to be provided by business user\r\n invalidBetTypeArr = [];\r\n }\r\n\r\n}\r\n\r\nfunction getOtherTabList(allDateList) {\r\n\r\n let beforeBizDate = getNowDate() > new Date(allDateList[0]);\r\n\r\n let otherDate = new Date();\r\n\r\n if (beforeBizDate) {\r\n otherDate = new Date(allDateList[0]);\r\n } else {\r\n otherDate = getNowDate();\r\n }\r\n\r\n otherDate.setDate(otherDate.getDate() + (otherLength - 1));\r\n\r\n let dtOther = processToDate(getFormattedDate(otherDate));\r\n let otherTabList = [];\r\n\r\n for (var i = 0; i < allDateList.length; i++) {\r\n let dtTab = processToDate(allDateList[i]);\r\n if (dtTab >= dtOther || otherLength <= 1) {\r\n otherTabList.push(getFormattedDateStr(allDateList[i]))\r\n }\r\n }\r\n\r\n return otherTabList;\r\n}\r\n\r\nfunction getNormalTabList(allDateList) {\r\n\r\n let beforeBizDate = getNowDate() > new Date(allDateList[0]);\r\n\r\n let otherDate = new Date();\r\n\r\n if (beforeBizDate) {\r\n otherDate = new Date(allDateList[0]);\r\n } else {\r\n otherDate = getNowDate();\r\n }\r\n\r\n otherDate.setDate(otherDate.getDate() + (otherLength - 1));\r\n \r\n let dtOther = processToDate(getFormattedDate(otherDate));\r\n let list = [];\r\n\r\n for (var i = 0; i < allDateList.length; i++) {\r\n let dtTab = processToDate(allDateList[i]);\r\n if (dtTab < dtOther && otherLength > 1) {\r\n list.push(getFormattedDateStr(allDateList[i]))\r\n }\r\n }\r\n\r\n return list;\r\n}\r\n\r\nfunction getDateTabList(allDateList) {\r\n\r\n let list = [];\r\n\r\n for (var i = 0; i < allDateList.length; i++) {\r\n list.push(getFormattedDateStr(allDateList[i]))\r\n }\r\n\r\n return list;\r\n}\r\n\r\nfunction getFormattedDate(date) {\r\n let year = date.getFullYear();\r\n let month = (1 + date.getMonth()).toString();\r\n let day = date.getDate().toString();\r\n\r\n if (month.length < 2) month = '0' + month;\r\n if (day.length < 2) day = '0' + day;\r\n\r\n return year + '-' + month + '-' + day;\r\n}\r\n\r\nfunction getFormattedDateStr(date) {\r\n var parts = date.split(\"-\");\r\n\r\n let year = parts[0];\r\n let month = (parts[1]).toString();\r\n let day = (parts[2].split(\"T\")[0]).toString();\r\n\r\n if (month.length < 2) month = '0' + month;\r\n if (day.length < 2) day = '0' + day;\r\n\r\n return year + '-' + month + '-' + day;\r\n}\r\n\r\nfunction processToDate(date) {\r\n var parts = date.split(\"-\");\r\n return new Date(parts[0], parts[1] - 1, parts[2].split(\"T\")[0]);\r\n}\r\n\r\nfunction getNowDate() {\r\n let now = new Date(parseInt((new Date()).getTime(), 10) + (parseInt(jsOffsetTime)) * 1000);\r\n\r\n return new Date(processToDate(getFormattedDate(now)));\r\n}\r\n\r\nfunction getAvailabDateListFromMatches(matches) {\r\n\r\n let datelist = [];\r\n for (var i = 0; i < matches.length; i++) {\r\n let matchDate = matches[i].matchDate.split(\"T\")[0];\r\n if ($.inArray(matchDate, datelist) == -1) {\r\n if(matchDate)\r\n datelist.push(matchDate);\r\n }\r\n }\r\n\r\n return getDateTabList(datelist).sort();\r\n}\r\n\r\nfunction filterAvailableMatch(matches) {\r\n\r\n let availableDateList = getAvailabDateListFromMatches(matches);\r\n\r\n let availableMatches = $.grep(matches, function (match) {\r\n return $.inArray(match.matchDate.split(\"T\")[0], availableDateList) != -1;\r\n });\r\n\r\n if (availableMatches == null)\r\n availableMatches = [];\r\n\r\n return availableMatches;\r\n}\r\n\r\nfunction getAvailableTourn(tournaments) {\r\n let _availableTournIds = [];\r\n if (matchDataList == null || tournaments == null)\r\n return _availableTournIds;\r\n\r\n for (var i = 0; i < matchDataList.length; i++) {\r\n if ($.inArray(matchDataList[i].tournament.tournamentID, _availableTournIds) == -1)\r\n _availableTournIds.push(matchDataList[i].tournament.tournamentID);\r\n }\r\n return jQuery.grep(tournaments, function (_singleTourn) {\r\n return $.inArray(_singleTourn.tournamentID, _availableTournIds) != -1;\r\n });\r\n}\r\n\r\nfunction getTournGroupIdsBytName(tournamentIds) {\r\n let newSelectedTournamentIds = [];\r\n for (var i = 0; i < tournamentIds.length; i++) {\r\n let tempTourn = $.grep(allTournaments, function (tourn) {\r\n return tourn.tournamentID == tournamentIds[i];\r\n });\r\n\r\n if (tempTourn != null && tempTourn.length > 0) {\r\n\r\n for (var j = 0; j < tempTourn.length; j++) {\r\n let sourceTournName = tempTourn[j].tName;\r\n let tournGroup = $.grep(allTournaments, function (elem) {\r\n return elem.tName == sourceTournName;\r\n });\r\n\r\n if (tournGroup.length > 0) {\r\n let arr1 = tournGroup.map(x => x.tournamentID);\r\n for (var j = 0; j < arr1.length; j++) {\r\n if (jQuery.inArray(arr1[j], newSelectedTournamentIds) == -1) {\r\n newSelectedTournamentIds.push(arr1[j]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return newSelectedTournamentIds;\r\n}\r\n\r\nfunction getAllTournamentIds() {\r\n\r\n let tournaments = allTournaments;\r\n let tournIdList = [];\r\n\r\n jQuery.grep(tournaments, function (_singleTourn) {\r\n if ($.inArray(_singleTourn.tournamentID, tournIdList) == -1) {\r\n tournIdList.push(_singleTourn.tournamentID);\r\n }\r\n });\r\n\r\n return tournIdList;\r\n}\r\n\r\nfunction setMatchId(matchId) {\r\n\r\n tMatchID = matchId\r\n let newUrl = replaceUrlParam(window.location.href, \"tmatchid\", matchId)\r\n let param = trimPara2()\r\n param.tmatchid = matchId;\r\n\r\n if (matchId.length > 0) {\r\n\r\n window.history.replaceState(\r\n {\r\n \"html\": \"\",\r\n \"pageTitle\": document.title,\r\n \"product\": curProduct,\r\n \"page\": curPageId,\r\n \"lang\": curLang,\r\n \"para\": param,\r\n }, \"\", newUrl);\r\n }\r\n}\r\n\r\nfunction showTabLoading() {\r\n $(\"#tabLoading\").show();\r\n}\r\n\r\nfunction hideTabLoading() {\r\n $(\"#tabLoading\").hide();\r\n}\r\n\r\n//# sourceURL=/football/lib/MatchTable.js"]}