/*
Ustweet Log
*/

modal_win_viewers_on = false;
var modal_win_viewers_page = 0;
var modal_win_viewers_loading = false;
var modal_win_viewers_user_ary = new Array();

var toolTip_on = false;

var removeRT_on = false;
var removeRT_color = new Array('#abced8', '#5CD5DF');
var date_table_ary = new Array();

$(function(){
	//検索ボックスフォーカス
	$("#q").fieldtag();
	
	// ツイート書き換え
	$('#content_tweet .entry .tweet').each(function(){
		var txt = $(this).html();
		txt = txt.replace(/(RT|QT) /g,"<span class='RT'>$1</span> ");	// Retweet
		txt = txt.replace(/href=.http:\/\/twitpic\.com\/(\w+)./g,"href='http://twitpic.com/$1' class='pic'");	// twitpic
		txt = txt.replace(/href=.http:\/\/yfrog\.com\/(\w+)./g,"href='http://yfrog.com/$1' class='pic'");	// yfrog
		txt = txt.replace(/href=.http:\/\/plixi\.com\/p\/(\w+)./g,"href='http://plixi.com/p/$1' class='pic'");	// Plixi
		txt = txt.replace(/href=.http:\/\/ow\.ly\/i\/(\w+)./g,"href='http://ow.ly/i/$1' class='pic'");	// Ow.ly
		txt = txt.replace(/href=.http:\/\/movapic\.com\/pic\/(\w+)./g,"href='http://movapic.com/pic/$1' class='pic'");	// movapic
		txt = txt.replace(/href=.http:\/\/img\.ly\/(\w+)./g,"href='http://img.ly/$1' class='pic'");	// img.ly
		txt = txt.replace(/href=.http:\/\/instagr\.am\/p\/(\w+)./g,"href='http://instagr.am/p/$1' class='pic'"); //instagram
		txt = txt.replace(/href=.http:\/\/photozou\.jp\/photo\/show\/([0-9]+)\/([0-9]+)./g,"href='http://photozou.jp/photo/show/$1/$2' class='pic'"); //instagram
		$(this).html(txt);
		//alert(txt);
	});
	
	//Fav
	/*
	if (logging == 0) {
		$('#content_tweet img.fav').css('display','none');
	}
	*/
	
	// no RT
	var Obj_noRT = $('#content_tweet #noRT');
	Obj_noRT.mouseover(function() {
			$(this).css("filter","alpha(opacity=80)");
			$(this).css("-moz-opacity","0.80");
			$(this).css("opacity","0.80");
		});
	Obj_noRT.mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	Obj_noRT.mouseup(function() {
			$(this).css("filter","alpha(opacity=80)");
			$(this).css("-moz-opacity","0.80");
			$(this).css("opacity","0.80");
		});
	Obj_noRT.mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
			//alert('check');
			//bookmark_follow(bookmark_id);
			change_noRT();
		});
	
	// Ustweet Log フォロー
	var Obj_log_follow = $('#content_entry_top_left #log_follow');
	Obj_log_follow.mouseover(function() {
			$(this).css("filter","alpha(opacity=80)");
			$(this).css("-moz-opacity","0.80");
			$(this).css("opacity","0.80");
		});
	Obj_log_follow.mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	Obj_log_follow.mouseup(function() {
			$(this).css("filter","alpha(opacity=80)");
			$(this).css("-moz-opacity","0.80");
			$(this).css("opacity","0.80");
		});
	Obj_log_follow.mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
			log_follow(channel_id);
		});
	
	// Ustweet Log しおり フォロー
	var Obj_bookmark_follow = $('#content_entry_top_left_bookmark #log_bookmark_fav');
	Obj_bookmark_follow.mouseover(function() {
			$(this).css("filter","alpha(opacity=80)");
			$(this).css("-moz-opacity","0.80");
			$(this).css("opacity","0.80");
		});
	Obj_bookmark_follow.mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	Obj_bookmark_follow.mouseup(function() {
			$(this).css("filter","alpha(opacity=80)");
			$(this).css("-moz-opacity","0.80");
			$(this).css("opacity","0.80");
		});
	Obj_bookmark_follow.mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
			//alert('check');
			bookmark_follow(bookmark_id);
		});
	
	// Popup Picture
	$('div#content_tweet a.pic').mouseover(function(e){
		var s = $(this).attr("href")
		
		//Twitpic
		s.replace(/twitpic\.com\/(\w+)/g,
			function(a,b,c){
				popUp_pic(e, 'http://twitpic.com/show/thumb/' + b, 150, 150);
			}
		);
		
		//yfrog
		s.replace(/yfrog\.com\/(\w+)/g,
			function(a,b,c){
				popUp_pic(e, 'http://yfrog.com/' + b + ':small', 125, 90);
			}
		);
		
		//plixi
		s.replace(/plixi\.com\/p\/(\w+)/g,
			function(a,b,c){
				//alert('http://api.plixi.com/api/TPAPI.svc/imagefromurl?size=small&url=http://' + a);
				popUp_pic(e, 'http://api.plixi.com/api/TPAPI.svc/imagefromurl?size=small&url=http://' + a, 150, 150);
			}
		);
		
		//Ow.ly
		s.replace(/ow\.ly\/i\/(\w+)/g,
			function(a,b,c){
				popUp_pic(e, 'http://static.ow.ly/photos/thumb/' + b + '.jpg', 100, 100);
			}
		);
		
		//img.ly
		s.replace(/img\.ly\/(\w+)/g,
			function(a,b,c){
				popUp_pic(e, 'http://img.ly/show/thumb/' + b, 100, 100);
			}
		);
		
		//携帯百景
		s.replace(/movapic\.com\/pic\/(\w+)/g,
			function(a,b,c){
				popUp_pic(e, 'http://image.movapic.com/pic/t_' + b + '.jpeg', 100, 100);
			}
		);
		
		//instagram
		s.replace(/instagr\.am\/p\/(\w+)/g,
			function(a,b,c){
				popUp_pic(e, 'http://instagr.am/p/' + b + '/media/?size=t', 100, 100);
			}
		);
		
		//photozou
		s.replace(/photozou\.jp\/photo\/show\/[0-9]+\/([0-9]+)/g,
			function(a,b,c){
				popUp_pic(e, 'http://photozou.jp/p/thumb/' + b, 120, 120);
			}
		);
	});
	$('div#content_tweet a.pic').mouseout(function(){
		if (window_mask_on == true) {
			$("#wrap #mask").hide('fast');
			$("#wrap #mask_b").hide('fast',remove_modal_reply_form);
		}
	});
	function popUp_pic(e, url, img_w, img_h) {
		if (window_mask_on == true) { return false; }
		//alert(url);
		var x_offset = 20;
		var y_offset = 20;
		var x = e.clientX + x_offset;
		var y = e.clientY + y_offset;
		
		var set_y = 'down';
		if ( $(window).height() / 2 < y ) { set_y = 'up'; }
		
		var width = img_w + 16;
		var height = img_h + 16;
		//alert(y);
		
		//ウインドウ背景（黒バック）を生成
		//ウインドウ背景（黒バック）を生成
		$("#wrap").prepend("<div id='mask_b'></div>");
		$("#wrap #mask_b").css("position","fixed");
		$("#wrap #mask_b").css("z-index","999");
		$("#wrap #mask_b").css("top","0");
		$("#wrap #mask_b").css("left","0");
		$("#wrap #mask_b").css("width",width);
		$("#wrap #mask_b").css("height",height);
		$("#wrap #mask_b").css("text-align",'center');
		
		$("#wrap #mask_b").prepend("<div id='modal_win_border'>&nbsp;</div>");
		$("#wrap #mask_b #modal_win_border").css("margin-left",x);
		$("#wrap #mask_b #modal_win_border").css("margin-right","auto");
		if (set_y == 'down') {
			$("#wrap #mask_b #modal_win_border").css("margin-top", y);
		}else{
			$("#wrap #mask_b #modal_win_border").css("margin-top", y - height - y_offset - 12);
		}
		$("#wrap #mask_b #modal_win_border").css("padding","10px;");
		$("#wrap #mask_b #modal_win_border").css("width", width + 2);
		$("#wrap #mask_b #modal_win_border").css("height", height + 2);
		$("#wrap #mask_b #modal_win_border").css("text-align",'center');
		$("#wrap #mask_b #modal_win_border").css("background-color","#707070");
		$("#wrap #mask_b #modal_win_border").css("filter","alpha(opacity=50)");
		$("#wrap #mask_b #modal_win_border").css("-moz-opacity","0.50");
		$("#wrap #mask_b #modal_win_border").css("opacity","0.50");
		$("#wrap #mask_b #modal_win_border").css("-moz-box-shadow","0px 0px 10px #000");
		$("#wrap #mask_b #modal_win_border").css("-webkit-box-shadow","0px 0px 10px #000");
		
		$("#wrap #mask_b").show;
		
		//ウインドウ本体を生成
		$("#wrap").prepend("<div id='mask'></div>");
		$("#wrap #mask").css("position","fixed");
		$("#wrap #mask").css("z-index","1000");
		$("#wrap #mask").css("top","0");
		$("#wrap #mask").css("left","0");
		$("#wrap #mask").css("width",width);
		$("#wrap #mask").css("height",height);
		$("#wrap #mask").css("text-align",'center');
		
		$("#wrap #mask").prepend("<div id='modal_win'><img src='" + url + "' style='border:8px solid #fff;' width='" + img_w + "' height='" + img_h + "' /></div>");
		$("#wrap #mask #modal_win").css("margin-left",x + 1);
		$("#wrap #mask #modal_win").css("margin-right","auto");
		if (set_y == 'down') {
			$("#wrap #mask #modal_win").css("margin-top", y + 1);
		}else{
			$("#wrap #mask #modal_win").css("margin-top", y -  height - y_offset - 12 + 1);
		}
		$("#wrap #mask #modal_win").css("width", width);
		$("#wrap #mask #modal_win").css("height", height);
		$("#wrap #mask #modal_win").css("text-align",'left');
		
		$("#wrap #mask").show;
		window_mask_on = true;
	}
	
	//noRTフラグ
	removeRT_on = $.cookie('log_noRT');
	
});

