function createStyleLink(url) { let res = document.createElement("link"); res.rel = "stylesheet"; res.href = url; document.head.appendChild(res); } function find_squad() { var element = document.getElementById("find_squad_open"); element.classList.toggle("show"); } createStyleLink("https://images.hindi.news18.com/ibnkhabar/uploads/assets/event/common/css/ipl_home_strip_1612930954.css"); createStyleLink("https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@1,400;1,700&display=swap"); if(!window.Glide){ var script = document.createElement('script'); script.type = "text/javascript"; script.src = "https://images.hindi.news18.com/ibnkhabar/uploads/assests/js/glide.min.js"; document.getElementsByTagName('head')[0].appendChild(script); } async function initWidget () { let iplTeamData = {}, auctionPlayersData = {}; try { iplTeamData = await fetch("https://election.nw18.com/electiondata/electionjson/ipl_auction_2023/ipl_auction_teams_regional.json"); iplTeamData = await iplTeamData.json(); } catch(error) { console.log("Ipl teamdata fetch error", new Date()); iplTeamData={} } try { auctionPlayersData = await fetch("https://election.nw18.com/electiondata/electionjson/ipl_auction_2023/ipl_auction_players.json"); auctionPlayersData = await auctionPlayersData.json(); } catch(error) { console.log("Ipl teamdata fetch error", new Date()); auctionPlayersData = {} } // sets the visibility of the widget let siteUrl = window.location.href, onOff = 1, liveBlogLink = ''; siteDomain = siteUrl.split(".")[0].split("//")[1], siteLanguage = 'tamil', languages = [ "english", "hindi", "gujarati", "bengali", "lokmat", "kannada", "tamil", "malayalam", "telugu", "punjabi", "assam", "odia", "urdu", "punjab", ]; languages.forEach(lang => { if(siteDomain.includes(lang) && lang === 'punjab') { siteLanguage = 'punjabi' } else if(siteDomain.includes(lang)){ siteLanguage = lang } }); let absolutePath = "https://"+siteLanguage+".news18.com/"; if(siteDomain.includes('stg')){ absolutePath = "https://stg"+siteLanguage+".news18.com/"; } else if(siteDomain.includes('beta') && !siteDomain.includes('-qc')) { absolutePath = "https://beta"+siteLanguage+".news18.com/"; }else if(siteDomain.includes('-qc')) { absolutePath = "https://beta"+siteLanguage+"-qc.news18.com/"; }else if(siteDomain.includes('dev')) { absolutePath = "http://dev"+siteLanguage+".news18.com/"; } Object.keys(iplTeamData?.ipl_auction_teams[0]).forEach((siteKey)=>{ if(siteKey === siteLanguage) { let siteData = iplTeamData?.ipl_auction_teams[0][siteKey]; onOff = Number.parseInt(siteData?.onoff); liveBlogLink = siteData?.url; } }); if(siteDomain.includes('dev')){ onOff = 1; } // condition which checks the visibility and response data to proceed if((Object.keys(auctionPlayersData) || []).length && (Object.keys(iplTeamData) || []).length && onOff) { let iplLiveUpdateText = iplTeamData?.ipl_auction_teams[0]?.text; let iplLiveTextClass = iplLiveUpdateText.toLowerCase().trim() !== 'live updates' ? 'ipl_widget_highlight' : ''; let playersTeamList = auctionPlayersData?.ipl_auction_players?.teams; let playersTeamListKeys = Object.keys(playersTeamList); let playersArray = []; playersTeamListKeys.forEach((teams)=>{ (playersTeamList[teams] || []).forEach((player)=>{ const {playername, tallydisplay} = player; let checkIfPlayerExists = playersArray.find(p => p && p.playername === playername) if(!checkIfPlayerExists && tallydisplay){ playersArray.push(player); } }) }) playersArray.sort((a, b)=>{return Number.parseInt(a.tallydisplay) - Number.parseInt(b.tallydisplay)}); let playersList = ``; let dotsButton = ``; let moneyUnit = siteLanguage === 'hindi' ? '?????' : 'CR.'; playersArray.forEach((player,index)=>{ if (index > 10) { return; } let {playername,ipl2022team,ipl2023team,type,playernamehindi, costinrcr, typehindi} = player, teamClassName = ipl2023team.trim() === "PBKS" ? "pbks" : ipl2023team.toLowerCase(), displayName = siteLanguage === 'hindi' && playernamehindi ? playernamehindi : playername, displayType = siteLanguage === 'hindi' && typehindi ? typehindi : type, playerLink = teamUrl(ipl2023team); playersList +=`<div class="ipl_widget_row ${teamClassName}"> <a href="${playerLink}"> <div class="ipl_widget_row_left"> <p>${displayName}</p> <span>${ipl2023team} | ${displayType}</span> </div> <p class="ipl_widget_row_right">₹ ${costinrcr}<br/><span>(${moneyUnit})</span></p> </a> </div>`; dotsButton += `<button class="glide__bullet" data-glide-dir="=${index}"></button>`; }) function teamUrl(teamName) { let url = "ipl-auction"; if(teamName == 'GT'){ url = "ipl-auction/gt-players-list-2/"; } else if(teamName == 'CSK'){ url = "ipl-auction/csk-players-list-3/"; } else if(teamName == 'DC'){ url = "ipl-auction/dc-players-list-4/"; } else if(teamName == 'KKR'){ url = "ipl-auction/kkr-players-list-5/"; } else if(teamName == 'PBKS'){ url = "ipl-auction/pbks-players-list-6/"; } else if(teamName == 'LSG'){ url = "ipl-auction/lsg-players-list-7/"; } else if(teamName == 'MI'){ url = "ipl-auction/mi-players-list-8/"; } else if(teamName == 'RCB'){ url = "ipl-auction/rcb-players-list-9/"; } else if(teamName == 'RR'){ url = "ipl-auction/rr-players-list-10/"; } else if(teamName == 'SRH'){ url = "ipl-auction/srh-players-list-11/"; } return siteLanguage === 'hindi'? `/${url}` : `${absolutePath}${url}`; } let dropDownLlist = ` <li><a href="${absolutePath}ipl-auction/top-10-players-list-1/">Top 10 Buys</a></li> <li><a href="${absolutePath}ipl-auction/gt-players-list-2/">Gujarat Titans</a></li> <li><a href="${absolutePath}ipl-auction/csk-players-list-3/">Chennai Super Kings</a></li> <li><a href="${absolutePath}ipl-auction/dc-players-list-4/">Delhi Capitals</a></li> <li><a href="${absolutePath}ipl-auction/kkr-players-list-5/">Kolkata Knight Riders</a></li> <li><a href="${absolutePath}ipl-auction/kxip-players-list-6/">Punjab Kings</a></li> <li><a href="${absolutePath}ipl-auction/lsg-players-list-7/">Lucknow Super Giants</a></li> <li><a href="${absolutePath}ipl-auction/mi-players-list-8/">Mumbai Indians</a></li> <li><a href="${absolutePath}ipl-auction/rcb-players-list-9/">Royal Challengers Bangalore</a></li> <li><a href="${absolutePath}ipl-auction/rr-players-list-10/">Rajasthan Royals</a></li> <li><a href="${absolutePath}ipl-auction/srh-players-list-11/">Sunrisers Hyderabad</a></li> <li><a href="${absolutePath}ipl-auction/unsold-players-list-12/">Unsold Players</a></li> `; let detailPageLink = `${absolutePath}ipl-auction/`, iplAuctionText = 'IPL Auction 2023', iplLiveBlogText = 'IPL Auction', iplDetailView = 'Detailed view', findPlayerSquad = 'Find player by squad', classForUrudu = "", iplAuctionLink = detailPageLink , hideDetailedView = ""; let iplWidget = `<style> .ipl_widget_highlight::after { display: none; } .ipl_widget_text span a{ text-decoration: none; color: #fff; } #ipl_widget { min-height: 62px; } </style> <div class="ipl_widget_outter ${classForUrudu}"> <div class="ipl_widget"> <div class="ipl_widget_left"> <a href="${iplAuctionLink}"> <p class="ipl_widget_text ${iplLiveTextClass}" id="ipl_widget_text">${iplLiveUpdateText}<span>${iplAuctionText}</span></p> <i><img src="https://images.hindi.news18.com/ibnkhabar/uploads/assets/event/common/others/players_icon_1612895589.svg"/></i> </a> <a href="${detailPageLink}" class="detailedview ${hideDetailedView}">${iplDetailView}</a> </div> <div class="ipl_widget_midd"> <div class="ipl_widget_slider"> <div class="glide__track" data-glide-el="track"> <div class="glide__slides" id="players-list"> ${playersList} </div> </div> <div class="glide__bullets" id="glide__bullets_id" data-glide-el="controls[nav]"> ${dotsButton} </div> </div> </div> <div class="ipl_widget_right"> <a href="${liveBlogLink}" class="ipl_liveblog">${iplLiveBlogText}</a> <button onclick="find_squad()" class="find_squad">${findPlayerSquad}</button> <ul class="find_squad_open" id="find_squad_open"> ${dropDownLlist} </ul> </div> </div> </div>` // set widget to #ipl-widget div document.getElementById("ipl-widget").innerHTML = iplWidget; if ((document.getElementsByClassName('ipl_widget_slider') || []).length > 0 && playersArray.length > 0){ let interValGlide = setInterval(() => { if(window.Glide){ setTimeout(()=>{ new Glide('.ipl_widget_slider', { autoplay: 5000, type: 'carousel', perView: 3, gap:10, slidesToShow: 1, dots: '#dots', draggable: true, breakpoints: { 767: { perView: 1, slidesToShow: 1, peek: { before: 0, after: 70, } } } }).mount() },300) clearInterval(interValGlide); } }); } } else { if(document.getElementById("ipl-widget")){ document.getElementById("ipl-widget").style.minHeight ='0px'; } } } try { initWidget(); var updateScore=setInterval(function(){ initWidget(); }, 30*1000); }catch(error){ console.log(error); clearInterval(updateScore); }