$(document).ready(function(){
    
	favoriteColorArr = ["#FFD5DF","#FFEAD5","#FFFFD5","#D5FFFF","#D5FFDF","#F4EAFF"];
	
	CookieRead();
	
	now_page = 0;//表示ページ
	
	jsonArr = new Array();
	
	cacheRandomNum = "" + Math.floor(Math.random() * 10000);//キャッシュ無効対策
	
	$.getJSON("channel_json.php?date=" + cacheRandomNum, null, function(json){
		cateCountBoolean = true;
		
		jsonArr = json;
		
		RenewMovie();
		
		//並び替え
		if(sortSelector == "SortVeiwerDESC") {
			jsonArr.sort(SortVeiwerDESC);
		} else if(sortSelector == "SortVeiwerASC") {
			jsonArr.sort(SortVeiwerASC);
		} else if(sortSelector == "SortTimeDESC") {
			jsonArr.sort(SortTimeDESC);
		} else if(sortSelector == "SortTimeASC") {
			jsonArr.sort(SortTimeASC);
		}
		
		InnerChange();
		
		RenewCategory();
		
		cateCountBoolean = false;
		
		if(channel_interval != "none") {
			renewInterval = setInterval("RenewChannel()", parseInt(channel_interval));
		}
		
		RenewTime();
	});
	
	
	//ポイントがプレゼントできる配信者
	$.getJSON("channel_bc_json.php?date=" + cacheRandomNum, null, function(json) {
		jsonBCArr = json;
	});
	
	
	//誰かのお気に入り
	$.getJSON("cookie_favorite_json.php?date=" + cacheRandomNum, null, function(json){
		jsonFavoriteArr = json;
	});
	
	if(movie_interval != "none") {
		renewMovieInterval = setInterval("RenewMovie()", parseInt(movie_interval));
	}
	
	
	//カテゴリー　◆追加
	$("div#cate_all").click(function (){
		now_page = 0;
		cateSelector = "";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_game").click(function (){
		now_page = 0;
		cateSelector = "game";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_female").click(function (){
		now_page = 0;
		cateSelector = "female";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_animal").click(function (){
		now_page = 0;
		cateSelector = "animal";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_talk").click(function (){
		now_page = 0;
		cateSelector = "talk";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_painting").click(function (){
		now_page = 0;
		cateSelector = "painting";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_music").click(function (){
		now_page = 0;
		cateSelector = "music";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_cooking").click(function (){
		now_page = 0;
		cateSelector = "cooking";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_handicraft").click(function (){
		now_page = 0;
		cateSelector = "handicraft";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_tv").click(function (){
		now_page = 0;
		cateSelector = "tv";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_outdoor").click(function (){
		now_page = 0;
		cateSelector = "outdoor";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_life").click(function (){
		now_page = 0;
		cateSelector = "life";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_working").click(function (){
		now_page = 0;
		cateSelector = "working";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_programming").click(function (){
		now_page = 0;
		cateSelector = "programming";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_politics").click(function (){
		now_page = 0;
		cateSelector = "politics";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_celebrity").click(function (){
		now_page = 0;
		cateSelector = "celebrity";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_create").click(function (){
		now_page = 0;
		cateSelector = "create";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_etc").click(function (){
		now_page = 0;
		cateSelector = "etc";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_gambling").click(function (){
		now_page = 0;
		cateSelector = "gambling";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_sports").click(function (){
		now_page = 0;
		cateSelector = "sports";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_study").click(function (){
		now_page = 0;
		cateSelector = "study";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_radio").click(function (){
		now_page = 0;
		cateSelector = "radio";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_favorite").click(function (){
		now_page = 0;
		cateSelector = "favorite";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_new").click(function (){
		now_page = 0;
		cateSelector = "new";
		InnerChange();
		CookieWrite();
	});
	
	$("div#cate_ng").click(function (){
		now_page = 0;
		cateSelector = "ng";
		InnerChange();
		CookieWrite();
	});
	
	
	//並び替え
	$("a#sortViewerDesc").click(function (){
		jsonArr.sort(SortVeiwerDESC);
		InnerChange();
		sortSelector = "SortVeiwerDESC";
		CookieWrite();
	});
	
	$("a#sortViewerAsc").click(function (){
		jsonArr.sort(SortVeiwerASC);
		InnerChange();
		sortSelector = "SortVeiwerASC";
		CookieWrite();
	});
	
	$("a#sortTimeDesc").click(function (){
		jsonArr.sort(SortTimeDESC);
		InnerChange();
		sortSelector = "SortTimeDESC";
		CookieWrite();
	});
	
	$("a#sortTimeAsc").click(function (){
		jsonArr.sort(SortTimeASC);
		InnerChange();
		sortSelector = "SortTimeASC";
		CookieWrite();
	});
	
});


//動画自動更新
function AutoRenewMovie(interval) {
	movie_interval = interval;
	CookieWrite();
	if(movie_interval != "none") {
		clearInterval(renewMovieInterval);
		renewMovieInterval = setInterval("RenewMovie()", parseInt(movie_interval));
	} else {
		clearInterval(renewMovieInterval);
	}
}

