function getCookie(a){tmp=document.cookie+";";tmp1=tmp.indexOf(a,0);if(tmp1!=-1){tmp=tmp.substring(tmp1,tmp.length);start=tmp.indexOf("=",0);end=tmp.indexOf(";",start);return unescape(tmp.substring(start+1,end))}return""}function setCookie(a,b){document.cookie=a+"="+escape(b)+";expires=Fri, 31-Dec-2030 23:59:59;"};

$(function(){
	var fq2 = $("#fq").val();
	$("#fq").attr("autocomplete","off").focus(function(){
		itv = setInterval(function(){
			if(fq2!=$("#fq").val()){
				fq2 = $("#fq").val();
				openSuggest();
			}
		},100);
	}).blur(function(){
		clearInterval(itv);
		setTimeout(function(){$("#suggest").slideUp("fast")},500)
	}).keydown(function(e){
		if($("#suggest").is(":visible")){
			if(e.keyCode==40){
				sgt_num++;
			}else if(e.keyCode==38){
				if(--sgt_num<0)sgt_num=sgt_total-1;
			}else if(e.keyCode==27){
				$("#suggest").slideUp("fast");
			}else{
				return;
			}
			var o = $("#suggest div:eq("+sgt_num%sgt_total+")")
			fq2 = o.text();
			$("#fq").val(o.text());
			$("#suggest div").removeClass("active");
			o.addClass("active");
		}
	});
	
	if(window.external && ("AddSearchProvider" in window.external)){
		$("#se").show();
	}

	amazonImgHeight = Math.min(Math.max(Math.floor($(window).height()/8),100),140);
});

function openSuggest() {
	if($("#fq").val().length>0){
		$.ajax({
			dataType:"jsonp",
			data:{
				"q":$("#fq").val(),
				"client":"youtube"
			},
			url:"http://www.google.co.jp/complete/search",
			success:function(d){
				$("#suggest").empty();
				if(d[1].length==0){
					$("#suggest").slideUp("fast");
				}else{
					for(i=0;i<d[1].length;i++){
						$("#suggest").append(
							$("<div/>").text(d[1][i][0]).click(function(e){
								$("#fq").val($(this).text());
								$("form").submit();
							}).mouseover(function(){
								$("#suggest div").removeClass("active");
								$(this).addClass("active");
							})
						).show();
					}
					sgt_total = $("#suggest div").size();
					sgt_num = -1;
				}
			}
		});
	}else{
		$("#suggest").slideUp("fast");
	}
}

$(window).resize(function(){
	adjustsize();
});

var ww,wh;
function adjustsize(){
	try{
		ww = $(window).width();
		wh = $(window).height();
		$("#box").css({height: wh - 40 });
		$("#rbox").css({height: wh - 40 });
	}catch(err){}
}

