let root = document.documentElement // Used for css variables
let selectedSports = []
$(".sport").on("click", function() {
    $(this).toggleClass("selected")
    let sportName = $(this).children()[1].innerHTML // 2nd element, which is the sport name
    
    let index = selectedSports.indexOf(sportName)
    if (index > -1 ) {  // If element is found in array
        selectedSports.splice(index, 1) // Remove sport at index
    } else {
        selectedSports.push(sportName)  // Add sport to array
    }
    $(this).trigger("selected", [selectedSports.includes(sportName), selectedSports]) // Trigger event
    showFeeds()
})
function getCSSVariable(name) {
    return getComputedStyle(root).getPropertyValue(name)
}
function showFeeds() {
    if ($(window).width() < 1280) {
        if (selectedSports.length === 0) {
            $(".leftcol").show()
            $(".centercol").hide()
        } else {
            $(".leftcol").hide()
            $(".centercol").show()
        }
    } else {
        $(".leftcol").show()
        $(".centercol").show()
    }
}
$(window).on("resize", function(){
    showFeeds()
});
$(window).on("load", function() {
    showFeeds()
})
function tweetCell(tweet) {
    var cell = document.createElement("div");
    cell.innerHTML =
    `
`
    return cell
}
function filter(tweets, bannedWords=[], searchWords=[], likesTop=null, likesBottom=null, retweetsTop=null, retweetsBottom=null, repliesTop=null, repliesBottom=null) {
    if(bannedWords.length > 0){
        tweets = filterBannedWords(bannedWords, tweets)
    }
    if(searchWords.length > 0){
        tweets = searchForWords(searchWords, tweets)
    }
    if(likesTop != null || likesBottom != null){
        tweets = filterLikes(likesTop, likesBottom, tweets)
    }
    if(retweetsTop != null || retweetsBottom != null){
        tweets = filterRetweets(retweetsTop, retweetsBottom, tweets)
    }
    if(repliesTop != null || repliesBottom != null){
        tweets = filterReplies(repliesTop, repliesBottom, tweets)
    }
    return tweets
}
function filterBannedWords(bannedWords, tweets){
    for (let i = 0; i < tweets.length; i++) {
        var tweet = tweets[i]
        for(let j=0; j < bannedWords.length; j++){
            if (tweet.text.toLowerCase().includes(bannedWords[j].toLowerCase())){
                tweets.splice(i, 1)
                break
            }
        }
    }
    return tweets
}
function searchForWords(searchWords, tweets){
    for (let i = 0; i < tweets.length; i++) {
        var tweet = tweets[i]
        for(let i=0; i < searchWords.length; i++){
            if (!tweet.text.toLowerCase().includes(searchWords[i].toLowerCase())) {
                tweets.splice(i, 1)
                break
            }
        }
    }
    return tweets
}
function filterLikes(likesTop, likesBottom, tweets){
    for (let i = 0; i < tweets.length; i++) {
        var tweet = tweets[i]
        if(tweet.favorite_count >= likesTop || tweet.favorite_count <= likesBottom){
            tweets.splice(i, 1)
            break
        }
    }
    return tweets
}
function filterRetweets(retweetsTop, retweetsBottom, tweets){
    for (let i = 0; i < tweets.length; i++) {
        var tweet = tweets[i]
        if(tweet.retweet_count >= retweetsTop || tweet.retweet_count <= retweetsBottom){
            tweets.splice(i, 1)
            break
        }
    }
    return tweets
}
function filterReplies(repliesTop, repliesBottom, tweets){
    for (let i = 0; i < tweets.length; i++) {
        var tweet = tweets[i]
        if(tweet.reply_count >= repliesTop || tweet.reply_count <= repliesBottom){
            tweets.splice(i, 1)
            break
        }
    }
    return tweets
}