//動画更新
function RenewMovie() {
	lobbyRandomNum = Math.floor(Math.random() * jsonArr.length);
		
	broadcastInner = "";
	broadcastInner += '      <img src="images/top/broadcast1.png" width="296" height="12" />';
	broadcastInner += '      <div class="broadcast_main">';
	broadcastInner += '        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="296" height="237" id="utv969272">';
	broadcastInner += '        <param name="flashvars" value="autoplay=' + autoplay + '&amp;brand=embed&amp;cid=' + jsonArr[lobbyRandomNum].ustid + '&locale=ja_JP"/>';
	broadcastInner += '        <param name="allowfullscreen" value="true"/>';
	broadcastInner += '        <param name="allowscriptaccess" value="always"/>';
	broadcastInner += '        <param name="movie" value="http://www.ustream.tv/flash/live/1/' + jsonArr[lobbyRandomNum].ustid + '"/>';
	broadcastInner += '        <embed flashvars="autoplay=' + autoplay + '&amp;brand=embed&amp;cid=' + jsonArr[lobbyRandomNum].ustid + '&locale=ja_JP" width="296" height="237" allowfullscreen="true" allowscriptaccess="always" id="utv969272" name="utv_n_559008" src="http://www.ustream.tv/flash/live/1/' + jsonArr[lobbyRandomNum].ustid + '" type="application/x-shockwave-flash" />';
	broadcastInner += '        </object>';
	broadcastInner += '	     </div>';
	broadcastInner += '      <img src="images/top/broadcast2.png" width="296" height="11" />';
	broadcastInner += '      <div class="bc_description">';
	broadcastInner += '      <span class="text_bold"><a href="http://livion.tv/ust/' + jsonArr[lobbyRandomNum].ustid + '/" target="_blank">' + TitleFormat(jsonArr[lobbyRandomNum].title) + '</a></span><br />';
	broadcastInner += '      時間　：　' + TimeFormat(jsonArr[lobbyRandomNum].time) + '<br />';
	broadcastInner += '      ' + DescriptionFormat(jsonArr[lobbyRandomNum].description) + '';
	broadcastInner += '      </div>';
		
	document.getElementById("lobby_broadcast").innerHTML = broadcastInner;
}

//動画自動再生
function AutoPlay(argument) {
	autoplay = argument;
	CookieWrite();
}

//チャンネル自動更新
function AutoRenew(interval) {
	channel_interval = interval;
	CookieWrite();
	if(channel_interval != "none") {
		clearInterval(renewInterval);
		renewInterval = setInterval("RenewChannel()", parseInt(channel_interval));
	} else {
		clearInterval(renewInterval);
	}
}

//チャンネル自動更新　更新時間表示
function RenewTime() {
	now = new Date();
	if(now.getMinutes() < 10) {
		nowMinutes = "0" + now.getMinutes();
	} else {
		nowMinutes = now.getMinutes();
	}
	nowTime = "チャンネル最終更新時間 ： " + now.getFullYear() + "/" + (now.getMonth() + 1) + "/" + now.getDate() + " " + now.getHours() + ":" + nowMinutes;
	document.getElementById("renewal_time").innerHTML = nowTime;
}

//チャンネル更新
function RenewChannel() {
	cacheRandomNum = "" + Math.floor(Math.random() * 10000);//キャッシュ無効対策
	
	$.getJSON("channel_json.php?date=" + cacheRandomNum, null, function(json){
		cateCountBoolean = true;
																		
		jsonArr = json;
		
		//並び替え
		if(sortSelector == "SortVeiwerDESC") {
			jsonArr.sort(SortVeiwerDESC);
		} else if(sortSelector == "SortVeiwerASC") {
			jsonArr.sort(SortVeiwerASC);
		} else if(sortSelector == "SortTimeDESC") {
			jsonArr.sort(SortTimeDESC);
		} else if(sortSelector == "SortTimeASC") {
			jsonArr.sort(SortTimeASC);
		}
		
		InnerChange();
		
		RenewCategory();
		
		cateCountBoolean = false;
		
		RenewTime();
	});
}

//カテゴリー更新
function RenewCategory() {
	//◆追加
	$("div#cate_all").html('<a href="javascript: void 0" class="catestyle">すべて<span class="text_blue">' + cateCountAll + '</span>ch</a>');
	$("div#cate_game").html('<a href="javascript: void 0" class="catestyle">ゲーム<span class="text_blue">' + cateCountGame + '</span>ch</a>');
	$("div#cate_female").html('<a href="javascript: void 0" class="catestyle">女性<span class="text_blue">' + cateCountFemale + '</span>ch</a>');
	$("div#cate_animal").html('<a href="javascript: void 0" class="catestyle">動物<span class="text_blue">' + cateCountAnimal + '</span>ch</a>');
	$("div#cate_talk").html('<a href="javascript: void 0" class="catestyle">雑談<span class="text_blue">' + cateCountTalk + '</span>ch</a>');
	$("div#cate_painting").html('<a href="javascript: void 0" class="catestyle">お絵かき<span class="text_blue">' + cateCountPainting + '</span>ch</a>');
	$("div#cate_music").html('<a href="javascript: void 0" class="catestyle">音楽<span class="text_blue">' + cateCountMusic + '</span>ch</a>');
	$("div#cate_cooking").html('<a href="javascript: void 0" class="catestyle">料理<span class="text_blue">' + cateCountCooking + '</span>ch</a>');
	$("div#cate_handicraft").html('<a href="javascript: void 0" class="catestyle">工作<span class="text_blue">' + cateCountHandicraft + '</span>ch</a>');
	$("div#cate_tv").html('<a href="javascript: void 0" class="catestyle">番組<span class="text_blue">' + cateCountTv + '</span>ch</a>');
	$("div#cate_outdoor").html('<a href="javascript: void 0" class="catestyle">野外<span class="text_blue">' + cateCountOutdoor + '</span>ch</a>');
	$("div#cate_life").html('<a href="javascript: void 0" class="catestyle">生活<span class="text_blue">' + cateCountLife + '</span>ch</a>');
	$("div#cate_working").html('<a href="javascript: void 0" class="catestyle">仕事<span class="text_blue">' + cateCountWorking + '</span>ch</a>');
	$("div#cate_programming").html('<a href="javascript: void 0" class="catestyle">プログラム<span class="text_blue">' + cateCountProgramming + '</span>ch</a>');
	$("div#cate_politics").html('<a href="javascript: void 0" class="catestyle">政治<span class="text_blue">' + cateCountPolitics + '</span>ch</a>');
	
	$("div#cate_celebrity").html('<a href="javascript: void 0" class="catestyle">有名人<span class="text_blue">' + cateCountCelebrity + '</span>ch</a>');
	$("div#cate_create").html('<a href="javascript: void 0" class="catestyle">クリエイト<span class="text_blue">' + cateCountCreate + '</span>ch</a>');
	$("div#cate_etc").html('<a href="javascript: void 0" class="catestyle">その他<span class="text_blue">' + cateCountEtc + '</span>ch</a>');
	$("div#cate_gambling").html('<a href="javascript: void 0" class="catestyle">ギャンブル<span class="text_blue">' + cateCountGambling + '</span>ch</a>');
	$("div#cate_sports").html('<a href="javascript: void 0" class="catestyle">スポーツ<span class="text_blue">' + cateCountSports + '</span>ch</a>');
	$("div#cate_study").html('<a href="javascript: void 0" class="catestyle">学習<span class="text_blue">' + cateCountStudy + '</span>ch</a>');
	$("div#cate_radio").html('<a href="javascript: void 0" class="catestyle">ラジオ<span class="text_blue">' + cateCountRadio + '</span>ch</a>');
	
	$("div#cate_favorite").html('<a href="javascript: void 0" class="catestyle">お気に入り<span class="text_blue">' + cateCountFavorite + '</span>ch</a>');
	$("div#cate_new").html('<a href="javascript: void 0" class="catestyle">新着<span class="text_blue">' + cateCountNew + '</span>ch</a>');
	$("div#cate_ng").html('<a href="javascript: void 0" class="catestyle">NG<span class="text_blue">' + cateCountNg + '</span>ch</a>');
}