//===================================================//
//ソート切替
var target = "";
function jump(){
	var url = document.sortform.sort.options[document.sortform.sort.selectedIndex].value;
	if(url != "" ){
		if(target == 'top'){
			top.location.href = url;
		}
		else if(target == 'blank'){
			window.open(url, 'window_name');
		}
		else if(target != ""){
			eval('parent.' + target + '.location.href = url');
		}
		else{
			location.href = url;
		}
	}
}

//ボックス高さを揃える
function set_box_height(type) {
	if (type == 0) {
		//return;
		var left_h = Number($('#content_entry_top_left').height());
		var detail_h = Number($('#entry_detail').height());
		var description_h = Number($('#content_entry_description p.entry_description_clog').height());
		//alert(left_h+' '+detail_h+' '+description_h);
		if (left_h  > (detail_h + description_h + 62)) {
			var margin_h = left_h - (detail_h + description_h + 62) + description_h;
			$('#content_entry_description p.entry_description_clog').css({'height': margin_h});
		}
	}else{
		
		var left_h = Number($('#content_entry_top_left').height());
		var right_h = Number($('#content_entry_description').height());
		//alert(left_h + ' ' + right_h);
		//alert(left_h+' '+detail_h+' '+description_h);
		if (left_h  > right_h) {
			var margin_h = left_h - 18;
			$('#content_entry_description').css({'height': margin_h});
		}
	}
}

//ツイート個別セットアップ
function tweet_setup(user, status, tweet) {
	$(function(){
		//ユーザーIDセット
		tw_user_id['t' + status] = user.toLowerCase();
		
		//プレーンテキストセット
		tw_plain['t' + status] = tweet;
		
		//マウス反応
		$('#content_tweet #t_' + status).mouseover(function(){
			$('#content_tweet .u_' + user).css("background",'#f8f8f8');
			$('#content_tweet #t_' + status +  ' .reply').css('display','block');
			$('#content_tweet #t_' + status +  ' .retweet').css('display','block');
			$('#content_tweet #t_' + status +  ' .fav').css('display','block');
			$('#content_tweet #t_' + status +  ' .bookmark').css('display','block');
			if (tw_user_id['t' + status] == user_id) { $('#content_tweet #t_' + status +  ' .del').css('display','inline'); }
		});
		$('#content_tweet #t_' + status).mouseout(function(){
			$('#content_tweet .u_' + user).css("background",'#ffffff');
			$('#content_tweet #t_' + status +  ' .reply').hide();
			$('#content_tweet #t_' + status +  ' .retweet').hide();
			$('#content_tweet #t_' + status +  ' .fav').hide();
			$('#content_tweet #t_' + status +  ' .bookmark').hide();
			if (tw_user_id['t' + status] == user_id) { $('#content_tweet #t_' + status +  ' .del').hide(); }
		});
		
		//RTフラグ追加
		if (tweet.substring(0, 2) == "RT") {
			$('#content_tweet #t_' + status).addClass('RTon');//RTフラグ追加
		}
	});
}

//noRTスタートアップ
function startup_noRT() {
	if (removeRT_on == 'true') {
		$('#content_tweet .RTon').hide();
		
		for (var i in date_table_ary){
			var str = date_table_ary[i];
			var j = $('#content_tweet .d_' + str + ':visible').length;
			if (j == 0) {
				$('#content_tweet #h3_' + str).hide();
			}
		}
		
		$('#content #content_tweet #noRT').css('background', removeRT_color[1]);
		
		removeRT_on = true;
	}else{
		removeRT_on = false;
	}
}

//noRT切り替え
function change_noRT() {
	if (removeRT_on) {
		$('#content_tweet .RTon').show();
		
		for (var i in date_table_ary){
			var str = date_table_ary[i];
			$('#content_tweet #h3_' + str).show();
		}
		
		$('#content #content_tweet #noRT').css('background', removeRT_color[0]);
		
		removeRT_on = false;
	}else{
		$('#content_tweet .RTon').hide();
		
		for (var i in date_table_ary){
			var str = date_table_ary[i];
			var j = $('#content_tweet .d_' + str + ':visible').length;
			if (j == 0) {
				$('#content_tweet #h3_' + str).hide();
			}
		}
		
		$('#content #content_tweet #noRT').css('background', removeRT_color[1]);
		
		removeRT_on = true;
	}
	
	$.cookie('log_noRT', removeRT_on, { expires:30, path:'/' });
}

//===================================================//
// しおり作成実行
function send_make_bookmark(status_id, title, comment) {
	// login check
	if (check_login()) { return false; }
	
	var req_url = site_url + 'module/log/bookmark_make';
	//alert('check1');
	$.post(
		req_url,
		{
			"channel": channel_id,
			"status": status_id,
			"title": title,
			"comment": comment
		},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					//alert('favorite!');
					//var h = $(target_id).attr('src').replace(/fav_star\.gif/ig, 'fav_star2.gif');
					//$(target_id).attr('src', h);
					
					//ツイートフォーム
					//show_modal_follow_form('しおりをツイートしますか？', data.title + ' : ' + data.url + ' しおりを挟みました。', data.hashTag);
					
					alert('しおりを新しく作りました');
					//window.open(data.url);
				}else{
					alert('エラーが発生しました');
				}
				//alert('fav chk2');
			}else{
				alert('しおり作成に失敗しました');
			}
			//フォームをフェードアウト
			$("#wrap #mask").fadeOut('normal');
			$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
		},
		'json'
	);
	
}

