var isNgAccount = false;
var tweets = [];
var channels = new Array("ol","food","beauty","love","office","news","null");
var ngWords = new Array();

$(function(){
	var url = 'http://twitter.com/statuses/user_timeline/happyol.json?callback=?';

	$.getJSON(url, function(json){
		var info = "";
		var i,m,created_at;
		var created = new Date();

		// ツイテレ最新情報
		for(i in json){
			created_at = json[i].created_at.replace(/^(\w+) (\w+) (\w+) (.*?)( .{4})$/,"$1, $3 $2$5 $4");
			created.setTime(getTweetTimestamp(created_at));
			var year = created.getYear();
			year = (year < 2000) ? year + 1900: year;
			created_at = year +'/'+ (created.getMonth()+1) +'/'+ created.getDate();

			if(! json[i].text.match(/^@/)){
				info += "<dd>\n";
				info += '<p class="tweetText">'+json[i].text+'</p>';
				info += '<p class="date">'+created_at+'</p>';
				info += "</dd>\n";
			}
		}
		$('#latestInformation dl dt').append(info);

		$.get('/system/data/ng_word.txt',function(data){
			data = decodeURIComponent(data);
			data = $.trim(data);
			ngWords = data.split("\n");

			$.timer(1000, function (timer) {
		    	timer.stop();
				var i= 1;
				for(i=1;i<=channels.length;i++){
					more_show_status(i);
				}
			});
		});
	});
});


function getTweetTimestamp(created_at){
	var twtime = created_at; //'Tue, 10 Nov 2009 03:25:47 +0000';
	twtime = twtime.replace(/^(.*?), /,"");
	twtime = twtime.replace(/ \+(.*?)$/,"");
	twtime = twtime.replace(/^(.*?) (.*?) /,"$1 $2 ");

	var dd = new Date(twtime);
	dd.setTime(dd.getTime() + 32400000);
	var m = dd.getMonth() + 1;
	var d = dd.getDate();
	var h = dd.getHours();
	if(h < 10) h = '0'+h;
	var i = dd.getMinutes();
	if(i < 10) i = '0'+i;
	var c = m+'月'+d+'日'+h+'時'+i+'分';

	return c;
}

function gT(created_at){
	var twtime = created_at; //'Tue, 10 Nov 2009 03:25:47 +0000';
	twtime = twtime.replace(/^(.*?), /,"");
	twtime = twtime.replace(/ \+(.*?)$/,"");
	twtime = twtime.replace(/^(.*?) (.*?) /,"$1 $2 ");
	var dd = new Date(twtime);
	dd.setTime(dd.getTime() + 32400000);
	var y = dd.getYear();
	if(y < 2000) y = 1900+y;
	var m = dd.getMonth() + 1;
	if(m < 10) m = '0'+m;
	var d = dd.getDate();
	if(d < 10) d = '0'+d;
	var h = dd.getHours();
	if(h < 10) h = '0'+h;
	var i = dd.getMinutes();
	if(i < 10) i = '0'+i;
	var s = dd.getSeconds();
	if(s < 10) s = '0'+s;
	var c = y+'-'+m+'-'+d+'T'+h+':'+i+':'+s+'Z';
	return c;
}