//リスト出力
function InnerChange() {
	
	if(cateCountBoolean) {
		//◆追加
		cateCountAll = jsonArr.length;
		cateCountGame = 0;
		cateCountFemale = 0;
		cateCountAnimal = 0;
		cateCountTalk = 0;
		cateCountPainting = 0;
		cateCountMusic = 0;
		cateCountCooking = 0;
		cateCountHandicraft = 0;
		cateCountTv = 0;
		cateCountOutdoor = 0;
		cateCountLife = 0;
		cateCountWorking = 0;
		cateCountProgramming = 0;
		cateCountPolitics = 0;
		
		cateCountCelebrity = 0;
		cateCountCreate = 0;
		cateCountEtc = 0;
		cateCountGambling = 0;
		cateCountSports = 0;
		cateCountStudy = 0;
		cateCountRadio = 0;	
	}
	cateCountFavorite = 0;
	cateCountNew = 0;
	cateCountNg = 0;
	
	var inner = "";
	var listNo = 0;
	
	
	//ページャー用
	now_number = display_number * now_page;
	next_number = now_number + display_number;
	
	
	for (var i = 0; i < jsonArr.length; i++) {
		cateArr = jsonArr[i].cate.split("/---/");
		
		//ランダムにカテゴリーを表示するために配列入れ替え
		for(var j = 0; j < cateArr.length; j++) {
			cateArrRandomNum1 = Math.floor(Math.random() * cateArr.length);
			cateArrRandomNum2 = Math.floor(Math.random() * cateArr.length);
			
			tempCate1 = cateArr[cateArrRandomNum1];
			tempCate2 = cateArr[cateArrRandomNum2];
			cateArr[cateArrRandomNum1] = tempCate2;
			cateArr[cateArrRandomNum2] = tempCate1;
		}
		
		cateNo0 = CategoryFormat(cateArr[0]);
		cateNo1 = CategoryFormat(cateArr[1]);
		cateNo2 = CategoryFormat(cateArr[2]);
		
		
		searchFavorite = -1;
		for (var sfc = 0; sfc < cookie_FavoriteArr.length; sfc++) {
			if(cookie_FavoriteArr[sfc].indexOf(jsonArr[i].ustid) != -1) {
				searchFavorite = sfc;
				cateCountFavorite++;
			}
		}
		
		searchNg = -1;
		for (var snc = 0; snc < cookie_NgArr.length; snc++) {
			if(cookie_NgArr[snc].indexOf(jsonArr[i].ustid) != -1) {
				searchNg = snc;
				cateCountNg++;
			}
		}
		
		if(jsonArr[i].time != 0 && jsonArr[i].time < 1800) {
			cateCountNew++;
		}
		
		if(cateSelector == "favorite" && searchFavorite != -1) {//お気に入り
			if(searchNg == -1) {
				AbbreviationInner();
			}
		} else if(cateSelector == "ng" && searchNg != -1) {//NG
			
			AbbreviationInner();
		
		} else if(cateSelector == "new" && jsonArr[i].time != 0 && jsonArr[i].time < 1800) {//新着
			if(searchNg == -1) {
				AbbreviationInner();
			}
		} else if(cateSelector != "favorite" && cateSelector != "ng" && jsonArr[i].cate.indexOf(cateSelector) != -1) {//それ以外
			if(searchNg == -1) {
				AbbreviationInner();
			}
		}
	}
	
	function AbbreviationInner() {
		listNo++;
		
		if(now_number < listNo && listNo <= next_number) {
			if(jsonArr[i].ustid == 5432002) {
				rii_pass = 'パスワード ： <span class="text_red">1028</span><br /><br />';
			} else {
				rii_pass = "";
			}
			
			inner += '<div class="list_main" id="list_main_' + jsonArr[i].ustid + '">';
			inner += '  <div class="list_rank">' + listNo + '</div>';
			inner += '  <div class="list_thumb"><img src="http://static-cdn2.ustream.tv/livethumb/1_' + jsonArr[i].ustid + '_160x120_b.jpg" width="67" height="50" /></div>';
			inner += '  <div class="list_name">';
			inner += '    <a href="ust/' + jsonArr[i].ustid + '/" target="_blank">' + jsonArr[i].title + '</a> / <a href="http://www.ustream.tv/channel/' + jsonArr[i].channel + '" target="_blank">ust</a>　　' + rii_pass + CutDescription(jsonArr[i].description) + '<br />';
			inner += '    <div class="list_vierwer">' + ViewerFormat(jsonArr[i].viewer) + '</div>';
			inner += '    <div class="list_time">' + TimeFormat(jsonArr[i].time) + '</div>';
			inner += '    <div class="list_cate">' + cateNo0 + '</div>';
			inner += '    <div class="list_cate">' + cateNo1 + '</div>';
			inner += '    <div class="list_cate">' + cateNo2 + '</div>';
			
			if(cateSelector != "ng") {
				inner += '    <div class="list_favorite">　<a href="javascript: void 0" onClick="ManageFavorite(' + jsonArr[i].ustid + ');">お気に入り</a>　</div>';
				inner += '    <div class="list_ng">　<a href="javascript: void 0" onClick="ManageNg(' + jsonArr[i].ustid + ');">NG</a>　</div>';
			} else {
				inner += '    <div class="list_ng">　<a href="javascript: void 0" onClick="ManageNg(' + jsonArr[i].ustid + ');">NG解除</a>　</div>';
			}
			
			inner += '    <div class="list_newwin">　<a href="javascript: void 0" onClick="WindowOpenURL(\'ust/' + jsonArr[i].ustid + '/p/\');">ポップアップ</a></div>';
			inner += '  </div>';
			inner += '</div>';
		}
	}
	
	document.getElementById("channel_list").innerHTML = inner;
	
	
	for (var i = 0; i < cookie_FavoriteArr.length; i++) {
		if($('#list_main_' + cookie_FavoriteArr[i]).size() > 0) {//要素の存在確認
			var colorRandomNum = Math.floor(Math.random() * favoriteColorArr.length);
			document.getElementById('list_main_' + cookie_FavoriteArr[i]).style.backgroundColor = favoriteColorArr[colorRandomNum];
		}
	}
	
	
	//ページャー
	var nop_inner = "";
	number_of_pages = Math.ceil(listNo / display_number);//ページ数
	
	if(number_of_pages < 18) {
		pager_start = 1;
		pager_end = number_of_pages;
	} else if(now_page - 1 >= 8 && number_of_pages - now_page >= 9) {
		pager_start = now_page - 8;
		pager_end = now_page + 9;
	} else if(number_of_pages - now_page >= 9) {
		pager_start = 1;
		pager_end = 18;
	} else {
		pager_start = number_of_pages - 17;
		pager_end = number_of_pages;
	}
	
	nop_inner += '<span class="number_style" id="pager_number_first" onClick="Pager(1);" onMouseOver="PagerMouseOver(\'first\')" onMouseOut="PagerMouseOut(\'first\')"><<</span>';
	nop_inner += '<span class="number_style" id="pager_number_previous" onClick="Pager(' + now_page + ');" onMouseOver="PagerMouseOver(\'previous\')" onMouseOut="PagerMouseOut(\'previous\')">Previous</span>';
	for (var k = pager_start; k <= pager_end; k++) {
		if(now_page != k - 1) {
			nop_inner += '<span class="number_style" id="pager_number_' + k + '" onClick="Pager(' + k + ');" onMouseOver="PagerMouseOver(' + k + ')" onMouseOut="PagerMouseOut(' + k + ')">' + k + '</span>';
		} else {
			nop_inner += '<span class="number_style2">' + k + '</span>';
		}
	}
	nop_inner += '<span class="number_style" id="pager_number_next" onClick="Pager(' + (now_page + 2) + ');" onMouseOver="PagerMouseOver(\'next\')" onMouseOut="PagerMouseOut(\'next\')">Next</span>';
	nop_inner += '<span class="number_style" id="pager_number_last" onClick="Pager(number_of_pages);" onMouseOver="PagerMouseOver(\'last\')" onMouseOut="PagerMouseOut(\'last\')">>></span>';
	
	document.getElementById("pager").innerHTML = nop_inner;
	
	CookieFavorite();//誰かのお気に入り切り替え
}



