var callCtr = 0;
var callTime = 20000;
var displayctr = 0;
var totalTweetArr = new Array();
//var tweetArr = new Array();;
var messageId = 0;
var follow = true;
function linkify_plain(text)
{
	if( !text ) return text;
	text = text.replace(/((https?\:\/\/|ftp\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi,function(url){
		nice = url;
		if( url.match('^https?:\/\/') )
		{
			nice = nice.replace(/^https?:\/\//i,'')
		}
		else
			url = 'http://'+url;
		return ' <a target="_blank" style="color:#466578;text-decoration:none;font-weight:normal;"  onmouseover="this.style.color=\'#8c255a\';" onmouseout="this.style.color=\'#466578\';" href="'+ url +'">'+ url +'</a>';
	});
	return text;
}
$(document).ready(function(){ 
//	alert("a");					   
	t = setTimeout(feed_update, 1000); //Repeat...
	tMapDisplay = setTimeout(map_update, 1000); //Repeat...
	feedTimer = setTimeout(build_feed, (fallTime+fallTime/2)); //Repeat...
}); 
function feed_update(){
	var ctr = 0;
	$("#status-tab").html("Updating..");
	$("#status-tab").animate({top:65, left:300}, { queue:false, duration:500 }, "linear");
	$.get("ajax/tweetnew.php", function(data){
		t = setTimeout(feed_update, callTime); //Repeat...
//		alert(data);
//		alert(fallTime);
//		alert(messageCtr);
		if (window.execScript) {
			window.execScript(data); // eval in global scope for IE
		}else{
			eval(data);
		}
		
		if(typeof(tweetArr) != "undefined"){
			for(key in tweetArr){
				ctr++;
				totalTweetArr[key] = new Array();
				for(itemKey in tweetArr[key]){
					totalTweetArr[key][itemKey] = tweetArr[key][itemKey];
				}
			}
		}
		
		$("#status-tab").html(ctr + " New Tweets");
		window.setTimeout("$(\"#status-tab\").animate({top:0, left:300}, { queue:false, duration:500 }, \"linear\")", 1000);
//		build_feed();
	});
}
function build_feed(){
	feedTimer = setTimeout(build_feed, (fallTime+fallTime/2)); //Repeat...
	displayctr++;
	var proceed = false;
	for(key in totalTweetArr){
//		alert(key);
		if(key > messageId){
			messageId = key;
			proceed = true;
			break;
		}
	}
	if(proceed == false){
		return;
	}
	
	var htmldata = "";
	var htmldata = "<div class='ab-R-box'  style='width:215px;'><a href='http://twitter.com/" + totalTweetArr[messageId]['screen_name'] + "' target='_blank' ><img src='" + totalTweetArr[messageId]['profile_image_url'] + "' alt='' width='48' height='46' class='ab-R-box-pic' style='margin-top:3px;' /></a><div class='ab-R-box-TextM' style='width:136px;' ><a href='http://twitter.com/" + totalTweetArr[messageId]['screen_name'] + "' target='_blank'  ><h2 onmouseover=\"this.style.color='#8c255a';\" onmouseout=\"this.style.color='#466578';\">" + totalTweetArr[messageId]['name'] + "</h2></a><p>" + linkify_plain(totalTweetArr[messageId]['text']) + "</p><span style='font:Arial, Helvetica, sans-serif; color:#a9a9b1;size:11px;line-height:14px;'>" + totalTweetArr[messageId]['location'] + "</span><br /><span style='font:Arial, Helvetica, sans-serif; color:#a9a9b1;size:11px;line-height:11px;'>" + totalTweetArr[messageId]['creat_at_date'] + "</span></div></div>";
//	alert(htmldata);
	messageCtr++;
	$("#newMessage").html("<div class=\"ab-R-boxM\" style=\"border-left:0px;opacity: 0.0;width:222px; overflow:hidden;filter: alpha(opacity = 0);\">" + htmldata + "</div>");
	var newMsgHeight = $("#newMessage").height();
	$("#messageBody").prepend("<div class=\"ab-R-boxM\" id=\"message" + messageCtr +"\" style=\"border-left:0px;width:222px; overflow:hidden;opacity: 0.0;filter: alpha(opacity = 0);height:0px;\">" + htmldata + "</div>");
	$("#messageBody").prepend("<div id=\"separatorTop" + messageCtr + "\" style=\"opacity: 0.0;filter: alpha(opacity = 0);\"></div>");
//	$("#messageBody").css({top:0-moveHeight});//moves top up with the message length
//	$("#messageBody").animate({top:0}, { queue:false, duration:fallTime });
	$("#message" + messageCtr).animate({height:newMsgHeight, opacity:1}, { queue:false, duration:fallTime }, "linear");
	if(messageCtr > 1){
		$("#separatorTop" + (messageCtr-1)).animate({height:0}, { queue:false, duration:fallTime });
	}
	$("#separatorTop" + messageCtr).animate({height:0}, { queue:false, duration:fallTime }, "linear");
//	$("#separatorTop" + messageCtr).animate({height:20}, fallTime, "linear", function (){build_feed(totalTweetArr)});
//	$("#separatorTop" + messageCtr).animate({height:5}, duration:fallTime, easing: "easein", function (){build_feed(totalTweetArr)});
//	t = setTimeout(feed_update, 2000); //Repeat...
//	pausecomp(2000);
//	alert(htmldata);
}

function map_update(){
	$.get("ajax/maptweet.php", function(data){
//		alert(data);
		if (window.execScript) {
			window.execScript(data); // eval in global scope for IE
//				showAddress("Frankfurt","amit","",<r><![CDATA[aaaaaaaa]]></r>);
		}else{
//			alert(data);
			eval(data);
		}
//		alert(displayCtr + "~" + locationCtr);
//		t = setTimeout(feed_update, 2000); //Repeat...
		tMapDisplay = setTimeout(map_update, 200000); //Repeat...
	});
}

function toggleFollow() {
	follow = !follow;
	if(follow){
		feedTimer = setTimeout(build_feed, (fallTime+fallTime/2)); //Repeat...
	}else{
		clearTimeout(feedTimer);
	}
	$('#follow').html(follow ? 'Follow: Off' : 'Follow: On');
}

