var tweetUser = '@CountryClub+-drunkTaylorS';
var tweetUser2 = '@CountryClub+-drunkTaylorS';
var lastTweet;
var since_id;

$(document).ready(function(){
	var randomnumber=Math.floor(Math.random()*11);
	$('#twitter-ticker').slideDown('slow');
	var fileref = document.createElement('script');
	
	fileref.setAttribute("type","text/javascript");
	fileref.setAttribute("src", "http://search.twitter.com/search.json?q="+tweetUser+"%20OR%20from:countryclub&callback=TweetTick&rpp=25&ran=" + randomnumber);
	
	document.getElementsByTagName("head")[0].appendChild(fileref);
});


function getNewTweets(){
	var randomnumber=Math.floor(Math.random()*11);
	var container=$('tweet-container');
	var fileref = document.createElement('script');
	
	fileref.setAttribute("type","text/javascript");
	fileref.setAttribute("src", "http://search.twitter.com/search.json?q="+tweetUser2+"%20OR%20from:countryclub&callback=NewTweetResults&since_id=" + since_id + "&ran=" + randomnumber);
	
	document.getElementsByTagName("body")[0].appendChild(fileref);	
}


var k=0;
function TweetTick(ob)
{
	var container=$('#tweet-container');
	container.html('');



	$(ob.results).each(function(el){
	since_id = ob.results[0].id;
		var str = '	<div id="tweet1' + k + '" class="tweet">\
					<div class="avatar"><a href="http://twitter.com/'+this.from_user+'" target="_blank"><img src="'+this.profile_image_url+'" alt="'+this.from_user+'" /></a></div>\
					<div class="user"><a href="http://twitter.com/'+this.from_user+'" target="_blank">'+this.from_user+'</a></div>\
					<div class="time">&nbsp;&nbsp;'+relativeTime(this.created_at)+'</div>\
					<div class="txt">'+formatTwitString(this.text)+'</div>\
					</div>';
		
		container.append(str);
		k++;
	
	});
	lastTweet = document.getElementById("tweet10");
	//container.jScrollPane();
	setTimeout(getNewTweets,5000);
}


function isEmpty(obj) {
	for(var prop in obj) {
		if(obj.hasOwnProperty(prop))
			return false;
	}
	return true;
}

function NewTweetResults(ob){
	if(isEmpty(ob.results) == false && ob.results !='undefined' && ob.results.length != 0 && ob.results[0].id != since_id){
		since_id = ob.results[0].id;
	
		var j = (ob.results.length -1);
		var container=$('#tweet-container');
		//alert(ob.results[j].from_user);
	
		
		function TweetLoop(){
			
			var str = '<div class="avatar"><a href="http://twitter.com/'+ob.results[j].from_user+'" target="_blank"><img src="'+ob.results[j].profile_image_url+'" alt="'+ob.results[j].from_user+'" /></a></div>\
					<div class="user"><a href="http://twitter.com/'+ob.results[j].from_user+'" target="_blank">'+ob.results[j].from_user+'</a></div>\
					<div class="time">&nbsp;&nbsp;'+relativeTime(ob.results[j].created_at)+'</div>\
					<div class="txt">'+formatTwitString(ob.results[j].text)+'</div>\ ';
					
			
    		var myElement = document.createElement("div");
    		myElement.setAttribute("id", "tweet" + j);
			myElement.setAttribute("class", "tweet" );
			myElement.style.display="none";
    		myElement.innerHTML= str;
					
			//container.append(str);
			
			
			if(lastTweet != null){
				lastTweet.parentNode.insertBefore(myElement,lastTweet); 
			}
			lastTweet = document.getElementById("tweet"+j);
			
			
			
			$("#tweet"+ j).slideDown("slow");			
			j--;
			if(j >= 0){
				setTimeout(TweetLoop,2500);
				//container.jScrollPane();
			}
			if(j < 0){
				setTimeout(getNewTweets,5000);	
			}
		}
		TweetLoop();
	}else{
		//alert('No Return');
		setTimeout(getNewTweets,5000);	
	}
}	




	