//ポイントがプレゼントできる配信者
function PointBCInnerChange() {
	
	now_page = 0;
	cateSelector = "";
	
	
	var inner = "";
	var listNo = 0;
	
	
	//ページャー用
	now_number = display_number * now_page;
	next_number = now_number + display_number;
	
	
	for (var i = 0; i < jsonBCArr.length; i++) {
		cateArr = jsonBCArr[i].cate.split("/---/");
		
		//ランダムにカテゴリーを表示するために配列入れ替え
		for(var j = 0; j < cateArr.length; j++) {
			cateArrRandomNum1 = Math.floor(Math.random() * cateArr.length);
			cateArrRandomNum2 = Math.floor(Math.random() * cateArr.length);
			
			tempCate1 = cateArr[cateArrRandomNum1];
			tempCate2 = cateArr[cateArrRandomNum2];
			cateArr[cateArrRandomNum1] = tempCate2;
			cateArr[cateArrRandomNum2] = tempCate1;
		}
		
		cateNo0 = CategoryFormat(cateArr[0]);
		cateNo1 = CategoryFormat(cateArr[1]);
		cateNo2 = CategoryFormat(cateArr[2]);
		
		
		searchFavorite = -1;
		for (var sfc = 0; sfc < cookie_FavoriteArr.length; sfc++) {
			if(cookie_FavoriteArr[sfc].indexOf(jsonBCArr[i].ustid) != -1) {
				searchFavorite = sfc;
				cateCountFavorite++;
			}
		}
		
		searchNg = -1;
		for (var snc = 0; snc < cookie_NgArr.length; snc++) {
			if(cookie_NgArr[snc].indexOf(jsonBCArr[i].ustid) != -1) {
				searchNg = snc;
				cateCountNg++;
			}
		}
		
		if(cateSelector != "favorite" && cateSelector != "ng" && jsonBCArr[i].cate.indexOf(cateSelector) != -1) {//それ以外
			if(searchNg == -1) {
				AbbreviationInner();
			}
		}
	}
	
	function AbbreviationInner() {
		listNo++;
		
		if(now_number < listNo && listNo <= next_number) {
			if(jsonBCArr[i].ustid == 5432002) {
				rii_pass = 'パスワード ： <span class="text_red">1028</span><br /><br />';
			} else {
				rii_pass = "";
			}
			
			inner += '<div class="list_main" id="list_main_' + jsonBCArr[i].ustid + '">';
			inner += '  <div class="list_rank">' + listNo + '</div>';
			inner += '  <div class="list_thumb"><img src="http://static-cdn2.ustream.tv/livethumb/1_' + jsonBCArr[i].ustid + '_160x120_b.jpg" width="67" height="50" /></div>';
			inner += '  <div class="list_name">';
			inner += '    <a href="ust/' + jsonBCArr[i].ustid + '/" target="_blank">' + jsonBCArr[i].title + '</a> / <a href="http://www.ustream.tv/channel/' + jsonBCArr[i].channel + '" target="_blank">ust</a>　　' + rii_pass + CutDescription(jsonBCArr[i].description) + '<br />';
			inner += '    <div class="list_vierwer">' + ViewerFormat(jsonBCArr[i].viewer) + '</div>';
			inner += '    <div class="list_time">' + TimeFormat(jsonBCArr[i].time) + '</div>';
			inner += '    <div class="list_cate">' + cateNo0 + '</div>';
			inner += '    <div class="list_cate">' + cateNo1 + '</div>';
			inner += '    <div class="list_cate">' + cateNo2 + '</div>';
			
			inner += '    <div class="list_favorite">　<a href="javascript: void 0" onClick="ManageFavorite(' + jsonBCArr[i].ustid + ');">お気に入り</a>　</div>';
			inner += '    <div class="list_newwin">　<a href="javascript: void 0" onClick="WindowOpenURL(\'ust/' + jsonBCArr[i].ustid + '/p/\');">ポップアップ</a></div>';
			inner += '  </div>';
			inner += '</div>';
		}
	}
	
	document.getElementById("channel_list").innerHTML = inner;
	
	
	for (var i = 0; i < cookie_FavoriteArr.length; i++) {
		if($('#list_main_' + cookie_FavoriteArr[i]).size() > 0) {//要素の存在確認
			var colorRandomNum = Math.floor(Math.random() * favoriteColorArr.length);
			document.getElementById('list_main_' + cookie_FavoriteArr[i]).style.backgroundColor = favoriteColorArr[colorRandomNum];
		}
	}
	
	
	//ページャー
	var nop_inner = "";
	number_of_pages = Math.ceil(listNo / display_number);//ページ数
	
	if(number_of_pages < 18) {
		pager_start = 1;
		pager_end = number_of_pages;
	} else if(now_page - 1 >= 8 && number_of_pages - now_page >= 9) {
		pager_start = now_page - 8;
		pager_end = now_page + 9;
	} else if(number_of_pages - now_page >= 9) {
		pager_start = 1;
		pager_end = 18;
	} else {
		pager_start = number_of_pages - 17;
		pager_end = number_of_pages;
	}
	
	nop_inner += '<span class="number_style" id="pager_number_first" onClick="Pager(1);" onMouseOver="PagerMouseOver(\'first\')" onMouseOut="PagerMouseOut(\'first\')"><<</span>';
	nop_inner += '<span class="number_style" id="pager_number_previous" onClick="Pager(' + now_page + ');" onMouseOver="PagerMouseOver(\'previous\')" onMouseOut="PagerMouseOut(\'previous\')">Previous</span>';
	for (var k = pager_start; k <= pager_end; k++) {
		if(now_page != k - 1) {
			nop_inner += '<span class="number_style" id="pager_number_' + k + '" onClick="Pager(' + k + ');" onMouseOver="PagerMouseOver(' + k + ')" onMouseOut="PagerMouseOut(' + k + ')">' + k + '</span>';
		} else {
			nop_inner += '<span class="number_style2">' + k + '</span>';
		}
	}
	nop_inner += '<span class="number_style" id="pager_number_next" onClick="Pager(' + (now_page + 2) + ');" onMouseOver="PagerMouseOver(\'next\')" onMouseOut="PagerMouseOut(\'next\')">Next</span>';
	nop_inner += '<span class="number_style" id="pager_number_last" onClick="Pager(number_of_pages);" onMouseOver="PagerMouseOver(\'last\')" onMouseOut="PagerMouseOut(\'last\')">>></span>';
	
	document.getElementById("pager").innerHTML = nop_inner;
	
	CookieFavorite();//誰かのお気に入り切り替え
}