//===================================================//

//しおりをふぁぼる
function bookmark_follow(bookmark_id) {
	// login check
	if (check_login()) { return false; }
	
	var req_url = site_url + 'module/log/bookmark_follow';
	//alert('check1');
	$.post(
		req_url,
		{"id": bookmark_id},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					//alert('favorite!');
					//var h = $(target_id).attr('src').replace(/fav_star\.gif/ig, 'fav_star2.gif');
					//$(target_id).attr('src', h);
					
					//ツイートフォーム
					show_modal_follow_form('お気に入りと一緒に、しおりをツイートしますか？', data.title + ' : ' + data.url + ' をお気に入りにしました。');
					
					//alert('このしおりをお気に入りにしました');
				}else{
					alert('エラーが発生しました');
				}
				//alert('fav chk2');
			}else{
				alert('お気に入りの登録に失敗しました');
			}
		},
		'json'
	);
}

//しおりのふぁぼりを取消
function bookmark_unfollow(bookmark_id) {
	// login check
	if (check_login()) { return false; }
	
	var req_url = site_url + 'module/log/bookmark_unfollow';
	//alert('check1');
	$.post(
		req_url,
		{"id": bookmark_id},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					//alert('favorite!');
					//var h = $(target_id).attr('src').replace(/fav_star\.gif/ig, 'fav_star2.gif');
					//$(target_id).attr('src', h);
					alert('このしおりのお気に入りを外しました');
				}else{
					alert('エラーが発生しました');
				}
				//alert('fav chk2');
			}else{
				alert('お気に入りの解除に失敗しました');
			}
		},
		'json'
	);
}

//===================================================//
//ログをフォローする
function log_follow(channel) {
	// login check
	if (check_login()) { return false; }
	
	var req_url = site_url + 'module/log/log_follow';
	//alert('check1');
	$.post(
		req_url,
		{"channel": channel},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					//alert('favorite!');
					//var h = $(target_id).attr('src').replace(/fav_star\.gif/ig, 'fav_star2.gif');
					//$(target_id).attr('src', h);
					
					//alert(data.title + ' : ' + data.url);
					
					//ツイートフォーム
					show_modal_follow_form('フォローと一緒に、ログをツイートしますか？', data.title + ' : ' + data.url + ' をフォローしました。', data.hashTag);
					
					//alert('このツイートログをフォローしました');
				}else{
					alert('エラーが発生しました');
				}
				//alert('fav chk2');
			}else{
				alert('フォローに失敗しました');
			}
		},
		'json'
	);
}

//ログをフォロー解除
function log_unfollow(channel) {
	// login check
	if (check_login()) { return false; }
	
	var req_url = site_url + 'module/log/log_unfollow';
	//alert('check1');
	$.post(
		req_url,
		{"channel": channel},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					//alert('favorite!');
					//var h = $(target_id).attr('src').replace(/fav_star\.gif/ig, 'fav_star2.gif');
					//$(target_id).attr('src', h);
					alert('このツイートログのフォローをやめました');
				}else{
					alert('エラーが発生しました');
				}
				//alert('fav chk2');
			}else{
				alert('フォロー解除に失敗しました');
			}
		},
		'json'
	);
}

//===================================================//
//アクション
$(function(){
	// 返信
	$("#content_tweet .reply").click(function(e){
		// login check
		if (check_login()) { return false; }
		var clicked = $(e.target);
		
		// Get data
		var status_id = clicked.parent().parent().parent().attr('id').replace(/t_/, '');
		var user = clicked.parent().children('a.user_id').text();
		//alert(user + ' : ' + id);
		
		show_modal_reply_form(status_id, user);
	});
	
	// リツイート
	$("#content_tweet .retweet").click(function(e){
		// login check
		if (check_login()) { return false; }
		var clicked = $(e.target);
		
		// Get data
		var status_id = clicked.parent().parent().parent().attr('id').replace(/t_/, '');
		var user = clicked.parent().children('a.user_id').text();
		var tweet = tw_plain['t' + status_id];
		
		show_modal_reply_form(status_id, user, 1, tweet);
	});
	
	// ふぁぼ
	$("#content_tweet .fav").click(function(e){
		// login check
		if (check_login()) { return false; }
		var clicked = $(e.target);
		
		// Get data
		var status_id = clicked.parent().parent().parent().attr('id').replace(/t_/, '');
		
		var req_url = site_url + 'module/log/favorite';
		//alert('check1');
		$.post(
			req_url,
			{"fav_id": status_id},
			function(data,status){
				if(status == 'success'){
					if (data.msg == 'updated') {
						//alert('favorite!');
						clicked.css('background', 'url(../images/fav_star2.gif)');
					}else{
						alert('エラーが発生しました');
					}
					//alert('fav chk2');
				}else{
					alert('お気に入りの追加に失敗しました');
				}
			},
			'json'
		);
	});
	
	// 削除
	$("#content_tweet .del").click(function(e){
		// login check
		if (check_login()) { return false; }
		
		if (!window.confirm('このツイートを本当に削除しますか？')){ return false; }
		
		var clicked = $(e.target);
		
		// Get data
		var status_id = clicked.parent().parent().parent().attr('id').replace(/t_/, '');
		
		var req_url = site_url + 'module/log/destroy';
		//alert('check1');
		$.post(
			req_url,
			{"status_id": status_id},
			function(data,status){
				if(status == 'success'){
					if (data.msg == 'updated') {
						$("#content_tweet #t_" + status_id).slideUp('fast');
					}else{
						//alert(data.msg);
						alert('エラーが発生しました');
					}
				}else{
					alert('ツイートの削除に失敗しました');
				}
			},
			'json'
		);
	});
	
	// しおり
	$("#content_tweet .bookmark").click(function(e){
		// login check
		if (check_login()) { return false; }
		
		var clicked = $(e.target);
		
		// Get data
		var status_id = clicked.parent().parent().parent().attr('id').replace(/t_/, '');
		var user = clicked.parent().children('a.user_id').text();
		var icon = clicked.parent().prev().children().children().attr('src');
		var tweet = tw_plain['t' + status_id];
		
		show_modal_bookmark_form(status_id, user, icon, tweet);
	});
	
});

// ログイン確認
function check_login() {
	//return false;
	
	if (user_id === undefined) {
		show_modal_login_form();
		return true;
	}else{
		return false;
	}
}