var pt;
var gender = {'m':'男性','f':'女性'};
var locname = {'IS':'アイスランド','IE':'アイルランド','AZ':'アゼルバイジャン','AF':'アフガニスタン','US':'アメリカ合衆国','VI':'アメリカ領ヴァージン諸島','AS':'アメリカ領サモア','UM':'アメリカ領太平洋諸島','AE':'アラブ首長国連邦','DZ':'アルジェリア','AR':'アルゼンチン','AW':'アルバ','AL':'アルバニア','AM':'アルメニア','AI':'アンギラ','AO':'アンゴラ','AG':'アンティグア・バーブーダ','AD':'アンドラ','YE':'イエメン','GB':'イギリス','IO':'イギリス領インド洋地域','VG':'イギリス領ヴァージン諸島','IL':'イスラエル','IT':'イタリア','IQ':'イラク','IR':'イラン','IN':'インド','ID':'インドネシア','WF':'ウォリス・フツナ','UG':'ウガンダ','UA':'ウクライナ','UZ':'ウズベキスタン','UY':'ウルグアイ','EC':'エクアドル','EG':'エジプト','EE':'エストニア','ET':'エチオピア','ER':'エリトリア','SV':'エルサルバドル','AU':'オーストラリア','AT':'オーストリア','AX':'オーランド諸島','OM':'オマーン','NL':'オランダ','AN':'オランダ領アンティル','GH':'ガーナ','CV':'カーボベルデ','GG':'ガーンジー島','GY':'ガイアナ','KZ':'カザフスタン','QA':'カタール','CA':'カナダ','GA':'ガボン','CM':'カメルーン','GM':'ガンビア','KH':'カンボジア','MP':'北マリアナ諸島','GN':'ギニア','GW':'ギニアビサウ','CY':'キプロス','CU':'キューバ','GR':'ギリシャ','KI':'キリバス','KG':'キルギス','GT':'グアテマラ','GP':'グアドループ島','GU':'グアム','KW':'クウェート','CK':'クック諸島','GL':'グリーンランド','CX':'クリスマス島','GE':'グルジア','GD':'グレナダ','HR':'クロアチア','KY':'ケイマン諸島','KE':'ケニア','CI':'コートジボワール','CC':'ココス諸島','CR':'コスタリカ','KM':'コモロ','CO':'コロンビア','CG':'コンゴ共和国','CD':'コンゴ民主共和国','SA':'サウジアラビア','WS':'サモア','ST':'サントメ・プリンシペ','ZM':'ザンビア','PM':'サンピエール島・ミクロン島','SM':'サンマリノ','SL':'シエラレオネ','DJ':'ジブチ','GI':'ジブラルタル','JE':'ジャージー島','JM':'ジャマイカ','SY':'シリア','SG':'シンガポール','ZW':'ジンバブエ','CH':'スイス','SE':'スウェーデン','SD':'スーダン','SJ':'スバールバル諸島・ヤンマイエン島','ES':'スペイン','SR':'スリナム','LK':'スリランカ','SK':'スロバキア','SI':'スロベニア','SZ':'スワジランド','SC':'セーシェル','GQ':'赤道ギニア','SN':'セネガル','RS':'セルビア','KN':'セントクリストファー・ネイビス','VC':'セントビンセントおよびグレナディーン諸島','SH':'セントヘレナ島','LC':'セントルシア','SO':'ソマリア','SB':'ソロモン諸島','TC':'タークス・カイコス諸島','TH':'タイ','KR':'大韓民国','TW':'台湾','TJ':'タジキスタン','TZ':'タンザニア','CZ':'チェコ','TD':'チャド','CF':'中央アフリカ','CN':'中華人民共和国','TN':'チュニジア','KP':'朝鮮民主主義人民共和国','CL':'チリ','TV':'ツバル','DK':'デンマーク','DE':'ドイツ','TG':'トーゴ','TK':'トケラウ諸島','DO':'ドミニカ共和国','DM':'ドミニカ国','TT':'トリニダード・トバゴ','TM':'トルクメニスタン','TR':'トルコ','TO':'トンガ','NG':'ナイジェリア','NR':'ナウル','NA':'ナミビア','AQ':'南極','NU':'ニウエ','NI':'ニカラグア','NE':'ニジェール','JP':'日本','EH':'西サハラ','NC':'ニューカレドニア','NZ':'ニュージーランド','NP':'ネパール','NF':'ノーフォーク島','NO':'ノルウェー','BH':'バーレーン','HT':'ハイチ','PK':'パキスタン','VA':'バチカン市国','PA':'パナマ','VU':'バヌアツ','BS':'バハマ','PG':'パプアニューギニア','BM':'バミューダ諸島','PW':'パラオ','PY':'パラグアイ','BB':'バルバドス','PS':'パレスチナ','HU':'ハンガリー','BD':'バングラデシュ','TL':'東ティモール','PN':'ピトケアン','FJ':'フィジー','PH':'フィリピン','FI':'フィンランド','BT':'ブータン','BV':'ブーベ島','PR':'プエルトリコ','FO':'フェロー諸島','FK':'フォークランド諸島','BR':'ブラジル','FR':'フランス','GF':'フランス領ギアナ','PF':'フランス領ポリネシア','TF':'フランス領南方・南極地域','BG':'ブルガリア','BF':'ブルキナファソ','BN':'ブルネイ','BI':'ブルンジ','HM':'ヘアド島・マクドナルド諸島','VN':'ベトナム','BJ':'ベナン','VE':'ベネズエラ','BY':'ベラルーシ','BZ':'ベリーズ','PE':'ペルー','BE':'ベルギー','PL':'ポーランド','BA':'ボスニア・ヘルツェゴビナ','BW':'ボツワナ','BO':'ボリビア','PT':'ポルトガル','HK':'香港','HN':'ホンジュラス','MH':'マーシャル諸島','MO':'マカオ','MK':'マケドニア共和国','MG':'マダガスカル','YT':'マヨット島','MW':'マラウイ','ML':'マリ','MT':'マルタ','MQ':'マルチニーク島','MY':'マレーシア','IM':'マン島','FM':'ミクロネシア連邦','ZA':'南アフリカ','GS':'南ジョージア島・南サンドイッチ諸島','MM':'ミャンマー','MX':'メキシコ','MU':'モーリシャス','MR':'モーリタニア','MZ':'モザンビーク','MC':'モナコ','MV':'モルディブ','MD':'モルドバ','MA':'モロッコ','MN':'モンゴル','ME':'モンテネグロ','MS':'モントセラト','JO':'ヨルダン','LA':'ラオス','LV':'ラトビア','LT':'リトアニア','LY':'リビア','LI':'リヒテンシュタイン','LR':'リベリア','RO':'ルーマニア','LU':'ルクセンブルク','RW':'ルワンダ','LS':'レソト','LB':'レバノン','RE':'レユニオン','RU':'ロシア'};
function showProfile(n,e){
	$.ajax({
		url: "http://gdata.youtube.com/feeds/api/users/"+n,
		data: {
			"alt":"json",
			"v":2
		},
		dataType: "jsonp",
		success: function(data){
			try{
				gd = "<span><b>"+gender[data.entry.yt$gender.$t]+"</b></span>"
			}catch(err){gd=""}
			try{
				if(data.entry.yt$age.$t < 100)
					ag = "<span><b>"+data.entry.yt$age.$t+"歳</b></span>"
				else
					ag=""
			}catch(err){ag=""}
			try{
				ccode = data.entry.yt$location.$t.slice(-2);
				if(locname[ccode] != undefined)
					fl = "<img src='http://images.boardhost.com/flags/"+ccode.toLowerCase()+".png'><b>"+locname[ccode]+"</b>"
				else
					fl=""
			}catch(err){fl=""}
			if(data.entry.media$thumbnail.url.match(/no_videos/) || data.entry.media$thumbnail.url.match(/default/)){
				thum = "";
			}else{
				thum = "<img src='"+data.entry.media$thumbnail.url+"'>";
			}
			$("#profile").html("<table><tr><td rowspan='4' class='thum'>"+thum+"</td><td>メンバー登録:</td><td><b>"+utc2jst(data.entry.published.$t)+"</b></td></tr><tr><td>最終ログイン:</td><td><b>"+utc2jst(data.entry.yt$statistics.lastWebAccess)+"</b></td></tr><tr><td>チャンネル:</td><td><span><b>"+addFigure(data.entry.yt$statistics.subscriberCount)+"</b>人登録</span><b>"+addFigure(data.entry.yt$statistics.viewCount)+"</b>回再生</td></tr><tr><td colspan='2' class='fl'>"+ag+gd+fl+"</td></tr></table>").show();
			setProfile(e);
		},
		error: function(){
			$("#profile").html("ユーザーの情報を読み込めません").show();
			setProfile(e);
		}
	});
}
function setProfile(e){
	if(pt>0){
		var left_pos;
		var top_pos;
		var pflw = $("#profile").width();
		var pflh = $("#profile").height();
		if( ww >= e.pageX + pflw){
			left_pos = e.pageX - 8;
		}else{
			left_pos = ww - pflw - 16;
		}
		if( wh >= e.pageY + 24 + pflh ){
			top_pos = e.pageY + 24;
		}else{
			top_pos = e.pageY - pflh - 10;
		}
		$("#profile").css({ left:left_pos, top:top_pos });
	}
}
function hideProfile(e){
	clearTimeout(pt);
	pt = null;
	$("#profile").empty().css("left","10000px");
}