//ページ切り替え
function Pager(arguPage) {
	if(arguPage != 0 && arguPage <= number_of_pages) {
		now_page = arguPage - 1;
		InnerChange();
	}
}

//ページ切り替え　マウスオーバー
function PagerMouseOver(argument) {
	var jointID = "pager_number_" + argument;
	document.getElementById(jointID).style.cursor = "pointer";
	document.getElementById(jointID).style.borderColor = "red";
	document.getElementById(jointID).style.color = "red";
}

//ページ切り替え　マウスアウト
function PagerMouseOut(argument) {
	var jointID = "pager_number_" + argument;
	document.getElementById(jointID).style.cursor = "auto";
	document.getElementById(jointID).style.borderColor = "black";
	document.getElementById(jointID).style.color = "black";
}

//ページ切り替え　表示件数変更
function ChangeDisplayNumber(argument) {
	now_page = 0;
	display_number = parseInt(argument);
	InnerChange();
	CookieWrite();
}

//クッキーを読み込む
function CookieRead() {
	if($.cookie('cookie_ver2')) {
		var cookie_data = $.cookie('cookie_ver2');
		var cookieArr = cookie_data.split("/---/");
		var cookie_SetUpArr = cookieArr[0].split(",");
		cookie_FavoriteArr = cookieArr[1].split(",");
		cookie_NgArr = cookieArr[2].split(",");
		
		
		//◆追加
		movie_interval = cookie_SetUpArr[0];
		if(movie_interval != "none" && movie_interval != "60000" && movie_interval != "180000" && movie_interval != "300000" && movie_interval != "600000") {
			movie_interval = "180000";
		}
		channel_interval = cookie_SetUpArr[1];
		if(channel_interval != "none" && channel_interval != "300000" && channel_interval != "600000" && channel_interval != "1200000" && channel_interval != "2400000") {
			channel_interval = "300000";
		}
		cateSelector = cookie_SetUpArr[2];
		if(cateSelector != "" && cateSelector != "game" && cateSelector != "female" && cateSelector != "animal" && cateSelector != "talk" && cateSelector != "painting" && cateSelector != "music" && cateSelector != "cooking" && cateSelector != "handicraft" && cateSelector != "tv" && cateSelector != "outdoor" && cateSelector != "life" && cateSelector != "working" && cateSelector != "programming" && cateSelector != "politics" && cateSelector != "celebrity" && cateSelector != "create" && cateSelector != "etc" && cateSelector != "gambling" && cateSelector != "sports" && cateSelector != "study" && cateSelector != "radio" && cateSelector != "favorite" && cateSelector != "new" && cateSelector != "ng") {
			cateSelector = "";
		}
		sortSelector = cookie_SetUpArr[3];
		if(sortSelector != "SortVeiwerDESC" && sortSelector != "SortVeiwerASC" && sortSelector != "SortTimeDESC" && sortSelector != "SortTimeASC") {
			sortSelector = "SortVeiwerDESC";
		}
		display_number = parseInt(cookie_SetUpArr[4]);
		if(display_number != 5 && display_number != 10 && display_number != 20 && display_number != 30 && display_number != 50 && display_number != 100 && display_number != 300) {
			display_number = 100;
		}
		autoplay = cookie_SetUpArr[5];
		if(autoplay != "true" && autoplay != "false") {
			autoplay = "true";
		}
		display_size = cookie_SetUpArr[6];
		if(display_size != "xs" && display_size != "s" && display_size != "m" && display_size != "l" && display_size != "xl") {
			display_size = "m";
		}
		cookie_id = cookie_SetUpArr[7];
		if(cookie_id == null) {
			cookie_id = "" + Math.floor(Math.random() * 1000000000);
		}
	} else {
		movie_interval = "180000";
		channel_interval = "300000";
		cateSelector = "";
		sortSelector = "SortVeiwerDESC";
		display_number = 100;
		autoplay = "true";
		display_size = "m";
		cookie_id = "" + Math.floor(Math.random() * 1000000000);
		cookie_FavoriteArr = new Array;
		cookie_NgArr = new Array;
	}
}