//===================================================//
//ツールチップ
/*
$(function(){
	// 返信
	$("#content_tweet .reply").mouseover(function(e){
		if (toolTip_on == true) { return false; }
		toolTip_on = true;
		var clicked = $(e.target);
		var text	= clicked.text();
		var left	= clicked.offset().left;
		var top		= clicked.offset().top + 27;
		//alert(text);
		text = '<div class="toolTip" style="left:' + left + 'px;top:' + top + 'px;width:41px;">' + text + '</div>';
		clicked.text('');
		clicked.append(text);
	});
	$("#content_tweet .reply").mouseout(function(e){
		if (!toolTip_on) { return false; }
		$("#content_tweet .reply .toolTip").remove();
		var clicked = $(e.target);
		clicked.text('返信する');
		toolTip_on = false;
	});
	
	// リツイート
	$("#content_tweet .retweet").mouseover(function(e){
		if (toolTip_on == true) { return false; }
		toolTip_on = true;
		var clicked = $(e.target);
		var text	= clicked.text();
		var left	= clicked.offset().left;
		var top		= clicked.offset().top + 27;
		//alert(text);
		text = '<div class="toolTip" style="left:' + left + 'px;top:' + top + 'px;width:52px;">' + text + '</div>';
		clicked.text('');
		clicked.append(text);
	});
	$("#content_tweet .retweet").mouseout(function(e){
		if (!toolTip_on) { return false; }
		$("#content_tweet .retweet .toolTip").remove();
		var clicked = $(e.target);
		clicked.text('リツイート');
		toolTip_on = false;
	});
	
	// ふぁぼ
	$("#content_tweet .fav").mouseover(function(e){
		if (toolTip_on == true) { return false; }
		toolTip_on = true;
		var clicked = $(e.target);
		var text	= clicked.text();
		var left	= clicked.offset().left;
		var top		= clicked.offset().top + 27;
		//alert(text);
		text = '<div class="toolTip" style="left:' + left + 'px;top:' + top + 'px;width:42px;">' + text + '</div>';
		clicked.text('');
		clicked.append(text);
	});
	$("#content_tweet .fav").mouseout(function(e){
		if (!toolTip_on) { return false; }
		$("#content_tweet .fav .toolTip").remove();
		var clicked = $(e.target);
		clicked.text('ふぁぼる');
		toolTip_on = false;
	});
	
	// しおり
	$("#content_tweet .bookmark").mouseover(function(e){
		if (toolTip_on == true) { return false; }
		toolTip_on = true;
		var clicked = $(e.target);
		var text	= clicked.text();
		var left	= clicked.offset().left;
		var top		= clicked.offset().top + 27;
		//alert(text);
		text = '<div class="toolTip" style="left:' + left + 'px;top:' + top + 'px;width:63px;">' + text + '</div>';
		clicked.text('');
		clicked.append(text);
	});
	$("#content_tweet .bookmark").mouseout(function(e){
		if (!toolTip_on) { return false; }
		$("#content_tweet .bookmark .toolTip").remove();
		var clicked = $(e.target);
		clicked.text('しおりを作る');
		toolTip_on = false;
	});
});
*/
//===================================================//
//マスクをウインドウ全体に表示
function show_mask_window(alpha) {
	//var width = $(window).width();
	//var height = $(window).height();
	var width = $("#wrap").width();
	var height = $("#wrap").height();
	//alert(width + ' : ' + height);
	
	$("#wrap").prepend("<div id='window_mask'>&nbsp;</div>");
	//$("#wrap #window_mask").prepend(notice_window);
	
	$("#wrap #window_mask").css("position","absolute");
	$("#wrap #window_mask").css("z-index","999");
	$("#wrap #window_mask").css("top","0");
	$("#wrap #window_mask").css("left","0");
	$("#wrap #window_mask").css("width",width);
	$("#wrap #window_mask").css("height",height);
	$("#wrap #window_mask").css("text-align",'center');
	$("#wrap #window_mask").css("background-color","#000000");
	
	$("#window_mask").fadeTo('fast', alpha);
	window_mask_on = true;
}