function formatTwitString(str)
{
	str=' '+str;
	str = str.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>');
	str = str.replace(/([^\w])\@([\w\-]+)/gm,'$1@<a href="http://twitter.com/$2" target="_blank">$2</a>');
	str = str.replace(/([^\w])\#([\w\-]+)/gm,'$1<a href="http://twitter.com/search?q=%23$2" target="_blank">#$2</a>');
	return str;
}

function relativeTime(pastTime)
{	
	var origStamp = Date.parse(pastTime);
	var curDate = new Date();
	var currentStamp = curDate.getTime();
	
	var difference = parseInt((currentStamp - origStamp)/1000);

	if(difference < 0) return false;

	if(difference <= 5)				return "Just now";
	if(difference <= 20)			return "Seconds ago";
	if(difference <= 60)			return "A minute ago";
	if(difference < 3600)			return parseInt(difference/60)+" minutes ago";
	if(difference <= 1.5*3600) 		return "One hour ago";
	if(difference < 23.5*3600)		return Math.round(difference/3600)+" hours ago";
	if(difference < 1.5*24*3600)	return "One day ago";
	
	var dateArr = pastTime.split(' ');
	return dateArr[4].replace(/\:\d+$/,'')+' '+dateArr[2]+' '+dateArr[1]+(dateArr[3]!=curDate.getFullYear()?' '+dateArr[3]:'');
}



function textLength(){
	var count = document.getElementById("newtweet").value;
	document.getElementById("count").value = 140 - count.length;
}

function twitterlogout(){
	document.getElementById("logincontainer").innerHTML = "";
	document.getElementById("user").value = '';
	document.getElementById("pass").value = '';
	document.getElementById("loginForm").style.display = "block";	
}

function errorBox(){
	document.getElementById("error").style.display = "none";
	document.getElementById("loginForm").style.display = "block";
}

function successBox(){
	document.getElementById("error").style.display = 'none';
	document.getElementById("logincontainer").style.display = 'block';
}

function twitterlogin(){
var user = document.getElementById("user").value;
var pass = document.getElementById("pass").value;
var liveperson = '@CountryClub' + ' ';
var results = ""; 

	$.post("../twitterlogin/login.php",{ user: user, pass: pass, liveperson:tweetUser }, function(xml){
		var error = $('hash',xml).find("error").text();
		if(error && error == 'Could not authenticate you.'){																	
			document.getElementById("error").style.display = "block";
			document.getElementById("error").innerHTML = 'Incorrect Login';
			setTimeout(errorBox,2000);
		}else{
    		$('user',xml).each(function(i){
        		var name = $(this).find("name").text();
				var screenname = $(this).find("screen_name").text();
				var img = $(this).find("profile_image_url").text();
        		results = '<form style="padding:0px;margin:0px;" action="" method="get"><table style="margin-top:4px;height:28px;" align="right" width="83%" border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="2" width="50" align="center" valign="top"><a href="http://twitter.com/' + screenname + '" target="_blank"><img style="width:32px;height:32px;border:2px solid #eeeeee;" src="' + img + '" /></a></td><td width="100%" align="center"><input maxlength="140" onkeyup="textLength();" id="newtweet" name="newtweet" type="text" value="' + liveperson + '" style="width:97%;height:19px;"></td><td align="center"><a href="javascript:twitterPost();"><span style="color:#FF9900; padding-right:3px;"><b>POST</b></span></a></td></tr><tr><td colspan="2"><table style="padding:0px;margin:0px;border:none;width:100%;"><tr><td align="left" valign="top" style="font:10px Arial;color:black;width:100%">'+ name + ' | <a href="javascript:twitterlogout();" style="cursor:hand">Logout</a></td><td align="right" valign="top"><input id="count" name="count" type="text" value="" style="background:none;width:25px;border:none;margin:0px;padding:0px;"></td></td></tr></table></td></tr></table></form>';

    		});
			
    		$("#logincontainer").html(results);
			textLength();
		}
		document.getElementById("loginForm").style.display = "none";
	});  
  
}

function twitterPost(){
	//alert("hello");
	var user = document.getElementById("user").value;
	var pass = document.getElementById("pass").value;
	var message = document.getElementById("newtweet").value;
	$.post("twitterSend.php",{ user: user, pass: pass, message: message}, 
	function(data){
		if(data == 1){
			document.getElementById("error").style.display = 'block';
			document.getElementById("logincontainer").style.display = 'none';
			document.getElementById("error").innerHTML = 'Tweet Has Beent Sent!';
			document.getElementById("newtweet").value = '@CountryClub' + ' ';
			setTimeout(successBox,2000);	
		}else{
			document.getElementById("error").style.display = 'block';
			document.getElementById("logincontainer").style.display = 'none';
			document.getElementById("error").innerHTML = 'Error posting to Twitter. Retry';
			setTimeout(successBox,2000);
		}
    
	}, "text");
		
}