function openComment(v,p){
	$("#comment").html("<div class='loading'>コメントを読み込んでいます...</div>");
	var mr = 50;
	var si = Math.min((p-1)*mr+1, 1000-mr);
	$.ajax({
		url: "http://gdata.youtube.com/feeds/api/videos/"+v+"/comments",
		data: {
			"alt":"json",
			"max-results":mr,
			"start-index":si
		},
		dataType: "jsonp",
		error: function(){
			$("#comment").html("<p>コメントを読み込めません。</p>");
		},
		success: function(d){
			try{
				if(d.feed.openSearch$totalResults.$t==0){
					descShow();
					$("#comment").html("<p>まだコメントはありません。</p>");
					return false;
				}
				$("#comment").html("");
				$.each(d.feed.entry, function(i,item){
					$("#comment").append(
						$("<div/>").addClass("row").append(
							$("<div/>").addClass("head").append(
								$("<a/>").addClass("user")
								.attr("href", "http://video.ultra-zone.net/u/"+item.author[0].name.$t)
								.text(item.author[0].name.$t)
								.mouseover(function(e){
									pt = setTimeout(function(){showProfile(item.author[0].name.$t,e)},50);
								})
								.mousemove(function(e){
									setProfile(e);
								})
								.mouseout(function(){
									hideProfile();
								})
							).append(
								$("<div/>").addClass("date").text(utc2jst(item.published.$t))
							)
						).append(
							$("<div/>").addClass("desc").text(item.content.$t)
						)
					)
				});
			}catch(e){};
			var pagetotal = Math.ceil(Math.min(d.feed.openSearch$totalResults.$t,1000) / mr);
			if(pagetotal > 1){
				$("#comment").append($("<div/>").addClass("page"));
				if(p>2)$("#comment .page").append($("<a/>").attr({"href":"javascript:openComment('"+v+"',1);","title":"最初へ"}).text("«"));
				if(p>1)$("#comment .page").append($("<a/>").attr({"href":"javascript:openComment('"+v+"',"+(p-1)+");","title":"前へ"}).text("Prev"));
				$("#comment .page").append($("<span/>").html(p+" / "+pagetotal));
				if(p<pagetotal)$("#comment .page").append($("<a/>").attr({"href":"javascript:openComment('"+v+"',"+(p+1)+");","title":"次へ"}).text("Next"));
				if(p<pagetotal-1)$("#comment .page").append($("<a/>").attr({"href":"javascript:openComment('"+v+"',"+pagetotal+");","title":"最後へ"}).text("»"));
			}
		}
	});

	//amazonImgHeight = "auto";
	//amazon_ad_show("465392,680358011",3,"SX"+Math.min(Math.floor($("#amazon_ad0").width()/3),99),"video","div#amazon_ad0");
}