function more_show_status(ch){
	tweets[ch-1] = [];
	var searchKeyword;
	var rpp = 10;
	var ndate = new Date();
	var now = ndate.getTime();

	switch(channels2[ch-1]){
	case 'ol':
		searchKeyword='%40happyol%2Fhappy-ol';
		// url="http://search.twitter.com/search.json?q="+searchKeyword+"&lang=all&page=1&rpp="+rpp+"&callback=?";
		url="/broadcast/perse?q="+searchKeyword+"&lang=ja&page=1&rpp="+50+"&ctime="+now;
		break;
	case 'food':
		searchKeyword=1;//'%23olfood';
		url="/broadcast/json?q="+searchKeyword+"&lang=ja&page=1&rpp="+rpp+"&ctime="+now;
		break;
	case 'beauty':
		searchKeyword=2;//'%23olbi';
		url="/broadcast/json?q="+searchKeyword+"&lang=ja&page=1&rpp="+rpp+"&ctime="+now;
		break;
	case 'love':
		searchKeyword=4;//'%23ollove';
		url="/broadcast/json?q="+searchKeyword+"&lang=ja&page=1&rpp="+rpp+"&ctime="+now;
		break;
	case 'office':
		searchKeyword=3;//'%23olbungu';
		url="/broadcast/json?q="+searchKeyword+"&lang=ja&page=1&rpp="+rpp+"&ctime="+now;
		break;
	case 'news':
		searchKeyword='%23olnews';
		url="http://search.twitter.com/search.json?q="+searchKeyword+"&lang=ja&page=1&rpp="+rpp+"&callback=?";
		break;
	default:
		break;
	}

	//var url="http://search.twitter.com/search.json?q="+searchKeyword+"&lang=ja&page=1&rpp="+rpp+"&callback=?";

	$.getJSON(url, function(obj) {
		var i,j;
		var cnt = 0;
		var eCnt = 0;

        for(i in obj["results"]){
			for(j=0;j<ngWords.length;j++){
				var re = new RegExp('('+ngWords[j]+')',"");
				//obj['results'][i].text = obj['results'][i].text.replace(re,"****");
			}

			cnt++;
			tweets[ch-1].push(obj['results'][i]);
        }

		tweets[ch-1].reverse();

		if(tweets[ch-1].length){
			add_list(ch,0);
		}
    });
}


function add_list(ch,cnt){
	var i = cnt;
	if(tweets[ch-1].length <=i){
		i = 0;
	}

	var dlTag = document.createElement('dl');
	var ii = i + 1;
	dlTag.className = 'now_main_window_group more_tweet'+ii;
	dlTag.id = 'list_'+ch+'-'+i;
	dlTag.style.display = 'none';

	var toolSrc = tweets[ch-1][i].source.replace(/&lt;/g,"<");
	toolSrc = toolSrc.replace(/&gt;/g,">");
	toolSrc = toolSrc.replace(/&quot;/g,'"');

	var text = tweets[ch-1][i].text;
	text = text.replace(/^&quot;/g,'');
	text = text.replace(/(https?:\/\/[\d\w\_\-\.\/\~\(\)\?\=\#]+)/, '<a href="$1" target="_blank">$1</a>');
	text = text.replace(/@([\d\w\-]+)/g,'@<a href="http://twitter.com/$1" target="_blank">$1</a> ');
	text = text.replace(/#([\d\w\-]+)/g,'#<a href="http://twitter.com/#search?q=%23$1" target="_blank">$1</a> ');

	var profile_mini_image_url = tweets[ch-1][i].profile_image_url.replace(/_normal\./,"_mini.");

	s = '';
	s += '<dt class="now_group_img">';
	s += '<img src="'+tweets[ch-1][i].profile_image_url+'" alt="" title="" width="66" height="65" />';
	s += '</dt>';
	s += '<dd class="now_group_time">';
	if(ch == 1 || ch == 6){
		s += '<a href="/broadcast/index?c=' + ch + '&time=' + gT(tweets[ch-1][i].created_at) + '">[' + getTweetTimestamp(tweets[ch-1][i].created_at) + ']</a>&nbsp;';
	} else {
		s += '<a href="/b/?c=' + ch + '&i=' + tweets[ch-1][i].id + '">[' + getTweetTimestamp(tweets[ch-1][i].created_at) + ']</a>&nbsp;';
	}
	s += '投稿者：'+tweets[ch-1][i].from_user;
	s += '</dd>';
	s += '<dd class="now_group_comment">';
	s += text;
	s += '</dd>';

	dlTag.innerHTML = s;
	$('#ch'+ch).prepend(dlTag);
	$(dlTag).show("slow",function(){
		var olddl = i - 6;
		var olddl2 = tweets[ch-1].length + olddl;
		var rmtag = 'dl#list_'+ch+'-'+olddl;
		var rmtag2 = 'dl#list_'+ch+'-'+olddl2;
		if(olddl >= 0){
			try{
				$(rmtag).remove();
			}catch(e){}
		} else {
			try{
				$(rmtag2).remove();
			}catch(e){}
		}
		var second = Math.floor(Math.random() * 1000);
		second += 2000;
		$.timer(second, function (timer) {
    		timer.stop();
			i++;
			add_list(ch,i);
		});
	});
}