//クッキーを書き出す
function CookieWrite() {
	var cookie_setup = movie_interval + "," + channel_interval + "," + cateSelector + "," + sortSelector + "," + display_number + "," + autoplay + "," + display_size + "," + cookie_id;
	var cookie_favorite = cookie_FavoriteArr;
	var cookie_ng = cookie_NgArr;
	var cookie_text = cookie_setup + "/---/" + cookie_favorite + "/---/" + cookie_ng;
	
	$.cookie('cookie_ver2', cookie_text, { expires: 365, path: '/', domain: '.livion.tv' });//cookieの書き込み
}


//お気に入りの背景色変更
function FavoriteColorOn(argument) {
	if($('#list_main_' + argument).size() > 0) {//要素の存在確認
		var colorRandomNum = Math.floor(Math.random() * favoriteColorArr.length);
		document.getElementById('list_main_' + argument).style.backgroundColor = favoriteColorArr[colorRandomNum];
	}
	if($('#list_main_favorite_' + argument).size() > 0) {//要素の存在確認
		var colorRandomNum = Math.floor(Math.random() * favoriteColorArr.length);
		document.getElementById('list_main_favorite_' + argument).style.backgroundColor = favoriteColorArr[colorRandomNum];
	}
}

//お気に入りの背景色を戻す
function FavoriteColorOff(argument) {
	if($('#list_main_' + argument).size() > 0) {//要素の存在確認
		document.getElementById('list_main_' + argument).style.backgroundColor = "white";
	}
	if($('#list_main_favorite_' + argument).size() > 0) {//要素の存在確認
		if($('#list_rank_favorite_' + argument).text() == "ON") {
			document.getElementById('list_main_favorite_' + argument).style.backgroundColor = "white";
		} else {
			document.getElementById('list_main_favorite_' + argument).style.backgroundColor = "#EAEAEA";
		}
	}
}

//お気に入り
function ManageFavorite(argument) {
	var elementnum = -1;
	for (var i = 0; i < cookie_FavoriteArr.length; i++) {
		if(cookie_FavoriteArr[i].indexOf("" + argument) != -1) {
			elementnum = i;
		}
	}
	
	if(elementnum != -1) {
		cateCountFavorite--;
		FavoriteColorOff(argument);
		cookie_FavoriteArr.splice(elementnum,1);
	} else {
		cateCountFavorite++;
		FavoriteColorOn(argument);
		cookie_FavoriteArr.push("" + argument);
	}
	
	cleanFavoriteArr = new Array();
	for (var i = 0; i < cookie_FavoriteArr.length; i++) {
		if(cookie_FavoriteArr[i] != "") {
			cleanFavoriteArr.push(cookie_FavoriteArr[i]);
		}
	}
	cookie_FavoriteArr = cleanFavoriteArr;
	
	CookieWrite();
	$("div#cate_favorite").html('<a href="javascript: void 0" class="catestyle">お気に入り<span class="text_blue">' + cateCountFavorite + '</span>ch</a>');
}

//NG
function ManageNg(argument) {
	var elementnum = -1;
	for (var i = 0; i < cookie_NgArr.length; i++) {
		if(cookie_NgArr[i].indexOf("" + argument) != -1) {
			elementnum = i;
		}
	}
	if(elementnum != -1) {
		cateCountNg--;
		cookie_NgArr.splice(elementnum,1);
	} else {
		cateCountNg++;
		cookie_NgArr.push("" + argument);
		
		var elementFavoriteNum = -1;//お気に入りを削除
		for (var j = 0; j < cookie_FavoriteArr.length; j++) {
			if(cookie_FavoriteArr[j].indexOf("" + argument) != -1) {
				elementFavoriteNum = j;
			}
		}
		if(elementFavoriteNum != -1) {
			cateCountFavorite--;
			cookie_FavoriteArr.splice(elementFavoriteNum,1);
		}
	}
	CookieWrite();
	InnerChange();
	$("div#cate_favorite").html('<a href="javascript: void 0" class="catestyle">お気に入り<span class="text_blue">' + cateCountFavorite + '</span>ch</a>');
	$("div#cate_ng").html('<a href="javascript: void 0" class="catestyle">NG<span class="text_blue">' + cateCountNg + '</span>ch</a>');
}