function openRelate(v,n,p,mr,t){
	$("#relate").html("<div class='loading'>動画リストを読み込んでいます...</div>");
	if(t=="r")
		u = "http://gdata.youtube.com/feeds/api/videos/"+v+"/related";
	else
		u = "http://gdata.youtube.com/feeds/api/users/"+n+"/uploads";
	$.ajax({
		url: u,
		data: {
			"alt":"json",
			"max-results":mr,
			"start-index":(p-1)*mr+1,
			"v":2,

			"format":5,
			"safeSearch":"none"
		},
		dataType: "jsonp",
		error: function(){
			$("#relate").html("<p>動画リストを読み込めません。</p>");
		},
		success: function(d){
			if(d.feed.openSearch$totalResults.$t==0){
				$("#relate").html("<p>動画リストはありません。</p>");
				return false;
			}
			$("#relate").empty();
			$.each(d.feed.entry, function(i,item){
				var title_s; if(item.title.$t.length>32) title_s = item.title.$t.substr(0,32) + "..."; else title_s = item.title.$t;
				try{pc="<b>"+addFigure(item.yt$statistics.viewCount)+"</b>回"}catch(err){pc=""}
				try{fv="<b>"+addFigure(item.yt$statistics.favoriteCount)+"</b>人"}catch(err){fv=""}
				try{rt="<b>"+item.gd$rating.average.toFixed(2)+"</b>点"}catch(err){rt=""}
				$("<img>").attr("src",item.media$group.media$thumbnail[1].url);
				$("<img>").attr("src",item.media$group.media$thumbnail[2].url);
				$("<img>").attr("src",item.media$group.media$thumbnail[3].url);
				$("#relate").append(
					$("<a/>").addClass("row").append(
						$("<h4/>").addClass("title").text(title_s).attr("title", item.title.$t)
					).append(
						$("<a/>").addClass("thum")
						.attr("id", "thum"+i)
						.attr("href", "http://video.ultra-zone.net/w/"+item.id.$t.split(":")[3])
						.css("background-image","url("+item.media$group.media$thumbnail[2].url+")")
						.mouseover(function(e){
							var tsc=0;
							tst = setInterval(function(){
								$("#thum"+i).css("background-image","url("+item.media$group.media$thumbnail[++tsc%3+1].url+")")
							},777);
						}).mouseout(function(){
							clearInterval(tst);
						}).append(
							$("<div/>").addClass("time").text(Math.floor(item.media$group.yt$duration.seconds/60)+":"+("0"+item.media$group.yt$duration.seconds%60).slice(-2))
						)
					).append(
						$("<div/>").addClass("info").append(
							$("<div/>").addClass("date").text(utc2jst(item.published.$t))
						).append(
							$("<div/>").addClass("stats").html(pc)
						).append(
							$("<div/>").addClass("stats").html(fv)
						).append(
							$("<div/>").addClass("stats").html(rt)
						).append(
							$("<a/>").addClass("user")
							.attr("href", "http://video.ultra-zone.net/u/"+item.author[0].name.$t)
							.text(item.author[0].name.$t)
							.mouseover(function(e){
								pt = setTimeout(function(){showProfile(item.author[0].name.$t,e)},50);
							})
							.mousemove(function(e){
								setProfile(e);
							})
							.mouseout(function(){
								hideProfile();
							})
						)
					).attr("href", "http://video.ultra-zone.net/w/"+item.id.$t.split(":")[3])
				);
			});
			var pagetotal = Math.ceil(d.feed.openSearch$totalResults.$t / mr);

			$("#relate-tab").empty();
			if(t=="u"){
				$("#relate-tab").append($("<a/>").addClass("r").addClass("sw").attr({"href":"javascript:openRelate('"+v+"','"+n+"',1,"+mr+",'r');","title":"関連動画"}).text("関連動画"));
				$("#relate-tab").append($("<div/>").addClass("u"));
				$("#relate-tab div.u").append("<span>同じユーザの動画</span>");
				$("#relate-tab div.u").append($("<span/>").addClass("page"));
			}else{
				$("#relate-tab").append($("<div/>").addClass("r"));
				$("#relate-tab div.r").append("<span>関連動画</span>");
				$("#relate-tab div.r").append($("<span/>").addClass("page"));
				$("#relate-tab").append($("<a/>").addClass("u").addClass("sw").attr({"href":"javascript:openRelate('"+v+"','"+n+"',1,"+mr+",'u');","title":"同じユーザの動画"}).text("同じユーザの動画"));
			}
			if(pagetotal > 1){
				if(p>2)$("#relate-tab .page").append($("<a/>").attr({"href":"javascript:openRelate('"+v+"','"+n+"',1,"+mr+",'"+t+"');","title":"最初へ"}).text("«"));
				if(p>1)$("#relate-tab .page").append($("<a/>").attr({"href":"javascript:openRelate('"+v+"','"+n+"',"+(p-1)+","+mr+",'"+t+"');","title":"前へ"}).text("Prev"));
				$("#relate-tab .page").append($("<span/>").html(p+" / "+pagetotal));
				if(p<pagetotal)$("#relate-tab .page").append($("<a/>").attr({"href":"javascript:openRelate('"+v+"','"+n+"',"+(p+1)+","+mr+",'"+t+"');","title":"次へ"}).text("Next"));
				if(p<pagetotal-1)$("#relate-tab .page").append($("<a/>").attr({"href":"javascript:openRelate('"+v+"','"+n+"',"+pagetotal+","+mr+",'"+t+"');","title":"最後へ"}).text("»"));
			}
		}
	});
}