//===================================================//
//返信ダイアログを表示する
function show_modal_reply_form(status_id, user, type, text) {
	//type = 1 -> リツイート
	//type = 0 -> リプライ
	//alert('check');
	
	//ウインドウ位置、サイズを生成
	var modal_win_w = 500;
	var modal_win_h = 210;
	var modal_win_border_w = modal_win_w + 10;
	var modal_win_border_h = modal_win_h + 10;
	
	var width = $(window).width();
	var height = $(window).height();
	var textarea_height;
	
	var modal_win_top = Math.round((height - modal_win_h) / 2);
	var modal_win_border_top = Math.round((height - modal_win_border_h) / 2);
	
	//ウインドウタイトル、内容を生成
	var modal_title;
	var modal_content;
	var modal_button;
	if (type == 1) {
		modal_title = 'リツイート';
		modal_content = 'RT @' + user + ': ' + text;
		modal_button = "<img src='" + site_url + "images/modal_win_tweet_cancel.gif' width='86' height='25' alt='' id='cancel' style='float:right;margin-top:10px;margin-left:10px;cursor:pointer' /><img src='" + site_url + "images/modal_win_tweet_submit.gif' width='86' height='25' alt='コメント付きRT' title='コメント付きRT' id='submit' style='float:right;margin-top:10px;margin-left:10px;cursor:pointer' /><img src='" + site_url + "images/modal_win_tweet_retweet.gif' width='86' height='25' alt='公式リツイート' title='公式リツイート' id='retweet' style='float:right;margin-top:10px;cursor:pointer' />";
	}else{
		modal_title = user + 'へ返信';
		modal_content = '@' + user + ' ';
		modal_button = "<img src='" + site_url + "images/modal_win_tweet_cancel.gif' width='86' height='25' alt='' id='cancel' style='float:right;margin-top:10px;margin-left:10px;cursor:pointer' /><img src='" + site_url + "images/modal_win_tweet_submit.gif' width='86' height='25' alt='' id='submit' style='float:right;margin-top:10px;cursor:pointer' />";
	}
	
	//ウインドウ背景（黒バック）を生成
	$("#wrap").prepend("<div id='mask_b'></div>");
	$("#wrap #mask_b").css("position","fixed");
	$("#wrap #mask_b").css("z-index","999");
	$("#wrap #mask_b").css("top","0");
	$("#wrap #mask_b").css("left","0");
	$("#wrap #mask_b").css("width",width);
	$("#wrap #mask_b").css("height",height);
	$("#wrap #mask_b").css("text-align",'center');
	
	$("#wrap #mask_b").prepend("<div id='modal_win_border'>&nbsp;</div>");
	$("#wrap #mask_b #modal_win_border").css("margin-left","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-right","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-top", modal_win_border_top);
	$("#wrap #mask_b #modal_win_border").css("width", modal_win_border_w);
	$("#wrap #mask_b #modal_win_border").css("height", modal_win_border_h);
	$("#wrap #mask_b #modal_win_border").css("text-align",'center');
	$("#wrap #mask_b #modal_win_border").css("background-color","#000000");
	$("#wrap #mask_b #modal_win_border").css("filter","alpha(opacity=80)");
	$("#wrap #mask_b #modal_win_border").css("-moz-opacity","0.80");
	$("#wrap #mask_b #modal_win_border").css("opacity","0.80");
	$("#wrap #mask_b #modal_win_border").css("-webkit-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("-moz-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("border-radius","5px");
	$("#wrap #mask_b").show();
	
	//ウインドウ本体を生成
	$("#wrap").prepend("<div id='mask'></div>");
	$("#wrap #mask").css("position","fixed");
	$("#wrap #mask").css("z-index","1000");
	$("#wrap #mask").css("top","0");
	$("#wrap #mask").css("left","0");
	$("#wrap #mask").css("width",width);
	$("#wrap #mask").css("height",height);
	$("#wrap #mask").css("text-align",'center');
	
	//Firefox対策
	var textarea_h;
	if(jQuery.browser.mozilla){
		textarea_h = 4;
		textarea_height = 95;
	}else{
		textarea_h = 6;
		textarea_height = 95;
	}
	
	$("#wrap #mask").prepend("<div id='modal_win'></div>");
	$("#wrap #mask #modal_win").append("<div style='font-weight:bold;color:white;font-size:14px;margin-left:5px;margin-bottom:5px;line-height:30px;'>" + modal_title + "</div>");
	$("#wrap #mask #modal_win").append("<div id='modal_form'><form><textarea id='textarea' wrap='soft' rows='" + textarea_h +  "' cols='20' style='-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:1px solid #cccccc;padding:6px;font-size:100%;font-family:Verdana;outline:none;width:" + (modal_win_w - 42) + "px;height:"+textarea_height+"px;'>" + modal_content  + "</textarea>" + modal_button + "<br clear='all' /></form></div>");
	$("#wrap #mask #modal_win").css("margin-left","auto");
	$("#wrap #mask #modal_win").css("margin-right","auto");
	$("#wrap #mask #modal_win").css("margin-top", modal_win_top);
	$("#wrap #mask #modal_win").css("width", modal_win_w);
	$("#wrap #mask #modal_win").css("height", modal_win_h);
	$("#wrap #mask #modal_win").css("text-align",'left');
	$("#wrap #mask #modal_win #modal_form").css("background-color","#ffffff");
	$("#wrap #mask #modal_win #modal_form").css("padding","15px 15px 15px 15px");
	$("#wrap #mask #modal_win #modal_form").css("-webkit-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("-moz-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("border-radius","5px");
	$("#wrap #mask").show();
	
	//文字数カウント
	$("#wrap #mask #modal_win #textarea").charCount();
	
	//ボタンマウスオーバー
	$('#wrap #mask #modal_win img').mouseover(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	$('#wrap #mask #modal_win img').mouseup(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	
	//キャンセルボタン
	$("#wrap #mask #modal_win #cancel").click(function() {
			$("#wrap #mask").fadeOut('normal');
			$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
		});
	
	//リツイートボタン
	if (type == 1) {
		//リツイート実行
		$("#wrap #mask #modal_win #retweet").click(function() {
			if (window.confirm('公式リツイートしますか？')){
				send_retweet(status_id);
			}
		});
	}
	//ツイートボタン
	$("#wrap #mask #modal_win #submit").click(function() {
		var s = $("#wrap #mask #modal_win #textarea").val();
		if (type == 1) {
			send_reply_tweet('', s);
		}else{
			send_reply_tweet(status_id, s);
		}
	});
	
	//テキストエリアにフォーカス
	$("#wrap #mask #modal_win #textarea").focus();
	
	//フラグをオンに
	modal_win_on = true;
}

//===================================================//
//モーダルダイアログ（アカウント一覧のローディング）を表示する
function show_modal_viewers_loading() {
	//alert(user_id);
	
	// login check
	if (check_login()) { return false; }
	
	//ウインドウ位置、サイズを生成
	var modal_win_w = 200;
	var modal_win_h = 153;
	var modal_win_border_w = modal_win_w + 10;
	var modal_win_border_h = modal_win_h + 10;
	
	var width = $(window).width();
	var height = $(window).height();
	
	var modal_win_top = Math.round((height - modal_win_h) / 2);
	var modal_win_border_top = Math.round((height - modal_win_border_h) / 2);
	
	//ウインドウタイトル、内容を生成
	var modal_content;
	var modal_button;
	modal_content = 'ツイートユーザ一覧の読み込み中';
	modal_button = "<img src='" + site_url + "images/modal_win_tweet_cancel.gif' width='86' height='25' alt='' id='cancel' style='cursor:pointer' />";
	
	//ウインドウ背景（黒バック）を生成
	$("#wrap").prepend("<div id='mask_b'></div>");
	$("#wrap #mask_b").hide();
	$("#wrap #mask_b").css("position","fixed");
	$("#wrap #mask_b").css("z-index","999");
	$("#wrap #mask_b").css("top","0");
	$("#wrap #mask_b").css("left","0");
	$("#wrap #mask_b").css("width",width);
	$("#wrap #mask_b").css("height",height);
	$("#wrap #mask_b").css("text-align",'center');
	
	$("#wrap #mask_b").prepend("<div id='modal_win_border'>&nbsp;</div>");
	
	$("#wrap #mask_b #modal_win_border").css("margin-left","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-right","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-top", modal_win_border_top);
	$("#wrap #mask_b #modal_win_border").css("width", modal_win_border_w);
	$("#wrap #mask_b #modal_win_border").css("height", modal_win_border_h);
	$("#wrap #mask_b #modal_win_border").css("text-align",'center');
	$("#wrap #mask_b #modal_win_border").css("background-color","#000000");
	$("#wrap #mask_b #modal_win_border").css("filter","alpha(opacity=70)");
	$("#wrap #mask_b #modal_win_border").css("-moz-opacity","0.70");
	$("#wrap #mask_b #modal_win_border").css("opacity","0.70");
	$("#wrap #mask_b #modal_win_border").css("-webkit-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("-moz-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("border-radius","5px");
	
	$("#wrap #mask_b").fadeIn('slow');
	
	//ウインドウ本体を生成
	$("#wrap").prepend("<div id='mask'></div>");
	$("#wrap #mask").hide();
	$("#wrap #mask").css("position","fixed");
	$("#wrap #mask").css("z-index","1000");
	$("#wrap #mask").css("top","0");
	$("#wrap #mask").css("left","0");
	$("#wrap #mask").css("width",width);
	$("#wrap #mask").css("height",height);
	$("#wrap #mask").css("text-align",'center');
	
	$("#wrap #mask").prepend("<div id='modal_win'></div>");
	$("#wrap #mask #modal_win").append("<div id='modal_form'><div id='account_list'>&nbsp;</div><div style='font-size:10px;color:#888;line-height:50px;'>" + modal_content + "</div>" + modal_button + "<br clear='all' /></div>");
	$("#wrap #mask #modal_win").css("margin-left","auto");
	$("#wrap #mask #modal_win").css("margin-right","auto");
	$("#wrap #mask #modal_win").css("margin-top", modal_win_top);
	$("#wrap #mask #modal_win").css("width", modal_win_w);
	$("#wrap #mask #modal_win").css("height", modal_win_h);
	$("#wrap #mask #modal_win").css("text-align",'left');
	$("#wrap #mask #modal_win #modal_form").css("background-color","#ffffff");
	//$("#wrap #mask #modal_win #modal_form").css("background-color","#000000");
	$("#wrap #mask #modal_win #modal_form").css("padding","15px 15px 15px 15px");
	$("#wrap #mask #modal_win #modal_form").css("-webkit-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("-moz-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("text-align",'center');
	
	$("#wrap #mask #modal_win #modal_form #account_list").css("margin-left","auto");
	$("#wrap #mask #modal_win #modal_form #account_list").css("margin-right","auto");
	$("#wrap #mask #modal_win #modal_form #account_list").css("width","48px");
	$("#wrap #mask #modal_win #modal_form #account_list").css("height","48px");
	$("#wrap #mask #modal_win #modal_form #account_list").css("background","url('" + site_url + "/images/user_loading.gif') no-repeat");
	$("#wrap #mask #modal_win #modal_form #account_list").css("background-position","center center");
	//$("#wrap #mask #modal_win #modal_form #account_list").css("overflow","scroll");
	
	$("#wrap #mask").fadeIn('slow');
	
	//ボタンマウスオーバー
	$('#wrap #mask #modal_win img').mouseover(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	$('#wrap #mask #modal_win img').mouseup(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	
	//キャンセルボタン
	$("#wrap #mask #modal_win #cancel").click(function() {
			$("#wrap #mask").fadeOut('normal');
			$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
		});
	
	//フラグをオンに
	modal_win_viewers_on = true;
	
	//アカウント一覧のリクエスト
	var req_url = site_url + 'module/log/viewers';
	//alert('check1');
	$.post(
		req_url,
		{"channel": channel_id},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					$("#wrap #mask").fadeOut('normal');
					$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form_to_show_viewers(data));
				}else{
					//alert(data.msg);
					alert('エラーが発生しました');
					$("#wrap #mask").fadeOut('normal');
					$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
				}
			}else{
				alert('アカウント一覧の取得に失敗しました');
				$("#wrap #mask").fadeOut('normal');
				$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
			}
		},
		'json'
	);
}

//モーダルダイアログ（アカウント一覧）を表示する
function show_modal_viewers(data) {
	//ウインドウ位置、サイズを生成
	var modal_win_w = 600;
	var modal_win_h = 600;
	var modal_win_border_w = modal_win_w + 10;
	var modal_win_border_h = modal_win_h + 10;
	
	var width = $(window).width();
	var height = $(window).height();
	
	var modal_win_top = Math.round((height - modal_win_h) / 2);
	var modal_win_border_top = Math.round((height - modal_win_border_h) / 2);
	
	//ウインドウタイトル、内容を生成
	var modal_title;
	var modal_content;
	var modal_button;
	modal_title = 'このチャンネルのツイートユーザ一覧';
	modal_content = '';
	modal_button = "<img src='" + site_url + "images/modal_win_tweet_close.gif' width='86' height='25' alt='' id='cancel' style='float:right;margin-top:10px;margin-left:10px;cursor:pointer' />";
	
	//ウインドウ背景（黒バック）を生成
	$("#wrap").prepend("<div id='mask_b'></div>");
	$("#wrap #mask_b").css("position","fixed");
	$("#wrap #mask_b").css("z-index","999");
	$("#wrap #mask_b").css("top","0");
	$("#wrap #mask_b").css("left","0");
	$("#wrap #mask_b").css("width",width);
	$("#wrap #mask_b").css("height",height);
	$("#wrap #mask_b").css("text-align",'center');
	
	$("#wrap #mask_b").prepend("<div id='modal_win_border'>&nbsp;</div>");
	$("#wrap #mask_b #modal_win_border").css("margin-left","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-right","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-top", modal_win_border_top);
	$("#wrap #mask_b #modal_win_border").css("width", modal_win_border_w);
	$("#wrap #mask_b #modal_win_border").css("height", modal_win_border_h);
	$("#wrap #mask_b #modal_win_border").css("text-align",'center');
	$("#wrap #mask_b #modal_win_border").css("background-color","#000000");
	$("#wrap #mask_b #modal_win_border").css("filter","alpha(opacity=70)");
	$("#wrap #mask_b #modal_win_border").css("-moz-opacity","0.70");
	$("#wrap #mask_b #modal_win_border").css("opacity","0.70");
	$("#wrap #mask_b #modal_win_border").css("-webkit-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("-moz-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("border-radius","5px");
	$("#wrap #mask_b").show();
	
	//ウインドウ本体を生成
	$("#wrap").prepend("<div id='mask'></div>");
	$("#wrap #mask").css("position","fixed");
	$("#wrap #mask").css("z-index","1000");
	$("#wrap #mask").css("top","0");
	$("#wrap #mask").css("left","0");
	$("#wrap #mask").css("width",width);
	$("#wrap #mask").css("height",height);
	$("#wrap #mask").css("text-align",'center');
	
	$("#wrap #mask").prepend("<div id='modal_win'></div>");
	$("#wrap #mask #modal_win").append("<div style='font-weight:bold;color:white;font-size:14px;margin-left:5px;margin-bottom:5px;line-height:30px;'>" + modal_title + "</div>");
	$("#wrap #mask #modal_win").append("<div id='modal_form'><div id='account_list'></div>" + modal_button + "<br clear='all' /></div>");
	$("#wrap #mask #modal_win").css("margin-left","auto");
	$("#wrap #mask #modal_win").css("margin-right","auto");
	$("#wrap #mask #modal_win").css("margin-top", modal_win_top);
	$("#wrap #mask #modal_win").css("width", modal_win_w);
	$("#wrap #mask #modal_win").css("height", modal_win_h);
	$("#wrap #mask #modal_win").css("text-align",'left');
	$("#wrap #mask #modal_win #modal_form").css("background-color","#ffffff");
	//$("#wrap #mask #modal_win #modal_form").css("background-color","#000000");
	$("#wrap #mask #modal_win #modal_form").css("padding","15px 15px 15px 15px");
	$("#wrap #mask #modal_win #modal_form").css("-webkit-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("-moz-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("text-align",'center');
	
	$("#wrap #mask #modal_win #modal_form #account_list").css("margin-left","auto");
	$("#wrap #mask #modal_win #modal_form #account_list").css("margin-right","auto");
	$("#wrap #mask #modal_win #modal_form #account_list").css("overflow","auto");
	$("#wrap #mask #modal_win #modal_form #account_list").css("height", (modal_win_h - 100));
	
	var bgColor = '';
	var us = '';
	var us_l = '';
	$("#wrap #mask #modal_win #modal_form #account_list").prepend("<ul style='margin:0;padding:0;'></ul>");
	for (var i in data) {
		if (data[i].user_id === undefined) { continue; }
		us = data[i].user_id;
		us_l = us.toLowerCase();
		
		if ($.inArray(us_l, modal_win_viewers_user_ary) != -1) { continue; } //重複チェック
		
		if (bgColor == '') { bgColor = 'background:#f5f5f5;'; }else{ bgColor = ''; }
		$("#wrap #mask #modal_win #modal_form #account_list ul").append("<li style='width:170px;float:left;list-style-type:none;text-align:left;padding:5px 5px 5px 5px;font-size:77%;color:#666666;" + bgColor + "'><a href='" + data[i].url + "' target='_blank' style='border:0;'><img src='" + data[i].icon +"' width='30' height='30' style='vertical-align:middle;margin-right:5px;' alt='" + us +  "'/></a>" + us + "</li>");
		
		modal_win_viewers_user_ary.push(us_l);
	}
	//$("#wrap #mask #modal_win #modal_form #account_list ul").append("<br clear='all' />");
	
	$("#wrap #mask").show();
	
	//@anywhere
	twttr.anywhere(function(T) {
		T("#wrap #mask #modal_win #modal_form #account_list img").hovercards({ username: function(node) { return node.alt; } });
	});
	
	//ボタンマウスオーバー
	$('#wrap #mask #modal_win img').mouseover(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	$('#wrap #mask #modal_win img').mouseup(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	
	//キャンセルボタン
	$("#wrap #mask #modal_win #cancel").click(function() {
			modal_win_viewers_on = false;
			modal_win_viewers_loading = false;
			modal_win_viewers_page = 0;
			modal_win_viewers_user_ary = new Array();
			$("#wrap #mask").fadeOut('normal');
			$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
		});
	
	$("#wrap #mask #modal_win #modal_form #account_list").scroll(function() {
			if (modal_win_viewers_loading == false) { modal_win_viewers_scrollalert(); }
		});
	
	//フラグをオンに
	modal_win_viewers_on = true;
}

//===================================================//
//視聴者リストの次ページ読み込み
function modal_win_viewers_scrollalert(){
	var scrolltop=$("#wrap #mask #modal_win #modal_form #account_list").attr('scrollTop');
	var scrollheight=$("#wrap #mask #modal_win #modal_form #account_list").attr('scrollHeight');
	var windowheight=$("#wrap #mask #modal_win #modal_form #account_list").attr('clientHeight');
	var scrolloffset=100;
	
	//新しいアイテムをロード
	if(scrolltop>=(scrollheight-(windowheight+scrolloffset)))
	{
		modal_win_viewers_loading = true; //ロードフラグオン
		modal_win_viewers_page++; //次ページへ
		//alert(modal_win_viewers_page);
		
		//アカウント一覧のリクエスト
		var req_url = site_url + 'module/log/viewers';
		//alert(req_url);
		$.post(
			req_url,
			{"channel": channel_id, "page": modal_win_viewers_page},
			function(data,status){
				if(status == 'success'){
					if (data.msg == 'updated') {
						//alert(data.msg);
						var bgColor = '';
						var us = '';
						var us_l = '';
						for (var i in data) {
							if (data[i].user_id === undefined) { continue; }
							us = data[i].user_id;
							us_l = us.toLowerCase();
							
							if ($.inArray(us_l, modal_win_viewers_user_ary) != -1) { continue; } //重複チェック
							if (bgColor == '') { bgColor = 'background:#f5f5f5;'; }else{ bgColor = ''; }
							$("#wrap #mask #modal_win #modal_form #account_list ul").append("<li style='width:170px;float:left;list-style-type:none;text-align:left;padding:5px 5px 5px 5px;font-size:77%;color:#666666;" + bgColor + "'><a href='" + data[i].url + "' target='_blank' style='border:0;'><img src='" + data[i].icon +"' width='30' height='30' style='vertical-align:middle;margin-right:5px;' alt='" + us +  "'/></a>" + us + "</li>");
							
							modal_win_viewers_user_ary.push(us_l);
						}
						//alert(data.msg);
						
						modal_win_viewers_loading = false;
					}else{
						//alert(data.msg);
						alert('エラーが発生しました');
						modal_win_viewers_loading = false;
					}
				}else{
					alert('アカウント一覧の取得に失敗しました');
					modal_win_viewers_loading = false;
				}
			},
			'json'
		);
	}
}

//===================================================//
//モーダルダイアログをHTMLソースから削除
function remove_modal_reply_form_to_show_viewers(data) {
	$("#wrap #mask").remove();
	$("#wrap #mask_b").remove();
	modal_win_on = false;
	modal_win_viewers_on = false;
	
	show_modal_viewers(data);
}

//===================================================//
//リプライ処理実行
function send_reply_tweet(status_id, tweet) {
	var req_url = site_url + 'module/log/reply';
	//alert('check1');
	//alert(status_id + ' : ' + tweet);
	
	/*
	tweet = tweet.replace(/&nbsp;/g," ");
	tweet = tweet.replace(/&#40;/g,"(");
	tweet = tweet.replace(/&#41;/g,")");
	*/
	
	$.post(
		req_url,
		{"status_id": status_id, "tweet": tweet},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					//$(target_id).slideUp('fast');
					$("#wrap #mask").fadeOut('normal');
					$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
				}else{
					//alert(data.msg);
					alert('UstweetでTwitterにサインインしてください');
				}
			}else{
				alert('返信に失敗しました');
			}
		},
		'json'
	);
}

//===================================================//
//リツイート処理実行
function send_retweet(status_id) {
	var req_url = site_url + 'module/log/retweet';
	//alert('check1');
	
	$.post(
		req_url,
		{"status_id": status_id},
		function(data,status){
			if(status == 'success'){
				if (data.msg == 'updated') {
					//$(target_id).slideUp('fast');
					$("#wrap #mask").fadeOut('normal');
					$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
				}else{
					//alert(data.msg);
					alert('UstweetでTwitterにサインインしてください');
				}
			}else{
				alert('リツイートに失敗しました');
			}
		},
		'json'
	);
}

//===================================================//
//ブックマークダイアログを表示する
function show_modal_bookmark_form(status_id, user, icon, text) {
	//type = 1 -> リツイート
	//type = 0 -> リプライ
	//alert('check');
	
	//ウインドウ位置、サイズを生成
	var modal_win_w = 500;
	var modal_win_h = 350;
	var modal_win_border_w = modal_win_w + 10;
	var modal_win_border_h = modal_win_h + 10;
	
	var width = $(window).width();
	var height = $(window).height();
	var textarea_height;
	
	var modal_win_top = Math.round((height - modal_win_h) / 2);
	var modal_win_border_top = Math.round((height - modal_win_border_h) / 2);
	
	//ウインドウタイトル、内容を生成
	var modal_title;
	var modal_content;
	var modal_button;
	modal_title = 'このツイートから、しおりを新しく作ります';
	modal_button = "<div style='float:right;' id='button'><img src='" + site_url + "images/modal_win_tweet_cancel.gif' width='86' height='25' alt='' id='cancel' style='float:right;margin-top:20px;margin-left:10px;cursor:pointer' /><img src='" + site_url + "images/modal_win_submit_save.gif' width='86' height='25' alt='しおりを作る' title='しおりを作る' id='submit' style='float:right;margin-top:20px;margin-left:10px;cursor:pointer' /></div>";
	
	//ウインドウ背景（黒バック）を生成
	$("#wrap").prepend("<div id='mask_b'></div>");
	$("#wrap #mask_b").css("position","fixed");
	$("#wrap #mask_b").css("z-index","999");
	$("#wrap #mask_b").css("top","0");
	$("#wrap #mask_b").css("left","0");
	$("#wrap #mask_b").css("width",width);
	$("#wrap #mask_b").css("height",height);
	$("#wrap #mask_b").css("text-align",'center');
	
	$("#wrap #mask_b").prepend("<div id='modal_win_border'>&nbsp;</div>");
	$("#wrap #mask_b #modal_win_border").css("margin-left","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-right","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-top", modal_win_border_top);
	$("#wrap #mask_b #modal_win_border").css("width", modal_win_border_w);
	$("#wrap #mask_b #modal_win_border").css("height", modal_win_border_h);
	$("#wrap #mask_b #modal_win_border").css("text-align",'center');
	$("#wrap #mask_b #modal_win_border").css("background-color","#000000");
	$("#wrap #mask_b #modal_win_border").css("filter","alpha(opacity=80)");
	$("#wrap #mask_b #modal_win_border").css("-moz-opacity","0.80");
	$("#wrap #mask_b #modal_win_border").css("opacity","0.80");
	$("#wrap #mask_b #modal_win_border").css("-webkit-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("-moz-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("border-radius","5px");
	$("#wrap #mask_b").show();
	
	//ウインドウ本体を生成
	$("#wrap").prepend("<div id='mask'></div>");
	$("#wrap #mask").css("position","fixed");
	$("#wrap #mask").css("z-index","1000");
	$("#wrap #mask").css("top","0");
	$("#wrap #mask").css("left","0");
	$("#wrap #mask").css("width",width);
	$("#wrap #mask").css("height",height);
	$("#wrap #mask").css("text-align",'center');
	
	//Firefox対策
	var textarea_h;
	if(jQuery.browser.mozilla){
		textarea_h = 4;
		textarea_height = 70;
	}else{
		textarea_h = 5;
		textarea_height = 88;
	}
	
	$("#wrap #mask").prepend("<div id='modal_win'></div>");
	$("#wrap #mask #modal_win").append("<div style='font-weight:bold;color:white;font-size:14px;margin-left:5px;margin-bottom:5px;line-height:30px;'>" + modal_title + "</div>");
	$("#wrap #mask #modal_win").append("<div id='modal_form'><div style='float:left;font-size:77%;'><img src='" + icon + "' alt='' width='40' height='40' style='margin:0px 20px 30px 0px;' /></div>" + "<div style='color:#3d3d3d;margin:0px 0px 30px 0px;height:60px;'><div style='font-weight:bold;margin-bottom:5px;'>" + user + "</div><span style='color:#5d5d5d;font-size:85%;'>" + text + "</span></div><form style='clear:both;'><img src='" + site_url + "images/form_bookmark_title.gif' width='71' height='25' alt='' style='float:left;margin-right:15px;vertical-align:top;' /><input id='bookmark_title' type='text' value='' style='float:left;margin-bottom:20px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:1px solid #cccccc;padding:5px;font-size:93%;font-family:Verdana;outline:none;width:" + (modal_win_w - 154) + "px;'><img src='" + site_url + "images/form_bookmark_comment.gif' width='71' height='25' alt='' style='float:left;margin-right:15px;vertical-align:top;' /><textarea id='bookmark_comment' wrap='soft' rows='" + textarea_h +  "' cols='20' style='float:left;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:1px solid #cccccc;padding:6px;font-size:100%;font-family:Verdana;outline:none;width:" + (modal_win_w - 154) + "px;height:"+textarea_height+"px;'></textarea><br clear='all' />" + modal_button + "<div style='float:left;font-size:77%;color:#888888;margin-top:20px;'>※しおりは公開・共有されます</div><br clear='all' /></form></div>");
	$("#wrap #mask #modal_win").css("margin-left","auto");
	$("#wrap #mask #modal_win").css("margin-right","auto");
	$("#wrap #mask #modal_win").css("margin-top", modal_win_top);
	$("#wrap #mask #modal_win").css("width", modal_win_w);
	$("#wrap #mask #modal_win").css("height", modal_win_h);
	$("#wrap #mask #modal_win").css("text-align",'left');
	$("#wrap #mask #modal_win #modal_form").css("background-color","#ffffff");
	$("#wrap #mask #modal_win #modal_form").css("padding","15px 15px 15px 15px");
	$("#wrap #mask #modal_win #modal_form").css("-webkit-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("-moz-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("border-radius","5px");
	$("#wrap #mask").show();
	
	//文字数カウント
	$("#wrap #mask #modal_win #bookmark_title").charCount({allowed:50,warning:40,css:'counter_bookmark'});
	$("#wrap #mask #modal_win #bookmark_comment").charCount({allowed:200,warning:180,css:'counter_bookmark'});
	
	//ボタンマウスオーバー
	$('#wrap #mask #modal_win #button img').mouseover(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win #button img').mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	$('#wrap #mask #modal_win #button img').mouseup(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win #button img').mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	
	//キャンセルボタン
	$("#wrap #mask #modal_win #cancel").click(function() {
			$("#wrap #mask").fadeOut('normal');
			$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
		});
	
	//ツイートボタン
	$("#wrap #mask #modal_win #submit").click(function() {
		var title	= $("#wrap #mask #modal_win #bookmark_title").val();
		var comment	= $("#wrap #mask #modal_win #bookmark_comment").val();
		send_make_bookmark(status_id, title, comment);
	});
	
	//テキストエリアにフォーカス
	$("#wrap #mask #modal_win #bookmark_title").focus();
	
	//フラグをオンに
	modal_win_on = true;
}

//===================================================//
//フォローツイートフォームを表示する
function show_modal_follow_form(title, text, hashTag, winOpen) {
	//type = 1 -> リツイート
	//type = 0 -> リプライ
	//alert('check');
	
	//ウインドウ位置、サイズを生成
	var modal_win_w = 500;
	var modal_win_h = 210;
	var modal_win_border_w = modal_win_w + 10;
	var modal_win_border_h = modal_win_h + 10;
	
	var width = $(window).width();
	var height = $(window).height();
	var textarea_height;
	
	var modal_win_top = Math.round((height - modal_win_h) / 2);
	var modal_win_border_top = Math.round((height - modal_win_border_h) / 2);
	
	//ウインドウタイトル、内容を生成
	var modal_title;
	var modal_content;
	var modal_button;
	modal_title = title;
	//modal_content = '@' + user + ' ';
	modal_content = text;
	if (hashTag != undefined && hashTag != '') { modal_content += ' ' + hashTag; }
	modal_button = "<img src='" + site_url + "images/modal_win_tweet_cancel.gif' width='86' height='25' alt='' id='cancel' style='float:right;margin-top:10px;margin-left:10px;cursor:pointer' /><img src='" + site_url + "images/modal_win_tweet_submit.gif' width='86' height='25' alt='' id='submit' style='float:right;margin-top:10px;cursor:pointer' />";
	
	//ウインドウ背景（黒バック）を生成
	$("#wrap").prepend("<div id='mask_b'></div>");
	$("#wrap #mask_b").css("position","fixed");
	$("#wrap #mask_b").css("z-index","999");
	$("#wrap #mask_b").css("top","0");
	$("#wrap #mask_b").css("left","0");
	$("#wrap #mask_b").css("width",width);
	$("#wrap #mask_b").css("height",height);
	$("#wrap #mask_b").css("text-align",'center');
	
	$("#wrap #mask_b").prepend("<div id='modal_win_border'>&nbsp;</div>");
	$("#wrap #mask_b #modal_win_border").css("margin-left","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-right","auto");
	$("#wrap #mask_b #modal_win_border").css("margin-top", modal_win_border_top);
	$("#wrap #mask_b #modal_win_border").css("width", modal_win_border_w);
	$("#wrap #mask_b #modal_win_border").css("height", modal_win_border_h);
	$("#wrap #mask_b #modal_win_border").css("text-align",'center');
	$("#wrap #mask_b #modal_win_border").css("background-color","#000000");
	$("#wrap #mask_b #modal_win_border").css("filter","alpha(opacity=80)");
	$("#wrap #mask_b #modal_win_border").css("-moz-opacity","0.80");
	$("#wrap #mask_b #modal_win_border").css("opacity","0.80");
	$("#wrap #mask_b #modal_win_border").css("-webkit-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("-moz-border-radius","5px");
	$("#wrap #mask_b #modal_win_border").css("border-radius","5px");
	$("#wrap #mask_b").show();
	
	//ウインドウ本体を生成
	$("#wrap").prepend("<div id='mask'></div>");
	$("#wrap #mask").css("position","fixed");
	$("#wrap #mask").css("z-index","1000");
	$("#wrap #mask").css("top","0");
	$("#wrap #mask").css("left","0");
	$("#wrap #mask").css("width",width);
	$("#wrap #mask").css("height",height);
	$("#wrap #mask").css("text-align",'center');
	
	//Firefox対策
	var textarea_h;
	if(jQuery.browser.mozilla){
		textarea_h = 4;
		textarea_height = 95;
	}else{
		textarea_h = 6;
		textarea_height = 95;
	}
	
	$("#wrap #mask").prepend("<div id='modal_win'></div>");
	$("#wrap #mask #modal_win").append("<div style='font-weight:bold;color:white;font-size:14px;margin-left:5px;margin-bottom:5px;line-height:30px;'>" + modal_title + "</div>");
	$("#wrap #mask #modal_win").append("<div id='modal_form'><form><textarea id='textarea' wrap='soft' rows='" + textarea_h +  "' cols='20' style='-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:1px solid #cccccc;padding:5px;font-size:93%;font-family:Verdana;outline:none;width:" + (modal_win_w - 42) + "px;height:"+textarea_height+"px;'>" + modal_content  + "</textarea>" + modal_button + "<br clear='all' /></form></div>");
	$("#wrap #mask #modal_win").css("margin-left","auto");
	$("#wrap #mask #modal_win").css("margin-right","auto");
	$("#wrap #mask #modal_win").css("margin-top", modal_win_top);
	$("#wrap #mask #modal_win").css("width", modal_win_w);
	$("#wrap #mask #modal_win").css("height", modal_win_h);
	$("#wrap #mask #modal_win").css("text-align",'left');
	$("#wrap #mask #modal_win #modal_form").css("background-color","#ffffff");
	$("#wrap #mask #modal_win #modal_form").css("padding","15px 15px 15px 15px");
	$("#wrap #mask #modal_win #modal_form").css("-webkit-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("-moz-border-radius","5px");
	$("#wrap #mask #modal_win #modal_form").css("border-radius","5px");
	$("#wrap #mask").show();
	
	//文字数カウント
	$("#wrap #mask #modal_win #textarea").charCount();
	
	//ボタンマウスオーバー
	$('#wrap #mask #modal_win img').mouseover(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mouseout(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	$('#wrap #mask #modal_win img').mouseup(function() {
			$(this).css("filter","alpha(opacity=60)");
			$(this).css("-moz-opacity","0.60");
			$(this).css("opacity","0.60");
		});
	$('#wrap #mask #modal_win img').mousedown(function() {
			$(this).css("filter","alpha(opacity=100)");
			$(this).css("-moz-opacity","1.0");
			$(this).css("opacity","1.0");
		});
	
	//キャンセルボタン
	$("#wrap #mask #modal_win #cancel").click(function() {
			$("#wrap #mask").fadeOut('normal');
			$("#wrap #mask_b").fadeOut('slow', remove_modal_reply_form);
		});
	
	//ツイートボタン
	$("#wrap #mask #modal_win #submit").click(function() {
		var s = $("#wrap #mask #modal_win #textarea").val();
		send_reply_tweet('', s);
	});
	
	//テキストエリアにフォーカス
	$("#wrap #mask #modal_win #textarea").focus();
	
	//フラグをオンに
	modal_win_on = true;
}

