// JavaScript Document
cat1 = { num:0,catNum:"cat1",color: "", cat: "", searchText:"", twitCount: 0, twitterResults: [] }
cat2 = { num:1,catNum:"cat2",color: "", cat: "", searchText:"", twitCount: 0, twitterResults: [] }
cat3 = { num:2,catNum:"cat3",color: "", cat: "", searchText:"", twitCount: 0, twitterResults: [] }
cat4 = { num:3,catNum:"cat4",color: "", cat: "",searchText:"", twitCount: 0, twitterResults: [] }
cat5 = { num:4,catNum:"cat5",color: "", cat: "",searchText:"", twitCount: 0, twitterResults: [] }
cat6 = { num:5,catNum:"cat6",color: "", cat: "",searchText:"", twitCount: 0, twitterResults: [] }
var mainArray = [cat1, cat2, cat3, cat4,cat5,cat6]; 
var category = 0;
var twitCat = 0;
var newsCat = 0;
var type = "twit";
var badWords=[];
var totalCount=0;

function getValues(){
	for (var i=0;i<mainArray.length;i++){
	mainArray[i].color=$("#"+mainArray[i].catNum).attr("color");
	mainArray[i].searchText=escape($("#"+mainArray[i].catNum).attr("search"));
	mainArray[i].cat=$("#"+mainArray[i].catNum).text();
	
	}
}

$(document).ready(function() {
	getValues();					   
    getTwitFeeds();
	getBadWords();
   
});

function getTwitFeeds() {
    var cat = mainArray[twitCat].searchText;
	var text;
     $.ajax({
        type: "GET",
        url: "http://search.twitter.com/search.json?callback=?&lang=en&rpp=50&q=" + cat,
        dataType: "jsonp",
        success: function(data, textStatus) {

            $.each(data.results, function(i, item) {
				text=makeAnchors(item.text);
                result = {title: text}
                mainArray[twitCat].twitterResults[i] = result;
            });
			
			var position=twitCat;
	
			mainArray[twitCat].avail=true;
			if(twitCat==0){displayFeed();$(".loader").remove();animateFeedDiv();}
			
				
		
			if (twitCat < mainArray.length - 1) { twitCat++; getTwitFeeds(); }
        }
    });

}
function animateFeedDiv(){
$("#feed").animate({height:"200px"});	
}

function displayFeed() {


    var title = mainArray[category].twitterResults[mainArray[category].twitCount].title;
        mainArray[category].twitCount++;
    
	if(mainArray[category].twitterResults.length-mainArray[category].twitCount==10){grabMore(mainArray[category].num);}
	if(mainArray[category].twitterResults.length-mainArray[category].twitCount==5){resetCat(mainArray[category].num);}
	
    var regExFirst = new RegExp(mainArray[category].cat, "ig");
    title = title.replace(regExFirst, "<span style='color:" + mainArray[category].color + "'>" + mainArray[category].cat + "</span>");
	title=filterBadWords(title);
    $("#feed").prepend('<div class="post">' + title + '</div>');
	if(isEven(totalCount)){$("#feed div:first").addClass("zebra");}
	totalCount++;
    $("#feed div:first").animate({ marginTop: "0px"}, 750);
	
	$("#feed div:eq(5)").remove();
	if(category<mainArray.length-1){
		if(mainArray[category+1].avail==true){category++;}
	}else{category=0;}
    setTimeout(function() { displayFeed(); }, 6000);
}
function isEven(num){
return !(num % 2);	
}
function resetCat(localCategory){
mainArray[localCategory].twitterResults=[];
mainArray[localCategory].twitCount=0;
grabMore(localCategory);
}


function grabMore(localCategory){
	var text;
	var cat = mainArray[localCategory].searchText;
	var page=Math.round((mainArray[localCategory].twitterResults.length/100)+1);
	var catNumber=mainArray[category].num;
     $.ajax({
        type: "GET",
        url: "http://search.twitter.com/search.json?callback=?&lang=en&rpp=100&q="+cat+"&page="+page,
        dataType: "jsonp",
        success: function(data, textStatus) {

            $.each(data.results, function(i, item) {
				text=makeAnchors(item.text);

                result = {
                    title: text

                }
                mainArray[localCategory].twitterResults.push(result);

            });
        }
    });	
}

function filterBadWords(text){

	for(var i=0;i<badWords.length;i++){	
		text = text.replace(new RegExp(badWords[i], 'gi' ),"****");
	}
	return text;
}
function makeAnchors(text){
	text = text.replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a target='_blank' href='$1'>$1</a>");
	return text;
}

function getBadWords(){
    $.ajax({
        type: "GET",
        url: "http://www.10thousanddoors.org/atf/cf/%7B84649513-0f80-42be-ab73-e2a9135e2bfa%7D/WORDS.JS",
        dataType: "json",
        success: function(data, textStatus) {
            $.each(data.words, function(i, item) {
			badWords[i]=item;
            });

        }
    });
}