function openSearch(q,o,p){
	q = decodeURI(q.replace(/&quot;/g,"\"")).replace(/\+/g," ");
	if(!o)o="published";
	$("#list").html("<div class='loading'>動画の一覧を読み込んでいます...</div>");
	$("select.fo").val(o);
	var mr = Math.max(Math.floor(($(window).height()-112-amazonImgHeight)/96)*2,2);
	var si = Math.min((p-1)*mr+1, 1000-mr);
	$.ajax({
		url: "http://gdata.youtube.com/feeds/api/videos",
		data: {
			"alt": "json",
			"max-results": mr,
			"start-index": si,
			"v":2,

			"format":5,
			"orderby": o,
			"q": q,
			"safeSearch":"none"
		},
		dataType: "jsonp",
		error: function(){
			$("#list").html("動画の一覧を読み込めません。");
		},
		success: function(d){
			if(d.feed.openSearch$totalResults.$t==0){
				$("#list").html("<b>"+q+"</b>に一致する動画は見つかりませんでした。");
				return false;
			}
			var pagetotal = Math.ceil(Math.min(d.feed.openSearch$totalResults.$t,1000) / mr);
			$(".count").html(
				"<b>"+addFigure(d.feed.openSearch$totalResults.$t)+"</b> 件中 <b>"+si+"</b> - <b>"+Math.min(p*mr,d.feed.openSearch$totalResults.$t)+"</b> 件目"
			)
			$(".page").empty();
			if(pagetotal > 1){
				if(p>2)$(".page").append($("<a/>").attr({"href":"javascript:openSearch('"+q+"','"+o+"',1);","title":"最初へ"}).text("«"));
				if(p>1)$(".page").append($("<a/>").attr({"href":"javascript:openSearch('"+q+"','"+o+"',"+(p-1)+");","title":"前へ"}).text("Prev"));
				$(".page").append($("<span/>").html(p+" / "+pagetotal));
				if(p<pagetotal)$(".page").append($("<a/>").attr({"href":"javascript:openSearch('"+q+"','"+o+"',"+(p+1)+");","title":"次へ"}).text("Next"));
				if(p<pagetotal-1)$(".page").append($("<a/>").attr({"href":"javascript:openSearch('"+q+"','"+o+"',"+pagetotal+");","title":"最後へ"}).text("»"));
			}
			setList(d);
			amazon_ad_show("562020,680358011,500592,1199080,467238,508086,886932,2189055051,503484",16,"SY"+amazonImgHeight,"video","div#amazon_ad0");
			pvTrack();
		}
	});
}
function openUploads(n,o,p){
	$("#list").html("<div class='loading'>動画の一覧を読み込んでいます...</div>");
	$("select.uo").val(o);
	var mr = Math.max(Math.floor(($(window).height()-112-amazonImgHeight)/96)*2,2);
	var si = Math.min((p-1)*mr+1, 1000-mr);
	$.ajax({
		url: "http://gdata.youtube.com/feeds/api/users/"+n+"/uploads",
		data: {
			"alt": "json",
			"max-results": mr,
			"start-index": si,
			"v":2,

			"format":5,
			"orderby": o,
			"safeSearch":"none"
		},
		dataType: "jsonp",
		error: function(){
			$("#list").html("動画の一覧を読み込めません。");
		},
		success: function(d){
			if(d.feed.openSearch$totalResults.$t==0){
				$("h3").hide();
				$("select.uo").hide();
				$("#list").html("<p style='margin:0 0 32px 16px'><b>"+n+"</b>さんは動画をアップロードしていません。</p>");
				return false;
			}
			var pagetotal = Math.ceil(Math.min(d.feed.openSearch$totalResults.$t,1000) / mr);
			$(".count").html(
				"<b>"+addFigure(d.feed.openSearch$totalResults.$t)+"</b> 件中 <b>"+si+"</b> - <b>"+Math.min(p*mr,d.feed.openSearch$totalResults.$t)+"</b> 件目"
			)
			$(".page").empty();
			if(pagetotal > 1){
				if(p>2)$(".page").append($("<a/>").attr({"href":"javascript:openUploads('"+n+"','"+o+"',1);","title":"最初へ"}).text("«"));
				if(p>1)$(".page").append($("<a/>").attr({"href":"javascript:openUploads('"+n+"','"+o+"',"+(p-1)+");","title":"前へ"}).text("Prev"));
				$(".page").append($("<span/>").html(p+" / "+pagetotal));
				if(p<pagetotal)$(".page").append($("<a/>").attr({"href":"javascript:openUploads('"+n+"','"+o+"',"+(p+1)+");","title":"次へ"}).text("Next"));
				if(p<pagetotal-1)$(".page").append($("<a/>").attr({"href":"javascript:openUploads('"+n+"','"+o+"',"+pagetotal+");","title":"最後へ"}).text("»"));
			}

			setList(d);
			amazon_ad_show("562020,680358011,500592,1199080,467238,508086,886932,2189055051,503484",16,"SY"+amazonImgHeight,"video","div#amazon_ad0");

			$(".user").hide();
			$("h3 b").mouseover(function(e){
				pt = setTimeout(function(){showProfile($("h3 b").html(),e)},50);
				$("h3 b").addClass("hvr");
			}).mousemove(function(e){
				setProfile(e);
			}).mouseout(function(){
				hideProfile();
				$("h3 b").removeClass("hvr");
			});

			pvTrack();
		}
	});
}
function openToppage(m,r,p){
	$("#list").html("<div class='loading'>動画の一覧を読み込んでいます...</div>");
	$("select#feed").val(m);
	$("select#region").val(r);
	var mr = Math.max(Math.floor(($(window).height()-112-amazonImgHeight)/96)*2,2);
	var si = Math.min((p-1)*mr+1, 1000-mr);
	$.ajax({
		url: "http://gdata.youtube.com/feeds/api/standardfeeds/"+r+"/"+m,
		data: {
			"alt":"json",
			"max-results":mr,
			"start-index":si,
			"v":2,

			"time":"today",
			"format":5,
			"safeSearch":"none"
		},
		dataType: "jsonp",
		error: function(){
			$("#list").html("動画の一覧を読み込めません。");
		},
		success: function(d){
			var pagetotal = Math.ceil(d.feed.openSearch$totalResults.$t / mr);
			$(".page").empty();
			if(pagetotal > 1){
				if(p>2)$(".page").append($("<a/>").attr({"href":"javascript:openToppage('"+m+"','"+r+"',1);","title":"最初へ"}).text("«"));
				if(p>1)$(".page").append($("<a/>").attr({"href":"javascript:openToppage('"+m+"','"+r+"',"+(p-1)+");","title":"前へ"}).text("Prev"));
				$(".page").append($("<span/>").html(p+" / "+pagetotal));
				if(p<pagetotal)$(".page").append($("<a/>").attr({"href":"javascript:openToppage('"+m+"','"+r+"',"+(p+1)+");","title":"次へ"}).text("Next"));
				if(p<pagetotal-1)$(".page").append($("<a/>").attr({"href":"javascript:openToppage('"+m+"','"+r+"',"+pagetotal+");","title":"最後へ"}).text("»"));
			}
			setList(d);
			amazon_ad_show("562020,680358011,500592,1199080,467238,508086,886932,2189055051,503484",16,"SY"+amazonImgHeight,"video","div#amazon_ad0");
			pvTrack();
		}
	});
}
function setList(d){
	$("#list").html("");
	$("#box").scrollTop(0);
	$.each(d.feed.entry, function(i,item){
		try{pc="<b>"+addFigure(item.yt$statistics.viewCount)+"</b>回"}catch(err){pc=""}
		try{fc="<b>"+addFigure(item.yt$statistics.favoriteCount)+"</b>人"}catch(err){fc=""}
		try{rt="<b>"+item.gd$rating.average.toFixed(2)+"</b>点"}catch(err){rt=""}
		$("#list").append(
			$("<a/>").addClass("row").append(
				$("<h4/>").addClass("title").text(item.title.$t).attr("title",item.title.$t)
			).append(
				$("<div/>").addClass("d1").css("background-image","url("+item.media$group.media$thumbnail[2].url+")")
			).append(
				$("<div/>").addClass("d1").css("background-image","url("+item.media$group.media$thumbnail[3].url+")")
			).append(
				$("<div/>").addClass("d1").css("background-image","url("+item.media$group.media$thumbnail[4].url+")").append(
					$("<div/>").addClass("time").text(Math.floor(item.media$group.yt$duration.seconds/60)+":"+("0"+item.media$group.yt$duration.seconds%60).slice(-2))
				)
			).append(
				$("<div/>").addClass("d3").append(
					$("<div/>").html(utc2jst(item.published.$t)).addClass("date")
				).append(
					$("<div/>").attr("title","再生回数").html(pc)
				).append(
					$("<div/>").attr("title","お気に入り").html(fc)
				).append(
					$("<div/>").attr("title","評価").html(rt)
				).append(
					$("<a/>").addClass("user").attr("href","http://video.ultra-zone.net/u/"+item.author[0].name.$t).text(item.author[0].name.$t).mouseover(function(e){
						pt = setTimeout(function(){showProfile(item.author[0].name.$t,e)},50);
					}).mousemove(function(e){
						setProfile(e);
					}).mouseout(function(){
						hideProfile();
					})
				)
			).attr("href","http://video.ultra-zone.net/w/"+item.id.$t.split(":")[3])
		);
	});
	$(".row:even").css("margin-right","8px")
}

