//http://twitter.com/account/rate_limit_status.xml

maxID = 0;
checkMaxID = 0;
flag = "";
limitLength = 5;

$(document).ready(function(){

var twitterq = '';
tweet();


//======================================================================================
//display article
//======================================================================================
function displayTweet(html){
		
		//1回目の表示上限に達した後か
		if( flag == true){
				//上限到達以降はdivの末尾に差し込む
				$("#twitter-results").append(html);
		} else {
				//初回表示はdivの先頭に差し込む
				$("#twitter-results").prepend(html);
		}

		//取得した要素内のvalueの値を配列に格納
		disp = $( "#twitter-results input" ).map( function() {
  			return $(this).attr("value");
		}).get();

		maxID = (Math.max.apply(null, disp)); //取得したつぶやきのIDの最大値
		
		var i= 0; //表示用カウンタ初期化
		limit = limitLength; //一回の表示上限数
			
				//*******表示処理スタート*******//
				var myInterval = window.setInterval(function () {
						//差し込むのは最後のdiv
						var element =  $("#twitter-results div:last-child");
						
						//差し込むdivは表示済
						if(element.hasClass("done")){
								flag = true;
								tweet();
								clearInterval(myInterval);
								
						//差し込むdivは未表示
						}else if(!element.hasClass("done")){
								//表示用divに挿入
								$("#twitter-results").prepend(element);
								//表示済みフラグを付与
								$("#twitter-results div:first-child").addClass("done");
								//表示するtweetのtweetID
								flagId = $("#twitter-results div:first-child input").val();
								//次に表示されるtweetのtweetID
								nextflagId = $("#twitter-results div:last-child input").val();
								i++; //表示用カウンタプラス
								element.fadeIn("slow"); //フェードインで表示
								$('#twitter-results').jScrollPane();
								/*if($("#twitter-results").height() == 228){
									//$("div.twitter_status").css("padding-right","30px")
								}else if($("#twitter-results").height() > 228){
									$("div.twitter_status").css("padding-right","6px")
								}*/
						}

						//リミットに到達したら
						if(i==limit){
								//タイマー処理解除
								window.setTimeout(function () {
										clearInterval(myInterval);
										tweet();
								});
						}					
				//タイマー処理は3.5秒毎
				},3500);//本番は3500
				//*******表示処理終了*******//

} //元のfunctionEND


//======================================================================================
//chekc
//======================================================================================	
function check(html){
		//チェック用ボックスに挿入
		$("#checkTwitterResults").prepend(html);
		
		//チェック用のvalueの値を配列に格納
		checkdisp = $( "#checkTwitterResults input" ).map( function() {
				return $(this).attr("value");
		}).get();
		
		checkMaxID = (Math.max.apply(null, checkdisp)); //取得したつぶやきのIDの最大値
		
		//取得したtweet群に新しいものがあるか
		if( checkMaxID > maxID){	

				//配列の長さを取得
				checkLength = checkdisp.length;
				
				//配列の全部を比較
				for(var i=0; i<checkLength; i++){
						if(checkdisp[i] > maxID){ //IDが既表示ものより新しいか
								//セレクタ生成
								selector =  "input[value=" + checkdisp[i] + "]";
								//対象のvalueを持つ親divにクラスを付与
								$(selector).parent().parent().addClass("add")
						}
				}
				//新しいIDを持たないtweetは削除
				$("#checkTwitterResults div").not(".add").remove();
				//新しいIDを持つtweetの数を取得
				limitLength = $("#checkTwitterResults .add").length;
				//変数にタグを挿入
				html = $("#checkTwitterResults").html();
	
					//表示用処理へ
					displayTweet(html);

		}else{
			setTimeout(function () {
				tweet();
			},30000);//本番は3500
		}
//チェック用のdiv内を削除
$("#checkTwitterResults").html("");
}
		
//======================================================================================
//twitter api
//======================================================================================
function tweet(){
		
	twitterq = $('#twitterq').attr('value');
	
	$.ajax({
		type: "GET",
		url: "http://search.twitter.com/search.json/?q=http:\/\/ar3d\.jp\&rpp=100&lang=all",
		dataType: "jsonp",
		success: function(data) {
			var a= ""
			var b= ""

			$.each(data.results, function(i, item) {
				a = ('<div class="twitter_status" style="display:none;">')
				a +=('<a target="_blank" href="http://www.twitter.com/' + item.from_user + '" target="_blank">' + '<img src="' + item.profile_image_url + '"class="twitter_image"></a>');
				a +=('<a target="_blank" style="display:block; font-weight:bold;" href="http://www.twitter.com/' + item.from_user + '">' + item.from_user + '</a>');
				a +=('<span class="twitter_small">');
				var txt = item.text
        txt = txt.replace(/(http:\/\/[\x21-\x7e]+)/gi,'<a target="_blank" href="$1">$1</a>');
				a +=txt;
				a +=('<input type="hidden" class="id" value="' + item.id + '"></input>');
				a +=('</span>');
				a +=('</div>');
				b += a
			});
			
			if(flag == true){
				check(b);
			}else{
				displayTweet(b);
			}
		}
	});
	return false;
}

});
