﻿$(document).ready(function() {

    $('#slide-me').children('li').hide();

    var random = Math.floor(Math.random() * 5) + 1;

    //alert('#slide' + random);
    $('#slide' + random).show();

    $('#slide' + random + " .slide-content").fadeIn(500);

    $.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=UBERlondon&include_rts=true&count=3&include_entities=true&callback=?', function(data) {
        $('.tweetArea').html('');
        $.each(data, function(index, item) {
            var s_text = item.text;
            if (item.retweeted_status != null) {
                s_text = item.retweeted_status.text;

                if (item.retweeted_status.entities != null && item.retweeted_status.entities.urls.length > 0) {
                    for (i in item.retweeted_status.entities.urls) {
                        s_text = s_text.replace(item.retweeted_status.entities.urls[i].url, '<a target="blank" href="' + item.retweeted_status.entities.urls[i].url + '">' + item.retweeted_status.entities.urls[i].url + '</a>');
                    }
                }
                if (item.retweeted_status.entities != null && item.retweeted_status.entities.hashtags.length > 0) {
                    for (i in item.retweeted_status.entities.hashtags) {
                        s_text = s_text.replace(item.retweeted_status.entities.hashtags[i].text, '<a target="blank" href="http://twitter.com/#!/search?q=%23' + item.retweeted_status.entities.hashtags[i].text + '">' + item.retweeted_status.entities.hashtags[i].text + '</a>');
                    }
                }
            }
            else {
                if (item.entities != null && item.entities.urls.length > 0) {
                    for (i in item.entities.urls) {
                        s_text = s_text.replace(item.entities.urls[i].url, '<a target="blank" href="' + item.entities.urls[i].url + '">' + item.entities.urls[i].url + '</a>');
                    }
                }
                if (item.entities != null && item.entities.hashtags.length > 0) {
                    for (i in item.entities.hashtags) {
                        s_text = s_text.replace(item.entities.hashtags[i].text, '<a target="blank" href="http://twitter.com/#!/search?q=%23' + item.entities.hashtags[i].text + '">' + item.entities.hashtags[i].text + '</a>');
                    }
                }
            }
            if (item.entities != null && item.entities.user_mentions.length > 0) {
                for (i in item.entities.user_mentions) {
                    var term1 = '@' + item.entities.user_mentions[i].screen_name;
                    var pattern1 = stringToRegExp(term1, 'i');
                    if (i == 0 && item.retweeted_status != null)
                        s_text = '<a target="blank" class="retweetOrginator" href="http://twitter.com/' + item.entities.user_mentions[i].screen_name + '">' + item.entities.user_mentions[i].screen_name + '</a>: ' + s_text;
                    else
                        s_text = s_text.replace(pattern1, '<a target="blank" href="http://twitter.com/' + item.entities.user_mentions[i].screen_name + '">@' + item.entities.user_mentions[i].screen_name + '</a>');
                }
            }

            if (item.retweeted_status != null) {
                s_text = s_text.replace('RT', '');
            }
            $('.tweetArea').append('<p class="tweetPanel' + (index + 1) + '">' + s_text + '</p>');
        });
    });

    function stringToRegExp(pattern, flags) {
        return new RegExp(
        pattern.replace(/[\[\]\\{}()+*?.$^|]/g, function(m) { return '\\' + m; }),
        flags);
    }
    var curTweet = 1;
    var numTweets = 3;

    //Somesort of autoslide
    $('.tweetArea').ready(function() {
        setTimeout(changeTwitter, 5000);
    });

    function changeTwitter() {
        var prevTweet = curTweet;
        if (curTweet == numTweets) {
            curTweet = 1;
        } else {
            curTweet += 1;
        };
        $('.tweetPanel' + prevTweet).fadeOut(500, function() { $('.tweetPanel' + curTweet).fadeIn(500); });
        setTimeout(changeTwitter, 5000);
    }
});