function addFigure(str) {
	var num = new String(str).replace(/,/g, "");
	while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))){};
	return num;
}

function utc2jst(str){
	if(str.match(/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})/)){
		var dd = new Date( RegExp.$1, RegExp.$2*1-1, RegExp.$3, RegExp.$4*1+9, RegExp.$5, 0);
		return dd.getFullYear() + "-" + ("0"+(dd.getMonth()+1)).slice(-2) + "-" + ("0"+dd.getDate()).slice(-2) + " " + ("0"+dd.getHours()).slice(-2) + ":" + ("0"+dd.getMinutes()).slice(-2);
	}else{
		return str.substr(0,10)+" "+str.substr(11,5)
	}
}

function pvTrack(){
	try{
		YWATracker.submit();
		pageTracker._trackPageview();
	}catch(err){}
}

function descShow(){
	$("#desc_s").slideUp(200);
	$("#desc_l").slideDown(200);
}
function descHide(){
	$("#desc_l").slideUp(200);
	$("#desc_s").slideDown(200);
}

function installSearchEngine(){
	if(window.external && ("AddSearchProvider" in window.external)){
		window.external.AddSearchProvider("http://video.ultra-zone.net/provider.xml");
	}else{
		alert("お使いのブラウザには対応していません。\n\n対応ブラウザ\n・Internet Explorer\n・Firefox\n・Google Chrome\n※古いバージョンでは対応していない場合があります");
	}
}

function amazon_ad_show(bn,ct,pm,ai,at){
	$(at).css("height",amazonImgHeight+4).empty();
	$.ajax({
		dataType:"json",
		url:"http://video.ultra-zone.net/file/json/amazon-"+bn.split(",")[Math.floor(Math.random()*bn.split(",").length)]+".json",
		success:function(d){
			$.each(aShuffle(d.item).slice(0,ct), function(i,item){
				$(at).append("<a href='http://www.amazon.co.jp/o/ASIN/"+item.a+"/uz"+ai+"-22/ref=nosim' target='_blank' title='"+item.t+"'><img src='http://ecx.images-amazon.com/images/I/"+item.i+"._"+pm+"_."+item.y+"'></a>");
			});
		}
	});
}
function aShuffle(a) {
	var i = a.length;
	while(i){
		var j = Math.floor(Math.random()*i);
		var t = a[--i];
		a[i] = a[j];
		a[j] = t;
	}
	return a;
}
