var ldr;
var cnt = 0;
var refurl = "";
var lastID = "";
var dispList = new Array();

var firstTime = true;

var SEARCH_INTERVAL = 10000;
var timerID;

var nextpage = undefined;
var prepage = undefined;

/*function start_search() {
	var _q = $('query').value;
	var _m = $('mode').value;
	tw_search(_m + _q,50);
}*/

function got_start() {
	//tw_search("%23joiner%20twitpic",20);
	oldSearch();
}


var ldr2;

function oldSearch() {
	var url = 'http://exonemo.com/iPhone/joiner/parseTwitpic/results.cgi';
	
	ldr2 = document.createElement('script');  
	ldr2.charset = 'utf-8'; 
	ldr2.src = url;
	document.body.appendChild(ldr2); 
}

function callBack(data) {
	//alert(data);
	
	for(var i=data.length-1;i>=0;i--) {
		
		var div = document.createElement('span');
		div.id = data[i]['imgID'];
		
		var tweet = data[i]['tweet']
		if (tweet.length>20) {
			var tweet = tweet.substring(0,20) + "...";
		}
		
		
		div.innerHTML = "<span style='float:left;margin:20px; text-alignment:left;width:300px;'><span style='float:left;margin:10px;'><img src=" +data[i]['prof'] + " width=48 height=48 /></span><span style='float:left;margin:10px;'><a href='http://twitter.com/" + data[i]['usr'] + "'>" + data[i]['usr'] + "</a><br>" +  data[i]['date'] + "<br><b><a href='http://twitter.com/"+ data[i]['usr'] + "/statuses/" + data[i]['imgID'] + "' style='color:#ffffff;' target=_blank>" + tweet + "</a></b><br><br><a href=http://twitpic.com/" + data[i]['imgID'] + " target=_blank><img src=http://twitpic.com/show/thumb/" + data[i]['imgID'] + " border=0 width=150 height=150></span>";
			
		$('resultOfGot').appendChild(div, $('resultOfGot').firstChild);
		
		//$('res').appendChild(div, $('res').firstChild);
		//console.log(data[i]['date'] + " " +data[i]['usr']);
	}
	
	if (ldr2 != undefined) {
		document.body.removeChild(ldr2);
	}
}



function tw_search(q, c) {
	if (refurl == '') {
		refurl = '?q=' + q + '&rpp=' + c + '&callback=loaddone&dmmy=' + cnt;
	} else {
		refurl += '&callback=loaddone&dmmy=' + cnt;
	}
	startSearch(refurl,20);
}

function startSearch(_url) {
	var url = 'http://search.twitter.com/search.json' + _url;
	
	ldr = document.createElement('script');  
	ldr.charset = 'utf-8'; 
	ldr.src = url;
	document.body.appendChild(ldr); 
	cnt++;
}

function goToNextPage() {
	//prepage = refurl;
	$('resultOfGot').innerHTML = "";
	startSearch(nextpage + '&callback=loaddone&dmmy=' + cnt);
}
function goToPrePage () {
	
	
}

function loaddone(data) {
	
	//alert("results:" + data['results'].length);
	
	//alert("nextpage = " + data['next_page']);
	
	if (data['refresh_url'] == undefined) return;
	
	refurl = data['refresh_url'];
	
	if (data['next_page'] != undefined) {
		nextpage = data['next_page'];
	}
	
	var dt = new Date();
	//dt.setTime(dt.getTime() - ((24 - (dt.getTimezoneOffset()/60)) * 60 * 60 * 1000));
	var date = dt.getTime();
	//alert(date);
	var len = data['results'].length;
	var results = data['results'].reverse();
	var _lastID = lastID;
	var validLen = 0;
	
	for(var i=0;i<len;i++) {
		var twt = results[i];
		
		var twtxt = twt["text"];
		
		if (twtxt.indexOf("http://twitpic.com/") != -1) {
			validLen++;
			
			var div = document.createElement('span');
			div.id = twt['id'];
			if (! firstTime) {
				div.style.display = "none";
				dispList.push(div);;
			}
			var _src = twt['source'];
			_src = _src.replace(/\&quot;/g,"'");
			_src = _src.replace(/\&lt;/g,"<");
			_src = _src.replace(/\&gt;/g,">");
			
			var _usr = twt['from_user'];
			
			var _start = twtxt.indexOf("http://twitpic.com/"); _start += 19;
			var _end = twtxt.indexOf(" ",_start);
			var _imgid;
			if (_end == -1) {
				_imgid = twtxt.substring(_start);
			} else {
				_imgid = twtxt.substring(_start,_end);
			}
			
			//var _tweet = twtxt.substring(_end + 10);
			var _tweet = twtxt.substring(8);
			if (_tweet.length >23) {
				_tweet = _tweet.substring(0,23) + "...";
			}
			
			var dt = new Date(twt["created_at"]);
			var dt = dt.toString().replace(" GMT+0900 (JST)","");
			
			div.innerHTML = "<span style='float:left;margin:20px; text-alignment:left;'><span style='float:left;margin:10px;'><img src=" + twt['profile_image_url'] + " width=48 height=48 /></span><span style='float:left;margin:10px;'><a href='http://twitter.com/" + _usr + "'>" + _usr + "</a><br>" +  dt + "<br><b><a href='http://twitter.com/"+ _usr + "/statuses/" + twt['id'] + "' style='color:#ffffff;' target=_blank>" + _tweet + "</a></b><br><br><a href=http://twitpic.com/" + _imgid + " target=_blank><img src=http://twitpic.com/show/thumb/" + _imgid + " border=0 width=150 height=150></span>";
			
			$('resultOfGot').insertBefore(div, $('resultOfGot').firstChild);
			
			_lastID = twt['id'];
			
		}
	}
	lastID = _lastID;
	
	var _int = SEARCH_INTERVAL/(validLen+1);
	
	//clearInterval(timerID);
	//timerID = setInterval("showTwt()",_int);
	
	if (ldr != undefined) {
		document.body.removeChild(ldr);
	}
}

function showTwt() {
	var id = dispList.shift();
	
	if (id != undefined) {
		new_effect(id);
		
		if ($('resultOfGot').childNodes.length>6) {
			$('resultOfGot').removeChild($('resultOfGot').lastChild);
		}
		
	} else {
		clearInterval(timerID);
		//if (firstTime) {
		//	timerID = setInterval("_search();",SEARCH_INTERVAL);
			firstTime = false;
		//} else {
			_search();
		//}
	}
}

function new_effect(id) {
	new Effect.Parallel([ 
		        new Effect.Appear(id),
		        new Effect.SlideDown(id),
		        new Effect.Highlight( id, { startcolor : '#ff2222', endcolor : '#ffffff',duration : 10 } )
		    ]); 
}