//並び替え　視聴者数　降順
function SortVeiwerDESC(a, b) {
	sortSelector = "SortVeiwerDESC";
	return b.viewer - a.viewer;
}

//並び替え　視聴者数　昇順
function SortVeiwerASC(a, b) {
	sortSelector = "SortVeiwerASC";
	return a.viewer - b.viewer;
}

//並び替え　時間　降順
function SortTimeDESC(a, b) {
	sortSelector = "SortTimeDESC";
	return b.time - a.time;
}

//並び替え　時間　昇順
function SortTimeASC(a, b) {
	sortSelector = "SortTimeASC";
	return a.time - b.time;
}

//表示サイズ　変更
function ChangeDisplaySize(argument) {
	display_size = argument;
	InnerChange();
	CookieWrite();
}

//表示サイズ　文字数調整　説明
function CutDescription(arguDescription) {
	if(arguDescription != "") {
		switch(display_size) {
			case "xs":
				if(arguDescription.length > 30) {
					var rtDescription = arguDescription.substring(0, 30) + "...";
				} else {
					var rtDescription = arguDescription;
				}
				break;
				
			case "s":
				if(arguDescription.length > 60) {
					var rtDescription = arguDescription.substring(0, 60) + "...";
				} else {
					var rtDescription = arguDescription;
				}
				break;
				
			case "m":
				if(arguDescription.length > 100) {
					var rtDescription = arguDescription.substring(0, 100) + "...";
				} else {
					var rtDescription = arguDescription;
				}
				break;
				
			case "l":
				if(arguDescription.length > 300) {
					var rtDescription = arguDescription.substring(0, 300) + "...";
				} else {
					var rtDescription = arguDescription;
				}
				break;
				
			case "xl":
				var rtDescription = arguDescription;
				break;
				
			default:
				var rtDescription = arguDescription;
				break;     
		}
	} else {
		var rtDescription = arguDescription;
	}
	return rtDescription;
}

//表示調整　タイトル
function TitleFormat(arguTitle) {
	if(arguTitle.length > 25) {
		rtTitle = arguTitle.substring(0, 25) + "...";
	} else {
		rtTitle = arguTitle;
	}
	return rtTitle;
}

//表示調整　説明
function DescriptionFormat(arguDescription) {
	if(arguDescription.length > 58) {
		rtDescription = arguDescription.substring(0, 58) + "...";
	} else {
		rtDescription = arguDescription;
	}
	return rtDescription;
}

//表示調整　視聴者数
function ViewerFormat(rtvr) {
	if(rtvr == "" || rtvr == -1) {
		var rtViewer = "";
	} else {
		var rtViewer = '<span class="text_red">' + rtvr + '</span> 人';

	}
	return rtViewer;
}

//表示調整　時間
function TimeFormat(second) {
	if(second != 0) {
		var pastHour = Math.floor(second / 60 / 60);
		var pastMinute = Math.floor((second - pastHour * 60 * 60) / 60);
		if(pastMinute < 10) {
			pastMinute = "0" + pastMinute;
		}
		var pastTime = pastHour + "時間" + pastMinute + "分";
	} else {
		var pastTime = "";
	}
	return pastTime;
}

//表示調整　カテゴリー
function CategoryFormat(catext) {
	if(catext == null || catext == "") {
		var cateTag = "";
	} else {
		switch(catext) {
			//◆追加
			case "game":
				var linkNum = 0;
				if(cateCountBoolean) cateCountGame++;
				break;
			case "female":
				var linkNum = 1;
				if(cateCountBoolean) cateCountFemale++;
				break;
			case "animal":
				var linkNum = 2;
				if(cateCountBoolean) cateCountAnimal++;
				break;
			case "talk":
				var linkNum = 3;
				if(cateCountBoolean) cateCountTalk++;
				break;
			case "painting":
				var linkNum = 4;
				if(cateCountBoolean) cateCountPainting++;
				break;
			case "music":
				var linkNum = 5;
				if(cateCountBoolean) cateCountMusic++;
				break;
			case "cooking":
				var linkNum = 6;
				if(cateCountBoolean) cateCountCooking++;
				break;
			case "handicraft":
				var linkNum = 7;
				if(cateCountBoolean) cateCountHandicraft++;
				break;
			case "tv":
				var linkNum = 8;
				if(cateCountBoolean) cateCountTv++;
				break;
			case "outdoor":
				var linkNum = 9;
				if(cateCountBoolean) cateCountOutdoor++;
				break;
			case "life":
				var linkNum = 10;
				if(cateCountBoolean) cateCountLife++;
				break;
			case "working":
				var linkNum = 11;
				if(cateCountBoolean) cateCountWorking++;
				break;
			case "programming":
				var linkNum = 12;
				if(cateCountBoolean) cateCountProgramming++;
				break;
			case "politics":
				var linkNum = 13;
				if(cateCountBoolean) cateCountPolitics++;
				break;
				
			case "celebrity":
				var linkNum = 14;
				if(cateCountBoolean) cateCountCelebrity++;
				break;
			case "create":
				var linkNum = 15;
				if(cateCountBoolean) cateCountCreate++;
				break;
			case "etc":
				var linkNum = 16;
				if(cateCountBoolean) cateCountEtc++;
				break;
			case "gambling":
				var linkNum = 17;
				if(cateCountBoolean) cateCountGambling++;
				break;
			case "sports":
				var linkNum = 18;
				if(cateCountBoolean) cateCountSports++;
				break;
			case "study":
				var linkNum = 19;
				if(cateCountBoolean) cateCountStudy++;
				break;
			case "radio":
				var linkNum = 20;
				if(cateCountBoolean) cateCountRadio++;
				break;
		}
		var cateTag = '<a href="javascript: void 0" onClick="ChangeCategory(\'' + catext + '\');"><img src="images/top/cate2_' + catext + '.png" width="80" height="18" border="0" /></a>';
	}
	return cateTag;
}

