{"version":3,"sources":["scripts/Load.js"],"names":["JsonGameUser","JsonGameNoSort","JsonGameToSort","arrayNewGame","arrayInEvidenza","JsonPromo","JsonCategories","swiperInEvidenza","swiperMostPlayed","swiperCrazySlots","timerChangeHomeNew","searchStrig","searchLastJson","preorder","currentNewGame","currentIntervall","categoryorder","categoryorderdirection","isinit","scrollToTop","openLinkDirect","openSectionDirect","scrollSection","openPromoSection","checkResumeFilters","fromLastView","isShowingMostPlayed","DLp","DLb","DLil","DLf","DLg","Dsec","Dgam","DefaultCasino","backUrl","itemNewGame","threshold","minThreshold","inEvidenzaWithTopItem","timoutFilterSearch","gameInIframeUsers","enableNewProviderMenu","enableSquareLayout","crazySlotActive","start","pID","fID","gID","bID","cST","sec","gam","InitSearchBox","isInApp","$","removeClass","window","scroll","isVisible","op","attr","remove","eval","provenienza","getProvenienza","headerHeight","height","css","addClass","checkDirectLink","length","GetGamesLiveHome","GetGamesSlotHome","GetSoftGamesHome","GetGamesHome","CasinoMobileDevice","localStorage","setItem","setFramePlay","setScrollEvents","checkOpenTickets","on","e","key","keyCode","preventDefault","stopPropagation","ExpandSearchResult","blur","emptySearch","GetSearchUserWithDelay","this","keypress","keyup","setSearchKey","GetSearchFiltered","setTimeout","undefined","toUpperCase","userlastview","getItem","userLastSection","idprovider","macro","indexOf","singleVal","split","toLowerCase","sessionStorage","fData","JSON","parse","lzw_decode","casinoType","Macro","resumeFilters","ignoreGoToProvider","removeItem","DirectLink","getProviderIdByName","RouletteId","GiochiDiCarteId","VideoPokerId","GameShowsId","SlotId","SlotJackpotId","RouletteLiveId","BlackjackLiveId","BaccaratLiveId","PokerLiveId","GameShowLiveId","JackpotLiveId","GetPlayGame","idsplit","idGame","idTavolo","GetLobbyUrl","GetGamesLiveProviderCategory","GetGamesProviderCategory","GetGamesLiveProvider","GetGamesProviderMacro","GetGamesProvider","DirectSection","callive","SidegamesId","GetGamesLiveCategory","GetGamesCategory","GetGamesNewProviderMacro","GetGamesNewMacro","GetGamesExclusiveProviderMacro","GetGamesExclusiveMacro","preselectFilter","FiltersType","THEMES","GetCrazySlotsAll","GetGamesBest","setSessionUser","getSid","GetGamesUser","each","i","v","getGamesPromo","event","filtersData","setFiltersUpdate","setGamesFiltered","jQuery","fn","extend","iframe","doc","iframeDoc","contents","open","write","close","scrollTop","hide","position","width","z-index","fixedElemHeight","show","removeAttr","lockMaintTime","urlReq","CasinoRestUrl","restCall","setGamesHome","setGamesLiveHome","setGamesSlotHome","setSoftGamesHome","GetGamesMacroHomePlus","plus","setGamesMacroHomePlus","setGamesProvider","setGamesProviderMacro","GetGamesProviderMacroPlus","setGamesProviderMacroPlus","setGamesLiveProvider","category","setGamesCategory","GetGamesCategoryPlus","setGamesCategoryPlus","GetGamesCategorySort","order","direction","GetGamesCategorySortPlus","GetGamesOrderCategory","setGamesLiveCategory","setGamesProviderCategory","setGamesLiveProviderCategory","setGamesBest","GetGamesLiveBest","setGamesLiveBest","GetGamesNewBest","setGamesNewBest","GetGamesNew","setGamesNew","setEventsAnalytics","setGamesNewMacro","setGamesExclusiveMacro","setGamesExclusiveProviderMacro","GetGamesNewProvider","setGamesNewProvider","setGamesNewProviderMacro","GetTopGamesUser","setTopGamesUser","GetMostPlayedGamesUser","setMostPlayedGamesUser","GetMostPlayedGamesUserAll","setMostPlayedGamesUserAll","setGamesUser","printMessage","animateCss","animationName","callback","animationEnd","el","animations","animation","OAnimation","MozAnimation","WebkitAnimation","t","style","document","createElement","one","addEventListener","stringify","data","closeGame","autoplay","endGame","searchTimeout","obj","clearTimeout","GetSearchUser","searchValue","val","replace","isValidSearch","btoa","setSearchResult","html","empty","SetGameUserFavourite","IdGame","Active","find","replaceWith","getFavouriteIcon","dataPar","ajaxCall","CasinoSiteUrl","EndGameUserFavourite","isProviderLive","idProvider","isLive","JsonFornitori","id","live","getProviderName","ProviderName","nome","providerName","providerId","getProviderLogo","img","location","addSuffix","addPath","CasinoImageGameCDN","ProviderResource","getProviderResourceLive","getProviderResource","CasinoCDN","setBreadcrumb","backLink","backInsideHeader","$HtmlData","classActive","append","SoftGamesName","setMenuGames","$HtmlMenu","li","opclick","after","text","endWrite","hideBreadCrumb","hideMostPlayedPannel","setFavouriteIcon","tooltip","offset","top","animate","getPromoIcon","$HtmlPromoIcon","a","x","getPromoLabel","IdTavolo","$HtmlPromoLabel","listGame","gameFound","IdGamePromo","IdTablePromo","Promo","getPromoCartRow","$HtmlPromo","shortDescription","Info","UrlTec","setPanelPromo","idPromo","sort","b","Date","DataInizio","infoTCIcon","$htmlSlider","$htmlIndicators","$htmlItems","$htmlContent","htmlSwiper","Swiper","loop","slidesPerView","centeredSlides","spaceBetween","delay","disableOnInteraction","breakpoints","500","650","console","log","navigation","nextEl","prevEl","getClassificaPromo","setClassificaPromo","dataIn","result","getJsonData","$HtmlPromoRow","curIdPromo","UrliframePromo","checkdata","urlTestata","modal","setGamesPromo","$HtmlGame","IdPromo","GetCardGame","GetCardGameLive","promoNode","addbutton","clickclassifica","txtButton","getCcl","menuClass","hideSidebar","$HtmlFauvourite","classDisplay","setFavoriteFornitori","Section","objmenu","parent","objline","last","prepend","SetProviderUserFavourite","IdFornitore","section","active","hasClass","restoreProviderInMenuPlace","sectionMenuClass","EndGameUserFornitoriFavourite","menu","objectLi","found","index","item","insertBefore","jsonResult","parseJSON","d","inerror","GetGamesHomeClick","GetGamesHomeSlotClick","GetGamesLiveHomeClick","GetSoftGamesHomeClick","GetGamesProviderMacroClick","GetGamesLiveProviderClick","setCardPreload","unsetCardPreload","GetClickGame","json","OnlyBetflag","IdProvider","TableId","GetClickGameCard","timerClickGame","GetPlayGameTouch","gameCard","tableId","clearInterval","blankPlaceholder","$HtmlJackpot","clickgame","$HtmlAdd","$HtmlInfo","$HtmlFav","isExpired","ExclusiveExpire","NewExpire","InEvidenza","addHtml","IsHighRTP","Jackpot","jackpot","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","parseFloat","TipoGioco","Game","Img","GetCardGameSearchResult","$HtmlNew","GetCardGameLiveSearchResult","$HtmlState","Language","$HtmlCroupier","CroupierImg","PrintLiveData","CroupierName","ClickFunc","timeOpen","userOnline","Player","Open","OpenedTo","OpenedFrom","LimMin","LimMax","IdProviderAlias","GetFakeCardGame","count","parseOpenedFromTo","openedHour","parseAmountLiveData","amount","backgroundImage","$HtmlFlag","$HtmlLiveData","getTime","countLiveInfos","playersInfo","GetSortDrop","countGame","countGameNew","addFilter","GetSortDropCategory","categoryid","GetOpenDrop","islive","sortJsonGame","setGamesSorted","sortJsonArrayByProperty","sortJsonGameCategory","setSidebarCasino","countTot","homeItemClick","homeItemTitle","$HtmlSidebarMenuCasinoXS","htmlHomeItem","GetProviderSortDropdown","orderSlot","orderOnline","orderGames","orderLive","push","NewGameFornitori","icoPromo","Fornitori","newGames","newGamesHighRTP","slot","getProviderMenuItem","totalPlayed","softgames","games","target","clearProviderSearchInput","off","name","numGames","newGamesSpan","promoIcon","sectionId","logo","clickHandler","setMenuCasino","$HtmlMenuCasino","$HtmlMenuCasinoSlot","$HtmlMenuCasinoLive","$HtmlMenuCasinoSoftGames","countNew","countExclusives","countTotC","countTotCL","countTotCS","countTotCSG","Exclusives","setNewButton","setExclusiveButton","S_co","S_cs","S_cl","S_csg","arrangeMenu","sortProviderMenuClick","sortType","sortTypeAnalytics","sortProviderMenu","sortMenuItemsByAttribute","attribute","dir","allItems","get","keyA","keyB","isNaN","items","ul","numberGamesText","$DropdownItemsSort","clearProviderSearchInputBlur","searchProvider","searchResult","filter","getSearchProviderItem","func","description","$HtmlDataTop","$HtmlMenuCategory","$HtmlGames","$HtmlInEvidenza","countNewSlot","arrayInEvidenza2","inEvidenzaAddClass","topItem","splice","shuffle","buildFiltersMenu","openAll","setCategoriesDropdown","htmlHeader","filterButton","setCategoriesHeader","htmlPanelContent","initSliderInEvidenza","GetCrazySlotsActive","countNewRoulette","countNewGiochiDiCarte","countNewVideoPoker","GetAmusnetJackpot","GetCrazySlots","countNewSlotJackpot","counttot","$HtmlNavCategory","allFunct","allGamesString","sumAll","reduce","acc","Count","categoryFunct","Id","Nome","outerHTML","registerSliderButtonClickEvent","resizeTopItemInEvidenza","withTopItem","addedItem","destroy","576","1200","1600","1800","475","760","1024","pagination","type","dynamicBullets","dynamicMainBullets","init","minWidth","update","cecheckInevidenza","JsonFornitoriToSort","countGames","n","z","buttonOpenAll","isFilterPanelEdited","resetAllFilters","getFilters","addItem","minItems","provider","getPannelAddedClass","$HtmlSlot","$HtmlSlotMini","$HtmlRoulette","$HtmlGiochidicarte","$HtmlVideopoker","$HtmlSlotJackpot","$HtmlGameShows","countSlot","countRoulette","countGiochiDiCarte","countVideoPoker","countGameShows","countSlotJackpot","promoancorcasino","countCard","SlotName","idPromoCasino","RouletteName","GiochiDiCarteName","VideoPokerName","GameShowsName","SlotJackoptName","initGamesProviderMacroSection","game","$HtmlMain","$HtmlMini","total","getGamesProviderMacroSectionPanelContent","promoId","sectionName","SectionId","panelContent","cardCount","cardsThreshold","header","GetProviderMaintenance","setFilteredProvider","updateFilterCounter","menuId","prependTo","initGamesLiveSection","getLiveSectionPanelContent","idprovideralias","showButtonLobby","btnLobby","categoryId","SetteMezzoId","SetteMezzoName","SoftgamesId","SidegamesName","New","setFilteredCategory","urlParams","URLSearchParams","search","decodedBackUrl","decodeURIComponent","addCss","RouletteLiveName","BlackjackLiveName","BaccaratLiveName","PokerLiveName","GameShowLiveName","JackpotLiveName","not","JsonGameSort","isFav","CategoriaMacro","JsonGamesUser","$HtmlFavourite","favouritesMacro","Favourite","$HtmlMostPlayed","add","numGamesThreasold","initSliderMostPlayed","initSliderCrazySlots","hasResult","retcode","clickFunction","gameName","liveData","croupierImg","flagLabel","newLabel","resultLength","titleBox","headerString","rotaterator","fadeSpeed","pauseSpeed","exclusives","exclusiveGamesHighRTP","closeGameSpace","swiperJackpotAmusnet","jackpotArray","value","currentLevelI","currentLevelII","currentLevelIII","currentLevelIV","GetAmusnetJackpotItem","error","initCrazySlotCountdown","countdownId","timerCrazySlots","expirationDate","timerCrazySlotsCountdown","setInterval","updateCrazySlotCountdown","padTime","timerCrazySlotsCountdownAll","currentDate","timeDifference","hours","Math","floor","minutes","seconds","formattedTime","SetCrazySlots","restCallSync","response","Data","InfoProgrammazione","Attiva","getSortedCrazySlotGames","giochiProgrammazione","g","Ordine","toString","dataInizio","dataInizioBanner","DataInizioBanner","timeDiff","idProgrammazione","IdProgrammazione","swiperTop","swiperList","swiper","Games","GiochiProgrammazione","ShowInfo","DataFine","SetCrazySlotsAll","options","child","o","children","next","fadeIn","fadeOut"],"mappings":"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","sourcesContent":["var JsonGameUser = [],\r\n JsonGameNoSort = [],\r\n JsonGameToSort = [],\r\n arrayNewGame = [],\r\n arrayInEvidenza = [],\r\n JsonPromo = [];\r\n JsonCategories = [];\r\nvar swiperInEvidenza = null, swiperMostPlayed = null, swiperCrazySlots = null;\r\nvar timerChangeHomeNew = null;\r\nvar searchStrig = \"\",\r\n searchLastJson = [],\r\n preorder = 0,\r\n currentNewGame = 0,\r\n currentIntervall = 0,\r\n categoryorder = '',\r\n categoryorderdirection = '';\r\nvar isinit = true,\r\n scrollToTop = false,\r\n openLinkDirect = false,\r\n openSectionDirect = false,\r\n scrollSection = false,\r\n openPromoSection = false,\r\n checkResumeFilters = false,\r\n fromLastView = false,\r\n isShowingMostPlayed = false,\r\n DLp = \"\",\r\n DLb = \"\",\r\n DLil = \"\",\r\n DLf = \"\",\r\n DLg = \"\",\r\n Dsec = \"\",\r\n Dgam = \"\",\r\n DefaultCasino = \"online\",\r\n backUrl = \"\";\r\nvar itemNewGame;\r\nvar threshold = 6;\r\nvar minThreshold = 3;\r\nvar inEvidenzaWithTopItem = false;\r\nvar timoutFilterSearch = null;\r\nvar gameInIframeUsers = null;\r\nvar enableNewProviderMenu = true;\r\nvar enableSquareLayout = true;\r\nvar crazySlotActive = false;\r\n\r\n$.fn.extend({\r\n animateCss: function(animationName, callback) {\r\n var animationEnd = (function(el) {\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n };\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n return animations[t];\r\n }\r\n }\r\n })(document.createElement('div'));\r\n this.addClass('animated ' + animationName).one(animationEnd, function() {\r\n $(this).removeClass('animated ' + animationName);\r\n if (typeof callback === 'function') callback();\r\n });\r\n return this;\r\n },\r\n});\r\n//$(window).scroll(function () { \r\n// if (isVisible(\".getpluscategory\")) {\r\n// var op = $(\".getpluscategory\").attr(\"onclick\");\r\n// $(\".getpluscategory\").remove();\r\n// eval(op);\r\n// } \r\n//});\r\n\r\nwindow.addEventListener(\"message\", (event) => {\r\n try {\r\n var parsedEvent = JSON.parse(JSON.stringify(event.data));\r\n if (parsedEvent.closeGame) {\r\n if (swiperInEvidenza && swiperInEvidenza.autoplay) {\r\n swiperInEvidenza.autoplay.start();\r\n }\r\n if (swiperMostPlayed && swiperMostPlayed.autoplay) {\r\n swiperMostPlayed.autoplay.start();\r\n }\r\n endGame();\r\n }\r\n } catch(e) {\r\n\r\n }\r\n}, false);\r\n\r\nfunction start(pID, fID, gID, bID, cST, sec, gam) { \r\n InitSearchBox();\r\n\r\n if (!isInApp()) {\r\n $(window).scroll(function () {\r\n if (isVisible(\".getpluscategory\")) {\r\n var op = $(\".getpluscategory\").attr(\"onclick\");\r\n $(\".getpluscategory\").remove();\r\n eval(op);\r\n }\r\n });\r\n } else {\r\n $(\".menu-sections\").removeClass(\"d-none\");\r\n }\r\n \r\n var provenienza = getProvenienza();\r\n if (provenienza == \"104\") { //SOLO BETFLAGGRATISMOBILE\r\n var headerHeight = $(\"#header_content\").height();\r\n $(\"#MSTCasino\").css(\"margin-top\", headerHeight);\r\n $(\".menu-sections\").removeClass(\"d-none\");\r\n }\r\n\r\n if (enableSquareLayout) {\r\n $(\"#CasinoContent\").addClass(\"square-layout\");\r\n }\r\n\r\n checkDirectLink(pID, fID, gID, sec, gam, bID, cST);\r\n if (cST.length > 0) {\r\n if (cST == \"1\") {\r\n DefaultCasino = \"live\";\r\n GetGamesLiveHome();\r\n }\r\n if (cST == \"2\") {\r\n DefaultCasino = \"slot\";\r\n GetGamesSlotHome();\r\n }\r\n if (cST == \"3\") {\r\n DefaultCasino = \"softgames\";\r\n GetSoftGamesHome();\r\n }\r\n if (cST == \"4\") {\r\n DefaultCasino = \"online\";\r\n GetGamesHome();\r\n }\r\n if (CasinoMobileDevice && typeof (Storage) !== \"undefined\") {\r\n localStorage.setItem(\"casinoLastSection\", cST);\r\n }\r\n } else {\r\n GetGamesHome();\r\n }\r\n setFramePlay();\r\n setScrollEvents();\r\n checkOpenTickets();\r\n //setCookieThirdParty();\r\n}\r\n\r\nfunction InitSearchBox() {\r\n if (!CasinoMobileDevice) {\r\n $(\"#search\").keypress(function (e) {\r\n if (e.key != 'Enter' && e.keyCode != 13) {\r\n GetSearchUserWithDelay(this);\r\n } else {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n ExpandSearchResult();\r\n $(\"#search\").blur();\r\n return false;\r\n }\r\n });\r\n $('#search').keyup(function (e) {\r\n if (e.keyCode == 8) {\r\n GetSearchUserWithDelay(this);\r\n }\r\n });\r\n $(\"#search\").on('blur', function (e) { emptySearch(this) });\r\n } else {\r\n $(\".searchResult\").css(\"max-height\", ($(window).height() - 190) + \"px\");\r\n $(\"#search\").on('keyup', function (e) {\r\n if (e.key != 'Enter' && e.keyCode != 13) {\r\n GetSearchUserWithDelay(this);\r\n } else {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n ExpandSearchResult();\r\n $(\"#search\").blur();\r\n emptySearch($(\"#search\"));\r\n return false;\r\n }\r\n });\r\n }\r\n $(\"#searchButton\").on('click', function (e) { ExpandSearchResult(); emptySearch($(\"#search\")); return false; });\r\n $(\"#search\").on('focus', function (e) { emptySearch(this) });\r\n\r\n //SEARCH FILTER\r\n if (!CasinoMobileDevice) {\r\n $(\"#searchFilter\").keypress(function (e) { \r\n if (e.keyCode == 13 || e.key == 'Enter') { \r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(\"#searchFilter\").blur(); \r\n return false;\r\n }\r\n });\r\n $('#searchFilter').keyup(function (e) { \r\n if (e.keyCode == 13) { \r\n return false;\r\n } else {\r\n GetSearchFiltered(this, DefaultCasino);\r\n }\r\n });\r\n $(\"#searchFilter\").on('blur', function (e) { timoutFilterSearch = setTimeout(function () { setSearchKey() }, 200) });\r\n } else {\r\n $(\".filtersearchResult\").css(\"max-height\", ($(window).height() - 190) + \"px\");\r\n $('#searchFilter').keyup(function (e) {\r\n if (e.key != 'Enter' && e.keyCode != 13) {\r\n GetSearchFiltered(this, DefaultCasino);\r\n } else {\r\n e.preventDefault();\r\n e.stopPropagation(); \r\n setSearchKey(); \r\n $(\"#searchFilter\").blur(); \r\n return false;\r\n }\r\n });\r\n }\r\n $(\"#searchFilterButton\").on('click', function (e) { setSearchKey(); return false; });\r\n}\r\n\r\nfunction checkDirectLink(pID, fID, gID, sec, gam, bID, cST) {\r\n if (pID != null && pID != \"\") {\r\n openLinkDirect = true;\r\n DLp = pID;\r\n if (bID.length > 0 && bID != undefined && bID != null) {\r\n DLb = bID.toUpperCase();\r\n //scrollSection = true;\r\n openPromoSection = true;\r\n //openLinkDirect = false;\r\n //DLp = '';\r\n }\r\n if (fID != null && fID != \"\") {\r\n DLf = fID;\r\n if (gID != null && gID != \"\") {\r\n DLg = gID;\r\n }\r\n }\r\n }\r\n if (sec != \"\") {\r\n Dsec = sec;\r\n if (gam != \"\") {\r\n Dgam = gam;\r\n }\r\n openSectionDirect = true;\r\n }\r\n\r\n if (checkResumeFilters) {\r\n if (typeof(Storage) !== \"undefined\") {\r\n var userlastview = localStorage.getItem(\"casinouserlastview\");\r\n if (userlastview && userlastview === \"SECTION-FILTER\") { \r\n openLinkDirect = false;\r\n }\r\n }\r\n }\r\n\r\n if (CasinoMobileDevice && !openLinkDirect && !openSectionDirect) {\r\n if (typeof(Storage) !== \"undefined\") {\r\n var userlastview = localStorage.getItem(\"casinouserlastview\");\r\n var userLastSection = localStorage.getItem(\"casinoLastSection\");\r\n if (userlastview != null) {\r\n if (userlastview.length > 0) {\r\n try {\r\n var idprovider = userlastview;\r\n var macro = \"\";\r\n if (userlastview.indexOf(\"-\") != -1) {\r\n var singleVal = userlastview.split('-');\r\n\r\n idprovider = singleVal[0];\r\n macro = singleVal[1];\r\n\r\n if (cST === userLastSection) {\r\n\r\n if (idprovider == \"0\") {\r\n Dsec = \"piugiocati\";\r\n Dgam = macro.toLowerCase();\r\n openSectionDirect = true;\r\n } else if (idprovider == \"SECTION\") {\r\n Dsec = macro;\r\n openSectionDirect = true;\r\n if (macro === \"FILTER\") {\r\n if (sessionStorage.getItem(\"gamesFiltered\") != null &&\r\n sessionStorage.getItem(\"filtersData\") != null) {\r\n var fData = JSON.parse(lzw_decode(sessionStorage.getItem(\"filtersData\")));\r\n var casinoType = \"online\";\r\n if (cST.length > 0) {\r\n switch (cST) {\r\n case \"1\":\r\n casinoType = \"live\";\r\n break;\r\n case \"2\":\r\n casinoType = \"slot\";\r\n break;\r\n case \"3\":\r\n casinoType = \"softgames\";\r\n break;\r\n case \"4\":\r\n casinoType = \"online\";\r\n break;\r\n }\r\n if (fData.Macro === casinoType) {\r\n resumeFilters = true;\r\n ignoreGoToProvider = true;\r\n } else {\r\n openSectionDirect = false;\r\n }\r\n } else {\r\n resumeFilters = true;\r\n ignoreGoToProvider = true;\r\n }\r\n } else {\r\n openSectionDirect = false;\r\n }\r\n }\r\n } else {\r\n DLp = idprovider;\r\n DLf = macro.toLowerCase();\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n switch (DLf) {\r\n case \"roulette\":\r\n case \"giochi-di-carte\":\r\n case \"giochidicarte\":\r\n case \"videopoker\":\r\n case \"gameshow\":\r\n openLinkDirect = true;\r\n break;\r\n }\r\n break;\r\n case \"slot\":\r\n switch (DLf) {\r\n case \"slot\":\r\n case \"slot-jackpot\":\r\n case \"slotjackpot\":\r\n openLinkDirect = true;\r\n break;\r\n }\r\n break;\r\n case \"softgames\":\r\n switch (DLf) {\r\n case \"softgames\":\r\n case \"games\":\r\n case \"sidegames\":\r\n openLinkDirect = true;\r\n break;\r\n }\r\n break;\r\n default:\r\n switch (DLf) {\r\n case \"roulette-live\":\r\n case \"roulettelive\":\r\n case \"blackjack-live\":\r\n case \"blackjacklive\":\r\n case \"baccarat-live\":\r\n case \"baccaratlive\":\r\n case \"poker-live\":\r\n case \"pokerlive\":\r\n case \"gameshow-live\":\r\n case \"gameshowlive\":\r\n openLinkDirect = true;\r\n break;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n fromLastView = true;\r\n }\r\n } else if (idprovider != \"0\") {\r\n DLp = idprovider;\r\n openLinkDirect = true;\r\n }\r\n \r\n } catch (e) {\r\n\r\n }\r\n localStorage.removeItem(\"casinouserlastview\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction DirectLink() {\r\n openLinkDirect = false;\r\n openSectionDirect = false;\r\n switch (DLp.toUpperCase()) {\r\n case \"RIO\":\r\n DLp = \"MICROGAMING\";\r\n break;\r\n case \"SANREMO\":\r\n DLp = \"MEDIALIVE\";\r\n break;\r\n case \"BANGKOK\":\r\n DLp = \"PLAYNGO\";\r\n break;\r\n case \"MACAO\":\r\n DLp = \"NETENT\";\r\n break;\r\n }\r\n DLp = getProviderIdByName(DLp);\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n case \"slot\":\r\n case \"softgames\":\r\n DLil = \"0\";\r\n break;\r\n default:\r\n DLil = \"1\";\r\n break;\r\n }\r\n if (DLp.length > 0) {\r\n if (DLf != \"\") {\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n switch (DLf) {\r\n case \"roulette\":\r\n DLf = RouletteId;\r\n break;\r\n case \"giochi-di-carte\":\r\n case \"giochidicarte\":\r\n DLf = GiochiDiCarteId;\r\n break;\r\n case \"videopoker\":\r\n DLf = VideoPokerId;\r\n break;\r\n case \"gameshow\":\r\n DLf = GameShowsId;\r\n break;\r\n default:\r\n DLf = \"\";\r\n break;\r\n }\r\n break;\r\n case \"slot\":\r\n switch (DLf) {\r\n case \"slot\":\r\n DLf = SlotId;\r\n break;\r\n case \"slot-jackpot\":\r\n case \"slotjackpot\":\r\n DLf = SlotJackpotId;\r\n break;\r\n default:\r\n DLf = \"\";\r\n break;\r\n }\r\n\r\n break;\r\n default:\r\n switch (DLf) {\r\n case \"roulette-live\":\r\n case \"roulettelive\":\r\n DLf = RouletteLiveId;\r\n break;\r\n case \"blackjack-live\":\r\n case \"blackjacklive\":\r\n DLf = BlackjackLiveId;\r\n break;\r\n case \"baccarat-live\":\r\n case \"baccaratlive\":\r\n DLf = BaccaratLiveId;\r\n break;\r\n case \"poker-live\":\r\n case \"pokerlive\":\r\n DLf = PokerLiveId;\r\n break;\r\n case \"gameshow-live\":\r\n case \"gameshowlive\":\r\n DLf = GameShowLiveId;\r\n break;\r\n case \"jackpot-live\":\r\n case \"jackpotlive\":\r\n DLf = JackpotLiveId;\r\n break;\r\n default:\r\n DLf = \"\";\r\n break;\r\n }\r\n break;\r\n }\r\n\r\n if (DLg != 0) {\r\n /*OPEN SINGLE GAME*/\r\n if (DLil == \"0\") {\r\n GetPlayGame(DLg, DLp, '');\r\n } else {\r\n var idsplit = DLg.split(\"_\");\r\n var idGame = idsplit[0];\r\n var idTavolo = idsplit[1];\r\n if (idGame === \"lobby\") {\r\n GetLobbyUrl(DLp);\r\n } else if (idGame && idTavolo) {\r\n GetPlayGame(idGame, DLp, idTavolo);\r\n }\r\n }\r\n } else {\r\n if (DLf != \"\") {\r\n /*OPEN GAMES PROVIDER*/\r\n if (DLil == \"1\") {\r\n GetGamesLiveProviderCategory(DLp, DLf);\r\n } else {\r\n GetGamesProviderCategory(DLp, DLf);\r\n }\r\n } else {\r\n /*OPEN PROVIDER*/\r\n if (DLil == \"1\") {\r\n GetGamesLiveProvider(DLp);\r\n } else {\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n GetGamesProviderMacro(DLp, \"casino\");\r\n break;\r\n case \"slot\":\r\n GetGamesProviderMacro(DLp, \"slot\");\r\n break;\r\n case \"softgames\":\r\n GetGamesProviderMacro(DLp, \"softgames\");\r\n break;\r\n default:\r\n GetGamesProvider(DLp);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n /*OPEN PROVIDER*/\r\n if (DLil == \"1\") {\r\n GetGamesLiveProvider(DLp);\r\n } else {\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n GetGamesProviderMacro(DLp, \"casino\");\r\n break;\r\n case \"slot\":\r\n GetGamesProviderMacro(DLp, \"slot\");\r\n break;\r\n case \"softgames\":\r\n GetGamesProviderMacro(DLp, \"softgames\");\r\n break;\r\n default:\r\n GetGamesProvider(DLp);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n DLp = \"\";\r\n DLil = \"\";\r\n DLf = \"\";\r\n DLg = \"\";\r\n}\r\n\r\nfunction DirectSection() {\r\n openSectionDirect = false;\r\n openLinkDirect = false;\r\n var callive = false;\r\n if (DLp) {\r\n DLp = getProviderIdByName(DLp);\r\n }\r\n switch (Dsec.toUpperCase()) {\r\n case \"PIUGIOCATI\":\r\n switch (Dgam) {\r\n case \"slot\":\r\n Dgam = SlotId;\r\n break;\r\n case \"roulette\":\r\n Dgam = RouletteId;\r\n break;\r\n case \"giochi-di-carte\":\r\n Dgam = GiochiDiCarteId;\r\n break;\r\n case \"videopoker\":\r\n Dgam = VideoPokerId;\r\n break;\r\n case \"gameshow\":\r\n Dgam = GameShowsId;\r\n break;\r\n case \"slot-jackpot\":\r\n Dgam = SlotJackpotId;\r\n break;\r\n case \"sidegames\":\r\n Dgam = SidegamesId;\r\n break;\r\n case \"roulette-live\":\r\n case \"roulettelive\":\r\n Dgam = RouletteLiveId;\r\n callive = true;\r\n break;\r\n case \"blackjack-live\":\r\n case \"blackjacklive\":\r\n Dgam = BlackjackLiveId;\r\n callive = true;\r\n break;\r\n case \"baccarat-live\":\r\n case \"baccaratlive\":\r\n Dgam = BaccaratLiveId;\r\n callive = true;\r\n break;\r\n case \"poker-live\":\r\n case \"pokerlive\":\r\n Dgam = PokerLiveId;\r\n callive = true;\r\n break;\r\n case \"gameshow-live\":\r\n case \"gameshowlive\":\r\n Dgam = GameShowLiveId;\r\n callive = true;\r\n break;\r\n case \"jackpot-live\":\r\n case \"jackpotlive\":\r\n Dgam = JackpotLiveId;\r\n callive = true;\r\n break;\r\n }\r\n if (callive) {\r\n GetGamesLiveCategory(Dgam);\r\n } else {\r\n GetGamesCategory(Dgam);\r\n }\r\n break;\r\n case \"NOVITA\": \r\n if (DLp) {\r\n GetGamesNewProviderMacro(DLp, DefaultCasino);\r\n } else {\r\n GetGamesNewMacro(DefaultCasino);\r\n }\r\n break;\r\n case \"ESCLUSIVE\": \r\n if (DLp) {\r\n GetGamesExclusiveProviderMacro(DLp, DefaultCasino);\r\n } else {\r\n GetGamesExclusiveMacro(DefaultCasino);\r\n }\r\n break;\r\n case \"TEMA\":\r\n preselectFilter(FiltersType.THEMES, Dgam);\r\n break;\r\n case \"CRAZYSLOT\": \r\n GetCrazySlotsAll();\r\n break;\r\n case \"INEVIDENZA\":\r\n GetGamesBest();\r\n break;\r\n case \"PREFERITI\":\r\n setSessionUser(null, null);\r\n if (getSid().length > 0) {\r\n GetGamesUser();\r\n }\r\n break;\r\n case \"PROMO\":\r\n if (JsonPromo.length > 0) {\r\n $.each(JsonPromo, function(i, v) {\r\n getGamesPromo(event, v[\"Promo\"][\"IdPromo\"]);\r\n return false;\r\n });\r\n }\r\n break;\r\n case \"FILTER\":\r\n try {\r\n if (typeof(Storage) !== \"undefined\") {\r\n filtersData = JSON.parse(lzw_decode(sessionStorage.getItem(\"filtersData\")));\r\n setFiltersUpdate(JSON.parse(lzw_decode(sessionStorage.getItem(\"filters\"))));\r\n setGamesFiltered(JSON.parse(sessionStorage.getItem(\"gamesFiltered\")));\r\n }\r\n } catch (e) {}\r\n resumeFilters = false;\r\n break;\r\n }\r\n}\r\n\r\nfunction setFramePlay() {\r\n jQuery.fn.extend({\r\n iframe: function(doc) {\r\n var iframeDoc = this.contents()[0];\r\n iframeDoc.open();\r\n iframeDoc.write(doc);\r\n iframeDoc.close();\r\n return this;\r\n }\r\n });\r\n}\r\n\r\nfunction setScrollEvents() {\r\n $(window).scroll(function() {\r\n if ($(this).scrollTop() >= 50) { // this refers to window\r\n $(\".banner-container\").hide();\r\n $(\".banner-crazy-slot\").hide();\r\n $(\".pannelShare\").hide();\r\n $(\".menuGame\").css({\"position\":\"fixed\", \"width\":\"100%\", \"z-index\":\"999\"});\r\n var fixedElemHeight = $(\"#header_content\").height() + $(\"#menuHeader\").height() + $(\".menuGame\").height() + 15;\r\n $(\"#contentPannelTOP\").css(\"margin-top\", fixedElemHeight);\r\n }\r\n else {\r\n $(\".banner-container\").show();\r\n $(\".banner-crazy-slot\").show();\r\n $(\".pannelShare\").show();\r\n $(\".menuGame\").removeAttr(\"style\");\r\n $(\"#contentPannelTOP\").removeAttr(\"style\");\r\n }\r\n });\r\n}\r\n\r\n/*GET DATA*/\r\n\r\nfunction GetGamesHome() {\r\n setSessionUser(null, null);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gameshome\"; \r\n restCall(urlReq, setGamesHome);\r\n }\r\n}\r\nfunction GetGamesLiveHome() {\r\n setSessionUser(null, null);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gameslivehome\";\r\n restCall(urlReq, setGamesLiveHome);\r\n }\r\n}\r\nfunction GetGamesSlotHome() {\r\n setSessionUser(null, null);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesslothome\";\r\n restCall(urlReq, setGamesSlotHome);\r\n }\r\n}\r\nfunction GetSoftGamesHome() {\r\n setSessionUser(null, null);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"softgameshome\";\r\n restCall(urlReq, setSoftGamesHome);\r\n }\r\n}\r\n\r\nfunction GetGamesMacroHomePlus(macro, plus) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesmacrohomeplus/\" + macro + \"/\" + plus;\r\n restCall(urlReq, setGamesMacroHomePlus);\r\n }\r\n}\r\n\r\nfunction GetGamesProvider(idprovider) {\r\n setSessionUser(idprovider, null);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesprovider/\" + idprovider;\r\n restCall(urlReq, setGamesProvider); \r\n }\r\n}\r\n\r\nfunction GetGamesProviderMacro(idprovider, macro) {\r\n setSessionUser(idprovider, macro);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesprovidermacro/\" + idprovider + \"/\" + macro; \r\n restCall(urlReq, setGamesProviderMacro); \r\n }\r\n}\r\n\r\nfunction GetGamesProviderMacroPlus(idprovider, macro, plus) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesprovidermacroplus/\" + idprovider + \"/\" + macro + \"/\" + plus;\r\n restCall(urlReq, setGamesProviderMacroPlus); \r\n }\r\n}\r\n\r\nfunction GetGamesLiveProvider(idprovider) {\r\n setSessionUser(idprovider, null);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesliveprovider/\" + idprovider;\r\n restCall(urlReq, setGamesLiveProvider);\r\n }\r\n}\r\n\r\nfunction GetGamesCategory(category) {\r\n setSessionUser(\"0\", category);\r\n categoryorder = '';\r\n categoryorderdirection = '';\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamescategory/\" + category; \r\n restCall(urlReq, setGamesCategory); \r\n }\r\n}\r\n\r\nfunction GetGamesCategoryPlus(category, plus) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamescategoryplus/\" + category + \"/\" + plus;\r\n restCall(urlReq, setGamesCategoryPlus);\r\n }\r\n}\r\n\r\nfunction GetGamesCategorySort(category, order, direction) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamescategorysort/\" + category + \"/\" + order + \"/\" + direction;\r\n restCall(urlReq, setGamesCategory); \r\n }\r\n}\r\n\r\nfunction GetGamesCategorySortPlus(category, plus, order, direction) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamescategorysortplus/\" + category + \"/\" + plus + \"/\" + order + \"/\" + direction;\r\n restCall(urlReq, setGamesCategoryPlus); \r\n }\r\n}\r\n\r\nfunction GetGamesOrderCategory(order, category) {\r\n preorder = order;\r\n GetGamesCategory(category);\r\n}\r\n\r\nfunction GetGamesLiveCategory(category) {\r\n setSessionUser(\"0\", category);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gameslivecategory/\" + category;\r\n restCall(urlReq, setGamesLiveCategory);\r\n }\r\n}\r\n\r\nfunction GetGamesProviderCategory(idprovider, category) {\r\n setSessionUser(idprovider, category);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesprovidercategory/\" + idprovider + \"/\" + category;\r\n restCall(urlReq, setGamesProviderCategory);\r\n }\r\n}\r\n\r\nfunction GetGamesLiveProviderCategory(idprovider, category) {\r\n setSessionUser(idprovider, category);\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesliveprovidercategory/\" + idprovider + \"/\" + category;\r\n restCall(urlReq, setGamesLiveProviderCategory);\r\n }\r\n}\r\n\r\nfunction GetGamesBest() {\r\n setSessionUser(\"SECTION\", \"INEVIDENZA\");\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesbest/\" + DefaultCasino;\r\n restCall(urlReq, setGamesBest); \r\n }\r\n}\r\n\r\nfunction GetGamesLiveBest() {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gameslivebest\";\r\n restCall(urlReq, setGamesLiveBest);\r\n }\r\n}\r\n\r\nfunction GetGamesNewBest() {\r\n setSessionUser(\"SECTION\", \"INEVIDENZA_NEW\");\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesnewbest/\" + DefaultCasino;\r\n restCall(urlReq, setGamesNewBest); \r\n }\r\n}\r\n\r\nfunction GetGamesNew() {\r\n setSessionUser(\"SECTION\", \"NOVITA\");\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesnew\";\r\n restCall(urlReq, setGamesNew); \r\n }\r\n if (getSid().length > 0) {\r\n setEventsAnalytics('CasinoButton', 'novita', 'session');\r\n } else {\r\n setEventsAnalytics('CasinoButton', 'novita', 'no session');\r\n }\r\n}\r\n\r\nfunction GetGamesNewMacro(macro) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesnewmacro/\" + macro;\r\n restCall(urlReq, setGamesNewMacro); \r\n }\r\n if (getSid().length > 0) {\r\n setEventsAnalytics('CasinoButton', 'novita', 'session');\r\n } else {\r\n setEventsAnalytics('CasinoButton', 'novita', 'no session');\r\n }\r\n}\r\nfunction GetGamesExclusiveMacro(macro) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesexclusivemacro/\" + macro;\r\n restCall(urlReq, setGamesExclusiveMacro); \r\n }\r\n if (getSid().length > 0) {\r\n setEventsAnalytics('CasinoButton', 'esclusive', 'session');\r\n } else {\r\n setEventsAnalytics('CasinoButton', 'esclusive', 'no session');\r\n }\r\n}\r\n\r\nfunction GetGamesExclusiveProviderMacro(idprovider, macro) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesexclusiveprovidermacro/\" + idprovider + \"/\" + macro;\r\n restCall(urlReq, setGamesExclusiveProviderMacro); \r\n }\r\n if (getSid().length > 0) {\r\n setEventsAnalytics('CasinoButton', 'esclusive', 'session provider ' + idprovider);\r\n } else {\r\n setEventsAnalytics('CasinoButton', 'esclusive', 'no session provider ' + idprovider);\r\n }\r\n}\r\n\r\nfunction GetGamesNewProvider(idprovider) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesnewprovider/\" + idprovider;\r\n restCall(urlReq, setGamesNewProvider); \r\n }\r\n if (getSid().length > 0) {\r\n setEventsAnalytics('CasinoButton', 'novita', 'session provider ' + idprovider);\r\n } else {\r\n setEventsAnalytics('CasinoButton', 'novita', 'no session provider ' + idprovider);\r\n }\r\n}\r\n\r\nfunction GetGamesNewProviderMacro(idprovider, macro) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamesnewprovidermacro/\" + idprovider + \"/\" + macro;\r\n restCall(urlReq, setGamesNewProviderMacro); \r\n }\r\n if (getSid().length > 0) {\r\n setEventsAnalytics('CasinoButton', 'novita', 'session provider ' + idprovider);\r\n } else {\r\n setEventsAnalytics('CasinoButton', 'novita', 'no session provider ' + idprovider);\r\n }\r\n}\r\n\r\nfunction GetTopGamesUser() {\r\n if (!lockMaintTime) {\r\n if (getSid().length > 0) {\r\n var urlReq = CasinoRestUrl + \"topgamesuser/\" + getSid(); \r\n restCall(urlReq, setTopGamesUser); \r\n }\r\n }\r\n}\r\n\r\nfunction GetMostPlayedGamesUser() {\r\n if (!lockMaintTime) {\r\n if (getSid().length > 0) {\r\n var urlReq = CasinoRestUrl + \"mostplayedgamesuser/\" + getSid() + \"/\" + DefaultCasino;\r\n restCall(urlReq, setMostPlayedGamesUser); \r\n }\r\n }\r\n}\r\n\r\nfunction GetMostPlayedGamesUserAll() {\r\n if (!lockMaintTime) {\r\n if (getSid().length > 0) {\r\n var urlReq = CasinoRestUrl + \"mostplayedgamesuser/\" + getSid() + \"/\" + DefaultCasino;\r\n restCall(urlReq, setMostPlayedGamesUserAll); \r\n }\r\n }\r\n}\r\n\r\nfunction GetGamesUser() {\r\n setSessionUser(\"SECTION\", \"PREFERITI\");\r\n if (!lockMaintTime) {\r\n if (getSid().length > 0) {\r\n var urlReq = CasinoRestUrl + \"gamesuser/\" + getSid();\r\n restCall(urlReq, setGamesUser); \r\n } else {\r\n printMessage(\"Per visualizzare i tuoi preferiti devi prima effettuare la login.\");\r\n }\r\n }\r\n}\r\n\r\nvar searchTimeout = null;\r\nfunction GetSearchUserWithDelay(obj) {\r\n if (searchTimeout != null) {\r\n clearTimeout(searchTimeout);\r\n }\r\n searchTimeout = setTimeout(function() {\r\n searchTimeout = null; \r\n GetSearchUser(obj);\r\n }, 200); \r\n}\r\n\r\nfunction GetSearchUser(obj) {\r\n var searchValue = $(obj).val().toLowerCase();\r\n try {\r\n var searchCheck = searchValue.replace(/ /g, \"\");\r\n if (searchCheck.length > 2) {\r\n if (isValidSearch(searchValue)) {\r\n searchStrig = searchValue;\r\n var urlReq = CasinoRestUrl + \"search/\" + DefaultCasino + \"/\" + btoa(searchValue);\r\n restCall(urlReq, setSearchResult); \r\n } else {\r\n $(\".searchBox\").addClass(\"error\");\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n $(\"#searchButton\").html(\"\");\r\n $(\"#searchButton\").removeClass(\"buttonopenall\");\r\n }\r\n } else {\r\n $(\".searchResult\").empty();\r\n $(\".search-result-wrapper\").hide();\r\n $(\".searchBox\").removeClass(\"error\");\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n $(\"html, body\").removeClass(\"overflow-hidden\");\r\n $(\"#searchButton\").html(\"\");\r\n $(\"#searchButton\").removeClass(\"buttonopenall\");\r\n }\r\n } catch (e) {\r\n $(\"html, body\").removeClass(\"overflow-hidden\");\r\n $(\".searchResult\").empty();\r\n $(\".search-result-wrapper\").hide();\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n $(\"#searchButton\").html(\"\");\r\n $(\"#searchButton\").removeClass(\"buttonopenall\");\r\n }\r\n}\r\n\r\nfunction SetGameUserFavourite(e, IdGame, Active) {\r\n e.stopPropagation();\r\n if (getSid().length > 0) {\r\n if (!Active) {\r\n $(\".c\" + IdGame).find(\".clover.favourite\").replaceWith(getFavouriteIcon(IdGame, false));\r\n } else {\r\n $(\".c\" + IdGame).find(\".clover.favouritempty\").replaceWith(getFavouriteIcon(IdGame, true));\r\n }\r\n var dataPar = \"{\\\"SessionToken\\\":\\\"\" + getSid() + \"\\\", \\\"IdGame\\\":\\\"\" + IdGame + \"\\\", \\\"Active\\\":\" + Active + \"}\";\r\n ajaxCall(CasinoSiteUrl + \"WSPlay.asmx/SetGameFavourite\", dataPar, EndGameUserFavourite, false);\r\n } else {\r\n printMessage(\"Attenzione! Per aggiungere un gioco a i tuoi preferiti devi prima effettuare la login.\");\r\n }\r\n}\r\n\r\n/*UTILITY*/\r\nfunction isProviderLive(idProvider) {\r\n var isLive = false;\r\n $(JsonFornitori).each(function() {\r\n if ($(this)[0].id == idProvider) {\r\n if ($(this)[0].live == \"1\") {\r\n isLive = true;\r\n }\r\n }\r\n });\r\n return isLive;\r\n}\r\n\r\nfunction getProviderName(idProvider) {\r\n var ProviderName = \"\";\r\n $(JsonFornitori).each(function() {\r\n if ($(this)[0].id == idProvider) {\r\n ProviderName = $(this)[0].nome;\r\n }\r\n });\r\n return ProviderName;\r\n}\r\nfunction getProviderIdByName(providerName) {\r\n var providerId = \"\";\r\n $(JsonFornitori).each(function() {\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n case \"slot\":\r\n case \"softgames\":\r\n if ($(this)[0].nome.toUpperCase().replace(/\\s+/g, '').replace(\"'\", \"\").replace(\"&\", \"\") == providerName.toUpperCase() && $(this)[0].live == \"0\") {\r\n providerId = $(this)[0].id\r\n return false;\r\n }\r\n break;\r\n default:\r\n if ($(this)[0].nome.toUpperCase().replace(/\\s+/g, '').replace(\"'\", \"\").replace(\"&\", \"\") == providerName.toUpperCase() && $(this)[0].live == \"1\") {\r\n providerId = $(this)[0].id\r\n return false;\r\n }\r\n break;\r\n }\r\n });\r\n return providerId;\r\n}\r\n\r\nfunction getProviderLogo(idProvider, img, location) {\r\n var addSuffix = \"\";\r\n var addPath = \"\";\r\n if (enableSquareLayout) {\r\n addSuffix = \"-square\";\r\n addPath = \"square/\";\r\n }\r\n\r\n if (img.indexOf(\".svg\") != -1) {\r\n return CasinoImageGameCDN + \"image/svg/\" + idProvider + \"/\" + img;\r\n }\r\n var ProviderResource = CasinoImageGameCDN + \"image/game\";\r\n switch (location) {\r\n case \"icon\":\r\n ProviderResource += \"/img-xxs/\"\r\n break;\r\n case \"cart\":\r\n ProviderResource += \"/img-og/\"\r\n break;\r\n case \"card\":\r\n /*switch (breakpoint) {\r\n case \"xl\":\r\n ProviderResource += \"/img-xl/\"\r\n break;\r\n case \"lg\":\r\n case \"md\":\r\n ProviderResource += \"/img-xs/\"\r\n break;\r\n case \"xs\":\r\n case \"sm\":\r\n ProviderResource += \"/img-md/\"\r\n break;\r\n }*/\r\n ProviderResource += \"/img-md\" + addSuffix + \"/\" + addPath;\r\n break;\r\n case \"auto\":\r\n ProviderResource += \"/auto/\"\r\n break;\r\n }\r\n if (img) { img = img.toLowerCase().replace(\".png\", \".jpg\"); }\r\n\r\n return ProviderResource + idProvider + \"/\" + img;\r\n}\r\n\r\nfunction getProviderResourceLive(idProvider, img, location) {\r\n var addSuffix = \"\";\r\n var addPath = \"\";\r\n if (enableSquareLayout) {\r\n addSuffix = \"-square\";\r\n addPath = \"square/\";\r\n }\r\n\r\n var ProviderResource = CasinoImageGameCDN + \"image/game\";\r\n switch (location) {\r\n case \"icon\":\r\n ProviderResource += \"/img-xxs\" + \"/\" + addPath\r\n break;\r\n case \"cart\":\r\n ProviderResource += \"/img-xl\" + addSuffix + \"/\" + addPath;\r\n break;\r\n case \"card\":\r\n /*switch (breakpoint) {\r\n case \"xl\":\r\n ProviderResource += \"/img-xl/\"\r\n break;\r\n case \"lg\":\r\n case \"md\":\r\n ProviderResource += \"/img-xs/\"\r\n break;\r\n case \"xs\":\r\n case \"sm\":\r\n ProviderResource += \"/img-md/\"\r\n break;\r\n }*/\r\n ProviderResource += \"/img-md\" + addSuffix + \"/\" + addPath;\r\n break;\r\n }\r\n if (img) { img = img.toLowerCase().replace(\".png\", \".jpg\"); }\r\n\r\n return ProviderResource + idProvider + \"/\" + img;\r\n}\r\n\r\nfunction getProviderResource(idProvider, img, location) {\r\n var addSuffix = \"\";\r\n var addPath = \"\";\r\n if (enableSquareLayout) {\r\n addSuffix = \"-square\";\r\n addPath = \"square/\";\r\n }\r\n\r\n if (isProviderLive(idProvider)) {\r\n var ProviderResource = CasinoCDN + \"image/lbj\" + addSuffix + \".jpg\";\r\n if (location == \"cart\") {\r\n ProviderResource = CasinoCDN + \"image/lbj-cart.jpg\";\r\n }\r\n return ProviderResource;\r\n } else {\r\n if (img.indexOf(\".svg\") != -1) {\r\n return CasinoCDN + \"image/svg/\" + idProvider + \"/\" + img;\r\n }\r\n var ProviderResource = CasinoImageGameCDN + \"image/game\";\r\n switch (location) {\r\n case \"icon\":\r\n ProviderResource += \"/img-xxs\" + \"/\" + addPath\r\n break;\r\n case \"cart\":\r\n if (!enableSquareLayout) {\r\n ProviderResource += \"/img-og\" + \"/\"\r\n } else {\r\n ProviderResource += \"/img-xl-square\" + \"/\" + addPath\r\n }\r\n break;\r\n case \"card\":\r\n /*switch (breakpoint) {\r\n case \"xl\":\r\n ProviderResource += \"/img-xl/\"\r\n break;\r\n case \"lg\":\r\n case \"md\":\r\n ProviderResource += \"/img-xs/\"\r\n break;\r\n case \"xs\":\r\n case \"sm\":\r\n ProviderResource += \"/img-md/\"\r\n break;\r\n }*/\r\n ProviderResource += \"/img-md\" + addSuffix + \"/\" + addPath;\r\n break;\r\n }\r\n if (img) { img = img.toLowerCase().replace(\".png\", \".jpg\"); }\r\n\r\n return ProviderResource + idProvider + \"/\" + img;\r\n }\r\n}\r\n\r\nfunction setBreadcrumb(html, backLink, backInsideHeader) {\r\n var $HtmlData = $(\"
\");\r\n if (html == null) {\r\n classActive = \" class=\\\"active\\\"\";\r\n }\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n $HtmlData.append(\r\n \"
  • Casinò online
  • \"\r\n );\r\n break;\r\n case \"slot\":\r\n $HtmlData.append(\r\n \"
  • Slot
  • \"\r\n );\r\n break;\r\n case \"softgames\":\r\n $HtmlData.append(\r\n \"
  • \" + SoftGamesName + \"
  • \"\r\n );\r\n break;\r\n default:\r\n $HtmlData.append(\r\n \"
  • Casinò Live
  • \"\r\n );\r\n break;\r\n }\r\n if (html != null) {\r\n $HtmlData.append(html);\r\n }\r\n $(\"#breadcrumb\").html($HtmlData.html());\r\n $(\".breadcrumbCnt\").find(\".casinoBackButton\").remove();\r\n $(\"#contentPannel .header .back-button\").remove();\r\n if (backLink != null) {\r\n if (backInsideHeader) {\r\n $(\"#contentPannel .header\").append(\"Indietro\");\r\n } else {\r\n $(\".breadcrumbCnt\").append(\"
    Indietro
    \");\r\n }\r\n }\r\n}\r\n\r\nfunction setMenuGames(html) {\r\n var $HtmlMenu = $(html);\r\n $(\".MenuLink\").remove();\r\n if ($HtmlMenu.find(\"li\").length == 2) {\r\n var li = $HtmlMenu.find(\"li\")[0];\r\n var opclick = $(li).attr(\"onclick\");\r\n $(\".dropdown-menu.menu-games\").empty();\r\n $(\".MenuGiochi\").find(\"i\").hide();\r\n $(\".MenuGiochi\").find(\"svg\").hide();\r\n $(\".MenuGiochi\").hide();\r\n $(\".MenuGiochi\").after(\"
    \" + $(\".MenuGiochi .menu-button-name\").text() + \"
    \" + $(\".MenuGiochi .selected-text\").text() + \"
    \")\r\n } else {\r\n $(\".MenuGiochi\").find(\"i\").show();\r\n $(\".MenuGiochi\").find(\"svg\").show();\r\n $(\".MenuGiochi\").show();\r\n $(\".dropdown-menu.menu-games\").html($HtmlMenu.html());\r\n }\r\n}\r\n\r\nfunction endWrite(hideBreadCrumb, isLive, hideMostPlayedPannel) {\r\n // if (CasinoMobileDevice && !showSelectedFilters) {\r\n // $(\".selected-filters-list\").empty();\r\n // $(\".selected-filters-row\").hide();\r\n // $(\".filters-counter\").removeClass(\"show\");\r\n // }\r\n if (hideMostPlayedPannel) {\r\n $(\"#contentPannelTOP2\").hide();\r\n isShowingMostPlayed = false;\r\n } else {\r\n isShowingMostPlayed = true;\r\n }\r\n\r\n setFavouriteIcon(false);\r\n // $(\"#HMCO\").removeClass(\"active\");\r\n // $(\"#HMCL\").removeClass(\"active\");\r\n $(\".pannelNew\").find(\"h2\").removeClass(\"active\");\r\n $(\".pannelExclusive\").find(\"h2\").removeClass(\"active\");\r\n $(\".pannelFavourite\").find(\"h2\").removeClass(\"active\");\r\n $(\".menuGameButton\").find(\".pannelFavourite\").removeClass(\"active\");\r\n $(\".menuGameButton\").find(\".pannelNew\").removeClass(\"active\");\r\n $(\".menuGameButton\").find(\".pannelExclusive\").removeClass(\"active\");\r\n $(\"#MSTCasino\").removeClass(\"hide-crazy-slots\");\r\n // $(\".menuGameButton\").find(\"a\").removeClass(\"active\");\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n $(\".menuGameButton\").find(\"a.online\").addClass(\"active\");\r\n if (getSid().length > 0) {\r\n $(\".favouritempty\").show();\r\n }\r\n break;\r\n case \"slot\":\r\n $(\".menuGameButton\").find(\"a.slot\").addClass(\"active\");\r\n if (getSid().length > 0) {\r\n $(\".favouritempty\").show();\r\n }\r\n break;\r\n case \"softgames\":\r\n $(\".menuGameButton\").find(\"a.softgames\").addClass(\"active\");\r\n if (getSid().length > 0) {\r\n $(\".favouritempty\").show();\r\n }\r\n break;\r\n default:\r\n $(\".menuGameButton\").find(\"a.live\").addClass(\"active\");\r\n break;\r\n }\r\n if (!CasinoMobileDevice) {\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n }\r\n if (hideBreadCrumb != null) {\r\n if (hideBreadCrumb) {\r\n $(\"#breadcrumb\").hide();\r\n } else {\r\n $(\"#breadcrumb\").show();\r\n }\r\n }\r\n $(\"#contentPannelTOP\").show();\r\n if (openSectionDirect) {\r\n DirectSection();\r\n } else if (openLinkDirect) {\r\n DirectLink();\r\n }\r\n if (openPromoSection) {\r\n setTimeout(function () {\r\n getGamesPromo(null, DLb);\r\n DLb = \"\";\r\n }, 1000);\r\n openPromoSection = false;\r\n }\r\n if (!openLinkDirect && !openSectionDirect && !openPromoSection && !hideMostPlayedPannel) {\r\n if(!fromLastView) {\r\n GetMostPlayedGamesUser();\r\n } else {\r\n fromLastView = false;\r\n }\r\n }\r\n //if (scrollSection) {\r\n // if (DLb == \"SLOT\") {\r\n // window.setTimeout(function () {\r\n // var pos = $(\"#PROMO_SLOT\").offset().top - 100;\r\n // if (CasinoMobileDevice) {\r\n // pos = $(\"#PROMO_SLOT\").offset().top;\r\n // }\r\n // $(\"html, body\").animate({ scrollTop: pos }, 800);\r\n // }, 500);\r\n // } else {\r\n // window.setTimeout(function () {\r\n // var pos = $(\"#PROMO_CASINOGAME\").offset().top - 100;\r\n // if (CasinoMobileDevice) {\r\n // pos = $(\"#PROMO_CASINOGAME\").offset().top;\r\n // }\r\n // $(\"html, body\").animate({ scrollTop: pos }, 800);\r\n // }, 500);\r\n // }\r\n // scrollSection = false;\r\n // DLb = \"\";\r\n //}\r\n if (scrollToTop) {\r\n if ($(window).scrollTop() + 90 > $(\"#contentPannel\").offset().top) {\r\n $(\"html, body\").animate({ scrollTop: 0 }, 500);\r\n }\r\n scrollToTop = false;\r\n }\r\n}\r\n\r\nfunction getPromoIcon(IdGame) {\r\n var $HtmlPromoIcon = $(\"
    \");\r\n \r\n $.each(JsonPromo, function (a, x) {\r\n $.each(x[\"listGame\"], function (i, v) { \r\n if (v[\"IdGamePromo\"] == IdGame) {\r\n $HtmlPromoIcon.append(\r\n \"
    \"\r\n );\r\n return false;\r\n }\r\n });\r\n });\r\n \r\n return $HtmlPromoIcon.html();\r\n}\r\n\r\nfunction getPromoLabel(IdGame, IdTavolo) {\r\n var $HtmlPromoLabel = $(\"
    \");\r\n $.each(JsonPromo, function (a, x) {\r\n $.each(x.listGame, function (i, v) {\r\n var gameFound = false;\r\n if (IdTavolo) {\r\n if ((v.IdGamePromo == IdGame && v.IdTablePromo == IdTavolo) || (v.IdGamePromo == IdGame && v.IdTablePromo == 0)) {\r\n gameFound = true;\r\n }\r\n } else {\r\n if (v.IdGamePromo == IdGame) {\r\n gameFound = true;\r\n }\r\n }\r\n\r\n if (gameFound) {\r\n $HtmlPromoLabel.append(\r\n \"

    Promo

    \"\r\n );\r\n\r\n return false;\r\n }\r\n });\r\n });\r\n \r\n return $HtmlPromoLabel.html();\r\n}\r\nfunction getPromoCartRow(IdGame, IdTavolo) {\r\n var $HtmlPromo = $(\"
    \");\r\n $.each(JsonPromo, function (a, x) {\r\n $.each(x.listGame, function (i, v) { \r\n var gameFound = false;\r\n if (IdTavolo) {\r\n if ((v.IdGamePromo == IdGame && v.IdTablePromo == IdTavolo) || (v.IdGamePromo == IdGame && v.IdTablePromo == 0)) {\r\n gameFound = true;\r\n }\r\n } else {\r\n if (v.IdGamePromo == IdGame) {\r\n gameFound = true;\r\n }\r\n } \r\n\r\n if (gameFound) {\r\n var shortDescription = x.Promo.Info ? x.Promo.Info + \"
    \" : \"\";\r\n $HtmlPromo.append(\r\n \"
    \" +\r\n \"

    Promo

    \" +\r\n \"\" + x.Promo.Promo + \"
    \" +\r\n \"
    Nascondi dettagli
    \" + shortDescription + \" Per maggiori informazioni consulta i termini e condizioni
    \"\r\n );\r\n return false;\r\n }\r\n });\r\n });\r\n \r\n return $HtmlPromo.html();\r\n}\r\n\r\nfunction setPanelPromo() {\r\n if (CasinoMobileDevice) {\r\n // Task #20101\r\n return;\r\n }\r\n\r\n if (JsonPromo.length > 0) {\r\n var $HtmlPromoIcon = $(\"
    \");\r\n var idPromo = \"\";\r\n\r\n // ordinamento per data inizio\r\n if (JsonPromo.length > 1) {\r\n JsonPromo = JsonPromo.sort(function (a, b) {\r\n return new Date(a.Promo.DataInizio) - new Date(b.Promo.DataInizio);\r\n });\r\n }\r\n\r\n if (JsonPromo.length === 1) {\r\n $.each(JsonPromo, function (i, v) {\r\n idPromo = v[\"Promo\"][\"IdPromo\"];\r\n var infoTCIcon = \"\";\r\n if (v[\"Promo\"][\"IdContenuto\"] && v[\"Promo\"][\"IdContenuto\"] !== \"0\") {\r\n infoTCIcon = \"\";\r\n }\r\n $HtmlPromoIcon.append(\r\n \"
    \" + infoTCIcon + \"\\\"\"
    \"\r\n );\r\n });\r\n\r\n $(\".pannelPromo\").html($HtmlPromoIcon.html());\r\n } else if (!CasinoMobileDevice) {\r\n console.log(JsonPromo)\r\n var $htmlSlider = $(\"
    \");\r\n var $htmlIndicators = $(\"
      \");\r\n var $htmlItems = $(\"
      \");\r\n var $htmlContent = $(\"
      \");\r\n $.each(JsonPromo, function (i, v) {\r\n idPromo = v[\"Promo\"][\"IdPromo\"];\r\n var infoTCIcon = \"\";\r\n if (v[\"Promo\"][\"IdContenuto\"] && v[\"Promo\"][\"IdContenuto\"] !== \"0\") {\r\n infoTCIcon = \"\";\r\n }\r\n var addClass = i === 0 ? \"active\" : \"\";\r\n $htmlIndicators.append(\"
    1. \");\r\n $htmlItems.append(\"
      \" + infoTCIcon + \"\\\"\"
      \");\r\n $htmlContent.append(\"
      \" + infoTCIcon + \"\\\"\"
      \");\r\n });\r\n $htmlSlider.append($htmlIndicators);\r\n $htmlSlider.append($htmlItems);\r\n\r\n var htmlSwiper = \"
      \" +\r\n \"
      \" +\r\n $htmlContent.html() +\r\n \"
      \" +\r\n \"
      \";\r\n $(\".pannelPromo\").html(htmlSwiper);\r\n var p = new Swiper(\".pannelPromo .swiper-container\", {\r\n loop: true,\r\n slidesPerView: 1,\r\n centeredSlides: true,\r\n spaceBetween: 6,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n navigation: {\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev',\r\n }\r\n });\r\n\r\n } else {\r\n var $htmlSlider = $(\"
      \");\r\n var $htmlIndicators = $(\"
        \");\r\n var $htmlItems = $(\"
        \");\r\n var $htmlContent = $(\"
        \");\r\n $.each(JsonPromo, function (i, v) {\r\n idPromo = v[\"Promo\"][\"IdPromo\"];\r\n var infoTCIcon = \"\";\r\n if (v[\"Promo\"][\"IdContenuto\"] && v[\"Promo\"][\"IdContenuto\"] !== \"0\") {\r\n infoTCIcon = \"\";\r\n }\r\n var addClass = i === 0 ? \"active\" : \"\";\r\n $htmlIndicators.append(\"
      1. \");\r\n $htmlItems.append(\"
        \" + infoTCIcon + \"\\\"\"
        \");\r\n $htmlContent.append(\"
        \" + infoTCIcon + \"\\\"\"
        \");\r\n });\r\n $htmlSlider.append($htmlIndicators);\r\n $htmlSlider.append($htmlItems);\r\n\r\n var htmlSwiper = \"
        \" +\r\n \"
        \" +\r\n $htmlContent.html() +\r\n \"
        \" +\r\n \"
        \";\r\n $(\".pannelPromo\").html(htmlSwiper);\r\n var p = new Swiper(\".pannelPromo .swiper-container\", {\r\n loop: true,\r\n slidesPerView: 1.2,\r\n centeredSlides: true,\r\n spaceBetween: 8,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n breakpoints: {\r\n 500: {\r\n slidesPerView: 1.2,\r\n },\r\n 650: {\r\n slidesPerView: 1.3,\r\n }\r\n }\r\n });\r\n // var htmlSlider = \"
        \";\r\n // $.each (JsonPromo, function(i, v) {\r\n // idPromo = v[\"Promo\"][\"IdPromo\"];\r\n // var addClass = i === 0 ? \"active\": \"\";\r\n // htmlSlider += \"
        \" +\r\n // \"\\\"\"
        \";\r\n // });\r\n // htmlSlider += \"
        \";\r\n // $(\".pannelPromo\").html(htmlSlider);\r\n // $(\"#carouselCasinoPromo\").carousel({ interval: 6000 });\r\n }\r\n }\r\n}\r\n\r\nfunction getClassificaPromo(id) {\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"classificapromo/\" + id;\r\n restCall(urlReq, setClassificaPromo);\r\n }\r\n}\r\n\r\nfunction setClassificaPromo(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlPromo = $(\"
        \");\r\n var $HtmlPromoRow = $(\"
        \");\r\n var curIdPromo = \"\";\r\n if (result == null) {\r\n var UrliframePromo = \"\";\r\n $.each(JsonPromo, function(i, v) {\r\n if (v[\"Promo\"][\"UrlIframe\"].length > 0) {\r\n UrliframePromo = v[\"Promo\"][\"UrlIframe\"];\r\n }\r\n });\r\n $HtmlPromo.append(\"\");\r\n } else {\r\n $HtmlPromo.append(\"
        PosUserPuntiPremio
        \");\r\n\r\n $.each(result, function(i, v) {\r\n curIdPromo = v[\"idpromo\"];\r\n $HtmlPromoRow.append(\"\" + v[\"posizione\"] + \"\" + v[\"nickname\"] + \"\" + v[\"punti\"] + \"\" + v[\"premio\"] + \"€\");\r\n });\r\n\r\n $HtmlPromo.find(\"tbody\").append($HtmlPromoRow.html());\r\n }\r\n\r\n $(\"#PromoModal\").find(\".modal-header\").html(\"\");\r\n $(\"#PromoModal\").find(\".modal-body\").html(\"\");\r\n $(\"#PromoModal\").find(\".modal-footer\").html(\"\");\r\n var checkdata = false\r\n $.each(JsonPromo, function(i, v) {\r\n if (v[\"Promo\"][\"IdPromo\"] == curIdPromo) {\r\n checkdata = true;\r\n var urlTestata = v[\"Promo\"][\"UrlTestata\"];\r\n if (v[\"Promo\"][\"UrlTestataClassifica\"]) { \r\n urlTestata = v[\"Promo\"][\"UrlTestataClassifica\"]; \r\n }\r\n $(\"#PromoModal\").find(\".modal-header\").html(\"\");\r\n $(\"#PromoModal\").find(\".modal-body\").html($HtmlPromo.html());\r\n $(\"#PromoModal\").find(\".modal-footer\").html(\"Termini & Condizioni\");\r\n }\r\n });\r\n if (checkdata) {\r\n $(\"#PromoModal\").modal(\"show\");\r\n } else {\r\n printMessage(\"Dati classifica ancora non disponibili.\");\r\n }\r\n\r\n}\r\n\r\nfunction getGamesPromo(e, id) {\r\n if (e) {\r\n e.stopPropagation();\r\n }\r\n $(\"#PromoModal\").modal('hide');\r\n if (!lockMaintTime) {\r\n var urlReq = CasinoRestUrl + \"gamespromo/\" + id;\r\n restCall(urlReq, setGamesPromo);\r\n }\r\n}\r\n\r\nfunction setGamesPromo(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n scrollToTop = true;\r\n var $HtmlData = $(\"
        \");\r\n var $HtmlGame = $(\"
        \");\r\n var IdPromo = \"\";\r\n var Promo = \"\";\r\n $.each(result, function(i, v) {\r\n if (v[\"idpromo\"] != null) {\r\n IdPromo = v[\"idpromo\"];\r\n }\r\n if (v[\"gamespromo\"] != null) {\r\n $HtmlGame.append(GetCardGame(v[\"gamespromo\"]));\r\n }\r\n if (v[\"gamespromolive\"] != null) {\r\n $HtmlGame.append(GetCardGameLive(v[\"gamespromolive\"]));\r\n }\r\n });\r\n if ($HtmlGame.find(\".card\").length == 0) {\r\n $HtmlGame.append(\"
        PROMOZIONE TERMINATA
        \");\r\n } \r\n $.each(JsonPromo, function (i, v) {\r\n var promoNode = v[\"Promo\"];\r\n if (promoNode[\"IdPromo\"] == IdPromo) {\r\n Promo = promoNode[\"Promo\"];\r\n var addbutton = \"\";\r\n var clickclassifica = \"getClassificaPromo('\" + IdPromo + \"')\";\r\n var txtButton = promoNode[\"textButton\"];\r\n\r\n if (promoNode[\"ShowClassifica\"] == \"1\" && promoNode[\"UrlIframe\"] != \"\") {\r\n //CLASSIFICA FORNITORE\r\n clickclassifica = \"window.open('\" + promoNode[\"UrlIframe\"] + \"/\" + getCcl() + \"','Classifica', 'width=800,height=650')\";\r\n if (CasinoMobileDevice) {\r\n clickclassifica = \"window.open('\" + promoNode[\"UrlIframe\"] + \"/\" + getCcl() + \"')\";\r\n }\r\n if (promoNode[\"UrlTec\"] != \"\") {\r\n addbutton = \"\";\r\n }\r\n } else if (promoNode[\"ShowClassifica\"] == \"0\" && promoNode[\"UrlTec\"] != \"\") {\r\n txtButton = \"Termini & Condizioni\";\r\n clickclassifica = \"window.open('\" + promoNode[\"UrlTec\"] + \"')\";\r\n } \r\n $HtmlData.append(\r\n \"
        \" +\r\n \"
        \" +\r\n \"

        \" + Promo + \"

        \" +\r\n \"\" +\r\n \"\" + txtButton + \"\" +\r\n addbutton +\r\n \"\" +\r\n \"
        \" +\r\n \"
        \" +\r\n $HtmlGame.html() +\r\n \"
        \" +\r\n \"
        \"\r\n );\r\n\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n var menuClass = \"\";\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n menuClass = \".casinoSlotMenu\";\r\n break;\r\n case \"casino\":\r\n case \"online\":\r\n menuClass = \".casinoMenu\";\r\n break;\r\n case \"live\":\r\n menuClass = \".casinoLiveMenu\";\r\n break;\r\n case \"softgames\":\r\n menuClass = \".casinoSoftGamesMenu\";\r\n break;\r\n }\r\n $(\".menuSx\").find(menuClass).find(\"li.c\" + v[\"IdProvider\"]).addClass(\"active\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\"#sidebar\").find(\"li.c\" + v[\"IdProvider\"]).addClass(\"active\");\r\n }\r\n });\r\n\r\n hideSidebar();\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n $(\".navbarGame\").find(\"li\").removeClass(\"active\");\r\n\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
      2. \" + Promo + \"
      3. \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
      4. \" + Promo + \"
      5. \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
      6. \" + Promo + \"
      7. \", \"GetSoftGamesHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
      8. \" + Promo + \"
      9. \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n endWrite(false, false, true);\r\n $(\"#contentPannelTOP\").hide();\r\n}\r\n\r\nfunction getFavouriteIcon(IdGame, Active) {\r\n var $HtmlFauvourite = $(\"
        \");\r\n var classDisplay = \"\";\r\n if (getSid().length > 0) {\r\n classDisplay = \" style=\\\"display: block;\\\"\";\r\n }\r\n if (Active) {\r\n $HtmlFauvourite.append(\r\n \"
        \"\r\n );\r\n } else {\r\n $HtmlFauvourite.append(\r\n \"
        \"\r\n );\r\n }\r\n return $HtmlFauvourite.html();\r\n}\r\n\r\nfunction setFavouriteIcon(setFavoriteFornitori) {\r\n if (getSid().length > 0) {\r\n if (setFavoriteFornitori) {\r\n $(\"#sidebar\").find(\".providerfavourite\").html(\"\");\r\n $(\"#menu\").find(\".providerfavourite\").html(\"\");\r\n }\r\n $.each(JsonGameUser, function(i, v) {\r\n if (DefaultCasino == \"online\" || DefaultCasino == \"slot\" || DefaultCasino == \"softgames\") {\r\n if (v[\"Favourite\"] != null) {\r\n $(\".contentPannel\").find(\".c\" + v[\"Favourite\"].IdGame).each(function() {\r\n if ($(this).find(\".clover.favouritempty\").length > 0) {\r\n $(this).find(\".clover.favouritempty\").replaceWith(getFavouriteIcon(v[\"Favourite\"].IdGame, true));\r\n } else if ($(this).find(\".clover.favourite\").length > 0) {\r\n $(this).find(\".clover.favourite\").replaceWith(getFavouriteIcon(v[\"Favourite\"].IdGame, true));\r\n } else {\r\n $(this).append(getFavouriteIcon(v[\"Favourite\"].IdGame, true));\r\n }\r\n });\r\n }\r\n }\r\n if (v[\"Fornitori\"] != null) {\r\n if (setFavoriteFornitori) {\r\n if (!CasinoMobileDevice) {\r\n $(\"#menu\").find(\".providerfavourite[pid='\" + v[\"Fornitori\"].id + \"'][sec='\" + v[\"Fornitori\"].Section + \"']\").find(\"i\").addClass(\"active\");\r\n $(\"#menu\").find(\".providerfavourite[pid='\" + v[\"Fornitori\"].id + \"'][sec='\" + v[\"Fornitori\"].Section + \"']\").find(\"i\").attr(\"title\", \"Rimuovi dai preferiti\");\r\n var menuClass = \".casinoMenu\";\r\n switch (v[\"Fornitori\"].Section) {\r\n case \"1\": //SLOT\r\n menuClass = \".casinoSlotMenu\";\r\n break;\r\n case \"2\": //ONLINE\r\n menuClass = \".casinoMenu\";\r\n break;\r\n case \"3\": //LIVE\r\n menuClass = \".casinoLiveMenu\";\r\n break;\r\n case \"4\": //SOFT GAMES\r\n menuClass = \".casinoSoftGamesMenu\";\r\n break;\r\n }\r\n var objmenu = $(menuClass).find(\".c\" + v[\"Fornitori\"].id).parent();\r\n var objline = $(menuClass).find(\".c\" + v[\"Fornitori\"].id).removeClass(\"fav\").addClass(\"fav\");\r\n $(menuClass).find(\".c\" + v[\"Fornitori\"].id).remove();\r\n if ($(menuClass).find(\"li.fav\").length > 0) {\r\n $(menuClass).find(\"li.fav\").last().after(objline);\r\n } else {\r\n $(objmenu).prepend(objline);\r\n }\r\n } else {\r\n if ($(\"#sidebar\").find(\".providerfavourite[pid='\" + v[\"Fornitori\"].id + \"'][sec='\" + v[\"Fornitori\"].Section + \"']\").length > 0) {\r\n $(\"#sidebar\").find(\".providerfavourite[pid='\" + v[\"Fornitori\"].id + \"'][sec='\" + v[\"Fornitori\"].Section + \"']\").find(\"i\").addClass(\"active\");\r\n $(\"#sidebar\").find(\".providerfavourite[pid='\" + v[\"Fornitori\"].id + \"'][sec='\" + v[\"Fornitori\"].Section + \"']\").find(\"i\").attr(\"title\", \"Rimuovi dai preferiti\");\r\n var objmenu = $(\"#sidebar\").find(\".c\" + v[\"Fornitori\"].id).parent();\r\n var objline = $(\"#sidebar\").find(\".c\" + v[\"Fornitori\"].id).removeClass(\"fav\").addClass(\"fav\");\r\n $(\"#sidebar\").find(\".c\" + v[\"Fornitori\"].id).remove();\r\n if ($(\"#sidebar\").find(\"li.fav\").length > 0) {\r\n $(\"#sidebar\").find(\"li.fav\").last().after(objline);\r\n } else {\r\n $(objmenu).find(\".Home\").after(objline);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n $('.tooltip.show').remove();\r\n if (!CasinoMobileDevice) {\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n }\r\n }\r\n}\r\n\r\nfunction SetProviderUserFavourite(e, obj) {\r\n e.stopPropagation();\r\n if (getSid().length > 0) {\r\n var IdFornitore = $(obj).parent().attr(\"pid\");\r\n var section = $(obj).parent().attr(\"sec\");\r\n var active = \"true\";\r\n if ($(obj).hasClass(\"active\")) {\r\n active = \"false\";\r\n $(obj).removeClass(\"active\");\r\n $(obj).attr(\"title\", \"Contrassegna come preferito\");\r\n\r\n if (!CasinoMobileDevice) {\r\n switch (section) {\r\n case \"1\": //SLOT\r\n var objmenu = $(\".casinoSlotMenu\").find(\".c\" + IdFornitore).parent();\r\n var objline = $(\".casinoSlotMenu\").find(\".c\" + IdFornitore);\r\n objline.removeClass(\"fav\");\r\n $(\".casinoSlotMenu\").find(\".c\" + IdFornitore).remove();\r\n restoreProviderInMenuPlace(objmenu, objline);\r\n break;\r\n case \"2\": //ONLINE\r\n var objmenu = $(\".casinoMenu\").find(\".c\" + IdFornitore).parent();\r\n var objline = $(\".casinoMenu\").find(\".c\" + IdFornitore);\r\n objline.removeClass(\"fav\");\r\n $(\".casinoMenu\").find(\".c\" + IdFornitore).remove();\r\n restoreProviderInMenuPlace(objmenu, objline);\r\n break;\r\n case \"3\": //LIVE\r\n var objmenu = $(\".casinoLiveMenu\").find(\".c\" + IdFornitore).parent();\r\n var objline = $(\".casinoLiveMenu\").find(\".c\" + IdFornitore);\r\n objline.removeClass(\"fav\");\r\n $(\".casinoLiveMenu\").find(\".c\" + IdFornitore).remove();\r\n restoreProviderInMenuPlace(objmenu, objline);\r\n break;\r\n case \"4\": //SOFT GAMES\r\n var objmenu = $(\".casinoSoftGamesMenu\").find(\".c\" + IdFornitore).parent();\r\n var objline = $(\".casinoSoftGamesMenu\").find(\".c\" + IdFornitore);\r\n objline.removeClass(\"fav\");\r\n $(\".casinoSoftGamesMenu\").find(\".c\" + IdFornitore).remove();\r\n restoreProviderInMenuPlace(objmenu, objline);\r\n break;\r\n }\r\n } else {\r\n var objmenu = $(\"#sidebar\").find(\".c\" + IdFornitore).parent();\r\n var objline = $(\"#sidebar\").find(\".c\" + IdFornitore);\r\n objline.removeClass(\"fav\");\r\n $(\"#sidebar\").find(\".c\" + IdFornitore).remove();\r\n restoreProviderInMenuPlace(objmenu, objline);\r\n }\r\n } else {\r\n $(obj).addClass(\"active\");\r\n $(obj).attr(\"title\", \"Rimuovi dai preferiti\");\r\n\r\n if (!CasinoMobileDevice) {\r\n var sectionMenuClass = \".casinoMenu\";\r\n switch (section) {\r\n case \"1\": //SLOT\r\n sectionMenuClass = \".casinoSlotMenu\";\r\n break;\r\n case \"2\": //ONLINE\r\n sectionMenuClass = \".casinoMenu\";\r\n break;\r\n case \"3\": //LIVE\r\n sectionMenuClass = \".casinoLiveMenu\";\r\n break;\r\n case \"4\": //SOFT GAMES\r\n sectionMenuClass = \".casinoSoftGamesMenu\";\r\n break;\r\n }\r\n var objmenu = $(sectionMenuClass).find(\".c\" + IdFornitore).parent();\r\n var objline = $(sectionMenuClass).find(\".c\" + IdFornitore).removeClass(\"fav\").addClass(\"fav\");\r\n $(sectionMenuClass).find(\".c\" + IdFornitore).remove();\r\n if ($(sectionMenuClass).find(\"li.fav\").length > 0) {\r\n $(sectionMenuClass).find(\"li.fav\").last().after(objline);\r\n } else {\r\n $(objmenu).prepend(objline);\r\n }\r\n } else {\r\n var objmenu = $(\"#sidebar\").find(\".c\" + IdFornitore).parent();\r\n var objline = $(\"#sidebar\").find(\".c\" + IdFornitore).removeClass(\"fav\").addClass(\"fav\");\r\n $(\"#sidebar\").find(\".c\" + IdFornitore).remove();\r\n if ($(\"#sidebar\").find(\"li.fav\").length > 0) {\r\n $(\"#sidebar\").find(\"li.fav\").last().after(objline);\r\n } else {\r\n $(objmenu).find(\".Home\").after(objline);\r\n }\r\n }\r\n }\r\n $('.tooltip.show').remove();\r\n if (!CasinoMobileDevice) {\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n }\r\n var dataPar = \"{\\\"SessionToken\\\":\\\"\" + getSid() + \"\\\", \\\"IdProvider\\\":\\\"\" + IdFornitore + \"\\\", \\\"section\\\":\\\"\" + section + \"\\\", \\\"Active\\\":\" + active + \"}\";\r\n ajaxCall(CasinoSiteUrl + \"WSPlay.asmx/SetProviderFavourite\", dataPar, EndGameUserFornitoriFavourite, false);\r\n setEventsAnalytics('CasinoButton', 'PREFERITI FORNITORI', IdFornitore);\r\n } else {\r\n printMessage(\"Attenzione! Per aggiungere un fornitore a i tuoi preferiti devi prima effettuare la login.\");\r\n }\r\n}\r\n\r\nfunction restoreProviderInMenuPlace(menu, objectLi) {\r\n var found = false;\r\n $.each(menu.find(\"li\"), function(index, item) {\r\n if (!$(item).hasClass(\"fav\") && ($(item).data(\"order\") > objectLi.data(\"order\"))) {\r\n objectLi.insertBefore($(item));\r\n found = true;\r\n return false;\r\n }\r\n });\r\n if (!found) {\r\n $(menu).append(objectLi);\r\n }\r\n}\r\n\r\nfunction EndGameUserFornitoriFavourite(result) {}\r\n\r\nfunction EndGameUserFavourite(result) {\r\n var jsonResult = $.parseJSON(result.d);\r\n var inerror = false;\r\n $.each(jsonResult, function(i, v) {\r\n if (v[\"Error\"] != null) {\r\n printMessage(v[\"Error\"]);\r\n inerror = true;\r\n }\r\n });\r\n if (!inerror) {\r\n GetTopGamesUser();\r\n // GetMostPlayedGamesUser();\r\n if ($(\".pannelFavourite\").hasClass(\"active\") || $(\".pannelFavourite\").find(\"h2\").hasClass(\"active\")) {\r\n GetGamesUser();\r\n }\r\n }\r\n}\r\n\r\nfunction GetGamesHomeClick() {\r\n $(\"#contentPannelTOP\").empty();\r\n DefaultCasino = \"online\";\r\n JsonFornitori = [];\r\n isinit = true;\r\n scrollToTop = true;\r\n GetGamesHome();\r\n}\r\n\r\nfunction GetGamesHomeSlotClick() {\r\n $(\"#contentPannelTOP\").empty();\r\n DefaultCasino = \"slot\";\r\n JsonFornitori = [];\r\n isinit = true;\r\n scrollToTop = true;\r\n GetGamesSlotHome();\r\n}\r\n\r\nfunction GetGamesLiveHomeClick() {\r\n $(\"#contentPannelTOP\").empty();\r\n DefaultCasino = \"live\";\r\n JsonFornitori = [];\r\n isinit = true;\r\n scrollToTop = true;\r\n GetGamesLiveHome();\r\n}\r\n\r\nfunction GetSoftGamesHomeClick() {\r\n $(\"#contentPannelTOP\").empty();\r\n DefaultCasino = \"softgames\";\r\n JsonFornitori = [];\r\n isinit = true;\r\n scrollToTop = true;\r\n GetSoftGamesHome();\r\n}\r\n\r\nfunction GetGamesProviderMacroClick(idprovider, macro) {\r\n scrollToTop = true;\r\n setEventsAnalytics('Provider ' + DefaultCasino, 'tutti i giochi', getProviderName(idprovider));\r\n\r\n GetGamesProviderMacro(idprovider, macro);\r\n}\r\n\r\nfunction GetGamesLiveProviderClick(idprovider) {\r\n scrollToTop = true;\r\n GetGamesLiveProvider(idprovider);\r\n}\r\n\r\n/*UTILITY HTML*/\r\nfunction setCardPreload(IdGame) {\r\n $(\".c\" + IdGame).append(\"
        \");\r\n}\r\n\r\nfunction unsetCardPreload(IdGame) {\r\n $(\".c\" + IdGame).find(\".preload\").remove();\r\n}\r\n\r\nfunction GetClickGame(json) {\r\n var provenienza = getProvenienza();\r\n if (provenienza == \"104\") { //SOLO BETFLAGGRATISMOBILE\r\n if (json.OnlyBetflag == \"1\") {\r\n //var linktobf = \"\";\r\n //switch (DefaultCasino) {\r\n // case \"online\":\r\n // linktobf = \"https://m.betflag.it/casino.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n // case \"slot\":\r\n // linktobf = \"https://m.betflag.it/slot.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n // case \"live\":\r\n // linktobf = \"https://m.betflag.it/casinolive.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n // case \"softgames\":\r\n // linktobf = \"https://m.betflag.it/games.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n //}\r\n //return \"printMessageCasino('RedirectGameCasino', 'Attenzione! Gioco disponibile solo su betflag.it', '\" + linktobf + \"')\";\r\n return \"printMessage('Gioco momentaneamente non disponibile.');\";\r\n }\r\n }\r\n if (isProviderLive(json.IdProvider)) {\r\n return \"GetPlayGame('\" + json.IdGame + \"','\" + json.IdProvider + \"', '\" + json.TableId + \"');\";\r\n } else {\r\n return \"GetPlayGame('\" + json.IdGame + \"','\" + json.IdProvider + \"', '');\";\r\n }\r\n}\r\n\r\nfunction GetClickGameCard(json) {\r\n var provenienza = getProvenienza();\r\n if (provenienza == \"104\") { //SOLO BETFLAGGRATISMOBILE\r\n if (json.OnlyBetflag == \"1\") {\r\n //var linktobf = \"\";\r\n //switch (DefaultCasino) {\r\n // case \"online\":\r\n // linktobf = \"https://m.betflag.it/casino.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n // case \"slot\":\r\n // linktobf = \"https://m.betflag.it/slot.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n // case \"live\":\r\n // linktobf = \"https://m.betflag.it/casinolive.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n // case \"softgames\":\r\n // linktobf = \"https://m.betflag.it/games.aspx?provider=\" + json.IdProvider + \"&game=\" + json.IdGame + \"&games=direct&stopredir=true\";\r\n // break;\r\n //}\r\n //return \"printMessageCasino('RedirectGameCasino', 'Attenzione! Gioco disponibile solo su betflag.it', '\" + linktobf + \"')\";\r\n return \"printMessage('Gioco momentaneamente non disponibile.');\";\r\n }\r\n }\r\n //TODO controllare se funziona altrimenti mettere semplice if mobile\r\n // if (window.matchMedia(\"(any-pointer: coarse)\").matches === false) {\r\n if (!CasinoMobileDevice) {\r\n if (isProviderLive(json.IdProvider)) {\r\n return \"GetPlayGame('\" + json.IdGame + \"','\" + json.IdProvider + \"', '\" + json.TableId + \"');\";\r\n } else {\r\n // if (json.TipoGioco === \"3\" && CasinoMobileDevice) {\r\n // return \"LaunchSideGame('\" + json.IdGame + \"','\" + json.IdProvider + \"', '');\";\r\n // }\r\n return \"GetPlayGame('\" + json.IdGame + \"','\" + json.IdProvider + \"', '');\";\r\n }\r\n } else {\r\n if (isProviderLive(json.IdProvider)) {\r\n return \"GetPlayGameTouch(this,'\" + json.IdGame + \"','\" + json.IdProvider + \"', '\" + json.TableId + \"');\";\r\n } else {\r\n // if (json.TipoGioco === \"3\" && CasinoMobileDevice) {\r\n // return \"LaunchSideGame('\" + json.IdGame + \"','\" + json.IdProvider + \"', '');\";\r\n // }\r\n return \"GetPlayGameTouch(this,'\" + json.IdGame + \"','\" + json.IdProvider + \"', '');\";\r\n }\r\n }\r\n}\r\n\r\nvar timerClickGame = null;\r\nfunction GetPlayGameTouch(gameCard, idGame, idProvider, tableId) {\r\n clearInterval(timerClickGame);\r\n if ($(gameCard).hasClass(\"tapped\")) {\r\n if (tableId) {\r\n GetPlayGame(idGame, idProvider, tableId);\r\n } else {\r\n GetPlayGame(idGame, idProvider, tableId);\r\n }\r\n $(\".card.game\").removeClass(\"tapped\");\r\n } \r\n else \r\n {\r\n $(\".card.game\").removeClass(\"tapped\");\r\n $(gameCard).addClass(\"tapped\");\r\n timerClickGame = setTimeout(function() {\r\n $(gameCard).removeClass(\"tapped\");\r\n }, 2000);\r\n }\r\n}\r\n\r\nfunction GetCardGame(json, css, animate) {\r\n var blankPlaceholder = CasinoCDN + \"image/blank.svg\";\r\n if (enableSquareLayout) {\r\n blankPlaceholder = CasinoCDN + \"image/blank-square.svg\";\r\n }\r\n\r\n var $HtmlGame = $(\"
        \");\r\n var $HtmlNew = $(\"
        \");\r\n var $HtmlJackpot = $(\"
        \");\r\n var clickgame = GetClickGameCard(json);\r\n var $HtmlAdd = $(\"
        \");\r\n var $HtmlInfo = $(\"
        \");\r\n var $HtmlFav = $(\"
        \");\r\n\r\n // if (json.Exclusive == \"1\") {\r\n if (!isExpired(json.ExclusiveExpire)) {\r\n $HtmlInfo.append(\"

        Esclusivo

        \");\r\n } \r\n // }\r\n // if (json.New == \"1\") {\r\n if (!isExpired(json.NewExpire)) {\r\n $HtmlInfo.append(\"

        New

        \");\r\n clickgame = clickgame + \"setEventsAnalytics('CasinoButton', 'novita', 'open new game id \" + json.IdGame + \"');\";\r\n } \r\n // }\r\n\r\n //var addClass = \"animated \";\r\n //if (animate == null) {\r\n // addClass = addClass + \"fadeIn \";\r\n //} else {\r\n // addClass = addClass + animate + \" \";\r\n //}\r\n var addClass = \"\";\r\n if (animate != null) { \r\n addClass = animate + \" \";\r\n }\r\n if (json.InEvidenza != \"0\") {\r\n addClass = addClass + \"ie\" + json.InEvidenza + \" \";\r\n }\r\n if (css != null) {\r\n addClass = addClass + css;\r\n }\r\n var addHtml = \"\";\r\n if (json.IsHighRTP == \"1\") {\r\n addHtml = \"\\\"crazy\" ; \r\n addClass += \" crazy-slot\";\r\n if (crazySlotActive == false) {\r\n addClass += \" d-none\";\r\n }\r\n }\r\n //if (json.BonusBloccato == \"1\") {\r\n // addClass = addClass + \" nobonus\";\r\n // $HtmlAdd.append(\"
        \\\"Gioca\\\"GIOCABILE SOLO CON SALDO REALE
        \");\r\n //}\r\n $HtmlInfo.append(getPromoLabel(json.IdGame));\r\n if (json.Jackpot != \"\" && getProvenienza() != \"101\" && getProvenienza() != \"104\") { \r\n var jackpot = json.Jackpot;\r\n if (CasinoMobileDevice && css && css.indexOf(\"evidenza\") !== -1) {\r\n // jackpot = Math.round(parseFloat(jackpot.replace(\".\", \"\").replace(\",\", \".\")));\r\n jackpot = new Intl.NumberFormat('it-IT', { minimumFractionDigits: 0, maximumFractionDigits: 0}).format(parseFloat(jackpot.replace(\".\", \"\").replace(\",\", \".\")));\r\n }\r\n\r\n if (enableSquareLayout) {\r\n $HtmlJackpot.append(\"
        euro-money-bag\" + jackpot + \"€
        \");\r\n } \r\n else {\r\n $HtmlInfo.append(\"

        euro-money-bag\" + jackpot + \"

        \"); \r\n }\r\n \r\n }\r\n if (json.TipoGioco === \"3\") { \r\n $HtmlInfo.append(\"

        Side

        \");\r\n }\r\n $HtmlFav.append(getFavouriteIcon(json.IdGame, false));\r\n $HtmlGame.append(\r\n \"
        \" +\r\n \"
        \" + $HtmlInfo.html() + \"
        \" +\r\n $HtmlFav.html() +\r\n $HtmlAdd.html() +\r\n \"
        \" +\r\n // \"
        MinBet: €\" + json.MinBet/100 + \" MaxBet: €\" + json.MaxBet/100 + \" Linee: \" + json.NumLinee + \"
        \" +\r\n \"
        \" +\r\n \"

        \" + getProviderName(json.IdProvider) + \"

        \" + \r\n \"\\\"Gioca\\\"\" +\r\n \"

        \" + json.Game + \"

        \" + \r\n \"
        \" +\r\n \"\\\"\"\" +\r\n addHtml +\r\n $HtmlJackpot.html() +\r\n \"
        \" +\r\n \"
        \"\r\n );\r\n\r\n return $HtmlGame.html();\r\n}\r\n\r\nfunction GetCardGameSearchResult(json, css, animate) {\r\n var $HtmlGame = $(\"
        \");\r\n var $HtmlNew = $(\"
        \");\r\n var $HtmlJackpot = $(\"
        \");\r\n var clickgame = GetClickGame(json);\r\n\r\n // if (json.New == \"1\") {\r\n if (!isExpired(json.NewExpire)) {\r\n $HtmlNew.append(\"

        NEW

        \");\r\n clickgame = clickgame + \"setEventsAnalytics('CasinoButton', 'novita', 'open new game id \" + json.IdGame + \"');\";\r\n }\r\n // }\r\n // if (json.Exclusive == \"1\") {\r\n if (!isExpired(json.ExclusiveExpire)) {\r\n $HtmlNew.append(\"

        ESCLUSIVO

        \");\r\n }\r\n // }\r\n\r\n var addClass = \"animated \";\r\n if (animate == null) {\r\n addClass = addClass + \"fadeIn \";\r\n } else {\r\n addClass = addClass + animate + \" \";\r\n }\r\n if (css != null) {\r\n addClass = addClass + css;\r\n }\r\n if (json.Jackpot != \"\" && getProvenienza() != \"101\" && getProvenienza() != \"104\") { \r\n $HtmlJackpot.append(\"
        JACKPOT \" + json.Jackpot + \"€
        \");\r\n }\r\n $HtmlGame.append(\r\n \"
        \" +\r\n \"
        \" + getProviderName(json.IdProvider) + \"
        \" +\r\n $HtmlNew.html() +\r\n \"
        \" +\r\n //\"
        MinBet: €\" + json.MinBet/100 + \" MaxBet: €\" + json.MaxBet/100 + \" Linee: \" + json.NumLinee + \"
        \" +\r\n \"
        \\\"Gioca\\\"
        \" +\r\n \"\\\"\"\" +\r\n $HtmlJackpot.html() +\r\n \"
        \" +\r\n \"
        \" +\r\n getFavouriteIcon(json.IdGame, false) +\r\n getPromoIcon(json.IdGame, false) +\r\n \"
        \" +\r\n \"
        \" +\r\n \"

        \" + json.Game + \"

        \" +\r\n \"
        \" +\r\n \"
        \"\r\n );\r\n return $HtmlGame.html();\r\n}\r\n\r\nfunction GetCardGameLiveSearchResult(json, css, animate) {\r\n var $HtmlGame = $(\"
        \");\r\n var $HtmlNew = $(\"
        \");\r\n var $HtmlState = $(\"
        \");\r\n try {\r\n // if (json.New == \"1\") {\r\n if (!isExpired(json.NewExpire)) {\r\n $HtmlNew.append(\"

        NEW

        \");\r\n }\r\n if (!isExpired(json.ExclusiveExpire)) {\r\n $HtmlNew.append(\"

        ESCLUSIVO

        \");\r\n }\r\n if (json.Language == \"it\") {\r\n $HtmlNew.append(\"
        \");\r\n }\r\n var $HtmlCroupier = $(\"
        \");\r\n if (json.CroupierImg && json.CroupierImg.length > 0) {\r\n if (json.PrintLiveData == \"true\") {\r\n $HtmlCroupier.append(\"

        \" + json.CroupierName + \"

        \");\r\n } else {\r\n $HtmlCroupier.append(\"
        \");\r\n }\r\n }\r\n var addClass = \"animated \";\r\n if (animate == null) {\r\n addClass = addClass + \"fadeIn \";\r\n } else {\r\n addClass = addClass + animate + \" \";\r\n }\r\n if (css != null) {\r\n addClass = addClass + css;\r\n }\r\n var ClickFunc = GetClickGame(json);\r\n if (json.PrintLiveData == \"true\") {\r\n var timeOpen = \"\";\r\n var userOnline = \"\";\r\n if (json.Player != \"\" && json.Player != \"0\") {\r\n userOnline = \"

        \" + json.Player + \"

        \";\r\n } else {\r\n userOnline = \"

        \";\r\n }\r\n if (json.Open) {\r\n if (json.OpenedTo == \"24\") {\r\n timeOpen = \"H24\";\r\n } else {\r\n timeOpen = \"\" + json.OpenedFrom + \"-\" + json.OpenedTo + \"\";\r\n }\r\n $HtmlState.append(\r\n userOnline +\r\n \"

        \" + json.LimMin + \"-\" + json.LimMax + \"€

        \" +\r\n \"

        \" + timeOpen + \"

        \"\r\n );\r\n } else {\r\n ClickFunc = \"printMessage('Attenzione! La sala selezionata apre dalle \" + json.OpenedFrom + \" alle \" + json.OpenedTo + \".')\";\r\n timeOpen = \"\" + json.OpenedFrom + \"-\" + json.OpenedTo + \"\";\r\n $HtmlState.append(\r\n userOnline +\r\n \"

        \" + json.LimMin + \"-\" + json.LimMax + \"€

        \" +\r\n \"

        \" + timeOpen + \"

        \"\r\n );\r\n }\r\n } else {\r\n $HtmlState.append(\"

        \" + json.CroupierName + \"

        \");\r\n }\r\n $HtmlGame.append(\r\n \"
        \" +\r\n \"
        \" + getProviderName(json.IdProviderAlias) + \"
        \" +\r\n $HtmlNew.html() +\r\n \"
        \" +\r\n //\"
        MinBet: €\" + json.MinBet/100 + \" MaxBet: €\" + json.MaxBet/100 + \"
        \" +\r\n \"
        \\\"gioca\\\"
        \" +\r\n $HtmlCroupier.html() +\r\n \"\\\"casino\" +\r\n \"
        \" +\r\n \"
        \" +\r\n getPromoIcon(json.IdGame, false) +\r\n \"
        \" +\r\n \"
        \" +\r\n \"
        \" +\r\n $HtmlState.html() +\r\n \"
        \" +\r\n \"
        \" +\r\n \"
        \"\r\n );\r\n } catch (e) {\r\n console.log(e);\r\n console.log(json);\r\n }\r\n\r\n return $HtmlGame.html();\r\n}\r\n\r\nfunction GetFakeCardGame(count) {\r\n var $HtmlGame = $(\"
        \");\r\n for (var i = 0; i < count; i++) {\r\n var addClass = \"\";\r\n if (count == 1) {\r\n addClass = \" d-none d-xl-flex\";\r\n } else if (count == 2) {\r\n if (i == 0) {\r\n addClass = \" d-none d-md-flex\";\r\n }\r\n if (i == 1) {\r\n addClass = \" d-none d-xl-flex\";\r\n }\r\n } else if (count == 3) {\r\n if (i == 1) {\r\n addClass = \" d-none d-md-flex\";\r\n }\r\n if (i == 2) {\r\n addClass = \" d-none d-xl-flex\";\r\n }\r\n }\r\n $HtmlGame.append(\r\n \"
        \" +\r\n \"
        \\\"gioca\\\"
        \" +\r\n \"
        \" +\r\n \"
        \" +\r\n \"

        Fake

        \" +\r\n \"
        \" +\r\n \"
        \"\r\n );\r\n }\r\n return $HtmlGame.html();\r\n}\r\n\r\nfunction parseOpenedFromTo(openedHour) {\r\n var hour = openedHour.split(\":\")[0];\r\n return hour;\r\n}\r\n\r\nfunction parseAmountLiveData(amount) {\r\n try {\r\n amount = new Intl.NumberFormat('it-IT', { minimumFractionDigits: 2, maximumFractionDigits: 2}).format(amount);\r\n \r\n //if amount decimals are 00 then remove them\r\n if (amount.indexOf(\",00\") !== -1) {\r\n amount = amount.replace(\",00\", \"\");\r\n }\r\n amount = amount.replace(/(\\,\\d*?[1-9])0+$/, '$1');\r\n return amount;\r\n } catch(e) {\r\n\r\n }\r\n\r\n return amount;\r\n}\r\n\r\nfunction GetCardGameLive(json, css, animate) {\r\n var backgroundImage = CasinoCDN + \"image/blanklive.svg\";\r\n if (enableSquareLayout) {\r\n backgroundImage = CasinoCDN + \"image/blank-square.svg\";\r\n }\r\n\r\n var $HtmlGame = $(\"
        \");\r\n var $HtmlFlag = $(\"
        \");\r\n var $HtmlInfo = $(\"
        \");\r\n var $HtmlJackpot = $(\"
        \");\r\n var $HtmlLiveData = $(\"
        \");\r\n try {\r\n\r\n //BTG-1470 accrocco per 2 giochi live in cui settare etichetta New e Exclusive\r\n if (json.TableId == \"101440\" || json.TableId == \"101441\") {\r\n json.ExclusiveExpire = new Date(\"2025-12-31T23:59:59\").getTime() / 1000;\r\n json.NewExpire = new Date(\"2025-12-31T23:59:59\").getTime() / 1000;\r\n }\r\n\r\n // if (json.New == \"1\") {\r\n if (!isExpired(json.ExclusiveExpire)) {\r\n $HtmlInfo.append(\"

        Esclusivo

        \");\r\n }\r\n if (!isExpired(json.NewExpire)) {\r\n $HtmlInfo.append(\"

        New

        \");\r\n }\r\n if (json.Language == \"it\") {\r\n $HtmlFlag.append(\"
        \");\r\n }\r\n $HtmlInfo.append(getPromoLabel(json.IdGame, json.TableId));\r\n var $HtmlCroupier = $(\"
        \");\r\n if (json.Img.length > 0 && json.Img != \"comingsoon.jpg\" && enableSquareLayout) {\r\n $HtmlCroupier.append(\"

        \" + json.CroupierName + \"

        \");\r\n } else if (json.CroupierImg && json.CroupierImg.length > 0) {\r\n // if (json.PrintLiveData == \"true\") {\r\n $HtmlCroupier.append(\"

        \" + json.CroupierName + \"

        \");\r\n // } \r\n // else {\r\n // $HtmlCroupier.append(\"

        \" + json.CroupierName + \"

        \");\r\n // }\r\n } else {\r\n $HtmlCroupier.append(\"

        \" + json.CroupierName + \"

        \");\r\n }\r\n //var addClass = \"animated \";\r\n //if (animate == null) {\r\n // addClass = addClass + \"fadeIn \";\r\n //} else {\r\n // addClass = addClass + animate + \" \";\r\n //}\r\n var addClass = \"\";\r\n if (animate != null) {\r\n addClass = animate + \" \";\r\n }\r\n if (json.InEvidenza != \"0\") {\r\n addClass = addClass + \"ie\" + json.InEvidenza + \" \";\r\n }\r\n if(json.PrintLiveData !== \"true\") {\r\n addClass += \"no-live-data\";\r\n }\r\n if (css != null) {\r\n addClass = addClass + css;\r\n }\r\n //if (json.BonusBloccato == \"1\") {\r\n // addClass = addClass + \" nobonus\";\r\n //}\r\n var ClickFunc = GetClickGameCard(json);\r\n if (json.Jackpot != \"\") {\r\n var jackpot = json.Jackpot;\r\n $HtmlJackpot.append(\"
        euro-money-bag\" + jackpot + \"€
        \");\r\n }\r\n if (json.PrintLiveData == \"true\") {\r\n var timeOpen = \"\";\r\n var userOnline = \"\";\r\n var countLiveInfos = 2;\r\n \r\n if (json.Open) {\r\n if (json.OpenedTo == \"24\") {\r\n timeOpen = \"

        H.24

        \";\r\n } \r\n else \r\n {\r\n timeOpen = \"

        \" + parseOpenedFromTo(json.OpenedFrom) + \"-\" + parseOpenedFromTo(json.OpenedTo) + \"

        \";\r\n }\r\n } else {\r\n ClickFunc = \"printMessage('Attenzione! La sala selezionata apre dalle \" + json.OpenedFrom + \" alle \" + json.OpenedTo + \".')\";\r\n timeOpen = \"

        \" + parseOpenedFromTo(json.OpenedFrom) + \"-\" + parseOpenedFromTo(json.OpenedTo) + \"

        \";\r\n }\r\n var playersInfo = \"

        \";\r\n if (json.Player != \"\" && json.Player != \"0\") {\r\n countLiveInfos++;\r\n playersInfo = \"

        \" + json.Player + \"

        \";\r\n }\r\n\r\n // var alt = \"\";\r\n // if (json.IdProvider == 1017 || json.IdProvider == 80) {\r\n // alt = \"alt\";\r\n // }\r\n // if (json.IdProvider == 146 || json.IdProvider == 52) {\r\n // alt = \"alt-2\";\r\n // }\r\n\r\n // if (Math.random() > 0.5) {\r\n // alt = \"alt-2\";\r\n // }\r\n\r\n $HtmlLiveData.append(`
        \r\n ${timeOpen}\r\n ${playersInfo}\r\n

        ${parseAmountLiveData(json.LimMin)}-${parseAmountLiveData(json.LimMax)}

        \r\n
        `);\r\n } \r\n\r\n $HtmlGame.append(\r\n \"
        \" +\r\n \"
        \" + $HtmlInfo.html() + \"
        \" +\r\n // \"
        \" + $HtmlLiveData.html() + \"
        \" +\r\n \"
        \" +\r\n // \"
        MinBet: €\" + json.MinBet/100 + \" MaxBet: €\" + json.MaxBet/100 + \"
        \" +\r\n \"
        \" +\r\n \"

        \" + getProviderName(json.IdProvider) + \"

        \" +\r\n \"\\\"gioca\\\"\" + \r\n \"

        \" + json.CroupierName + \"

        \" +\r\n \"
        \" +\r\n $HtmlCroupier.html() +\r\n $HtmlJackpot.html() +\r\n $HtmlLiveData.html() + \r\n \"\\\"casino\" +\r\n \"
        \" +\r\n // \"
        \" +\r\n // getPromoIcon(json.IdGame, false) +\r\n // \"
        \" +\r\n // \"
        \" +\r\n // \"
        \" +\r\n // $HtmlState.html() +\r\n // \"
        \" +\r\n // \"
        \" +\r\n \"
        \"\r\n );\r\n } catch (e) {\r\n console.log(e);\r\n console.log(json);\r\n }\r\n\r\n return $HtmlGame.html();\r\n}\r\n\r\nfunction GetSortDrop(countGame, countGameNew, addFilter) {\r\n var $HtmlData = $(\"
        \");\r\n if (countGame > 10) {\r\n $HtmlData.append(\r\n \"
        \" +\r\n \"\" +\r\n \"
        \" +\r\n \"
        I piu giocati
        \" +\r\n \"
        Alfabetico
        \" +\r\n \"
        \" +\r\n \"
        \"\r\n );\r\n $HtmlData.find(\".dropdown-menu\").append(\"
        Puntata min (0,01€ - 0,30€)
        \");\r\n $HtmlData.find(\".dropdown-menu\").append(\"
        Puntata max (4€ - 1.000€)
        \");\r\n\r\n if (addFilter) {\r\n $HtmlData.find(\".dropdown-menu\").append(\"
        Numero linee
        \");\r\n }\r\n //if (countGameNew > 0) {\r\n // $HtmlData.find(\".dropdown-menu\").append(\"
        NovitàNEW\");\r\n //}\r\n }\r\n return $HtmlData.html();\r\n}\r\n\r\nfunction GetSortDropCategory(categoryid, countGame, countGameNew, addFilter) {\r\n var $HtmlData = $(\"
        \");\r\n if (countGame > 10) {\r\n $HtmlData.append(\r\n \"
        \" +\r\n \"\" +\r\n \"
        \" +\r\n \"
        I piu giocati
        \" +\r\n \"
        Alfabetico
        \" +\r\n \"
        \" +\r\n \"
        \"\r\n );\r\n $HtmlData.find(\".dropdown-menu\").append(\"
        Puntata min (0,01€ - 0,30€)
        \");\r\n $HtmlData.find(\".dropdown-menu\").append(\"
        Puntata max (4€ - 1.000€)
        \");\r\n\r\n if (addFilter) {\r\n $HtmlData.find(\".dropdown-menu\").append(\"
        Numero linee
        \");\r\n }\r\n //if (countGameNew > 0) {\r\n // $HtmlData.find(\".dropdown-menu\").append(\"
        NovitàNEW\");\r\n //}\r\n }\r\n return $HtmlData.html();\r\n}\r\n\r\nfunction GetOpenDrop(id, countGameNew, islive) {\r\n var $HtmlData = $(\"
        \");\r\n $HtmlData.append(\r\n \"
        \" +\r\n \"\" +\r\n \"
        \"\r\n );\r\n return $HtmlData.html();\r\n}\r\n\r\nfunction sortJsonGame(id, obj) {\r\n $(\".dropdownorder\").find(\"a\").removeClass(\"active\");\r\n $(obj).addClass(\"active\");\r\n var islive = false;\r\n if (JsonGameToSort[0].CroupierName != null) {\r\n islive = true;\r\n }\r\n switch (id) {\r\n case 1:\r\n setGamesSorted(JsonGameNoSort);\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'PIUGIOCATI');\r\n break;\r\n case 2:\r\n if (islive) {\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"CroupierName\", 1));\r\n } else {\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"Game\", 1));\r\n }\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'ALFABETICO ASC');\r\n break;\r\n case 3:\r\n if (islive) {\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"CroupierName\", -1));\r\n } else {\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"Game\", -1));\r\n }\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'ALFABETICO DESC');\r\n break;\r\n case 4:\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"New\", -1));\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'NEW');\r\n break;\r\n case 5:\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"MinBet\", -1));\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'MINBET ASC');\r\n break;\r\n case 6:\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"MinBet\", 1));\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'MINBET DESC');\r\n break;\r\n case 7:\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"MaxBet\", -1));\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'MAXBET ASC');\r\n break;\r\n case 8:\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"MaxBet\", 1));\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'MAXBET DESC');\r\n break;\r\n case 9:\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"NumLinee\", 1));\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'NUMLINEE ASC');\r\n break;\r\n case 10:\r\n setGamesSorted(sortJsonArrayByProperty(JsonGameToSort, \"NumLinee\", -1));\r\n setEventsAnalytics('CasinoButton', 'ORDER', 'NUMLINEE DESC');\r\n break;\r\n\r\n }\r\n}\r\n\r\nfunction sortJsonGameCategory(category, id, obj) {\r\n switch (id) {\r\n case 1:\r\n categoryorder = '';\r\n categoryorderdirection = '';\r\n break;\r\n case 2:\r\n categoryorder = 'ALFABETICO';\r\n categoryorderdirection = 'ASC';\r\n break;\r\n case 3:\r\n categoryorder = 'ALFABETICO';\r\n categoryorderdirection = 'DESC';\r\n break;\r\n case 4:\r\n categoryorder = 'NEW';\r\n categoryorderdirection = 'DESC';\r\n break;\r\n case 5:\r\n categoryorder = 'MINBET';\r\n categoryorderdirection = 'ASC';\r\n break;\r\n case 6:\r\n categoryorder = 'MINBET';\r\n categoryorderdirection = 'DESC';\r\n break;\r\n case 7:\r\n categoryorder = 'MAXBET';\r\n categoryorderdirection = 'ASC';\r\n break;\r\n case 8:\r\n categoryorder = 'MAXBET';\r\n categoryorderdirection = 'DESC';\r\n break;\r\n case 9:\r\n categoryorder = 'NUMLINEE';\r\n categoryorderdirection = 'ASC';\r\n break;\r\n case 10:\r\n categoryorder = 'NUMLINEE';\r\n categoryorderdirection = 'DESC';\r\n break;\r\n case 11:\r\n categoryorder = 'PIUGIOCATI';\r\n categoryorderdirection = 'DESC';\r\n break;\r\n }\r\n if (categoryorder != '') {\r\n GetGamesCategorySort(category, categoryorder, categoryorderdirection);\r\n setEventsAnalytics('CasinoButton', 'ORDER', categoryorder + ' ' + categoryorderdirection);\r\n } else {\r\n GetGamesCategory(category);\r\n }\r\n}\r\n\r\nfunction setSidebarCasino(result, macro) {\r\n JsonFornitori = [];\r\n if (JsonFornitori.length == 0) {\r\n if (enableNewProviderMenu) {\r\n $(\".menuGame\").addClass(\"v2\");\r\n }\r\n\r\n var countTot = 0;\r\n\r\n var homeItemClick = \"GetGamesHome()\";\r\n var homeItemTitle = \"Casinò Online\";\r\n var $HtmlSidebarMenuCasinoXS = $(\"
        \");\r\n switch(macro) {\r\n case \"slot\":\r\n homeItemClick = \"GetGamesSlotHome()\";\r\n homeItemTitle = \"Slot\";\r\n break;\r\n case \"online\":\r\n homeItemClick = \"GetGamesHome()\";\r\n homeItemTitle = \"Casinò Online\";\r\n break;\r\n case \"games\":\r\n case \"softgames\":\r\n homeItemClick = \"GetSoftGamesHome()\";\r\n homeItemTitle = \"Games\";\r\n break;\r\n default:\r\n homeItemClick = \"GetGamesLiveHome()\";\r\n homeItemTitle = \"Casinò Live\";\r\n break;\r\n }\r\n var htmlHomeItem = \"
      10. \" +\r\n \"

        \" + homeItemTitle + \" - Tutti i provider

        \" +\r\n \"\" +\r\n \"
      11. \";\r\n if (enableNewProviderMenu) {\r\n htmlHomeItem = \"
      12. \" +\r\n \"\" +\r\n \"

        \" + homeItemTitle.toUpperCase() + \" - Tutti i provider

        \" +\r\n \"
      13. \";\r\n } \r\n\r\n $HtmlSidebarMenuCasinoXS.append(htmlHomeItem);\r\n $HtmlSidebarMenuCasinoXS.find(\".Home\").append(GetProviderSortDropdown(macro));\r\n\r\n let orderSlot = 0,\r\n orderOnline = 0,\r\n orderGames = 0,\r\n orderLive = 0;\r\n $.each(result, function(i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n JsonFornitori.push(v[\"Fornitori\"]);\r\n var NewGameFornitori = \"\";\r\n var icoPromo = \"\";\r\n $.each(JsonPromo, function(a, x) {\r\n if (x[\"Promo\"].IdProvider == v[\"Fornitori\"].id) {\r\n icoPromo = \"PROMO\";\r\n return false;\r\n }\r\n });\r\n // if (v.Fornitori.exclusive == 1) {\r\n if (!isExpired(v.Fornitori.ExclusiveExpire)) {\r\n NewGameFornitori = \"ESCLUSIVO\";\r\n } else {\r\n // if (v[\"Fornitori\"].isnew != null) {\r\n // if (v[\"Fornitori\"].isnew > 0) {\r\n if(!isExpired(v.Fornitori.NewExpire)) {\r\n NewGameFornitori = \"NEW\";\r\n }\r\n else if (v[\"Fornitori\"].newGames > 0) {\r\n var newGames = v[\"Fornitori\"].newGames;\r\n if (!crazySlotActive) {\r\n newGames = newGames - v[\"Fornitori\"].newGamesHighRTP;\r\n }\r\n\r\n if(newGames > 0) {\r\n NewGameFornitori = \"\" + v[\"Fornitori\"].newGames + \" NEW\";\r\n }\r\n }\r\n // }\r\n }\r\n \r\n if (v[\"Fornitori\"].live == \"0\") {\r\n if (v[\"Fornitori\"].slot > 0) {\r\n orderSlot++;\r\n countTot = countTot + v[\"Fornitori\"].slot;\r\n $HtmlSidebarMenuCasinoXS.append(getProviderMenuItem(v[\"Fornitori\"].id, \"slot\", v[\"Fornitori\"].nome, orderSlot, v[\"Fornitori\"].slot, v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"1\"));\r\n }\r\n if (v[\"Fornitori\"].softgames > 0) {\r\n orderGames++;\r\n countTot = countTot + v[\"Fornitori\"].softgames;\r\n $HtmlSidebarMenuCasinoXS.append(getProviderMenuItem(v[\"Fornitori\"].id, \"softgames\", v[\"Fornitori\"].nome, orderGames, v[\"Fornitori\"].softgames, v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"4\"));\r\n } else if (v[\"Fornitori\"].games > v[\"Fornitori\"].slot) {\r\n orderOnline++;\r\n countTot = countTot + (v[\"Fornitori\"].games - v[\"Fornitori\"].slot);\r\n $HtmlSidebarMenuCasinoXS.append(getProviderMenuItem(v[\"Fornitori\"].id, \"online\", v[\"Fornitori\"].nome, orderOnline, (v[\"Fornitori\"].games - v[\"Fornitori\"].slot), v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"2\"));\r\n }\r\n } else {\r\n orderLive++;\r\n countTot = countTot + v[\"Fornitori\"].games;\r\n $HtmlSidebarMenuCasinoXS.append(getProviderMenuItem(v[\"Fornitori\"].id, \"live\", v[\"Fornitori\"].nome, orderLive, v[\"Fornitori\"].games, v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"3\"));\r\n }\r\n }\r\n });\r\n\r\n $HtmlSidebarMenuCasinoXS.find(\".tot\").html(countTot);\r\n\r\n $(\"#sidebar\").find(\"ul\").html($HtmlSidebarMenuCasinoXS.html());\r\n\r\n $(document).on('click', function(e) {\r\n if (!$(e.target).hasClass('MenuCasino') && !$(e.target).hasClass(\"prevent-sidebar-close\") && !$(e.target).parent().hasClass(\"prevent-sidebar-close\")) {\r\n hideSidebar();\r\n }\r\n if (!$(e.target).hasClass(\"input-provider-search\")) {\r\n clearProviderSearchInput();\r\n }\r\n });\r\n $('.menu-section').on('hidden.bs.dropdown', function () {\r\n clearProviderSearchInput();\r\n });\r\n $(\".menu-section\").off(\"shown.bs.dropdown\").on(\"shown.bs.dropdown\", function (e){\r\n setEventsAnalytics(\"CasinoButton\", \"PROVIDER SORT\", \"OPEN DROPDOWN\");\r\n });\r\n //window.addEventListener(\"resize\", function() {\r\n // var searchProviderResultVisible = $(\".search-provider-result-wrapper\").is(\":visible\");\r\n // if (searchProviderResultVisible) {\r\n // setSearchProviderResultsPosition();\r\n // setTimeout(() => {\r\n // setSearchProviderResultsPosition();\r\n // }, 300);\r\n // }\r\n //});\r\n //window.addEventListener(\"scroll\", function() {\r\n // var searchProviderResultVisible = $(\".search-provider-result-wrapper\").is(\":visible\");\r\n // if (searchProviderResultVisible) {\r\n // setSearchProviderResultsPosition();\r\n // setTimeout(() => {\r\n // setSearchProviderResultsPosition();\r\n // }, 300);\r\n // }\r\n //});\r\n \r\n $(\".MenuGiochi\").on('click', function() {\r\n hideSidebar();\r\n });\r\n }\r\n}\r\nfunction getProviderMenuItem(idProvider, macro, name, order, numGames, totalPlayed, newGamesSpan, promoIcon, sectionId) {\r\n var logo = getProviderLogo(idProvider, \"icon-\" + idProvider + \".svg\", \"auto\");\r\n var clickHandler = \"GetGamesProviderMacroClick(\" + idProvider + \", '\" + macro + \"')\";\r\n if (macro === \"live\") {\r\n clickHandler = \"GetGamesLiveProviderClick(\" + idProvider + \")\";\r\n }\r\n\r\n if (CasinoMobileDevice) {\r\n if (enableNewProviderMenu) {\r\n return \"
      14. \" +\r\n \"

        \\\"\"\" + name + \"

        \" +\r\n \"

        \" + newGamesSpan + promoIcon + \"\" + numGames + \"

        \" +\r\n \"
      15. \";\r\n }\r\n\r\n return \"
      16. \" +\r\n \"

        \" + numGames + \"\" + name + \"

        \" +\r\n \"

        \" + newGamesSpan + promoIcon + \"

        \" +\r\n \"
      17. \";\r\n }\r\n else \r\n {\r\n if (enableNewProviderMenu) {\r\n return \"
      18. \" +\r\n \"

        \\\"\"\" + name + \"

        \" +\r\n \"

        \" +\r\n newGamesSpan + promoIcon +\r\n \"
        \" +\r\n \"\" + numGames + \"\" +\r\n \"\" +\r\n \"

        \" +\r\n \"
      19. \";\r\n }\r\n return \"
      20. \" +\r\n \"

        \" +\r\n \"\" + numGames + \"\" +\r\n name +\r\n \"

        \" +\r\n \"

        \" + \r\n newGamesSpan + promoIcon +\r\n \"
        \" +\r\n \"

        \" +\r\n \"
      21. \"\r\n }\r\n}\r\n\r\nfunction setMenuCasino(result, macro) {\r\n if (JsonFornitori.length == 0) {\r\n if (enableNewProviderMenu) {\r\n $(\".menuSx\").addClass(\"v2\");\r\n }\r\n \r\n var $HtmlMenuCasino = $(\"
        \");\r\n var $HtmlMenuCasinoSlot = $(\"
        \");\r\n var $HtmlMenuCasinoLive = $(\"
        \");\r\n var $HtmlMenuCasinoSoftGames = $(\"
        \");\r\n var countNew = 0;\r\n var countExclusives = 0;\r\n // var countNewLive = 0;\r\n var countTotC = 0;\r\n var countTotCL = 0;\r\n var countTotCS = 0;\r\n var countTotCSG = 0;\r\n\r\n let orderSlot = 0;\r\n let orderOnline = 0;\r\n let orderGames = 0;\r\n let orderLive = 0;\r\n\r\n $.each(result, function(i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n JsonFornitori.push(v[\"Fornitori\"]);\r\n var NewGameFornitori = \"\";\r\n var icoPromo = \"\";\r\n $.each(JsonPromo, function(a, x) {\r\n if (x[\"Promo\"].IdProvider == v[\"Fornitori\"].id) {\r\n icoPromo = \"PROMO\";\r\n return false;\r\n }\r\n });\r\n\r\n // if (v.Fornitori.exclusive == \"1\") {\r\n if (!isExpired(v.Fornitori.ExclusiveExpire)) {\r\n NewGameFornitori = \"ESCLUSIVO\";\r\n } else {\r\n // if (v[\"Fornitori\"].isnew != null) {\r\n // if (v[\"Fornitori\"].isnew > 0) {\r\n if (!isExpired(v.Fornitori.NewExpire)) {\r\n NewGameFornitori = \"NEW\";\r\n } \r\n else if (v[\"Fornitori\"].newGames > 0) {\r\n var newGames = v[\"Fornitori\"].newGames;\r\n if (!crazySlotActive) {\r\n newGames = newGames - v[\"Fornitori\"].newGamesHighRTP;\r\n }\r\n \r\n if(newGames > 0) {\r\n NewGameFornitori = \"\" + v[\"Fornitori\"].newGames + \" NEW\";\r\n }\r\n }\r\n // }\r\n }\r\n \r\n if (v[\"Fornitori\"].live == \"0\") {\r\n if (v[\"Fornitori\"].slot > 0) {\r\n orderSlot++;\r\n countTotCS = countTotCS + v[\"Fornitori\"].slot;\r\n $HtmlMenuCasinoSlot.append(getProviderMenuItem(v[\"Fornitori\"].id, \"slot\", v[\"Fornitori\"].nome, orderSlot, v[\"Fornitori\"].slot, v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"1\"));\r\n }\r\n if (v[\"Fornitori\"].softgames > 0) {\r\n orderGames++;\r\n countTotCSG = countTotCSG + v[\"Fornitori\"].softgames;\r\n $HtmlMenuCasinoSoftGames.append(\r\n getProviderMenuItem(v[\"Fornitori\"].id, \"softgames\", v[\"Fornitori\"].nome, orderGames, v[\"Fornitori\"].softgames, v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"4\"));\r\n } else if (v[\"Fornitori\"].games > v[\"Fornitori\"].slot) {\r\n orderOnline++;\r\n countTotC = countTotC + (v[\"Fornitori\"].games - v[\"Fornitori\"].slot);\r\n $HtmlMenuCasino.append(getProviderMenuItem(v[\"Fornitori\"].id, \"online\", v[\"Fornitori\"].nome, orderOnline, (v[\"Fornitori\"].games - v[\"Fornitori\"].slot), v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"2\"));\r\n }\r\n } else {\r\n orderLive++;\r\n countTotCL = countTotCL + v[\"Fornitori\"].games;\r\n $HtmlMenuCasinoLive.append(getProviderMenuItem(v[\"Fornitori\"].id, \"live\", v[\"Fornitori\"].nome, orderLive, v[\"Fornitori\"].games, v[\"Fornitori\"].totalPlayed, NewGameFornitori, icoPromo, \"3\"));\r\n }\r\n }\r\n if (v[\"NewGames\"] != null) {\r\n countNew = v[\"NewGames\"];\r\n }\r\n if (v.Exclusives != null) {\r\n countExclusives = v.Exclusives != null ? v.Exclusives : 0 ;\r\n }\r\n // if (v[\"NewgameLive\"] != null) {\r\n // countNewLive = v[\"NewgameLive\"];\r\n // }\r\n });\r\n\r\n if (countNew > 0) {\r\n $(\".pannelNew\").show();\r\n setNewButton(macro);\r\n } else {\r\n $(\".pannelNew\").hide();\r\n }\r\n if (countExclusives > 0) {\r\n $(\".pannelExclusive\").show();\r\n setExclusiveButton(macro);\r\n } else {\r\n $(\".pannelExclusive\").hide();\r\n }\r\n\r\n if (!CasinoMobileDevice) {\r\n \r\n } else {\r\n if (DefaultCasino == \"online\" || DefaultCasino == \"slot\" || DefaultCasino == \"softgames\") {\r\n if (countNew > 0 ) {\r\n $(\".pannelNew\").show();\r\n setNewButton(macro);\r\n } else {\r\n $(\".pannelNew\").hide();\r\n $(\".menuGameButton\").find(\".pannelHome\").html(\"Home\");\r\n $(\".menuGameButton\").find(\".pannelHome\").addClass(\"expand\");\r\n }\r\n } else {\r\n $(\".pannelFavourite\").remove();\r\n if (countNew > 0) {\r\n $(\".pannelNew\").show();\r\n setNewButton(macro);\r\n } else {\r\n $(\".pannelNew\").hide();\r\n }\r\n }\r\n }\r\n\r\n var S_co = \"

        \" + countTotC + \"Casinò Online

        \" + GetProviderSortDropdown(\"online\") + \"
          \";\r\n var S_cs = \"

          \" + countTotCS + \"Slot

          \" + GetProviderSortDropdown(\"slot\") + \"
            \";\r\n var S_cl = \"

            \" + countTotCL + \"Casinò Live

            \" + GetProviderSortDropdown(\"live\") + \"
              \";\r\n var S_csg = \"

              \" + countTotCSG + \"\" + SoftGamesName + \"

              \" + GetProviderSortDropdown(\"softgames\") + \"
                \";\r\n\r\n if (enableNewProviderMenu) {\r\n S_co = \"

                Casinò Online\" + countTotC + \"

                \" + GetProviderSortDropdown(\"online\") + \"
                  \";\r\n S_cs = \"

                  Slot\" + countTotCS + \"

                  \" + GetProviderSortDropdown(\"slot\") + \"
                    \";\r\n S_cl = \"

                    Casinò Live\" + countTotCL + \"

                    \" + GetProviderSortDropdown(\"live\") + \"
                      \";\r\n S_csg = \"

                      \" + SoftGamesName + \"\" + countTotCSG + \"

                      \" + GetProviderSortDropdown(\"softgames\") + \"
                        \";\r\n }\r\n\r\n $(\".menuSx\").empty();\r\n if (DefaultCasino == \"online\") {\r\n $(\".menuSx\").append(S_co);\r\n $(\".menuSx\").find(\".casinoMenu\").html($HtmlMenuCasino.html());\r\n if ($HtmlMenuCasino.html().length == 0) {\r\n $(\"#HMCO\").hide();\r\n }\r\n } else if (DefaultCasino == \"slot\") {\r\n $(\".menuSx\").append(S_cs);\r\n $(\".menuSx\").find(\".casinoSlotMenu\").html($HtmlMenuCasinoSlot.html());\r\n if ($HtmlMenuCasinoSlot.html().length == 0) {\r\n $(\"#HMCS\").hide();\r\n }\r\n } else if (DefaultCasino == \"softgames\") {\r\n $(\".menuSx\").append(S_csg);\r\n $(\".menuSx\").find(\".casinoSoftGamesMenu\").html($HtmlMenuCasinoSoftGames.html());\r\n if ($HtmlMenuCasinoSoftGames.html().length == 0) {\r\n $(\"#HMCSG\").hide();\r\n }\r\n } else {\r\n $(\".menuSx\").append(S_cl);\r\n $(\".menuSx\").find(\".casinoLiveMenu\").html($HtmlMenuCasinoLive.html().replace(\"#TOT#\", countTotCL));\r\n if ($HtmlMenuCasinoLive.html().length == 0) {\r\n $(\"#HMCL\").hide();\r\n }\r\n }\r\n \r\n $(\".menu-section\").off(\"shown.bs.dropdown\").on(\"shown.bs.dropdown\", function (e){\r\n setEventsAnalytics(\"CasinoButton\", \"PROVIDER SORT\", \"OPEN DROPDOWN\");\r\n });\r\n } else {\r\n arrangeMenu(DefaultCasino);\r\n }\r\n\r\n if (isinit) {\r\n isinit = false;\r\n GetTopGamesUser();\r\n }\r\n}\r\n\r\nfunction sortProviderMenuClick(sortType) {\r\n var sortTypeAnalytics = \"CONSIGLIATI\";\r\n switch (sortType) {\r\n case 1: // CONSIGLIATI\r\n sortTypeAnalytics = \"CONSIGLIATI\";\r\n break;\r\n case 2: // ALFABETICO CRESCENTE\r\n sortTypeAnalytics = \"ALFABETICO CRESCENTE\";\r\n break;\r\n case 3: // ALFABETICO DECRESCENTE\r\n sortTypeAnalytics = \"ALFABETICO DECRESCENTE\";\r\n break;\r\n case 4: // PIU' GIOCATI CRESCENTE\r\n sortTypeAnalytics = \"PIU GIOCATI CRESCENTE\";\r\n break;\r\n case 5: // PIU' GIOCATI DECRESCENTE\r\n sortTypeAnalytics = \"PIU GIOCATI DECRESCENTE\";\r\n break;\r\n case 6: // NUM GIOCHI CRESCENTE\r\n sortTypeAnalytics = \"NUM GIOCHI CRESCENTE\";\r\n break;\r\n case 7: // NUM GIOCHI DECRESCENTE\r\n sortTypeAnalytics = \"NUM GIOCHI DECRESCENTE\";\r\n break;\r\n }\r\n setEventsAnalytics(\"CasinoButton\", \"PROVIDER SORT\", sortTypeAnalytics);\r\n sessionStorage.setItem(\"ProviderMenuSort\", sortType);\r\n sortProviderMenu(sortType);\r\n}\r\n\r\nfunction sortMenuItemsByAttribute(attribute, direction) {\r\n var dir = 1;\r\n if (direction) { dir = direction; }\r\n\r\n var allItems = $(\".provider-menu > li:not(.Home)\").get();\r\n allItems.sort(function (a, b) {\r\n var keyA = $(a).attr(attribute);\r\n var keyB = $(b).attr(attribute);\r\n if (!isNaN(keyA)) { keyA = +keyA; }\r\n if (!isNaN(keyB)) { keyB = +keyB; }\r\n if (keyA < keyB) return dir * -1;\r\n if (keyA > keyB) return dir * 1;\r\n return 0;\r\n });\r\n\r\n // aggiorno l'attributo per l'ordinamento\r\n $.each(allItems, function (i, item) {\r\n $(\".provider-menu > li[data-id=\\\"\" + $(item).attr(\"data-id\") + \"\\\"]\").attr(\"data-order\", i+1);\r\n });\r\n\r\n // ordino solo quelli non preferiti\r\n var items = $(\".provider-menu > li:not(.Home,.fav)\").get();\r\n items.sort(function (a, b) {\r\n var keyA = $(a).attr(attribute);\r\n var keyB = $(b).attr(attribute);\r\n if (!isNaN(keyA)) { keyA = +keyA; }\r\n if (!isNaN(keyB)) { keyB = +keyB; }\r\n if (keyA < keyB) return dir * -1;\r\n if (keyA > keyB) return dir * 1;\r\n return 0;\r\n });\r\n \r\n var ul = $(\".provider-menu\");\r\n $.each(items, function (i, li) {\r\n ul.append(\r\n li\r\n );\r\n });\r\n}\r\n\r\nfunction sortProviderMenu(sortType) {\r\n var attribute = \"data-default-order\";\r\n var direction = 1;\r\n $(\".sort-provider-drop-button\").removeClass(\"active\");\r\n $(\".sort-provider-drop-button.\" + sortType).addClass(\"active\");\r\n switch(sortType) {\r\n case 1: // CONSIGLIATI\r\n attribute = \"data-default-order\";\r\n break;\r\n case 2: // ALFABETICO CRESCENTE\r\n attribute = \"data-name\";\r\n direction = 1;\r\n break;\r\n case 3: // ALFABETICO DECRESCENTE\r\n attribute = \"data-name\";\r\n direction = -1;\r\n break;\r\n case 4: // PIU' GIOCATI CRESCENTE\r\n attribute = \"data-total-played\";\r\n direction = 1;\r\n break;\r\n case 5: // PIU' GIOCATI DECRESCENTE\r\n attribute = \"data-total-played\";\r\n direction = -1;\r\n break;\r\n case 6: // NUM GIOCHI CRESCENTE\r\n attribute = \"data-games\";\r\n direction = 1;\r\n break;\r\n case 7: // NUM GIOCHI DECRESCENTE\r\n attribute = \"data-games\";\r\n direction = -1;\r\n break;\r\n }\r\n sortMenuItemsByAttribute(attribute, direction);\r\n}\r\n\r\nfunction GetProviderSortDropdown(macro) {\r\n var numberGamesText = \"Numero Slot\";\r\n if (macro === \"online\" || macro === \"casino\" || macro === \"live\") {\r\n numberGamesText = \"Numero Tavoli\";\r\n }\r\n if (macro === \"games\" || macro === \"softgames\") {\r\n numberGamesText = \"Numero Games\";\r\n }\r\n \r\n var $DropdownItemsSort = \"
                          \"\r\n $DropdownItemsSort += \"
                        • \";\r\n $DropdownItemsSort += \"
                        • Consigliati
                        • \";\r\n $DropdownItemsSort += \"
                        • Alfabetico
                        • \";\r\n // $DropdownItemsSort += \"
                        • I più giocati
                        • \";\r\n $DropdownItemsSort += \"
                        • \" + numberGamesText + \"
                        • \";\r\n $DropdownItemsSort += \"
                        \";\r\n return $DropdownItemsSort;\r\n}\r\n\r\nfunction clearProviderSearchInput() {\r\n setTimeout(() => {\r\n $(\"#inputProviderSearch\").val(\"\");\r\n if ($(\"#sidebar\").css(\"overflow-y\") !== \"visible\") {\r\n $(\"#sidebar\").css(\"overflow-y\", \"scroll\");\r\n }\r\n $(\".provider-search-box\").removeClass(\"error\");\r\n $(\".search-bg\").hide();\r\n $(\".provider-search-box\").removeClass(\"on-top\");\r\n $(\"html, body\").removeClass(\"overflow-hidden\");\r\n $(\".search-provider-result\").empty();\r\n $(\".search-provider-result-wrapper\").hide();\r\n }, 100);\r\n}\r\n\r\nfunction clearProviderSearchInputBlur() {\r\n if (!CasinoMobileDevice) {\r\n clearProviderSearchInput();\r\n }\r\n}\r\n//function setSearchProviderResultsPosition() {\r\n //if (!CasinoMobileDevice) {\r\n // $(\".search-provider-result-wrapper\").css(\"transform\", \"translate3d(\" + ((document.querySelector(\".provider-sort-button\").getBoundingClientRect().x + document.querySelector(\".provider-sort-button\").clientWidth) + 10) + \"px,\" + (document.querySelector(\".provider-search-box\").getBoundingClientRect().top + document.querySelector(\".provider-search-box\").getBoundingClientRect().height + window.scrollY + 5) + \"px,0px)\"); \r\n //} else {\r\n // var header = document.querySelector(\"#header_content\");\r\n // var valueToSubtract = 0;\r\n // if (header) {\r\n // valueToSubtract = header.getBoundingClientRect().height;\r\n // }\r\n // $(\".search-provider-result-wrapper\").css(\"transform\", \"translate3d(32px,\" + (document.querySelector(\".provider-search-box\").getBoundingClientRect().top + document.querySelector(\".provider-search-box\").getBoundingClientRect().height + window.scrollY - valueToSubtract) + \"px,0px)\"); \r\n // //$(\".search-provider-result-wrapper\").css(\"transform\", \"translate3d(32px,\" + (document.querySelector(\".provider-search-box\").getBoundingClientRect().top - 8 + (document.querySelector(\".input-provider-search\").getBoundingClientRect().height/2) + window.scrollY - valueToSubtract) + \"px,0px)\"); \r\n //}\r\n//}\r\n\r\nfunction searchProvider(obj) {\r\n if ($(\"#sidebar\").css(\"overflow-y\") !== \"visible\") {\r\n $(\"#sidebar\").css(\"overflow-y\", \"scroll\");\r\n }\r\n\r\n if ($(obj).val()) {\r\n\r\n\r\n $(\".search-input-mask\").html(\"
                        \" + $(obj).val() + \"
                        \")\r\n\r\n //setSearchProviderResultsPosition();\r\n //var searchResult = JsonFornitori.filter(item => item.nome.toLowerCase().startsWith($(obj).val().toLowerCase()));\r\n var searchResult = JsonFornitori.filter(item => item.nome.toLowerCase().indexOf($(obj).val().toLowerCase())!=-1);\r\n if (searchResult.length > 0) {\r\n $(\".search-provider-result\").empty();\r\n $.each(searchResult, function(i, item) {\r\n $(\".search-provider-result\").append(getSearchProviderItem(item));\r\n });\r\n $(\".provider-search-box\").removeClass(\"error\");\r\n // $(\".search-bg\").addClass(\"provider\");\r\n $(\".search-bg\").show();\r\n $(\".provider-search-box\").addClass(\"on-top\");\r\n // $(\"html, body\").addClass(\"overflow-hidden\");\r\n if ($(\"#sidebar\").css(\"overflow-y\") !== \"visible\") {\r\n $(\"#sidebar\").css(\"overflow-y\", \"hidden\");\r\n }\r\n $(\".search-provider-result-wrapper\").show();\r\n\r\n setEventsAnalytics('Cerca Provider ' + DefaultCasino, 'cerca', $(obj).val());\r\n\r\n } else {\r\n $(\".provider-search-box\").addClass(\"error\");\r\n $(\".provider-search-box\").removeClass(\"on-top\");\r\n if ($(\"#sidebar\").css(\"overflow-y\") !== \"visible\") {\r\n $(\"#sidebar\").css(\"overflow-y\", \"scroll\");\r\n }\r\n $(\".search-provider-result\").empty();\r\n $(\".search-bg\").hide();\r\n $(\"html, body\").removeClass(\"overflow-hidden\");\r\n $(\".search-provider-result-wrapper\").hide();\r\n }\r\n } else {\r\n $(\".provider-search-box\").removeClass(\"error\");\r\n if ($(\"#sidebar\").css(\"overflow-y\") !== \"visible\") {\r\n $(\"#sidebar\").css(\"overflow-y\", \"scroll\");\r\n }\r\n $(\".provider-search-box\").removeClass(\"on-top\");\r\n $(\".search-provider-result\").empty();\r\n $(\".search-bg\").hide();\r\n $(\"html, body\").removeClass(\"overflow-hidden\");\r\n $(\".search-provider-result\").empty();\r\n $(\".search-provider-result-wrapper\").hide();\r\n }\r\n}\r\nfunction getSearchProviderItem(item) {\r\n //var allText = \"Tutte le Slot\";\r\n //if (DefaultCasino === \"live\" || DefaultCasino === \"online\") {\r\n // allText = \"Tutti i Tavoli\";\r\n //}\r\n //if (DefaultCasino === \"softgames\") {\r\n // allText = \"Tutti i Games\";\r\n //}\r\n var func = \"GetGamesProviderMacroClick(\" + item.id + \", '\" + DefaultCasino + \"')\";\r\n if (item.live === \"1\") {\r\n func = \"GetGamesLiveProviderClick(\" + item.id + \")\";\r\n }\r\n // var description = allText + \" - \" + item.nome;\r\n var description = item.nome;\r\n return \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \" +\r\n \"\\\"\"\" +\r\n \"
                        \" +\r\n \"
                        \" + description + \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \"\r\n}\r\n\r\nfunction setGamesHome(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n\r\n var $HtmlData = $(\"
                        \");\r\n var $HtmlDataTop = $(\"
                        \");\r\n var $HtmlMenuCategory = $(\"
                        \");\r\n var $HtmlGames = $(\"
                        \");\r\n var $HtmlInEvidenza = $(\"
                        \");\r\n\r\n arrayInEvidenza = [];\r\n JsonPromo = [];\r\n JsonCategories = [];\r\n\r\n var count = 0;\r\n var countTot = 0;\r\n var countEvidenza = 0;\r\n var countNewRoulette = 0;\r\n var countNewGiochiDiCarte = 0;\r\n var countNewVideoPoker = 0;\r\n var countNewGameShow = 0;\r\n\r\n setMenuCasino(result, \"online\");\r\n setSidebarCasino(result, \"online\");\r\n JsonPromo = result.filter(function(item) { return item.Promo != null });\r\n setPanelPromo();\r\n\r\n $.each(result, function(i, v) {\r\n if (v[\"Count\"] != null) {\r\n countTot = v[\"Count\"];\r\n }\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n if (v[\"Game\"] != null) {\r\n count++;\r\n $HtmlGames.append(GetCardGame(v[\"Game\"]));\r\n }\r\n if (v[\"InEvidenza\"] != null) {\r\n arrayInEvidenza.push(v[\"InEvidenza\"]);\r\n }\r\n if (v[\"NewSlot\"] != null) {\r\n countNewSlot = v[\"NewSlot\"];\r\n }\r\n if (v[\"NewRoulette\"] != null) {\r\n countNewRoulette = v[\"NewRoulette\"];\r\n }\r\n if (v[\"NewGiochidicarte\"] != null) {\r\n countNewGiochiDiCarte = v[\"NewGiochidicarte\"];\r\n }\r\n if (v[\"NewVideopoker\"] != null) {\r\n countNewVideoPoker = v[\"NewVideopoker\"];\r\n }\r\n if (v[\"NewGameshow\"] != null) {\r\n countNewGameShow = v[\"NewGameshow\"];\r\n }\r\n });\r\n\r\n \r\n const arrayInEvidenza2 = arrayInEvidenza.filter(function(item) {\r\n return item.InEvidenza === \"2\";\r\n });\r\n let inEvidenzaAddClass = \"\";\r\n let topItem = \"\";\r\n inEvidenzaWithTopItem = false;\r\n if (arrayInEvidenza2.length > 0) {\r\n arrayInEvidenza.splice(0, 1);\r\n inEvidenzaAddClass = \"with-top-item\";\r\n topItem = GetCardGame(arrayInEvidenza2[0], \"evidenza\");\r\n inEvidenzaWithTopItem = true;\r\n }\r\n\r\n shuffle(arrayInEvidenza);\r\n $.each(arrayInEvidenza, function(i, x) {\r\n $HtmlInEvidenza.append(\"
                        \" + GetCardGame(x, \"evidenza\") + \"
                        \");\r\n });\r\n\r\n buildFiltersMenu(\"online\");\r\n $(\"#search\").attr(\"placeholder\", \"Cerca tavoli\");\r\n $(\"#searchFilter\").attr(\"placeholder\", \"Cerca tavoli\");\r\n \r\n // GetMostPlayedGamesUser();\r\n\r\n if ($HtmlInEvidenza.find(\".card\").length > 4) {\r\n var openAll = \"Apri tutte\";\r\n if (arrayInEvidenza.length > 4) {\r\n openAll = \"Apri tutte\";\r\n }\r\n $HtmlDataTop.append(\"
                        \" +\r\n \"
                        \" +\r\n \"

                        In Evidenza

                        \" +\r\n \"
                        \" +\r\n \"Nascondi\" +\r\n \"Mostra\" +\r\n openAll +\r\n \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \" +\r\n topItem +\r\n \"
                        \" +\r\n \"
                        \" +\r\n $HtmlInEvidenza.html() +\r\n \"
                        \" +\r\n \"
                        \" +\r\n // \"
                        \" +\r\n // \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \");\r\n\r\n }\r\n\r\n $HtmlMenuCategory = setCategoriesDropdown(\"online\");\r\n\r\n var htmlHeader = \"

                        Tutti i Giochi

                        \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n htmlHeader = setCategoriesHeader(\"online\");\r\n filterButton = \"Filtri\";\r\n }\r\n\r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n var htmlPanelContent = \"
                        \" +\r\n \"
                        \" +\r\n htmlHeader +\r\n filterButton +\r\n \"
                        \" +\r\n \"
                        \" +\r\n $HtmlGames.html() +\r\n \"
                        \";\r\n htmlPanelContent += \"
                        \";\r\n $HtmlData.append(htmlPanelContent);\r\n }\r\n\r\n $(\"#contentPannelTOP\").html($HtmlDataTop.html());\r\n $(\"#contentPannelTOP\").show();\r\n\r\n $(\".CasinoPrelaod\").remove();\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n if (countTot > count) {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n }\r\n \r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutte\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutti\");\r\n break;\r\n }\r\n setMenuGames($HtmlMenuCategory);\r\n setBreadcrumb(\"
                      • Tutti i giochi
                      • \");\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n endWrite(true, false, false);\r\n\r\n $(\"#HMCO\").addClass(\"active\");\r\n initSliderInEvidenza(inEvidenzaWithTopItem);\r\n}\r\n\r\nfunction setGamesSlotHome(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                        \");\r\n var $HtmlDataTop = $(\"
                        \");\r\n var $HtmlMenuCategory = $(\"
                        \");\r\n var $HtmlGames = $(\"
                        \");\r\n var $HtmlInEvidenza = $(\"
                        \");\r\n\r\n arrayInEvidenza = [];\r\n JsonPromo = [];\r\n JsonCategories = [];\r\n var countTot = 0;\r\n var count = 0;\r\n var countSlotJackpot = 0;\r\n var countEvidenza = 0;\r\n\r\n var countNewSlot = 0;\r\n var countNewSlotJackpot = 0;\r\n \r\n GetCrazySlotsActive();\r\n setMenuCasino(result, \"slot\");\r\n setSidebarCasino(result, \"slot\");\r\n JsonPromo = result.filter(function(item) { return item.Promo != null });\r\n setPanelPromo();\r\n\r\n $.each(result, function(i, v) {\r\n if (v[\"Count\"] != null) {\r\n countTot = v[\"Count\"];\r\n }\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n if (v[\"Game\"] != null) {\r\n count++;\r\n $HtmlGames.append(GetCardGame(v[\"Game\"]));\r\n }\r\n if (v[\"InEvidenza\"] != null) {\r\n arrayInEvidenza.push(v[\"InEvidenza\"]);\r\n }\r\n if (v[\"NewSlot\"] != null) {\r\n countNewSlot = v[\"NewSlot\"];\r\n }\r\n if (v[\"NewRoulette\"] != null) {\r\n countNewRoulette = v[\"NewRoulette\"];\r\n }\r\n if (v[\"NewGiochidicarte\"] != null) {\r\n countNewGiochiDiCarte = v[\"NewGiochidicarte\"];\r\n }\r\n if (v[\"NewVideopoker\"] != null) {\r\n countNewVideoPoker = v[\"NewVideopoker\"];\r\n }\r\n if (v[\"NewSlotjackpot\"] != null) {\r\n countNewSlotJackpot = v[\"NewSlotjackpot\"];\r\n }\r\n });\r\n\r\n buildFiltersMenu(\"slot\");\r\n $(\"#search\").attr(\"placeholder\", \"Cerca slot\");\r\n $(\"#searchFilter\").attr(\"placeholder\", \"Cerca slot\");\r\n \r\n // GetMostPlayedGamesUser();\r\n\r\n const arrayInEvidenza2 = arrayInEvidenza.filter(function(item) {\r\n return item.InEvidenza === \"2\";\r\n });\r\n let inEvidenzaAddClass = \"\";\r\n let topItem = \"\";\r\n inEvidenzaWithTopItem = false;\r\n if (arrayInEvidenza2.length > 0) {\r\n arrayInEvidenza.splice(0, 1);\r\n inEvidenzaAddClass = \"with-top-item\";\r\n topItem = GetCardGame(arrayInEvidenza2[0], \"evidenza\");\r\n inEvidenzaWithTopItem = true;\r\n }\r\n\r\n shuffle(arrayInEvidenza);\r\n $.each(arrayInEvidenza, function(i, x) {\r\n $HtmlInEvidenza.append(\"
                        \" + GetCardGame(x, \"evidenza\") + \"
                        \");\r\n });\r\n\r\n if ($HtmlInEvidenza.find(\".card\").length > 4) {\r\n var openAll = \"Apri tutte\";\r\n if (arrayInEvidenza.length > 4) {\r\n openAll = \"Apri tutte\";\r\n }\r\n $HtmlDataTop.append(\"
                        \" +\r\n \"
                        \" +\r\n \"

                        In Evidenza

                        \" +\r\n \"
                        \" +\r\n \"Nascondi\" +\r\n \"Mostra\" +\r\n openAll +\r\n \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \" +\r\n topItem +\r\n \"
                        \" +\r\n \"
                        \" +\r\n $HtmlInEvidenza.html() +\r\n \"
                        \" +\r\n \"
                        \" +\r\n // \"
                        \" +\r\n // \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \");\r\n }\r\n\r\n var htmlHeader = \"

                        Tutte le Slot

                        \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n htmlHeader = setCategoriesHeader(\"slot\");\r\n filterButton = \"Filtri\";\r\n }\r\n\r\n $HtmlMenuCategory = setCategoriesDropdown(\"slot\");\r\n\r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n var htmlPanelContent = \"
                        \" +\r\n \"
                        \" +\r\n htmlHeader +\r\n filterButton +\r\n \"
                        \" +\r\n \"
                        \" +\r\n $HtmlGames.html() +\r\n \"
                        \";\r\n htmlPanelContent += \"
                        \";\r\n $HtmlData.append(htmlPanelContent);\r\n }\r\n $(\"#contentPannelTOP\").html($HtmlDataTop.html());\r\n $(\"#contentPannelTOP\").show();\r\n\r\n $(\".CasinoPrelaod\").remove();\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n if (countTot > count) {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n } \r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutte\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutti\");\r\n break;\r\n }\r\n\r\n setMenuGames($HtmlMenuCategory);\r\n setBreadcrumb(\"
                      • Tutti i giochi
                      • \");\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n endWrite(true, false, false);\r\n\r\n $(\"#HMCS\").addClass(\"active\");\r\n initSliderInEvidenza(inEvidenzaWithTopItem);\r\n \r\n if (getProvenienza() != \"101\" && getProvenienza() != \"104\") {\r\n GetAmusnetJackpot();\r\n }\r\n\r\n GetCrazySlots();\r\n}\r\n\r\nfunction setSoftGamesHome(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                        \");\r\n var $HtmlDataTop = $(\"
                        \");\r\n var $HtmlMenuCategory = $(\"
                        \");\r\n var $HtmlGames = $(\"
                        \");\r\n var $HtmlInEvidenza = $(\"
                        \");\r\n\r\n arrayInEvidenza = [];\r\n JsonPromo = [];\r\n JsonCategories = [];\r\n var count = 0;\r\n var countTot = 0;\r\n var countEvidenza = 0;\r\n var countNewSoftgames = 0;\r\n\r\n setMenuCasino(result, \"softgames\");\r\n setSidebarCasino(result, \"softgames\");\r\n JsonPromo = result.filter(function(item) { return item[\"Promo\"] != null });\r\n setPanelPromo();\r\n\r\n $.each(result, function(i, v) {\r\n if (v[\"Count\"] != null) {\r\n countTot = v[\"Count\"];\r\n }\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n if (v[\"Game\"] != null) {\r\n count++;\r\n $HtmlGames.append(GetCardGame(v[\"Game\"]));\r\n }\r\n if (v[\"InEvidenza\"] != null) {\r\n arrayInEvidenza.push(v[\"InEvidenza\"]);\r\n }\r\n if (v[\"NewSoftgames\"] != null) {\r\n countNewSoftgames = v[\"NewSoftgames\"];\r\n }\r\n if (v[\"NewRoulette\"] != null) {\r\n countNewRoulette = v[\"NewRoulette\"];\r\n }\r\n if (v[\"NewGiochidicarte\"] != null) {\r\n countNewGiochiDiCarte = v[\"NewGiochidicarte\"];\r\n }\r\n if (v[\"NewVideopoker\"] != null) {\r\n countNewVideoPoker = v[\"NewVideopoker\"];\r\n }\r\n if (v[\"NewSlot\"] != null) {\r\n countNewSlot = v[\"NewSlot\"];\r\n }\r\n if (v[\"NewSlotjackpot\"] != null) {\r\n countNewSlotJackpot = v[\"NewSlotjackpot\"];\r\n }\r\n });\r\n\r\n buildFiltersMenu(\"softgames\");\r\n $(\"#search\").attr(\"placeholder\", \"Cerca games\");\r\n $(\"#searchFilter\").attr(\"placeholder\", \"Cerca games\");\r\n // GetMostPlayedGamesUser();\r\n\r\n $HtmlMenuCategory = setCategoriesDropdown(\"softgames\");\r\n\r\n const arrayInEvidenza2 = arrayInEvidenza.filter(function(item) {\r\n return item.InEvidenza === \"2\";\r\n });\r\n let inEvidenzaAddClass = \"\";\r\n let topItem = \"\";\r\n inEvidenzaWithTopItem = false;\r\n if (arrayInEvidenza2.length > 0) {\r\n arrayInEvidenza.splice(0, 1);\r\n inEvidenzaAddClass = \"with-top-item\";\r\n topItem = GetCardGame(arrayInEvidenza2[0]);\r\n inEvidenzaWithTopItem = true;\r\n }\r\n\r\n shuffle(arrayInEvidenza);\r\n $.each(arrayInEvidenza, function(i, x) {\r\n $HtmlInEvidenza.append(\"
                        \" + GetCardGame(x) + \"
                        \");\r\n });\r\n\r\n if ($HtmlInEvidenza.find(\".card\").length > 4) {\r\n var openAll = \"Apri tutte\";\r\n if (arrayInEvidenza.length > 4) {\r\n openAll = \"Apri tutte\";\r\n }\r\n $HtmlDataTop.append(\"
                        \" +\r\n \"
                        \" +\r\n \"

                        In Evidenza

                        \" +\r\n \"
                        \" +\r\n \"Nascondi\" +\r\n \"Mostra\" +\r\n openAll +\r\n \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \" +\r\n topItem +\r\n \"
                        \" +\r\n \"
                        \" +\r\n $HtmlInEvidenza.html() +\r\n \"
                        \" +\r\n \"
                        \" +\r\n // \"
                        \" +\r\n // \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \" +\r\n \"
                        \");\r\n\r\n }\r\n\r\n var htmlHeader = \"

                        Games

                        \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n htmlHeader = setCategoriesHeader(\"softgames\");\r\n filterButton = \"Filtri\";\r\n }\r\n\r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n \r\n var htmlPanelContent = \"
                        \" +\r\n \"
                        \" +\r\n htmlHeader +\r\n filterButton +\r\n \"
                        \" +\r\n \"
                        \" +\r\n $HtmlGames.html() +\r\n \"
                        \";\r\n htmlPanelContent += \"
                        \";\r\n $HtmlData.append(htmlPanelContent);\r\n }\r\n $(\"#contentPannelTOP\").html($HtmlDataTop.html());\r\n $(\"#contentPannelTOP\").show();\r\n\r\n $(\".CasinoPrelaod\").remove();\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n if (countTot > count) {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n }\r\n \r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n break;\r\n }\r\n setMenuGames($HtmlMenuCategory);\r\n setBreadcrumb(\"
                      • Tutti i giochi
                      • \");\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n //$(\".MenuCasino\").html(\"Casinò\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n endWrite(true, false, false);\r\n\r\n $(\"#HMCSG\").addClass(\"active\");\r\n \r\n initSliderInEvidenza(inEvidenzaWithTopItem);\r\n}\r\n\r\nfunction setGamesMacroHomePlus(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlGame = $(\"
                        \");\r\n var macro = \"\";\r\n var counttot = 0,\r\n count = 0;\r\n $.each(result, function(i, v) {\r\n if (v[\"Macro\"]) { macro = v[\"Macro\"]; }\r\n if (v[\"Count\"]) { counttot = v[\"Count\"]; }\r\n if (v[\"Game\"]) { \r\n if (macro !== \"live\") {\r\n $HtmlGame.append(GetCardGame(v[\"Game\"])); \r\n } else {\r\n $HtmlGame.append(GetCardGameLive(v[\"Game\"])); \r\n }\r\n }\r\n });\r\n\r\n $(\"#contentPannel\").find(\".contentGame\").append($HtmlGame.html());\r\n count = $(\"#contentPannel\").find(\".game\").length;\r\n $(\"#contentPannel\").find(\".addRow\").remove();\r\n if (counttot > count) {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n }\r\n \r\n }\r\n endWrite(true, false, false);\r\n}\r\n\r\nfunction setCategoriesHeader(macro, idprovider) {\r\n var $HtmlNavCategory = $(\"
                          \");\r\n if (JsonCategories) {\r\n var allFunct = \"GetGamesHome();\";\r\n switch(macro) {\r\n case \"slot\":\r\n allFunct = \"GetGamesSlotHome();\";\r\n break;\r\n case \"softgames\":\r\n allFunct = \"GetSoftGamesHome();\"; \r\n break;\r\n case \"live\":\r\n allFunct = \"GetGamesLiveHome();\"; \r\n break;\r\n default:\r\n allFunct = \"GetGamesHome();\";\r\n break;\r\n }\r\n if (idprovider) {\r\n if (macro != \"live\") {\r\n allFunct = \"GetGamesProviderMacro('\" + idprovider + \"','\" + macro + \"')\";\r\n } else {\r\n allFunct = \"GetGamesLiveProvider('\" + idprovider + \"')\";\r\n }\r\n }\r\n if (JsonCategories.length > 1) {\r\n var allGamesString = \"Tutti i giochi\";\r\n if (macro === \"slot\") { allGamesString = \"Tutte\"; }\r\n const sumAll = JsonCategories.reduce(function(acc, val) { return acc + val.Count; }, 0);\r\n $HtmlNavCategory.append(\"
                        • \" + allGamesString + \" \" + sumAll + \"
                        • \");\r\n var categoryFunct = \"GetGamesCategory\";\r\n if (macro === \"live\") { categoryFunct = \"GetGamesLiveCategory\"; }\r\n $.each(JsonCategories, function (i, v){\r\n var categoryFunct = \"GetGamesCategory('\" + v.Id + \"');\";\r\n if (macro === \"live\") { \r\n categoryFunct = \"GetGamesLiveCategory('\" + v.Id + \"')\"; \r\n if (idprovider) {\r\n categoryFunct = \"GetGamesLiveProviderCategory(\" + idprovider + \", '\" + v.Id + \"')\"; \r\n }\r\n } else {\r\n if (idprovider) {\r\n categoryFunct = \"GetGamesProviderCategory(\" + idprovider + \",'\" + v.Id + \"');\";\r\n }\r\n }\r\n $HtmlNavCategory.append(\"
                        • \" + v.Nome + \" \" + v.Count + \"
                        • \");\r\n });\r\n } else if(JsonCategories.length == 1) {\r\n $HtmlNavCategory.append(\"
                        • \" + JsonCategories[0].Nome + \" \" + JsonCategories[0].Count + \"
                        • \");\r\n }\r\n }\r\n \r\n return $HtmlNavCategory[0].outerHTML;\r\n}\r\n\r\nfunction setCategoriesDropdown(macro, idprovider) {\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n if (JsonCategories) {\r\n var allFunct = \"GetGamesHome();\";\r\n switch(macro) {\r\n case \"slot\":\r\n allFunct = \"GetGamesSlotHome();\";\r\n break;\r\n case \"softgames\":\r\n allFunct = \"GetSoftGamesHome();\"; \r\n break;\r\n case \"live\":\r\n allFunct = \"GetGamesLiveHome();\"; \r\n break;\r\n default:\r\n allFunct = \"GetGamesHome();\";\r\n break;\r\n }\r\n if (idprovider) {\r\n if (macro != \"live\") {\r\n allFunct = \"GetGamesProviderMacro('\" + idprovider + \"','\" + macro + \"')\";\r\n } else {\r\n allFunct = \"GetGamesLiveProvider('\" + idprovider + \"')\";\r\n }\r\n }\r\n var allGamesString = \"Tutti i giochi\";\r\n if (macro === \"slot\") { allGamesString = \"Tutte le slot\"; }\r\n const sumAll = JsonCategories.reduce(function(acc, val) { return acc + val.Count; }, 0);\r\n $HtmlMenuCategory.append(\"
                          • \" + allGamesString + \"

                            \" + sumAll + \"
                          • \");\r\n $.each(JsonCategories, function(i, v) {\r\n var categoryFunct = \"GetGamesCategory('\" + v.Id + \"');\";\r\n if (macro === \"live\") { \r\n categoryFunct = \"GetGamesLiveCategory('\" + v.Id + \"')\"; \r\n if (idprovider) {\r\n categoryFunct = \"GetGamesLiveProviderCategory(\" + idprovider + \", '\" + v.Id + \"')\"; \r\n }\r\n } else {\r\n if (idprovider) {\r\n categoryFunct = \"GetGamesProviderCategory(\" + idprovider + \",'\" + v.Id + \"');\";\r\n }\r\n }\r\n $HtmlMenuCategory.append(\"
                          • \" + v.Nome + \"

                            \" + v.Count + \"
                          • \");\r\n });\r\n }\r\n \r\n return $HtmlMenuCategory[0].outerHTML;\r\n}\r\n\r\nfunction registerSliderButtonClickEvent() {\r\n setEventsAnalytics('CasinoButton', 'Slider Giochi', 'Click Pulsante');\r\n}\r\n\r\nfunction resizeTopItemInEvidenza(width) {\r\n $(\".inevidenza.with-top-item > .card\").css(\"width\", width);\r\n}\r\n\r\nfunction initSliderInEvidenza(withTopItem) {\r\n var addedItem = 0;\r\n if (enableSquareLayout ) {\r\n addedItem = 1.6;\r\n if (CasinoMobileDevice) {\r\n addedItem = 0.4;\r\n }\r\n }\r\n\r\n try {\r\n if (swiperInEvidenza) {\r\n swiperInEvidenza.destroy(true, false);\r\n }\r\n } catch (e) {}\r\n\r\n var breakpoints = {\r\n 576: {\r\n slidesPerView: (withTopItem ? 3 : 4) + addedItem,\r\n },\r\n 1200: {\r\n slidesPerView: (withTopItem ? 4 : 5) + addedItem,\r\n }\r\n }\r\n\r\n if (!CasinoMobileDevice && enableSquareLayout) {\r\n breakpoints = {\r\n 576: {\r\n slidesPerView: (withTopItem ? 3 : 4) + addedItem,\r\n },\r\n 1200: {\r\n slidesPerView: (withTopItem ? 4 : 5) + addedItem,\r\n },\r\n 1600: {\r\n slidesPerView: (withTopItem ? 5 : 6) + addedItem,\r\n },\r\n 1800: {\r\n slidesPerView: (withTopItem ? 6 : 7) + addedItem,\r\n }\r\n }\r\n }\r\n\r\n if (CasinoMobileDevice && enableSquareLayout) { \r\n breakpoints = {\r\n 475: {\r\n slidesPerView: (withTopItem ? 3 : 4) + addedItem,\r\n },\r\n 760: {\r\n slidesPerView: (withTopItem ? 4 : 5) + addedItem,\r\n },\r\n 1024: {\r\n slidesPerView: (withTopItem ? 5 : 6) + addedItem,\r\n }\r\n }\r\n }\r\n\r\n var pagination = { }\r\n \r\n if (!enableSquareLayout) {\r\n pagination = {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n dynamicBullets: true,\r\n dynamicMainBullets: 5\r\n };\r\n }\r\n\r\n swiperInEvidenza = new Swiper(\"#contentPannelTOP .swiper-container\", {\r\n // navigation: {\r\n // nextEl: '.swiper-button-next',\r\n // prevEl: '.swiper-button-prev',\r\n // },\r\n pagination: pagination,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n on: {\r\n init: function () {\r\n var minWidth = 123;\r\n if (!CasinoMobileDevice) {\r\n minWidth = 189.5;\r\n }\r\n\r\n if ($(\".contentGame.inevidenza .swiper-slide\").width() < minWidth) {\r\n this.update();\r\n }\r\n },\r\n },\r\n loop: true,\r\n slidesPerView: (withTopItem ? 2 : 3) + addedItem,\r\n breakpoints: breakpoints,\r\n });\r\n}\r\n\r\nfunction setGamesLiveHome(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlDataTop = $(\"
                            \");\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n var $HtmlGames = $(\"
                            \");\r\n var $HtmlMenuCasinoLive = $(\"
                            \");\r\n var $HtmlInEvidenza = $(\"
                            \");\r\n\r\n arrayInEvidenza = [];\r\n JsonPromo = [];\r\n JsonCategories = [];\r\n\r\n var count = 0;\r\n var countTot = 0;\r\n var countEvidenza = 0;\r\n var countRoulette = 0;\r\n var countBlackjack = 0;\r\n var countBaccarat = 0;\r\n var countPoker = 0;\r\n var countGameShow = 0;\r\n\r\n \r\n setMenuCasino(result, \"live\");\r\n setSidebarCasino(result, \"live\");\r\n buildFiltersMenu(\"live\");\r\n JsonPromo = result.filter(function(item) { return item.Promo != null });\r\n setPanelPromo();\r\n\r\n $(\"#search\").attr(\"placeholder\", \"Cerca tavoli\");\r\n $(\"#searchFilter\").attr(\"placeholder\", \"Cerca tavoli\");\r\n $.each(result, function(i, v) {\r\n if (v[\"Count\"] != null) {\r\n countTot = v[\"Count\"];\r\n }\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n if (v[\"Game\"] != null) {\r\n count++;\r\n $HtmlGames.append(GetCardGameLive(v[\"Game\"]));\r\n }\r\n if (v[\"InEvidenza\"] != null) {\r\n arrayInEvidenza.push(v[\"InEvidenza\"]);\r\n }\r\n });\r\n\r\n $HtmlMenuCategory = setCategoriesDropdown(\"live\");\r\n\r\n const arrayInEvidenza2 = arrayInEvidenza.filter(function(item) {\r\n return item.InEvidenza === \"2\";\r\n });\r\n let inEvidenzaAddClass = \"\";\r\n let topItem = \"\";\r\n inEvidenzaWithTopItem = false;\r\n if (arrayInEvidenza2.length > 0) {\r\n arrayInEvidenza.splice(0, 1);\r\n inEvidenzaAddClass = \"with-top-item\";\r\n topItem = GetCardGameLive(arrayInEvidenza2[0]);\r\n inEvidenzaWithTopItem = true;\r\n }\r\n\r\n shuffle(arrayInEvidenza);\r\n $.each(arrayInEvidenza, function(i, x) {\r\n $HtmlInEvidenza.append(\"
                            \" + GetCardGameLive(x) + \"
                            \");\r\n });\r\n\r\n if (CasinoMobileDevice) {\r\n cecheckInevidenza = 2;\r\n }\r\n if ($HtmlInEvidenza.find(\".card\").length > 4) {\r\n var openAll = \"Apri tutte\";\r\n if (arrayInEvidenza.length > 4) {\r\n openAll = \"Apri tutte\";\r\n }\r\n $HtmlDataTop.append(\"
                            \" +\r\n \"
                            \" +\r\n \"

                            In Evidenza

                            \" +\r\n \"
                            \" +\r\n \"Nascondi\" +\r\n \"Mostra\" +\r\n openAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n topItem +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlInEvidenza.html() +\r\n \"
                            \" +\r\n \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \");\r\n }\r\n\r\n var htmlHeader = \"

                            Tutti i Giochi

                            \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n htmlHeader = setCategoriesHeader(\"live\");\r\n filterButton = \"Filtri\";\r\n }\r\n\r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n htmlHeader +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGames.html() +\r\n \"
                            \" +\r\n \"
                            \");\r\n }\r\n\r\n $(\"#contentPannelTOP\").html($HtmlDataTop.html());\r\n $(\"#contentPannelTOP\").show();\r\n\r\n $(\".CasinoPrelaod\").remove();\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n if (countTot > count) {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n } \r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutte\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutti\");\r\n break;\r\n }\r\n setMenuGames($HtmlMenuCategory);\r\n setBreadcrumb(\"
                          • Tutti i giochi
                          • \");\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n endWrite(true, true, false);\r\n $(\"#HMCL\").addClass(\"active\");\r\n initSliderInEvidenza(inEvidenzaWithTopItem);\r\n}\r\n\r\nfunction setGamesNew(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var JsonFornitoriToSort = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n $.each(result, function(i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n JsonFornitoriToSort.push(v[\"Fornitori\"]);\r\n } else {\r\n return false;\r\n }\r\n });\r\n switch (JsonFornitoriToSort.length) {\r\n case 1: //1 FORNITORE TUTTI I GIOCHI\r\n $.each(result, function(i, v) {\r\n if (v[\"Games\"] != null) {\r\n if (isProviderLive(v[\"Games\"].IdProvider)) {\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n }\r\n }\r\n });\r\n $.each(result, function(i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v[\"Fornitori\"].nome + \"

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n } else {\r\n return false;\r\n }\r\n });\r\n break;\r\n case 2: //2 FORNITORI 8 GIOCHI\r\n $.each(sortJsonArrayByProperty(JsonFornitoriToSort, \"newGames\", -1), function(i, v) {\r\n var countGames = 0;\r\n $HtmlGame = $(\"
                            \");\r\n var idprovider = v.id;\r\n var isLive = v.live;\r\n $.each(result, function(n, z) {\r\n if (z[\"Games\"] != null) {\r\n if (idprovider == z[\"Games\"].IdProvider) {\r\n if (countGames < 8) {\r\n countGames++;\r\n if (isLive == \"1\") {\r\n $HtmlGame.append(\"
                            \" + GetCardGameLive(z[\"Games\"]), \"
                            \");\r\n } else {\r\n $HtmlGame.append(\"
                            \" + GetCardGame(z[\"Games\"]), \"
                            \");\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGame.find(\".card\").length;\r\n if (countCard < 8) {\r\n buttonOpenAll = \"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v.nome + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n });\r\n break;\r\n default:\r\n $.each(sortJsonArrayByProperty(JsonFornitoriToSort, \"newGames\", -1), function(i, v) {\r\n var countGames = 0;\r\n $HtmlGame = $(\"
                            \");\r\n var idprovider = v.id;\r\n var isLive = v.live;\r\n $.each(result, function(n, z) {\r\n if (z[\"Games\"] != null) {\r\n if (idprovider == z[\"Games\"].IdProvider) {\r\n if (countGames < 4) {\r\n countGames++;\r\n if (isLive == \"1\") {\r\n $HtmlGame.append(\"
                            \" + GetCardGameLive(z[\"Games\"]), \"
                            \");\r\n } else {\r\n $HtmlGame.append(\"
                            \" + GetCardGame(z[\"Games\"]), \"
                            \");\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGame.find(\".card\").length;\r\n if (countCard < 4) {\r\n buttonOpenAll = \"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v.nome + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n });\r\n break;\r\n }\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetSoftGamesHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n break;\r\n }\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n //$(\"#sidebar\").find(\"li.Home\").addClass(\"active\");\r\n //$(\".MenuCasino\").html(\"Casinò\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n \r\n if (isFilterPanelEdited()) {\r\n resetAllFilters();\r\n getFilters();\r\n }\r\n endWrite(false, false, true);\r\n $(\".pannelNew\").find(\"h2\").addClass(\"active\");\r\n $(\".menuGameButton\").find(\".pannelNew\").addClass(\"active\");\r\n $(\"#contentPannelTOP\").hide();\r\n}\r\n\r\nfunction setGamesNewMacro(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var addItem = 0;\r\n if (enableSquareLayout) {\r\n addItem = 3;\r\n }\r\n\r\n var minItems = 5;\r\n if (CasinoMobileDevice & enableSquareLayout) {\r\n minItems = 3;\r\n }\r\n\r\n var JsonFornitoriToSort = [];\r\n // var listInPromotion = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlDataTop = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n // var $HtmlInEvidenza = $(\"
                            \");\r\n var macro = \"\";\r\n $.each(result, function (i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n JsonFornitoriToSort.push(v[\"Fornitori\"]);\r\n }\r\n if (v[\"Macro\"] != null) {\r\n macro = v[\"Macro\"];\r\n }\r\n // if (v[\"InPromotion\"] != null) {\r\n // listInPromotion.push(v[\"InPromotion\"]);\r\n // }\r\n });\r\n\r\n if (JsonFornitoriToSort.length > 0) {\r\n\r\n\r\n\r\n // shuffle(listInPromotion);\r\n // $.each(listInPromotion, function(i, x) {\r\n // if (macro == \"live\") {\r\n // $HtmlInEvidenza.append(\"
                            \" + GetCardGameLive(x) + \"
                            \");\r\n // } else {\r\n // $HtmlInEvidenza.append(\"
                            \" + GetCardGame(x) + \"
                            \");\r\n // }\r\n // });\r\n\r\n // if ($HtmlInEvidenza.find(\".card\").length > 4) {\r\n // var openAll = \"Apri tutte\";\r\n // if (listInPromotion.length > 4) {\r\n // openAll = \"Apri tutte\";\r\n // }\r\n // $HtmlDataTop.append(\"
                            \" +\r\n // \"
                            \" +\r\n // \"

                            In Evidenza

                            \" +\r\n // \"
                            \" +\r\n // \"Nascondi\" +\r\n // \"Mostra\" +\r\n // openAll +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // $HtmlInEvidenza.html() +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \");\r\n // } \r\n\r\n $(\"#contentPannelTOP\").html($HtmlDataTop.html());\r\n $(\"#contentPannelTOP\").show();\r\n\r\n switch (JsonFornitoriToSort.length) {\r\n case 1: //1 FORNITORE TUTTI I GIOCHI\r\n $.each(result, function (i, v) {\r\n if (v[\"Games\"] != null) {\r\n if (isProviderLive(v[\"Games\"].IdProvider)) {\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n }\r\n }\r\n });\r\n $.each(result, function (i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v[\"Fornitori\"].nome + \"

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n } else {\r\n return false;\r\n }\r\n });\r\n break;\r\n case 2: //2 FORNITORI 8 GIOCHI\r\n $.each(sortJsonArrayByProperty(JsonFornitoriToSort, \"newGames\", -1), function (i, v) {\r\n var countGames = 0;\r\n $HtmlGame = $(\"
                            \");\r\n var idprovider = v.id;\r\n var isLive = v.live;\r\n $.each(result, function (n, z) {\r\n if (z[\"Games\"] != null) {\r\n if (idprovider == z[\"Games\"].IdProvider) {\r\n if (countGames < 8) {\r\n countGames++;\r\n if (isLive == \"1\") {\r\n $HtmlGame.append(GetCardGameLive(z[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(z[\"Games\"]));\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGame.find(\".card\").length;\r\n if (countCard < 8) {\r\n buttonOpenAll = \"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v.nome + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n });\r\n break;\r\n default:\r\n $.each(sortJsonArrayByProperty(JsonFornitoriToSort, \"newGames\", -1), function (i, v) {\r\n var countGames = 0;\r\n $HtmlGame = $(\"
                            \");\r\n var idprovider = v.id;\r\n var isLive = v.live;\r\n $.each(result, function (n, z) {\r\n if (z[\"Games\"] != null) {\r\n if (idprovider == z[\"Games\"].IdProvider) {\r\n if (countGames < minItems + addItem) {\r\n countGames++;\r\n if (isLive == \"1\") {\r\n $HtmlGame.append(GetCardGameLive(z[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(z[\"Games\"]));\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGame.find(\".card\").length;\r\n if (countCard < minItems) {\r\n buttonOpenAll = \"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v.nome + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n });\r\n break;\r\n }\r\n\r\n // rimozione pannelli fornitore se crazy slot disattive\r\n if (!crazySlotActive) {\r\n $HtmlData.find(\".pannelCasino\").each(function () {\r\n console.log($(this));\r\n if ($(this).find(\".card:not(.crazy-slot.d-none)\").length <= 0) {\r\n $(this).remove();\r\n }\r\n });\r\n }\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetSoftGamesHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
                          • Ultime novità
                          • Tutti i giochi
                          • \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutte\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutti\");\r\n break;\r\n }\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n //$(\"#sidebar\").find(\"li.Home\").addClass(\"active\");\r\n //$(\".MenuCasino\").html(\"Casinò\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n\r\n if (isFilterPanelEdited()) {\r\n resetAllFilters();\r\n getFilters();\r\n }\r\n endWrite(false, false, true);\r\n $(\".pannelNew\").find(\"h2\").addClass(\"active\");\r\n $(\".menuGameButton\").find(\".pannelNew\").addClass(\"active\");\r\n initSliderInEvidenza(false);\r\n\r\n }\r\n}\r\n\r\nfunction setGamesExclusiveMacro(dataIn) {\r\n var result = getJsonData(dataIn);\r\n var addItem = 0;\r\n if (enableSquareLayout) {\r\n addItem = 3;\r\n }\r\n\r\n var minItems = 5;\r\n if (CasinoMobileDevice & enableSquareLayout) {\r\n minItems = 3;\r\n }\r\n\r\n var JsonFornitoriToSort = [];\r\n // var listInPromotion = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlDataTop = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n // var $HtmlInEvidenza = $(\"
                            \");\r\n var macro = \"\";\r\n $.each(result, function (i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n JsonFornitoriToSort.push(v[\"Fornitori\"]);\r\n }\r\n if (v[\"Macro\"] != null) {\r\n macro = v[\"Macro\"];\r\n }\r\n // if (v[\"InPromotion\"] != null) {\r\n // listInPromotion.push(v[\"InPromotion\"]);\r\n // }\r\n });\r\n\r\n if (JsonFornitoriToSort.length > 0) {\r\n\r\n $(\"#contentPannelTOP\").html($HtmlDataTop.html());\r\n $(\"#contentPannelTOP\").show();\r\n\r\n switch (JsonFornitoriToSort.length) {\r\n case 1: //1 FORNITORE TUTTI I GIOCHI\r\n $.each(result, function (i, v) {\r\n if (v[\"Games\"] != null) {\r\n if (isProviderLive(v[\"Games\"].IdProvider)) {\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n }\r\n }\r\n });\r\n $.each(result, function (i, v) {\r\n if (v[\"Fornitori\"] != null) {\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v[\"Fornitori\"].nome + \"

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n } else {\r\n return false;\r\n }\r\n });\r\n break;\r\n case 2: //2 FORNITORI 8 GIOCHI\r\n $.each(sortJsonArrayByProperty(JsonFornitoriToSort, \"exclusives\", -1), function (i, v) {\r\n var countGames = 0;\r\n $HtmlGame = $(\"
                            \");\r\n var idprovider = v.id;\r\n var isLive = v.live;\r\n $.each(result, function (n, z) {\r\n if (z[\"Games\"] != null) {\r\n if (idprovider == z[\"Games\"].IdProvider) {\r\n if (countGames < 8) {\r\n countGames++;\r\n if (isLive == \"1\") {\r\n $HtmlGame.append(GetCardGameLive(z[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(z[\"Games\"]));\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGame.find(\".card\").length;\r\n if (countCard < 8) {\r\n buttonOpenAll = \"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v.nome + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n });\r\n break;\r\n default:\r\n $.each(sortJsonArrayByProperty(JsonFornitoriToSort, \"exclusives\", -1), function (i, v) {\r\n var countGames = 0;\r\n $HtmlGame = $(\"
                            \");\r\n var idprovider = v.id;\r\n var isLive = v.live;\r\n $.each(result, function (n, z) {\r\n if (z[\"Games\"] != null) {\r\n if (idprovider == z[\"Games\"].IdProvider) {\r\n if (countGames < minItems + addItem) {\r\n countGames++;\r\n if (isLive == \"1\") {\r\n $HtmlGame.append(GetCardGameLive(z[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(z[\"Games\"]));\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGame.find(\".card\").length;\r\n if (countCard < minItems) {\r\n buttonOpenAll = \"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + v.nome + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n });\r\n break;\r\n }\r\n\r\n // rimozione pannelli fornitore se crazy slot disattive\r\n if (!crazySlotActive) {\r\n $HtmlData.find(\".pannelCasino\").each(function () {\r\n console.log($(this));\r\n if ($(this).find(\".card:not(.crazy-slot.d-none)\").length <= 0) {\r\n $(this).remove();\r\n }\r\n });\r\n }\r\n \r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • Esclusive
                          • Tutti i giochi
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • Esclusive
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • Esclusice
                          • Tutti i giochi
                          • \", \"GetSoftGamesHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
                          • Esclusive
                          • Tutti i giochi
                          • \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutte\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutti\");\r\n break;\r\n }\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n //$(\"#sidebar\").find(\"li.Home\").addClass(\"active\");\r\n //$(\".MenuCasino\").html(\"Casinò\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(\"Tutti\");\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n\r\n if (isFilterPanelEdited()) {\r\n resetAllFilters();\r\n getFilters();\r\n }\r\n endWrite(false, false, true);\r\n $(\".pannelExclusive\").find(\"h2\").addClass(\"active\");\r\n $(\".menuGameButton\").find(\".pannelExclusive\").addClass(\"active\");\r\n initSliderInEvidenza(false);\r\n\r\n }\r\n}\r\n\r\nfunction setGamesExclusiveProviderMacro(dataIn) {\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n var macro = \"\";\r\n var provider = \"\";\r\n var idprovider = \"\";\r\n var count = 0;\r\n $.each(result, function(i, v) {\r\n if(v[\"Games\"] != null) {\r\n if (i == 0) {\r\n provider = getProviderName(v[\"Games\"].IdProvider);\r\n }\r\n if (isProviderLive(v[\"Games\"].IdProvider)) {\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n }\r\n }\r\n if (v[\"Macro\"] != null) {\r\n macro = v[\"Macro\"];\r\n }\r\n });\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + provider + \"

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n setBreadcrumb(\"
                          • Esclusive
                          • \" + provider + \"
                          • \", \"GetGamesExclusiveMacro('\" + macro + \"')\", true);\r\n scrollToTop = true;\r\n endWrite(false, true, false);\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\".pannelExclusive\").find(\"h2\").addClass(\"active\");\r\n $(\"#contentPannelTOP\").hide();\r\n $(\"#contentPannelTOP2\").hide();\r\n}\r\n\r\nfunction setGamesProvider(dataIn) {\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n var $HtmlSlot = $(\"
                            \");\r\n var $HtmlSlotMini = $(\"
                            \");\r\n var $HtmlRoulette = $(\"
                            \");\r\n var $HtmlGiochidicarte = $(\"
                            \");\r\n var $HtmlVideopoker = $(\"
                            \");\r\n var $HtmlSlotJackpot = $(\"
                            \");\r\n var $HtmlGameShows = $(\"
                            \"); \r\n if (result.length > 0) {\r\n var idprovider = \"\";\r\n var countSlot = 0,\r\n countRoulette = 0,\r\n countGiochiDiCarte = 0,\r\n countVideoPoker = 0,\r\n countGameShows = 0,\r\n countSlotJackpot = 0;\r\n $.each(result, function(i, v) {\r\n if (v[SlotId] != null) {\r\n countSlot++;\r\n idprovider = v[SlotId].IdProvider;\r\n if (countSlot < 4) {\r\n if (countSlot == 3) {\r\n $HtmlSlot.append(GetCardGame(v[SlotId], \"d-none d-xl-flex\"));\r\n $HtmlSlotMini.append(GetCardGame(v[SlotId], \"d-xl-none\"));\r\n } else {\r\n $HtmlSlot.append(GetCardGame(v[SlotId]));\r\n }\r\n } else {\r\n if (countSlot > 5) {\r\n $HtmlSlotMini.append(GetCardGame(v[SlotId], \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlSlotMini.append(GetCardGame(v[SlotId]));\r\n }\r\n }\r\n }\r\n if (v[RouletteId] != null) {\r\n countRoulette++;\r\n idprovider = v[RouletteId].IdProvider;\r\n if (countRoulette == 3) {\r\n $HtmlRoulette.append(GetCardGame(v[RouletteId], \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlRoulette.append(GetCardGame(v[RouletteId]));\r\n }\r\n }\r\n if (v[GiochiDiCarteId] != null) {\r\n countGiochiDiCarte++;\r\n idprovider = v[GiochiDiCarteId].IdProvider;\r\n if (countGiochiDiCarte == 3) {\r\n $HtmlGiochidicarte.append(GetCardGame(v[GiochiDiCarteId], \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlGiochidicarte.append(GetCardGame(v[GiochiDiCarteId]));\r\n }\r\n }\r\n if (v[VideoPokerId] != null) {\r\n countVideoPoker++;\r\n idprovider = v[VideoPokerId].IdProvider;\r\n if (countVideoPoker == 3) {\r\n $HtmlVideopoker.append(GetCardGame(v[VideoPokerId], \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlVideopoker.append(GetCardGame(v[VideoPokerId]));\r\n }\r\n }\r\n if (v[GameShowsId] != null) {\r\n countGameShows++;\r\n idprovider = v[GameShowsId].IdProvider;\r\n if (countGameShows == 3) {\r\n $HtmlGameShows.append(GetCardGame(v[GameShowsId], \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlGameShows.append(GetCardGame(v[GameShowsId]));\r\n }\r\n }\r\n if (v[SlotJackpotId] != null) {\r\n countSlotJackpot++;\r\n idprovider = v[SlotJackpotId].IdProvider;\r\n if (countSlotJackpot == 3) {\r\n $HtmlSlotJackpot.append(GetCardGame(v[SlotJackpotId], \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlSlotJackpot.append(GetCardGame(v[SlotJackpotId]));\r\n }\r\n }\r\n });\r\n var promoancorcasino = true;\r\n var provider = getProviderName(idprovider);\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n $HtmlMenuCategory.append(\"
                          • Tutte le slot

                          • \");\r\n break;\r\n default:\r\n $HtmlMenuCategory.append(\"
                          • Tutti i giochi

                          • \");\r\n break;\r\n }\r\n\r\n if ($HtmlSlot.html().length > 0) {\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlSlot.find(\".card\").length;\r\n if (countCard < 3) {\r\n $HtmlSlot.append(GetFakeCardGame(3 - countCard));\r\n buttonOpenAll = \"\";\r\n }\r\n var countCardMini = $HtmlSlotMini.find(\".card\").length;\r\n if (countCardMini > 3) {\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + SlotName + \" \" + provider + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlSlot.html() +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlSlotMini.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n } else {\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + SlotName + \" \" + provider + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlSlot.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n }\r\n $HtmlMenuCategory.append(\"
                          • \" + SlotName + \"

                          • \");\r\n }\r\n if ($HtmlRoulette.html().length > 0) {\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlRoulette.find(\".card\").length;\r\n if (countCard < 3) {\r\n $HtmlRoulette.append(GetFakeCardGame(3 - countCard));\r\n buttonOpenAll = \"\";\r\n }\r\n var idPromoCasino = \"\";\r\n if (promoancorcasino) {\r\n promoancorcasino = false;\r\n idPromoCasino = \" id=\\\"PROMO_CASINOGAME\\\"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"\" + RouletteName + \" \" + provider + \"\" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlRoulette.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $HtmlMenuCategory.append(\"
                          • \" + RouletteName + \"

                          • \");\r\n }\r\n if ($HtmlGiochidicarte.html().length > 0) {\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGiochidicarte.find(\".card\").length;\r\n if (countCard < 3) {\r\n $HtmlGiochidicarte.append(GetFakeCardGame(3 - countCard));\r\n buttonOpenAll = \"\";\r\n }\r\n var idPromoCasino = \"\";\r\n if (promoancorcasino) {\r\n promoancorcasino = false;\r\n idPromoCasino = \" id=\\\"PROMO_CASINOGAME\\\"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"\" + GiochiDiCarteName + \" \" + provider + \"\" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGiochidicarte.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $HtmlMenuCategory.append(\"
                          • \" + GiochiDiCarteName + \"

                          • \");\r\n }\r\n if ($HtmlVideopoker.html().length > 0) {\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlVideopoker.find(\".card\").length;\r\n if (countCard < 3) {\r\n $HtmlVideopoker.append(GetFakeCardGame(3 - countCard));\r\n buttonOpenAll = \"\";\r\n }\r\n var idPromoCasino = \"\";\r\n if (promoancorcasino) {\r\n promoancorcasino = false;\r\n idPromoCasino = \" id=\\\"PROMO_CASINOGAME\\\"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"\" + VideoPokerName + \" \" + provider + \"\" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlVideopoker.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $HtmlMenuCategory.append(\"
                          • \" + VideoPokerName + \"

                          • \");\r\n }\r\n if ($HtmlGameShows.html().length > 0) {\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlGameShows.find(\".card\").length;\r\n if (countCard < 3) {\r\n $HtmlGameShows.append(GetFakeCardGame(3 - countCard));\r\n buttonOpenAll = \"\";\r\n }\r\n var idPromoCasino = \"\";\r\n if (promoancorcasino) {\r\n promoancorcasino = false;\r\n idPromoCasino = \" id=\\\"PROMO_CASINOGAME\\\"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"\" + GameShowsName + \" \" + provider + \"\" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGameShows.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $HtmlMenuCategory.append(\"
                          • \" + GameShowsName + \"

                          • \");\r\n }\r\n if ($HtmlSlotJackpot.html().length > 0) {\r\n var buttonOpenAll = \"Apri tutte\";\r\n var countCard = $HtmlSlotJackpot.find(\".card\").length;\r\n if (countCard < 3) {\r\n $HtmlSlotJackpot.append(GetFakeCardGame(3 - countCard));\r\n buttonOpenAll = \"\";\r\n }\r\n var idPromoCasino = \"\";\r\n if (promoancorcasino) {\r\n promoancorcasino = false;\r\n idPromoCasino = \" id=\\\"PROMO_CASINOGAME\\\"\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"\" + SlotJackoptName + \" \" + provider + \"\" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlSlotJackpot.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $HtmlMenuCategory.append(\"
                          • \" + SlotJackoptName + \"

                          • \");\r\n }\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".menuSx\").find(\"li.c\" + idprovider).addClass(\"active\");\r\n\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n break;\r\n }\r\n setMenuGames($HtmlMenuCategory);\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetSoftGamesHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n //$(\".MenuCasino\").html(\"\" + provider); \r\n $(\".MenuCasino\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(provider);\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\"#sidebar\").find(\"li.c\" + idprovider).addClass(\"active\");\r\n\r\n endWrite(false, false, true);\r\n } else {\r\n printMessage(\"Giochi momentaneamente non disponibili per il fornitore selezionato.\");\r\n }\r\n}\r\n\r\nfunction initGamesProviderMacroSection(game, $HtmlMain, $HtmlMini, count, total) {\r\n if (total > threshold) {\r\n if (count <= minThreshold) {\r\n if (count == 3) {\r\n $HtmlMain.append(GetCardGame(game, \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlMain.append(GetCardGame(game));\r\n }\r\n } else {\r\n $HtmlMini.append(GetCardGame(game));\r\n }\r\n } else {\r\n if (total > 1 && total < threshold) {\r\n $HtmlMain.append(\"
                            \" + GetCardGame(game) + \"
                            \");\r\n } else {\r\n $HtmlMain.append(GetCardGame(game));\r\n }\r\n }\r\n}\r\n\r\nfunction getGamesProviderMacroSectionPanelContent(promoId, sectionName, provider, buttonOpenAll, SectionId, $HtmlMain, $HtmlMini) {\r\n var panelContent =\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + sectionName + \" \" + provider + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlMain.html() +\r\n \"
                            \";\r\n if ($HtmlMini.find(\".card\").length > 3) {\r\n panelContent +=\r\n \"
                            \" +\r\n $HtmlMini.html() +\r\n \"
                            \";\r\n }\r\n panelContent += \"
                            \";\r\n\r\n return panelContent;\r\n}\r\n\r\nfunction getPannelAddedClass(cardCount) {\r\n var cardsThreshold = 6;\r\n if (!CasinoMobileDevice) {\r\n cardsThreshold = 8;\r\n }\r\n var addClass = \"\";\r\n if (cardCount <= cardsThreshold) {\r\n addClass = \"bigger-games\";\r\n }\r\n return addClass;\r\n}\r\n\r\nfunction setGamesProviderMacro(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n var $HtmlGames = $(\"
                            \");\r\n var macro = \"online\";\r\n JsonCategories = [];\r\n \r\n if (result.length > 0) {\r\n var idprovider = \"\";\r\n var count = 0;\r\n var countTot = 0;\r\n\r\n $.each(result, function(i, v) {\r\n if (v[\"Count\"] != null) {\r\n countTot = v[\"Count\"];\r\n }\r\n if (v[\"macro\"] != null) {\r\n macro = v[\"macro\"];\r\n }\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n if (v[\"Game\"] != null) {\r\n count++;\r\n idprovider = v[\"Game\"].IdProvider;\r\n $HtmlGames.append(GetCardGame(v[\"Game\"]));\r\n }\r\n });\r\n var promoancorcasino = true;\r\n var provider = getProviderName(idprovider);\r\n\r\n // switch (DefaultCasino) {\r\n // case \"slot\":\r\n // $HtmlMenuCategory.append(\"
                          • Tutte le slot

                          • \");\r\n // break;\r\n // default:\r\n // $HtmlMenuCategory.append(\"
                          • Tutti i giochi

                          • \");\r\n // break;\r\n // }\r\n // $.each(JsonCategories, function(i, v) {\r\n // $HtmlMenuCategory.append(\"
                          • \" + v.Nome + \"

                          • \");\r\n // });\r\n $HtmlMenuCategory = setCategoriesDropdown(macro, idprovider);\r\n\r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n var header = \"

                            \" + provider + \"

                            \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n header = \"

                            \" + provider + \"\" + setCategoriesHeader(macro, idprovider) + \"

                            \";\r\n filterButton += \"Filtri\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n header +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGames.html() +\r\n \"
                            \");\r\n }\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n if (countTot > count) {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n } \r\n }\r\n\r\n GetProviderMaintenance(idprovider);\r\n\r\n arrangeMenu(macro, idprovider);\r\n\r\n // cambio anche DefaultCasino in modo da gestire il torna indietro correttamente\r\n DefaultCasino = macro;\r\n if (DefaultCasino === \"casino\") { DefaultCasino = \"online\"; }\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutte\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutti\");\r\n break;\r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetSoftGamesHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n\r\n setMenuGames($HtmlMenuCategory);\r\n\r\n $(\".MenuCasino\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(provider);\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\");\r\n\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\"#sidebar\").find(\"li.c\" + idprovider).addClass(\"active\");\r\n\r\n resetAllFilters();\r\n setFilteredProvider(idprovider, true);\r\n updateFilterCounter();\r\n getFilters();\r\n \r\n // SHEvidenza(false);\r\n endWrite(false, false, true);\r\n\r\n //setBonusPlayButton();\r\n\r\n } else {\r\n printMessage(\"Giochi momentaneamente non disponibili per il fornitore selezionato.\");\r\n }\r\n}\r\n\r\nfunction setGamesProviderMacroPlus(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlGame = $(\"
                            \");\r\n var idprovider = \"\";\r\n var macro = \"\";\r\n var counttot = 0,\r\n count = 0;\r\n $.each(result, function(i, v) {\r\n macro = v[\"Macro\"];\r\n idprovider = v[\"IdProvider\"];\r\n counttot = v[\"Count\"];\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n });\r\n\r\n $(\"#contentPannel\").find(\".contentGame\").append($HtmlGame.html());\r\n count = $(\"#contentPannel\").find(\".game\").length;\r\n $(\"#contentPannel\").find(\".addRow\").remove();\r\n if (counttot > count) {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n }\r\n \r\n }\r\n endWrite(true, false, false);\r\n}\r\n\r\nfunction arrangeMenu(macro, idprovider) {\r\n var menuClass;\r\n switch (macro) {\r\n case \"slot\":\r\n menuClass = \".casinoSlotMenu\";\r\n menuId = \"#HMCS\";\r\n $(\".casinoSoftGamesMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCSG\").prependTo(\".menuSx\");\r\n $(\".casinoLiveMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCL\").prependTo(\".menuSx\");\r\n $(\".casinoMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCO\").prependTo(\".menuSx\");\r\n $(\".casinoSlotMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCS\").prependTo(\".menuSx\");\r\n break;\r\n case \"casino\":\r\n case \"online\":\r\n menuClass = \".casinoMenu\";\r\n menuId = \"#HMCO\";\r\n $(\".casinoSoftGamesMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCSG\").prependTo(\".menuSx\");\r\n $(\".casinoLiveMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCL\").prependTo(\".menuSx\");\r\n $(\".casinoSlotMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCS\").prependTo(\".menuSx\");\r\n $(\".casinoMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCO\").prependTo(\".menuSx\");\r\n break;\r\n case \"softgames\":\r\n menuClass = \".casinoSoftGamesMenu\";\r\n menuId = \"#HMCSG\";\r\n $(\".casinoLiveMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCL\").prependTo(\".menuSx\");\r\n $(\".casinoMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCO\").prependTo(\".menuSx\");\r\n $(\".casinoSlotMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCS\").prependTo(\".menuSx\");\r\n $(\".casinoSoftGamesMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCSG\").prependTo(\".menuSx\");\r\n break;\r\n default:\r\n menuClass = \".casinoLiveMenu\";\r\n menuId = \"#HMCL\";\r\n $(\".casinoSoftGamesMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCSG\").prependTo(\".menuSx\");\r\n $(\".casinoMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCO\").prependTo(\".menuSx\");\r\n $(\".casinoSlotMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCS\").prependTo(\".menuSx\");\r\n $(\".casinoLiveMenu\").prependTo(\".menuSx\");\r\n $(\"#HMCL\").prependTo(\".menuSx\");\r\n break;\r\n }\r\n if (menuClass && menuId) {\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n if (idprovider) {\r\n $(\".menuSx\").find(menuClass).find(\"li.c\" + idprovider).addClass(\"active\");\r\n }\r\n $(\"#HMCO\").removeClass(\"active\");\r\n $(\"#HMCL\").removeClass(\"active\");\r\n $(\"#HMCS\").removeClass(\"active\");\r\n $(\"#HMCSG\").removeClass(\"active\");\r\n $(menuId).addClass(\"active\");\r\n }\r\n}\r\n\r\nfunction initGamesLiveSection(game, $HtmlMain, $HtmlMini, count, total) {\r\n if (total > threshold) {\r\n if (count <= minThreshold) {\r\n if (count == 3) {\r\n $HtmlMain.append(GetCardGameLive(game, \"d-none d-xl-flex\"));\r\n } else {\r\n $HtmlMain.append(GetCardGameLive(game));\r\n }\r\n } else {\r\n $HtmlMini.append(GetCardGameLive(game));\r\n }\r\n } else {\r\n $HtmlMain.append(GetCardGameLive(game));\r\n }\r\n}\r\n\r\nfunction getLiveSectionPanelContent(sectionName, provider, buttonOpenAll, SectionId, $HtmlMain, $HtmlMini) {\r\n var panelContent = \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + sectionName + \" \" + provider + \"

                            \" +\r\n buttonOpenAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlMain.html() +\r\n \"
                            \";\r\n if ($HtmlMini.find(\".card\").length > 3) {\r\n panelContent +=\r\n \"
                            \" +\r\n $HtmlMini.html() +\r\n \"
                            \";\r\n }\r\n panelContent += \"
                            \";\r\n return panelContent;\r\n}\r\n\r\nfunction setGamesLiveProvider(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n var $HtmlGames = $(\"
                            \");\r\n\r\n var idprovider = \"\";\r\n var idprovideralias = \"\";\r\n var showButtonLobby = false;\r\n var count = 0;\r\n \r\n JsonCategories = [];\r\n\r\n $.each(result, function(i, v) {\r\n if (v[\"ShowButtonLobby\"] != null) {\r\n showButtonLobby = v[\"ShowButtonLobby\"];\r\n }\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n if (v[\"Game\"] != null) {\r\n count++;\r\n idprovider = v[\"Game\"].IdProvider;\r\n idprovideralias = v[\"Game\"].IdProviderAlias;\r\n $HtmlGames.append(GetCardGameLive(v[\"Game\"]));\r\n }\r\n\r\n });\r\n\r\n var provider = getProviderName(idprovideralias);\r\n\r\n // $HtmlMenuCategory.append(\"
                          • Tutti i giochi

                          • \");\r\n\r\n // $.each(JsonCategories, function(i, v) {\r\n // $HtmlMenuCategory.append(\"
                          • \" + v.Nome + \"

                          • \");\r\n // });\r\n\r\n $HtmlMenuCategory = setCategoriesDropdown(\"live\", idprovideralias)\r\n\r\n var btnLobby = \"\";\r\n if (showButtonLobby === true) {\r\n btnLobby = \"Lobby\";\r\n }\r\n \r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n var header = \"

                            \" + provider + \"

                            \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n header = \"

                            \" + provider + \"\" + setCategoriesHeader(\"live\", idprovideralias) + btnLobby + \"

                            \";\r\n filterButton = \"Filtri\";\r\n btnLobby = \"\";\r\n }\r\n \r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n header +\r\n \"
                            \" +\r\n btnLobby +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGames.html() +\r\n \"
                            \");\r\n }\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n GetProviderMaintenance(idprovider);\r\n\r\n arrangeMenu(\"live\", idprovideralias);\r\n DefaultCasino = \"live\";\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutte\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n $(\".MenuGiochi .selected-text\").text(\"Tutti\");\r\n break;\r\n }\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • Tutti i giochi
                          • \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n\r\n setMenuGames($HtmlMenuCategory);\r\n\r\n //$(\".MenuCasino\").html(\"\" + provider); \r\n\r\n $(\".MenuCasino\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(provider);\r\n $(\".MenuGiochi\").removeClass(\"active\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\");\r\n\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\"#sidebar\").find(\"li.c\" + idprovideralias).addClass(\"active\");\r\n\r\n // resetAllFilters();\r\n // setFilteredProvider(idprovider);\r\n // setFilteredCategory(null, 'Tutti');\r\n resetAllFilters();\r\n setFilteredProvider(idprovideralias, true);\r\n updateFilterCounter();\r\n getFilters();\r\n\r\n endWrite(false, true, false);\r\n}\r\n\r\nfunction setGamesCategory(dataIn) {\r\n var result = getJsonData(dataIn);\r\n if (result.length > 0) {\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n var addFilter = false;\r\n var category = \"\";\r\n var categoryId = \"\";\r\n var counttot = 0,\r\n count = 0,\r\n countNew = 0;\r\n $.each(result, function(i, v) {\r\n categoryId = v[\"Category\"];\r\n counttot = v[\"Count\"];\r\n switch (categoryId.toLowerCase()) {\r\n case GiochiDiCarteId.toLowerCase():\r\n category = GiochiDiCarteName;\r\n break;\r\n case SlotJackpotId.toLowerCase():\r\n category = SlotJackoptName;\r\n addFilter = true;\r\n break;\r\n case SlotId.toLowerCase():\r\n category = SlotName;\r\n addFilter = true;\r\n break;\r\n case RouletteId.toLowerCase():\r\n category = RouletteName;\r\n break;\r\n case VideoPokerId.toLowerCase():\r\n category = VideoPokerName;\r\n break;\r\n case GameShowsId.toLowerCase():\r\n category = GameShowsName;\r\n break;\r\n case SetteMezzoId.toLowerCase():\r\n category = SetteMezzoName;\r\n break;\r\n case SoftgamesId.toLowerCase():\r\n category = SoftGamesName;\r\n break;\r\n case SidegamesId.toLowerCase():\r\n category = SidegamesName;\r\n break;\r\n }\r\n JsonGameToSort.push(v[\"Games\"]);\r\n JsonGameNoSort.push(v[\"Games\"]);\r\n $HtmlGame.append( GetCardGame(v[\"Games\"]));\r\n count++;\r\n if (v[\"Games\"].New == \"1\") {\r\n countNew++;\r\n }\r\n });\r\n\r\n // var sortButton = \"\";\r\n // if (!CasinoMobileDevice) {\r\n // sortButton = GetSortDropCategory(categoryId, count, countNew, addFilter)\r\n // }\r\n var htmlHeader = \"

                            \" + category + \"

                            \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n var htmlHeader = setCategoriesHeader(DefaultCasino);\r\n filterButton = \"Filtri\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n htmlHeader +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n \r\n if (counttot > count) {\r\n if (categoryorder.length > 0) {\r\n //GetGamesCategorySortPlus(category, plus, order, direction)\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n } \r\n } else {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n }\r\n \r\n }\r\n }\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.\" + categoryId).find(\"a\").addClass(\"active\");\r\n // switch (DefaultCasino) {\r\n // case \"online\":\r\n // setBreadcrumb(\"
                          • \" + category + \"
                          • Tutti i giochi
                          • \", \"GetGamesHome()\");\r\n // break;\r\n // case \"slot\":\r\n // setBreadcrumb(\"
                          • \" + category + \"
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\");\r\n // break;\r\n // case \"softgames\":\r\n // setBreadcrumb(\"
                          • \" + category + \"
                          • Tutti i giochi
                          • \", \"GetSoftGamesHome()\");\r\n // break;\r\n // }\r\n //setBreadcrumb(\"
                          • Tutti i giochi
                          • \");\r\n\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.\" + categoryId).addClass(\"active\");\r\n\r\n // $(\".MenuGiochi\").html(\"\" + category);\r\n \r\n\r\n // if (isFilterPanelEdited()) {\r\n resetAllFilters();\r\n if (DefaultCasino != \"slot\") {\r\n setFilteredCategory(categoryId, category, true);\r\n }\r\n\r\n updateFilterCounter();\r\n getFilters();\r\n // }\r\n\r\n $(\".MenuGiochi\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuGiochi .selected-text\").text(category);\r\n\r\n const urlParams = new URLSearchParams(window.location.search);\r\n backUrl = urlParams.get('backurl');\r\n if (backUrl) {\r\n var decodedBackUrl = decodeURIComponent(backUrl);\r\n var addCss = \"\";\r\n if (decodedBackUrl.indexOf(\"sport\") !== -1) {\r\n addCss = \"sport\";\r\n } \r\n else if (decodedBackUrl.indexOf(\"bingo\") !== -1) {\r\n addCss = \"bingo\";\r\n } \r\n else if (decodedBackUrl.indexOf(\"poker\") !== -1 || decodedBackUrl.indexOf(\"carte\") !== -1){\r\n addCss = \"poker\";\r\n }\r\n\r\n $(\"#MSTCasino\").append(\"
                            \");\r\n }\r\n \r\n // SHEvidenza(false);\r\n endWrite(true, false, false);\r\n\r\n switch (categoryorder) {\r\n case \"ALFABETICO\":\r\n if (categoryorderdirection == \"ASC\") {\r\n $(\"#sortdropitem2\").addClass(\"active\");\r\n } else {\r\n $(\"#sortdropitem3\").addClass(\"active\");\r\n }\r\n break;\r\n case \"NEW\":\r\n $(\"#sortdropitem4\").addClass(\"active\");\r\n break;\r\n case \"MINBET\":\r\n if (categoryorderdirection == \"ASC\") {\r\n $(\"#sortdropitem5\").addClass(\"active\");\r\n } else {\r\n $(\"#sortdropitem6\").addClass(\"active\");\r\n }\r\n break;\r\n case \"MAXBET\":\r\n if (categoryorderdirection == \"ASC\") {\r\n $(\"#sortdropitem7\").addClass(\"active\");\r\n } else {\r\n $(\"#sortdropitem8\").addClass(\"active\");\r\n }\r\n break;\r\n case \"NUMLINEE\":\r\n if (categoryorderdirection == \"ASC\") {\r\n $(\"#sortdropitem9\").addClass(\"active\");\r\n } else {\r\n $(\"#sortdropitem10\").addClass(\"active\");\r\n }\r\n break;\r\n default:\r\n $(\"#sortdropitem1\").addClass(\"active\");\r\n break;\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction setGamesCategoryPlus(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlGame = $(\"
                            \");\r\n var category = \"\";\r\n var categoryId = \"\";\r\n var counttot = 0,\r\n count = 0;\r\n $.each(result, function(i, v) {\r\n categoryId = v[\"Category\"];\r\n counttot = v[\"Count\"];\r\n switch (categoryId) {\r\n case GiochiDiCarteId:\r\n category = GiochiDiCarteName;\r\n break;\r\n case SlotJackpotId:\r\n category = SlotJackoptName;\r\n break;\r\n case SlotId:\r\n category = SlotName;\r\n break;\r\n case RouletteId:\r\n category = RouletteName;\r\n break;\r\n case VideoPokerId:\r\n category = VideoPokerName;\r\n break;\r\n case GameShowsId:\r\n category = GameShowsName;\r\n break;\r\n case SetteMezzoId:\r\n category = SetteMezzoName;\r\n break;\r\n }\r\n JsonGameToSort.push(v[\"Games\"]);\r\n JsonGameNoSort.push(v[\"Games\"]);\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n });\r\n\r\n $(\"#contentPannel\").find(\".contentGame\").append($HtmlGame.html());\r\n count = $(\"#contentPannel\").find(\".game\").length;\r\n $(\"#contentPannel\").find(\".addRow\").remove();\r\n if (counttot > count) {\r\n\r\n if (categoryorder.length > 0) {\r\n //GetGamesCategorySortPlus(category, plus, order, direction)\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n } \r\n } else {\r\n if (isInApp()) {\r\n $(\"#contentPannel\").append(\"\");\r\n } else {\r\n $(\"#contentPannel\").append(\"\");\r\n }\r\n \r\n }\r\n\r\n\r\n }\r\n endWrite(true, false, false);\r\n //if (preorder != 0) {\r\n // sortJsonGame(preorder, $(\".dropdown\").find(\"#sortdropitem\" + preorder))\r\n // preorder = 0;\r\n //}\r\n}\r\n\r\nfunction setGamesLiveCategory(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n\r\n var category = \"\";\r\n var categoryId = \"\";\r\n var provider = \"\";\r\n var idprovider = \"\";\r\n var count = 0,\r\n countNew = 0;\r\n $.each(result, function(i, v) {\r\n if (v != null) {\r\n categoryId = v[\"Category\"];\r\n switch (categoryId) {\r\n case RouletteLiveId:\r\n category = RouletteLiveName;\r\n break;\r\n case BlackjackLiveId:\r\n category = BlackjackLiveName;\r\n break;\r\n case BaccaratLiveId:\r\n category = BaccaratLiveName;\r\n break;\r\n case PokerLiveId:\r\n category = PokerLiveName;\r\n break;\r\n case GameShowLiveId:\r\n category = GameShowLiveName;\r\n break;\r\n case JackpotLiveId:\r\n category = JackpotLiveName;\r\n break;\r\n }\r\n JsonGameToSort.push(v[\"Games\"]);\r\n JsonGameNoSort.push(v[\"Games\"]);\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n count++;\r\n if (v[\"Games\"] && v[\"Games\"].New == \"1\") {\r\n countNew++;\r\n }\r\n }\r\n\r\n });\r\n\r\n // var sortButton = \"\";\r\n // if (!CasinoMobileDevice) {\r\n // sortButton = GetSortDrop(count, countNew, false)\r\n // }\r\n var htmlHeader = \"

                            \" + category + \"

                            \";\r\n var filterButton = \"\"; \r\n if (!CasinoMobileDevice) {\r\n htmlHeader = setCategoriesHeader(DefaultCasino);\r\n filterButton = \"Filtri\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n htmlHeader +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.\" + categoryId).addClass(\"active\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n $(\".nav-category-item.\" + categoryId).find(\"a\").addClass(\"active\");\r\n\r\n // $(\".MenuGiochi\").html(\"\" + category);\r\n $(\".MenuGiochi\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuGiochi .selected-text\").text(category);\r\n // setBreadcrumb(\"
                          • \" + category + \"
                          • \", \"GetGamesLiveHome()\");\r\n\r\n resetAllFilters();\r\n setFilteredCategory(categoryId, category, true);\r\n updateFilterCounter();\r\n getFilters();\r\n\r\n endWrite(true, true, false);\r\n}\r\n\r\nfunction setGamesNewProvider(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n\r\n var provider = \"\";\r\n var idprovider = \"\";\r\n var count = 0;\r\n $.each(result, function(i, v) {\r\n if (i == 0) {\r\n provider = getProviderName(v[\"Games\"].IdProvider);\r\n }\r\n if (isProviderLive(v[\"Games\"].IdProvider)) {\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n }\r\n });\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + provider + \"

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n setBreadcrumb(\"
                          • Ultime novità
                          • \" + provider + \"
                          • \", \"GetGamesNew()\");\r\n\r\n endWrite(false, true, false);\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\".pannelNew\").find(\"h2\").addClass(\"active\");\r\n $(\"#contentPannelTOP\").hide();\r\n $(\"#contentPannelTOP2\").hide();\r\n}\r\n\r\nfunction setGamesNewProviderMacro(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n var macro = \"\";\r\n var provider = \"\";\r\n var idprovider = \"\";\r\n var count = 0;\r\n $.each(result, function(i, v) {\r\n if(v[\"Games\"] != null) {\r\n if (i == 0) {\r\n provider = getProviderName(v[\"Games\"].IdProvider);\r\n }\r\n if (isProviderLive(v[\"Games\"].IdProvider)) {\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n } else {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n }\r\n }\r\n if (v[\"Macro\"] != null) {\r\n macro = v[\"Macro\"];\r\n }\r\n });\r\n\r\n if ($HtmlGame.find(\".card\").not(\".d-none\").length == 0) {\r\n if (macro == \"slot\") {\r\n GetGamesSlotHome();\r\n }\r\n }\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + provider + \"

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n setBreadcrumb(\"
                          • Ultime novità
                          • \" + provider + \"
                          • \", \"GetGamesNewMacro('\" + macro + \"')\", true);\r\n scrollToTop = true;\r\n endWrite(false, true, false);\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.Home\").addClass(\"active\");\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\".pannelNew\").find(\"h2\").addClass(\"active\");\r\n $(\"#contentPannelTOP\").hide();\r\n $(\"#contentPannelTOP2\").hide();\r\n}\r\n\r\nfunction setGamesProviderCategory(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n if (result.length > 0) {\r\n JsonGameSort = jQuery.extend(true, {}, result);\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n JsonCategories = [];\r\n var category = \"\";\r\n var categoryId = \"\";\r\n var idprovider = \"\";\r\n var addFilter = false;\r\n var count = 0,\r\n countNew = 0;\r\n $.each(result, function(i, v) {\r\n if (v[\"Category\"] != null) {\r\n categoryId = v[\"Category\"];\r\n switch (categoryId) {\r\n case GiochiDiCarteId:\r\n category = GiochiDiCarteName;\r\n break;\r\n case SlotJackpotId:\r\n category = SlotJackoptName;\r\n addFilter = true;\r\n break;\r\n case SlotId:\r\n category = SlotName;\r\n addFilter = true;\r\n break;\r\n case RouletteId:\r\n category = RouletteName;\r\n break;\r\n case VideoPokerId:\r\n category = VideoPokerName;\r\n break;\r\n case GameShowsId:\r\n category = GameShowsName;\r\n break;\r\n case SoftgamesId:\r\n category = SoftGamesName;\r\n break;\r\n case SidegamesId:\r\n category = SidegamesName;\r\n break;\r\n }\r\n }\r\n if (v[\"Games\"] != null) {\r\n idprovider = v[\"Games\"].IdProvider;\r\n JsonGameNoSort.push(v[\"Games\"]);\r\n JsonGameToSort.push(v[\"Games\"]);\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n count++;\r\n if (v[\"Games\"].New == \"1\") {\r\n countNew++;\r\n }\r\n }\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n });\r\n var provider = getProviderName(idprovider);\r\n \r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n $HtmlMenuCategory.append(\"
                          • Tutte le slot

                          • \");\r\n break;\r\n default:\r\n $HtmlMenuCategory.append(\"
                          • Tutti i giochi

                          • \");\r\n break;\r\n }\r\n $.each(JsonCategories, function(i, v) {\r\n $HtmlMenuCategory.append(\"
                          • \" + v.Nome + \"

                          • \");\r\n });\r\n\r\n var htmlHeader = \"

                            \" + category + \" \" + provider + \"

                            \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n htmlHeader = \"

                            \" + provider + \"\" + setCategoriesHeader(DefaultCasino, idprovider) + \"

                            \";\r\n filterButton = \"Filtri\";\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n htmlHeader +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n break;\r\n }\r\n setMenuGames($HtmlMenuCategory);\r\n\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.\" + categoryId).addClass(\"active\");\r\n\r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n if ($(\".nav-category-item.\" + categoryId).length > 0) {\r\n $(\".nav-category-item.\" + categoryId).find(\"a\").addClass(\"active\");\r\n } else {\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\");\r\n }\r\n\r\n \r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • \" + category + \"
                          • \", \"GetGamesProviderMacro(\" + idprovider + \", 'casino')\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • \" + category + \"
                          • \", \"GetGamesProviderMacro(\" + idprovider + \", 'slot')\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • \" + category + \"
                          • \", \"GetGamesProviderMacro(\" + idprovider + \", 'softgames')\");\r\n break;\r\n }\r\n\r\n resetAllFilters();\r\n setFilteredProvider(idprovider, true);\r\n if (DefaultCasino != \"slot\") {\r\n setFilteredCategory(categoryId, category, true);\r\n }\r\n // if (isFilterPanelEdited()) {\r\n updateFilterCounter();\r\n // resetAllFilters();\r\n getFilters();\r\n // }\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".menuSx\").find(\"li.c\" + idprovider).addClass(\"active\");\r\n\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\"#sidebar\").find(\"li.c\" + idprovider).addClass(\"active\");\r\n\r\n $(\".MenuCasino\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuCasino .selected-text\").text(provider);\r\n \r\n $(\".MenuGiochi\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuGiochi .selected-text\").text(category);\r\n\r\n endWrite(false, false, true);\r\n }\r\n}\r\n\r\nfunction setGamesLiveProviderCategory(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n if (result.length > 0) {\r\n JsonGameSort = jQuery.extend(true, {}, result);\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n JsonCategories = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n\r\n var category = \"\";\r\n var categoryId = \"\";\r\n var idprovider = \"\";\r\n var idprovideralias = \"\";\r\n var showButtonLobby = false;\r\n var count = 0,\r\n countNew = 0;\r\n\r\n $.each(result, function(i, v) {\r\n if (v[\"ShowButtonLobby\"] != null) {\r\n showButtonLobby = v[\"ShowButtonLobby\"];\r\n }\r\n if (v[\"Category\"] != null) {\r\n categoryId = v[\"Category\"];\r\n switch (categoryId) {\r\n case RouletteLiveId:\r\n category = RouletteLiveName;\r\n break;\r\n case BlackjackLiveId:\r\n category = BlackjackLiveName;\r\n break;\r\n case BaccaratLiveId:\r\n category = BaccaratLiveName;\r\n break;\r\n case PokerLiveId:\r\n category = PokerLiveName;\r\n break;\r\n case GameShowLiveId:\r\n category = GameShowLiveName;\r\n break;\r\n }\r\n }\r\n if (v[\"Games\"] != null) {\r\n idprovider = v[\"Games\"].IdProvider;\r\n idprovideralias = v[\"Games\"].IdProviderAlias;\r\n JsonGameNoSort.push(v[\"Games\"]);\r\n JsonGameToSort.push(v[\"Games\"]);\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n count++;\r\n if (v[\"Games\"].New == \"1\") {\r\n countNew++;\r\n }\r\n }\r\n\r\n if (v[\"Categoria\"] != null) {\r\n JsonCategories.push(v[\"Categoria\"]);\r\n }\r\n });\r\n\r\n var provider = getProviderName(idprovideralias);\r\n\r\n $HtmlMenuCategory.append(\"
                          • Tutti i giochi

                          • \");\r\n\r\n $.each(JsonCategories, function(i, v) {\r\n $HtmlMenuCategory.append(\"
                          • \" + v.Nome + \"

                          • \");\r\n });\r\n\r\n var btnLobby = \"\";\r\n if (showButtonLobby === true) {\r\n btnLobby = \"LOBBY\";\r\n }\r\n // var sortButton = \"\";\r\n // if (!CasinoMobileDevice) {\r\n // sortButton = GetSortDrop(count, 0, false);\r\n // }\r\n \r\n var htmlHeader = \"

                            \" + category + \" \" + provider + \"

                            \";\r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n htmlHeader = \"

                            \" + provider + \"\" + setCategoriesHeader('live', idprovideralias) + btnLobby + \"

                            \";\r\n filterButton = \"Filtri\";\r\n btnLobby = \"\";\r\n }\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n htmlHeader +\r\n \"
                            \" + \r\n btnLobby +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n setMenuGames($HtmlMenuCategory);\r\n \r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n $(\".dropdown-menu.menu-games\").find(\"li.\" + categoryId).addClass(\"active\");\r\n \r\n $(\".nav-category-item\").find(\"a\").removeClass(\"active\");\r\n if ($(\".nav-category-item.\" + categoryId).length > 0) {\r\n $(\".nav-category-item.\" + categoryId).find(\"a\").addClass(\"active\");\r\n } else {\r\n $(\".nav-category-item.All\").find(\"a\").addClass(\"active\")\r\n }\r\n \r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n $(\".menuSx\").find(\"li.c\" + idprovideralias).addClass(\"active\");\r\n\r\n $(\"#sidebar\").find(\"li\").removeClass(\"active\");\r\n $(\"#sidebar\").find(\"li.c\" + idprovideralias).addClass(\"active\");\r\n\r\n \r\n\r\n setBreadcrumb(\"
                          • \" + provider + \"
                          • \" + category + \"
                          • \", \"GetGamesLiveProvider(\" + idprovideralias + \")\");\r\n \r\n resetAllFilters();\r\n setFilteredProvider(idprovideralias, true);\r\n setFilteredCategory(categoryId, category, true);\r\n updateFilterCounter();\r\n // if (isFilterPanelEdited()) {\r\n getFilters();\r\n // }\r\n\r\n $(\".MenuCasino\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuGiochi\").removeClass(\"active\").addClass(\"active\");\r\n $(\".MenuGiochi .selected-text\").text(category);\r\n\r\n endWrite(false, true, true);\r\n }\r\n}\r\n\r\nfunction setGamesBest(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n\r\n var count = 0,\r\n countNew = 0;\r\n $.each(result, function(i, v) {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n });\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            In Evidenza

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • In evidenza
                          • \", \"GetGamesHome()\", true);\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • In evidenza
                          • \", \"GetGamesSlotHome()\", true);\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • In evidenza
                          • \", \"GetSoftGamesHome()\", true);\r\n break;\r\n }\r\n\r\n endWrite(false, false, true);\r\n $(\"#contentPannelTOP\").hide();\r\n}\r\n\r\nfunction setGamesLiveBest(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n\r\n var count = 0,\r\n countNew = 0;\r\n $.each(result, function(i, v) {\r\n $HtmlGame.append(GetCardGameLive(v[\"Games\"]));\r\n });\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            In Evidenza

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n setBreadcrumb(\"
                          • In evidenza
                          • \", \"GetGamesLiveHome()\", true);\r\n endWrite(false, false, false);\r\n $(\"#contentPannelTOP\").hide();\r\n}\r\n\r\nfunction setGamesNewBest(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n\r\n var count = 0,\r\n countNew = 0;\r\n $.each(result, function(i, v) {\r\n $HtmlGame.append(GetCardGame(v[\"Games\"]));\r\n });\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            In Evidenza

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • In evidenza
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • In evidenza
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • In evidenza
                          • \", \"GetSoftGamesHome()\");\r\n break;\r\n }\r\n endWrite(false, false, false);\r\n $(\"#contentPannelTOP\").hide();\r\n}\r\n\r\nfunction setGamesSorted(result) {\r\n var $HtmlGame = $(\"
                            \");\r\n $.each(result, function(i, v) {\r\n if (v.CroupierImg != null) {\r\n $HtmlGame.append(\"
                            \" + GetCardGameLive(v), \"
                            \");\r\n } else {\r\n $HtmlGame.append(\"
                            \" + GetCardGame(v), \"
                            \");\r\n }\r\n });\r\n $(\"#contentPannel\").find(\".contentGame\").html($HtmlGame.html());\r\n setFavouriteIcon(false);\r\n}\r\n\r\nfunction setTopGamesUser(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n JsonGameUser = jQuery.extend(true, {}, result);\r\n if (DefaultCasino == \"online\" || DefaultCasino == \"slot\" || DefaultCasino == \"softgames\") {\r\n var hasFavourites = result.filter(function (item) {\r\n var isFav = false;\r\n if (item[\"Favourite\"]) {\r\n if (DefaultCasino === \"slot\" || DefaultCasino === \"softgames\") {\r\n if ((DefaultCasino === \"slot\" && item[\"Favourite\"].CategoriaMacro === \"5\")\r\n || DefaultCasino === \"softgames\" && item[\"Favourite\"].CategoriaMacro === \"20\") {\r\n isFav = true;\r\n }\r\n } else {\r\n isFav = item[\"Favourite\"].CategoriaMacro !== \"5\" && item[\"Favourite\"].CategoriaMacro !== \"20\";\r\n }\r\n }\r\n return isFav;\r\n }).length > 0;\r\n if (hasFavourites) {\r\n $(\".pannelFavourite\").addClass(\"left-rounded\");\r\n $(\".searchXS\").removeClass(\"left-rounded\");\r\n $(\".pannelFavourite\").show();\r\n } else {\r\n $(\".pannelFavourite\").removeClass(\"left-rounded\");\r\n $(\".searchXS\").addClass(\"left-rounded\");\r\n $(\".pannelFavourite\").hide();\r\n }\r\n $(\".favouritempty\").show();\r\n }\r\n setFavouriteIcon(true);\r\n}\r\n\r\nfunction setGamesUser(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n JsonGamesUser = jQuery.extend(true, {}, result);\r\n JsonGameNoSort = [];\r\n JsonGameToSort = [];\r\n\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlFavourite = $(\"
                            \");\r\n var favouritesMacro = result.filter(function(item) {\r\n if (item[\"Favourite\"]) {\r\n if (DefaultCasino === \"slot\") {\r\n return item[\"Favourite\"].CategoriaMacro === \"5\";\r\n } \r\n else if (DefaultCasino === \"softgames\") {\r\n return item[\"Favourite\"].CategoriaMacro === \"20\";\r\n } \r\n else {\r\n return item[\"Favourite\"].CategoriaMacro !== \"5\" && item[\"Favourite\"].CategoriaMacro !== \"20\";\r\n }\r\n }\r\n });\r\n\r\n favouritesMacro = favouritesMacro.filter(function (item) { return item.Favourite && (item.Favourite.IsHighRTP == \"0\" || (item.Favourite.IsHighRTP == \"1\" && crazySlotActive)); });\r\n $.each(favouritesMacro, function(i, v) {\r\n if (v[\"Favourite\"] != null) {\r\n $HtmlFavourite.append(GetCardGame(v[\"Favourite\"]));\r\n }\r\n });\r\n\r\n // $.each(JsonGamesUser, function(i, v) {\r\n // if (v[\"Favourite\"] != null) {\r\n // $HtmlFavourite.append(\"
                            \" + GetCardGame(v[\"Favourite\"]) + \"
                            \");\r\n // }\r\n // if (v[\"piugiocati\"] != null) {\r\n // $HtmlPiuGiocati.append(\"
                            \" + GetCardGame(v[\"piugiocati\"]) + \"
                            \");\r\n // }\r\n // });\r\n\r\n if ($HtmlFavourite.html().length == 0) {\r\n $HtmlFavourite.append(\"
                            Nessun preferito
                            \");\r\n }\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            I miei Preferiti

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlFavourite.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n\r\n // if ($HtmlPiuGiocati.html().length == 0) {\r\n // $HtmlPiuGiocati.append(\"
                            Prova subito uno dei nostri giochi
                            \");\r\n // }\r\n // $HtmlData.append(\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // \"

                            I miei più giocati

                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n // $HtmlPiuGiocati.html() +\r\n // \"
                            \" +\r\n // \"
                            \"\r\n // );\r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • Preferiti
                          • \", \"GetGamesHome()\");\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • Preferiti
                          • \", \"GetGamesSlotHome()\");\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • Preferiti
                          • \", \"GetSoftGamesHome()\");\r\n break;\r\n default:\r\n setBreadcrumb(\"
                          • Preferiti
                          • \", \"GetGamesLiveHome()\");\r\n break;\r\n }\r\n\r\n //$(\".MenuCasino\").html(\"Casinò\");\r\n \r\n if (isFilterPanelEdited()) {\r\n resetAllFilters();\r\n getFilters();\r\n }\r\n endWrite(false, false, true);\r\n $(\".menuGameButton\").find(\"a\").removeClass(\"active\");\r\n $(\".pannelFavourite\").find(\"h2\").addClass(\"active\");\r\n $(\".menuGameButton\").find(\".pannelFavourite\").addClass(\"active\");\r\n}\r\n\r\nfunction setMostPlayedGamesUser(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n if (isShowingMostPlayed) {\r\n var $HtmlMostPlayed = $(\"
                            \");\r\n var $HtmlDataTop = $(\"
                            \");\r\n var count = 0;\r\n var games = [];\r\n $.each(result, function(i, v) {\r\n if (v[\"MostPlayed\"] != null) {\r\n var add = false;\r\n if (DefaultCasino === \"slot\" && v[\"MostPlayed\"].CategoriaMacro === \"5\") {\r\n add = true;\r\n }\r\n else if (DefaultCasino === \"softgames\" && v[\"MostPlayed\"].CategoriaMacro === \"20\") {\r\n add = true;\r\n } \r\n else if (DefaultCasino === \"online\" && v[\"MostPlayed\"].CategoriaMacro !== \"5\" && v[\"MostPlayed\"].CategoriaMacro !== \"20\") {\r\n add = true;\r\n }\r\n\r\n if (add) {\r\n count++;\r\n games.push(v[\"MostPlayed\"]);\r\n if (count === 6) {\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n\r\n var numGamesThreasold = CasinoMobileDevice ? 3 : 5; \r\n $.each(games, function(i, game) {\r\n if (games.length > numGamesThreasold) {\r\n $HtmlMostPlayed.append(\"
                            \" + GetCardGame(game) + \"
                            \");\r\n } else {\r\n $HtmlMostPlayed.append(GetCardGame(game));\r\n }\r\n });\r\n\r\n if ($HtmlMostPlayed.find(\".card\").length > 0) {\r\n var openAll = \"\";\r\n if($HtmlMostPlayed.find(\".card\").length > numGamesThreasold) {\r\n openAll = \"Apri tutte\";\r\n \r\n $HtmlDataTop.append(\"
                            \" +\r\n \"
                            \" +\r\n \"

                            Continua a giocare

                            \" +\r\n \"
                            \" +\r\n \"Nascondi\" +\r\n \"Mostra\" +\r\n openAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlMostPlayed.html() +\r\n \"
                            \" +\r\n \"
                            \" +\r\n // \"
                            \" +\r\n // \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \");\r\n $(\"#contentPannelTOP2\").empty();\r\n $(\"#contentPannelTOP2\").append($HtmlDataTop.html());\r\n $(\"#contentPannelTOP2\").show();\r\n initSliderMostPlayed();\r\n } else {\r\n $HtmlDataTop.append(\"
                            \" +\r\n \"
                            \" +\r\n \"

                            Continua a giocare

                            \" +\r\n \"
                            \" +\r\n \"Nascondi\" +\r\n \"Mostra\" +\r\n openAll +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlMostPlayed.html() +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \");\r\n $(\"#contentPannelTOP2\").empty();\r\n $(\"#contentPannelTOP2\").append($HtmlDataTop.html());\r\n $(\"#contentPannelTOP2\").show();\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setMostPlayedGamesUserAll(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n\r\n var count = 0,\r\n countNew = 0;\r\n $.each(result, function(i, v) {\r\n $HtmlGame.append(GetCardGame(v[\"MostPlayed\"]));\r\n });\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            Continua a giocare

                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n $(\".dropdown-menu.menu-games\").find(\"li\").removeClass(\"active\");\r\n \r\n\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n setBreadcrumb(\"
                          • Continua a giocare
                          • \", \"GetGamesHome()\", true);\r\n break;\r\n case \"slot\":\r\n setBreadcrumb(\"
                          • Continua a giocare
                          • \", \"GetGamesSlotHome()\", true);\r\n break;\r\n case \"softgames\":\r\n setBreadcrumb(\"
                          • Continua a giocare
                          • \", \"GetSoftGamesHome()\", true);\r\n break;\r\n }\r\n\r\n endWrite(false, false, true);\r\n $(\"#contentPannelTOP\").hide();\r\n}\r\n\r\nfunction initSliderMostPlayed() {\r\n var addedItem = 0;\r\n if(enableSquareLayout) {\r\n addedItem = 1.6;\r\n if( CasinoMobileDevice) {\r\n addedItem = 0.4;\r\n }\r\n }\r\n\r\n var breakpoints = {\r\n 576: {\r\n slidesPerView: 4 + addedItem,\r\n },\r\n 1200: {\r\n slidesPerView: 5 + addedItem,\r\n },\r\n }\r\n\r\n if (CasinoMobileDevice && enableSquareLayout) { \r\n breakpoints = {\r\n 475: {\r\n slidesPerView: 4.4,\r\n },\r\n 760: {\r\n slidesPerView: 5.4,\r\n },\r\n 1024: {\r\n slidesPerView: 6.4,\r\n }\r\n }\r\n }\r\n var pagination = { }\r\n \r\n if (!enableSquareLayout) {\r\n pagination = {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n }\r\n }\r\n\r\n swiperMostPlayed = new Swiper(\"#contentPannelTOP2 .swiper-container\", {\r\n // navigation: {\r\n // nextEl: '.swiper-button-next',\r\n // prevEl: '.swiper-button-prev',\r\n // },\r\n pagination: pagination,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n on: {\r\n init: function () {\r\n var minWidth = 123;\r\n if (!CasinoMobileDevice) {\r\n minWidth = 189.5;\r\n }\r\n\r\n if ($(\".contentGame.most-played .swiper-slide\").width() < minWidth) {\r\n this.update();\r\n }\r\n },\r\n },\r\n loop: true,\r\n slidesPerView: 3 + addedItem,\r\n breakpoints: breakpoints,\r\n });\r\n}\r\n\r\nfunction initSliderCrazySlots() {\r\n var addedItem = 0;\r\n if (enableSquareLayout) {\r\n addedItem = 1.6;\r\n if (CasinoMobileDevice) {\r\n addedItem = 0.4;\r\n }\r\n }\r\n\r\n try {\r\n if (swiperCrazySlots) {\r\n swiperCrazySlots.destroy(true, false);\r\n }\r\n } catch (e) {}\r\n\r\n var breakpoints = {\r\n 576: {\r\n slidesPerView: 3 + addedItem,\r\n },\r\n 1200: {\r\n slidesPerView: 4 + addedItem,\r\n }\r\n }\r\n\r\n if (!CasinoMobileDevice && enableSquareLayout) {\r\n breakpoints = {\r\n 576: {\r\n slidesPerView: 4 + addedItem,\r\n },\r\n 1200: {\r\n slidesPerView: 5 + addedItem,\r\n },\r\n 1600: {\r\n slidesPerView: 6 + addedItem,\r\n },\r\n 1800: {\r\n slidesPerView: 7 + addedItem,\r\n }\r\n }\r\n }\r\n\r\n if (CasinoMobileDevice && enableSquareLayout) { \r\n breakpoints = {\r\n 475: {\r\n slidesPerView: 4 + addedItem,\r\n },\r\n 760: {\r\n slidesPerView: 5 + addedItem,\r\n },\r\n 1024: {\r\n slidesPerView: 6 + addedItem,\r\n }\r\n }\r\n }\r\n\r\n var pagination = { }\r\n \r\n if (!enableSquareLayout) {\r\n pagination = {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n dynamicBullets: true,\r\n dynamicMainBullets: 5\r\n };\r\n }\r\n\r\n swiperCrazySlots = new Swiper(\"#contentPannelCrazySlots .swiper-container\", {\r\n // navigation: {\r\n // nextEl: '.swiper-button-next',\r\n // prevEl: '.swiper-button-prev',\r\n // },\r\n pagination: pagination,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n on: {\r\n init: function () {\r\n var minWidth = 123;\r\n if (!CasinoMobileDevice) {\r\n minWidth = 189.5;\r\n }\r\n\r\n if ($(\".contentGame.inevidenza .swiper-slide\").width() < minWidth) {\r\n this.update();\r\n }\r\n },\r\n },\r\n loop: true,\r\n slidesPerView: 3 + addedItem,\r\n breakpoints: breakpoints,\r\n });\r\n}\r\n\r\nfunction setSearchResult(dataIn) {\r\n\r\n var result = getJsonData(dataIn);\r\n var hasResult = false;\r\n if (DefaultCasino == \"slot\") {\r\n result = result.filter(function (item) { return (item.IsHighRTP == \"0\" || (item.IsHighRTP == \"1\" && crazySlotActive)); });\r\n }\r\n\r\n searchLastJson = result;\r\n var $HtmlData = $(\"
                            \");\r\n if (result.length == 0) {\r\n $(\".searchBox\").addClass(\"error\");\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n }\r\n $.each(sortJsonArrayByProperty(result, \"InEvidenza\", -1), function (i, v) {\r\n if (v.IsHighRTP == \"1\" && !crazySlotActive) {\r\n return;\r\n }\r\n\r\n if (v.retcode != null) {\r\n $(\".searchBox\").addClass(\"error\");\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n } else {\r\n $(\".searchBox\").removeClass(\"error\");\r\n $(\".search-bg\").show();\r\n $(\".searchBox\").removeClass(\"on-top\").addClass(\"on-top\");\r\n hasResult = true;\r\n var clickFunction = GetClickGame(v);\r\n var gameName = \"

                            \" + v.Game + \"

                            \";\r\n var liveData = \"\";\r\n if (v.CroupierName) {\r\n gameName = \"

                            \" + v.CroupierName + \"

                            \";\r\n if (v.PrintLiveData === \"true\") {\r\n var timeOpen = \"\";\r\n if (v.OpenedTo == \"24\") {\r\n timeOpen = \"H24\";\r\n } else {\r\n const openClosedClass = v.Open ? \"open\" : \"closed\";\r\n timeOpen = \"\" + v.OpenedFrom + \"-\" + v.OpenedTo + \"\";\r\n }\r\n liveData =\r\n \"

                            \" + v.LimMin + \"-\" + v.LimMax + \"€

                            \" +\r\n \"

                            \" + timeOpen + \"

                            \";\r\n if (v.Open === false) {\r\n clickFunction = \"printMessage('Attenzione! La sala selezionata apre dalle \" + v.OpenedFrom + \" alle \" + v.OpenedTo + \".')\";\r\n }\r\n }\r\n }\r\n var croupierImg = '';\r\n var flagLabel = '';\r\n if (v.CroupierImg) {\r\n croupierImg = \"
                            \";\r\n if (v.Language && v.Language === \"it\") {\r\n flagLabel = \"
                            \";\r\n }\r\n }\r\n var newLabel = '';\r\n \r\n if (!isExpired(v.NewExpire)) {\r\n newLabel = \"

                            NEW

                            \";\r\n }\r\n\r\n if (!isExpired(v.ExclusiveExpire)) {\r\n newLabel += \"

                            ESCLUSIVO

                            \";\r\n }\r\n\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n newLabel +\r\n flagLabel +\r\n croupierImg +\r\n \"\" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n gameName +\r\n \"
                            \" + getProviderName(v.IdProvider) + \"
                            \" +\r\n liveData +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n }\r\n });\r\n if (hasResult) {\r\n if (result.length == 1) {\r\n $(\"#searchButton\").html(\"APRI\");\r\n } else {\r\n $(\"#searchButton\").html(\"MOSTRA TUTTO\");\r\n }\r\n $(\"#searchButton\").addClass(\"buttonopenall\");\r\n $(\".search-bg\").show();\r\n $(\".searchBox\").removeClass(\"on-top\").addClass(\"on-top\");\r\n $(\".searchResult\").html($HtmlData.html());\r\n $(\".search-result-wrapper\").show();\r\n $(\".searchResult\").scrollTop(0);\r\n if (!CasinoMobileDevice) {\r\n $(\"html, body\").removeClass(\"overflow-hidden\").addClass(\"overflow-hidden\");\r\n } \r\n } else {\r\n $(\"#searchButton\").html(\"\");\r\n $(\"#searchButton\").removeClass(\"buttonopenall\");\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n $(\".searchResult\").empty();\r\n $(\".search-result-wrapper\").hide();\r\n $(\"html, body\").removeClass(\"overflow-hidden\");\r\n }\r\n}\r\n\r\nfunction ExpandSearchResult() { \r\n $('#search').val(\"\"); \r\n $(\".searchResult\").empty();\r\n $(\".searchResult\").scrollTop(0);\r\n $(\".search-result-wrapper\").hide();\r\n $(\".searchBox\").removeClass(\"error\");\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n var resultLength = searchLastJson.length;\r\n if (resultLength > 0) { \r\n var filterButton = \"\";\r\n if (!CasinoMobileDevice) {\r\n filterButton = \"Filtri\";\r\n }\r\n $('#searchFilter').val(searchStrig);\r\n $(\"#searchFilter\").blur(); \r\n\r\n if (resultLength == \"1\") {\r\n $.each(searchLastJson, function (i, v) { \r\n eval(GetClickGame(v)); \r\n });\r\n } else {\r\n var titleBox = \"\";\r\n switch (DefaultCasino) {\r\n case \"online\":\r\n titleBox = \"\" + searchStrig + \"\";\r\n break;\r\n case \"slot\":\r\n titleBox = \"\" + searchStrig + \"\";\r\n break;\r\n case \"softgames\":\r\n titleBox = \"\" + searchStrig + \"\";\r\n break;\r\n default:\r\n titleBox = \"\" + searchStrig + \"\";\r\n break;\r\n }\r\n var headerString = \"Risultati\";\r\n if (resultLength == 1) {\r\n headerString = \"Risultato\";\r\n }\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlGame = $(\"
                            \");\r\n\r\n\r\n $.each(sortJsonArrayByProperty(searchLastJson, \"InEvidenza\", -1), function (i, v) {\r\n if (DefaultCasino !== \"live\") {\r\n $HtmlGame.append(GetCardGame(v));\r\n } else {\r\n $HtmlGame.append(GetCardGameLive(v));\r\n }\r\n });\r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"

                            \" + resultLength + \" \" + headerString + \" \" + titleBox + \"

                            \" +\r\n filterButton +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGame.html() +\r\n \"
                            \" +\r\n \"
                            \"\r\n );\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n switch (DefaultCasino) {\r\n case \"slot\":\r\n // $(\".MenuGiochi\").html(\"TUTTE LE SLOT\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"SLOT\");\r\n break;\r\n default:\r\n // $(\".MenuGiochi\").html(\"TUTTI I GIOCHI\");\r\n $(\".MenuGiochi .menu-button-name\").text(\"GIOCHI\");\r\n break;\r\n }\r\n $(\".menuSx\").find(\"li\").removeClass(\"active\");\r\n endWrite(true, false, true);\r\n }\r\n } else {\r\n $(\".searchBox\").addClass(\"error\");\r\n $(\".search-bg\").hide();\r\n $(\".searchBox\").removeClass(\"on-top\");\r\n } \r\n}\r\n\r\nfunction setNewButton(macro) {\r\n var $HtmlData = $(\"
                            \");\r\n $(JsonFornitori).each(function() {\r\n // if (CasinoMobileDevice) {\r\n // if (DefaultCasino == \"online\" || DefaultCasino == \"slot\" || DefaultCasino == \"softgames\") {\r\n // if ($(this)[0].live == \"0\" && parseFloat($(this)[0].newGames) > 0) {\r\n // $HtmlData.append(\"
                            +\" + $(this)[0].newGames + \" \" + $(this)[0].nome + \"
                            \");\r\n // }\r\n // } else {\r\n // if ($(this)[0].live == \"1\" && parseFloat($(this)[0].newGames) > 0) {\r\n // $HtmlData.append(\"
                            +\" + $(this)[0].newGames + \" \" + $(this)[0].nome + \"
                            \");\r\n // }\r\n // }\r\n // } else {\r\n if ($(this)[0].newGames > 0) {\r\n var newGames = $(this)[0].newGames;\r\n\r\n if (!crazySlotActive) {\r\n newGames = $(this)[0].newGames - $(this)[0].newGamesHighRTP;\r\n }\r\n\r\n if (newGames > 0) {\r\n $HtmlData.append(\"
                            +\" + newGames + \" \" + $(this)[0].nome + \"
                            \");\r\n }\r\n }\r\n // }\r\n });\r\n if ($HtmlData.find(\"div\").length == 0) {\r\n $(\".pannelNew\").hide();\r\n return;\r\n }\r\n \r\n $(\".pannelNew\").off('click').on('click', function() { GetGamesNewMacro(macro); });\r\n $('#pannelNewSpan').html(\"
                            \" + $HtmlData.html() + \"
                            \");\r\n $('.newSlider').rotaterator({ fadeSpeed: 500, pauseSpeed: 1000 });\r\n}\r\nfunction setExclusiveButton(macro) {\r\n var $HtmlData = $(\"
                            \");\r\n $(JsonFornitori).each(function() {\r\n if ($(this)[0].exclusives > 0) {\r\n var exclusives = $(this)[0].exclusives;\r\n if (!crazySlotActive) {\r\n exclusives = $(this)[0].exclusives - $(this)[0].exclusiveGamesHighRTP;\r\n }\r\n if (exclusives > 0) {\r\n $HtmlData.append(\"
                            +\" + exclusives + \" \" + $(this)[0].nome + \"
                            \");\r\n }\r\n }\r\n });\r\n\r\n if ($HtmlData.find(\"div\").length == 0) {\r\n $(\".pannelExclusive\").hide();\r\n return;\r\n }\r\n\r\n $(\".pannelExclusive\").off('click').on('click', function() { GetGamesExclusiveMacro(macro); });\r\n $('#pannelExclusiveSpan').html(\"
                            \" + $HtmlData.html() + \"
                            \");\r\n $('.exclusiveSlider').rotaterator({ fadeSpeed: 500, pauseSpeed: 1000 });\r\n}\r\nfunction closeGameSpace() {\r\n $(\"#contentPannelGame\").empty();\r\n}\r\n\r\nvar swiperJackpotAmusnet = null;\r\nfunction GetAmusnetJackpot() {\r\n try {\r\n $HtmlJackpot = $(\"
                            \");\r\n var urlReq = CasinoRestUrl + \"getamusnetjackpot\";\r\n restCall(urlReq, function(data) {\r\n if (data) {\r\n var json = JSON.parse(data);\r\n var jackpotArray = [];\r\n jackpotArray.push({id: \"I\", name: \"Spades\", value: json.currentLevelI});\r\n jackpotArray.push({id: \"II\", name: \"Hearts\", value: json.currentLevelII});\r\n jackpotArray.push({id: \"III\", name: \"Diamonds\", value: json.currentLevelIII});\r\n jackpotArray.push({id: \"IV\", name: \"Clubs\", value: json.currentLevelIV});\r\n jackpotArray.sort(function(a, b) {\r\n return parseFloat(b.value) - parseFloat(a.value);\r\n });\r\n \r\n $.each(jackpotArray, function(i, v) {\r\n $HtmlJackpot.append(GetAmusnetJackpotItem(v.id, v.name, v.value));\r\n });\r\n $(\".jackpot-slider\").empty();\r\n $(\".jackpot-slider\").append(\"
                            \" +\r\n \"
                            \" +\r\n $HtmlJackpot.html() +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \");\r\n \r\n if (swiperJackpotAmusnet) {\r\n swiperJackpotAmusnet.destroy();\r\n }\r\n \r\n var slidesPerView = 1;\r\n if(CasinoMobileDevice) {\r\n slidesPerView = 1.2;\r\n }\r\n \r\n swiperJackpotAmusnet = new Swiper('.jackpot-slider .swiper-container', {\r\n slidesPerView: slidesPerView,\r\n spaceBetween: 8,\r\n centeredSlides : true,\r\n loop: true,\r\n autoplay: {\r\n delay: 5000,\r\n disableOnInteraction: false,\r\n }\r\n // ,\r\n // pagination: {\r\n // el: '.jackpot-slider .swiper-pagination',\r\n // clickable: true,\r\n // }\r\n }\r\n );\r\n }\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n}\r\n\r\nfunction GetAmusnetJackpotItem(id, text, value) {\r\n var jackpot = value / 100;\r\n jackpot = new Intl.NumberFormat('it-IT', { minimumFractionDigits: 2, maximumFractionDigits: 2}).format(jackpot);\r\n return \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" + text + \"Jackpot
                            \" +\r\n \"
                            JackpotAmusnet\" + jackpot + \" €
                            \" +\r\n \"
                            \";\r\n}\r\n\r\n\r\nfunction initCrazySlotCountdown(countdownId, timerCrazySlots, expirationDate) {\r\n //expirationDate = \"2023-11-13T17:22\";\r\n clearInterval(timerCrazySlotsCountdown);\r\n timerCrazySlots = null;\r\n timerCrazySlots = setInterval(function() { updateCrazySlotCountdown(countdownId, timerCrazySlots, expirationDate); }, 1000);\r\n updateCrazySlotCountdown(countdownId, timerCrazySlots, expirationDate);\r\n}\r\n\r\nfunction padTime(t) {\r\n return t < 10 ? \"0\" + t : t;\r\n}\r\n\r\nvar timerCrazySlotsCountdown = null;\r\nvar timerCrazySlotsCountdownAll = null;\r\nfunction updateCrazySlotCountdown(countdownId, timerCrazySlots, expirationDate) {\r\n const currentDate = new Date();\r\n var targetDate = Date.parse(expirationDate);\r\n const timeDifference = targetDate - currentDate;\r\n\r\n if (timeDifference <= 0) {\r\n $(\"#contentPannelCrazySlots\").empty();\r\n $(\"#contentPannelCrazySlots\").hide();\r\n $(\".card.game.crazy-slot\").remove();\r\n $(\".banner-crazy-slot\").remove();\r\n if ($(\".pannelCasino.crazy-slot-all\").length > 0) {\r\n GetGamesSlotHome();\r\n }\r\n\r\n clearInterval(timerCrazySlots);\r\n timerCrazySlots = null;\r\n crazySlotActive = false;\r\n } else {\r\n const hours = Math.floor(timeDifference / (1000 * 60 * 60));\r\n const minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));\r\n const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);\r\n let formattedTime = `${padTime(hours)}:${padTime(minutes)}:${padTime(seconds)}`;\r\n\r\n if (hours > 2376) { // se maggiore di 99 giorni\r\n $(\".countdown-crazy-slots\").addClass(\"hide\");\r\n return;\r\n }\r\n\r\n if (hours > 24) {\r\n const days = Math.floor(hours / 24);\r\n const hoursRemainder = hours % 24;\r\n formattedTime = `${days}g ${padTime(hoursRemainder)}:${padTime(minutes)}:${padTime(seconds)}`;\r\n }\r\n\r\n $(\"#\" +countdownId).html(formattedTime);\r\n }\r\n}\r\n\r\nfunction GetCrazySlots() {\r\n var urlReq = CasinoRestUrl + \"crazy-slots\";\r\n restCall(urlReq, SetCrazySlots);\r\n}\r\nfunction GetCrazySlotsActive() {\r\n var urlReq = CasinoRestUrl + \"crazy-slots-lite\";\r\n restCallSync(urlReq, function(response) {\r\n try {\r\n var data = JSON.parse(response);\r\n if (data && data.Data && data.Data.InfoProgrammazione && data.Data.InfoProgrammazione.Attiva) {\r\n var dataInizio = Date.parse(data.Data.InfoProgrammazione.DataInizio);\r\n var timeDiff = dataInizio - new Date();\r\n \r\n if (timeDiff <= 0) {\r\n crazySlotActive = true;\r\n }\r\n }\r\n } catch(e) {\r\n\r\n }\r\n });\r\n}\r\n\r\nfunction getSortedCrazySlotGames(games, giochiProgrammazione) {\r\n try {\r\n $.each(games, function (i, game) {\r\n game.order = giochiProgrammazione.find(g => g.Id == game.IdGame).Ordine.toString();\r\n });\r\n\r\n games = sortJsonArrayByProperty(games, \"order\", 1);\r\n } catch(e) {\r\n console.error(e);\r\n }\r\n\r\n return games;\r\n}\r\n\r\nfunction SetCrazySlots(response) {\r\n try {\r\n $HtmlGames = $(\"
                            \");\r\n $HtmlDataTop = $(\"
                            \");\r\n var data = JSON.parse(response);\r\n \r\n if (data && data.Data && data.Data.InfoProgrammazione && data.Data.InfoProgrammazione.Attiva) {\r\n var dataInizio = Date.parse(data.Data.InfoProgrammazione.DataInizio);\r\n var dataInizioBanner = Date.parse(data.Data.InfoProgrammazione.DataInizioBanner);\r\n var timeDiff = dataInizio - new Date();\r\n var idProgrammazione = data.Data.InfoProgrammazione.IdProgrammazione;\r\n var swiperTop=$(\".banner-container.top .swiper-container\")[0];\r\n var swiperList=$(\".banner-container.top .swiper-container .swiper-slide\");\r\n if (dataInizioBanner < dataInizio && !CasinoMobileDevice) {\r\n $(\".pannelPromo .banner-crazy-slot\").remove();\r\n $(\".pannelPromo\").prepend(\"
                            \\\"In
                            \"); \r\n }else{\r\n $(\".banner-container.top .swiper-container .swiper-wrapper .banner-crazy-slot\").remove();\r\n $(\".banner-container.top .swiper-container\").removeClass(\"no-padding\");\r\n $(\".banner-container.top .swiper-container .swiper-wrapper\").prepend(\"
                            \\\"In
                            \"); \r\n if ( swiperList.length > 0) {\r\n if (swiperTop.swiper){\r\n swiperTop.swiper.destroy();\r\n }\r\n var p = new Swiper(\".banner-container.top .swiper-container\", {\r\n loop: true,\r\n slidesPerView: 1.1,\r\n centeredSlides: true,\r\n spaceBetween: 8,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n breakpoints: {\r\n 500: {\r\n slidesPerView: 1.2,\r\n },\r\n 650: {\r\n slidesPerView: 1.3,\r\n }\r\n },\r\n });\r\n }\r\n }\r\n if (timeDiff <= 0) {\r\n crazySlotActive = true;\r\n $(\".card.game.crazy-slot\").removeClass(\"d-none\");\r\n if(!CasinoMobileDevice) {\r\n $(\".pannelPromo .banner-crazy-slot\").remove();\r\n $(\".pannelPromo\").prepend(\"
                            \\\"Crazy
                            \");\r\n }else{\r\n $(\".banner-container.top .swiper-container .swiper-wrapper .banner-crazy-slot\").remove();\r\n $(\".banner-container.top .swiper-container\").removeClass(\"no-padding\");\r\n $(\".banner-container.top .swiper-container .swiper-wrapper \").prepend(\"
                            \\\"Crazy
                            \");\r\n if ( swiperList.length > 0) {\r\n if (swiperTop.swiper){\r\n swiperTop.swiper.destroy();\r\n }\r\n var p = new Swiper(\".banner-container.top .swiper-container\", {\r\n loop: true,\r\n slidesPerView: 1.1,\r\n centeredSlides: true,\r\n spaceBetween: 8,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n breakpoints: {\r\n 500: {\r\n slidesPerView: 1.2,\r\n },\r\n 650: {\r\n slidesPerView: 1.3,\r\n }\r\n },\r\n });\r\n }\r\n }\r\n var numGamesThreasold = CasinoMobileDevice ? 3 : 5;\r\n var games = data.Games;\r\n games = getSortedCrazySlotGames(games, data.Data.GiochiProgrammazione);\r\n $.each(games, function (i, game) {\r\n if (games.length > numGamesThreasold) {\r\n $HtmlGames.append(\"
                            \" + GetCardGame(game) + \"
                            \");\r\n } else {\r\n $HtmlGames.append(GetCardGame(game));\r\n }\r\n });\r\n \r\n var countdownId = \"countdownCrazySlots\";\r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n var openAll = \"\";\r\n var header = \"
                            \" +\r\n \"
                            \" +\r\n \"

                            Crazy Slot

                            \" +\r\n \"\" +\r\n \"
                            \" + \r\n \"\" + \r\n \"
                            \" +\r\n // \"Novità Esclusiva\" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"Nascondi\" +\r\n \"Mostra\" +\r\n \"#SHOWMOREBUTTON#\" +\r\n \"
                            \" +\r\n \"
                            \";\r\n \r\n if ($HtmlGames.find(\".card\").length > numGamesThreasold) {\r\n openAll = \"Apri tutte\";\r\n \r\n $HtmlDataTop.append(\"
                            \" +\r\n header.replace(\"#SHOWMOREBUTTON#\", openAll) +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGames.html() +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \");\r\n $(\"#contentPannelCrazySlots\").empty();\r\n $(\"#contentPannelCrazySlots\").append($HtmlDataTop.html());\r\n $(\"#contentPannelCrazySlots\").show();\r\n initSliderCrazySlots();\r\n } else {\r\n $HtmlDataTop.append(\"
                            \" +\r\n header.replace(\"#SHOWMOREBUTTON#\", openAll) +\r\n \"
                            \" +\r\n $HtmlGames.html() +\r\n \"
                            \" +\r\n \"
                            \" +\r\n \"
                            \");\r\n \r\n $(\"#contentPannelCrazySlots\").empty();\r\n $(\"#contentPannelCrazySlots\").append($HtmlDataTop.html());\r\n $(\"#contentPannelCrazySlots\").show();\r\n }\r\n }\r\n \r\n if (data.Data.InfoProgrammazione.ShowInfo) {\r\n $(\".countdown-crazy-slots\").removeClass(\"hide\");\r\n\r\n initCrazySlotCountdown(countdownId, timerCrazySlotsCountdown, data.Data.InfoProgrammazione.DataFine);\r\n } else {\r\n $(\".countdown-crazy-slots\").addClass(\"hide\");\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n}\r\n\r\nfunction GetCrazySlotsAll() {\r\n var urlReq = CasinoRestUrl + \"crazy-slots\";\r\n restCall(urlReq, SetCrazySlotsAll);\r\n}\r\n\r\nfunction SetCrazySlotsAll(response) {\r\n try {\r\n var data = JSON.parse(response);\r\n if (data && data.Data && data.Data.InfoProgrammazione.Attiva) {\r\n var dataFine = Date.parse(data.Data.InfoProgrammazione.DataFine);\r\n var timeDiff = dataFine - new Date();\r\n if (timeDiff > 0) {\r\n var $HtmlData = $(\"
                            \");\r\n var $HtmlMenuCategory = $(\"
                            \");\r\n var $HtmlGames = $(\"
                            \");\r\n var count = 0;\r\n var countTot = 0;\r\n if(data.Games.length > 0) { \r\n crazySlotActive = true;\r\n var games = data.Games;\r\n games = getSortedCrazySlotGames(games, data.Data.GiochiProgrammazione);\r\n $.each(games, function(i, game) {\r\n count++;\r\n $HtmlGames.append(GetCardGame(game));\r\n });\r\n }\r\n else {\r\n return;\r\n }\r\n \r\n var countdownId = \"countdownCrazySlotsAll\";\r\n\r\n if ($HtmlGames.find(\".card\").length > 0) {\r\n crazySlotActive = true;\r\n var header = \"
                            \" +\r\n \"

                            Crazy Slot

                            \" +\r\n \"\" +\r\n \"
                            \" + \r\n \"\" + \r\n \"
                            \" +\r\n // \"Novità Esclusiva\" +\r\n \"
                            \";\r\n \r\n $HtmlData.append(\r\n \"
                            \" +\r\n \"
                            \" +\r\n header +\r\n \"
                            \" +\r\n \"
                            \" +\r\n $HtmlGames.html() +\r\n \"
                            \");\r\n }\r\n\r\n \r\n\r\n $(\"#contentPannel\").html($HtmlData.html());\r\n\r\n setBreadcrumb(\"
                          • Crazy Slot
                          • Tutti i giochi
                          • \", \"GetGamesSlotHome()\", true);\r\n\r\n resetAllFilters();\r\n updateFilterCounter();\r\n getFilters();\r\n \r\n // SHEvidenza(false);\r\n endWrite(false, false, true);\r\n $(\"#MSTCasino\").addClass(\"hide-crazy-slots\");\r\n\r\n if (data.Data.InfoProgrammazione.ShowInfo) {\r\n $(\".countdown-crazy-slots\").removeClass(\"hide\");\r\n initCrazySlotCountdown(countdownId, timerCrazySlotsCountdownAll, data.Data.InfoProgrammazione.DataFine);\r\n } else {\r\n $(\".countdown-crazy-slots\").addClass(\"hide\");\r\n }\r\n }\r\n } else {\r\n printMessage(\"Iniziativa terminata.\");\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n printMessage(\"Iniziativa terminata.\");\r\n }\r\n}\r\n\r\n(function($) {\r\n $.fn.extend({\r\n rotaterator: function(options) {\r\n var defaults = {\r\n fadeSpeed: 500,\r\n pauseSpeed: 100,\r\n child: null\r\n };\r\n var options = $.extend(defaults, options);\r\n\r\n return this.each(function() {\r\n var o = options;\r\n var obj = $(this);\r\n var items = $(obj.children(), obj);\r\n items.each(function() { $(this).hide(); })\r\n if (!o.child) {\r\n var next = $(obj).children(':first');\r\n } else {\r\n var next = o.child;\r\n }\r\n $(next).fadeIn(o.fadeSpeed, function() {\r\n $(next).delay(o.pauseSpeed).fadeOut(o.fadeSpeed, function() {\r\n var next = $(this).next();\r\n if (next.length == 0) {\r\n next = $(obj).children(':first');\r\n }\r\n $(obj).rotaterator({ child: next, fadeSpeed: o.fadeSpeed, pauseSpeed: o.pauseSpeed });\r\n })\r\n });\r\n });\r\n }\r\n });\r\n})(jQuery);\r\n//# sourceURL=load.js"],"file":"Load.min.js"}