//カテゴリー変更
function ChangeCategory(chca) {
	cateSelector = chca;
	InnerChange();
	CookieWrite();
}

//ポップアップ
function WindowOpenURL(url) {
	window.open(url, "_blank", "width=640, height=308, scrollbars=no, resizable=yes");
}

//クッキーお気に入り
function CookieFavorite() {
	
	var cfrNum = Math.floor(Math.random() * jsonFavoriteArr.length);
	var jfsArr = jsonFavoriteArr[cfrNum].split(",");
	var baseArr = new Array;
	
	for (var i = 0; i < 10; i++) {
		var randomNum = Math.floor(Math.random() * jfsArr.length);
		if(jfsArr[randomNum]) {
			baseArr.push(jfsArr[randomNum]);
			jfsArr.splice(randomNum,1);
		}
	}
	
	var getFavorite = baseArr.join(",");
	$.getJSON("channel_select_json.php?select=" + getFavorite, null, function(json){
		jsonFavoriteSelectArr = json;
		
		for(var k = 0; k < jsonFavoriteSelectArr.length; k++) {
			var randomNum1 = Math.floor(Math.random() * jsonFavoriteSelectArr.length);
			var randomNum2 = Math.floor(Math.random() * jsonFavoriteSelectArr.length);
			
			var temp1 = jsonFavoriteSelectArr[randomNum1];
			var temp2 = jsonFavoriteSelectArr[randomNum2];
			jsonFavoriteSelectArr[randomNum1] = temp2;
			jsonFavoriteSelectArr[randomNum2] = temp1;
		}
		
		jsonFavoriteSelectArr.sort(SortOnlineDESC);
		
		innerFavorite = "";
		
		var listNo = 0;
		for (var i = 0; i < jsonFavoriteSelectArr.length; i++) {
			
			//NG用処理
			searchNg = -1;
			for (var snc = 0; snc < cookie_NgArr.length; snc++) {
				if(cookie_NgArr[snc].indexOf(jsonFavoriteSelectArr[i].ustid) != -1) {
					searchNg = snc;
				}
			}
			
			if(searchNg == -1) {//NGでないときに表示
			
			cateArr = jsonFavoriteSelectArr[i].cate.split("/---/");
		
			//ランダムにカテゴリーを表示するために配列入れ替え
			for(var j = 0; j < cateArr.length; j++) {
				cateArrRandomNum1 = Math.floor(Math.random() * cateArr.length);
				cateArrRandomNum2 = Math.floor(Math.random() * cateArr.length);
				
				tempCate1 = cateArr[cateArrRandomNum1];
				tempCate2 = cateArr[cateArrRandomNum2];
				cateArr[cateArrRandomNum1] = tempCate2;
				cateArr[cateArrRandomNum2] = tempCate1;
			}
			
			cateNo0 = CategoryFormat(cateArr[0]);
			cateNo1 = CategoryFormat(cateArr[1]);
			cateNo2 = CategoryFormat(cateArr[2]);
			
			
			listNo++;
			
			if(jsonFavoriteSelectArr[i].online == 1) {
				innerFavorite += '<div class="list_main" id="list_main_favorite_' + jsonFavoriteSelectArr[i].ustid + '">';
				innerFavorite += '  <div class="list_rank" id="list_rank_favorite_' + jsonFavoriteSelectArr[i].ustid + '">ON</div>';
			} else {
				innerFavorite += '<div class="list_main_off" id="list_main_favorite_' + jsonFavoriteSelectArr[i].ustid + '">';
				innerFavorite += '  <div class="list_rank" id="list_rank_favorite_' + jsonFavoriteSelectArr[i].ustid + '">OFF</div>';
			}
			innerFavorite += '  <div class="list_thumb"><img src="http://static-cdn2.ustream.tv/livethumb/1_' + jsonFavoriteSelectArr[i].ustid + '_160x120_b.jpg" width="67" height="50" /></div>';
			innerFavorite += '  <div class="list_name">';
			innerFavorite += '    <a href="ust/' + jsonFavoriteSelectArr[i].ustid + '/" target="_blank">' + jsonFavoriteSelectArr[i].title + '</a> / <a href="http://www.ustream.tv/channel/' + jsonFavoriteSelectArr[i].channel + '" target="_blank">ust</a>　　' + CutDescription(jsonFavoriteSelectArr[i].description) + '<br />';
			innerFavorite += '    <div class="list_vierwer"></div>';
			innerFavorite += '    <div class="list_time"></div>';
			innerFavorite += '    <div class="list_cate">' + cateNo0 + '</div>';
			innerFavorite += '    <div class="list_cate">' + cateNo1 + '</div>';
			innerFavorite += '    <div class="list_cate">' + cateNo2 + '</div>';
			
			innerFavorite += '    <div class="list_favorite">　<a href="javascript: void 0" onClick="ManageFavorite(' + jsonFavoriteSelectArr[i].ustid + ');">お気に入り</a>　</div>';
			innerFavorite += '    <div class="list_ng"></div>';
			innerFavorite += '    <div class="list_newwin">　<a href="javascript: void 0" onClick="WindowOpenURL(\'ust/' + jsonFavoriteSelectArr[i].ustid + '/p/\');">ポップアップ</a></div>';
			innerFavorite += '  </div>';
			innerFavorite += '</div>';
			
			}
			
		}
		
		document.getElementById("channel_favorite_list").innerHTML = innerFavorite;
		
		for (var i = 0; i < cookie_FavoriteArr.length; i++) {
			if($('#list_main_favorite_' + cookie_FavoriteArr[i]).size() > 0) {//要素の存在確認
				var colorRandomNum = Math.floor(Math.random() * favoriteColorArr.length);
				document.getElementById('list_main_favorite_' + cookie_FavoriteArr[i]).style.backgroundColor = favoriteColorArr[colorRandomNum];
			}
		}
	});
	
	
	//並び替え　視聴者数　降順
	function SortOnlineDESC(a, b) {
		return b.online - a.online;
	}
	
}
