function getBrowserInfo(){
	var obj = new Object();
	obj.paltform = checkPlatform();
	obj.browser = checkBrowser();
	obj.url = location.href;
	return obj;
}


$(document).ready(function(){
	// 視聴設定をロードする
	var preferentialPlayer = getCookieData("user_setting");
	var preferentialBand = getCookieData("b_band");

	// 動画品質のラジオボタンにチェックを付ける
	$("#b_band1").attr("checked", true);
	selectSettingsRadio("b_band", preferentialBand);

	// 動画品質のラジオボタンのクリックイベントを登録する
	$("#select_player_btn").click(function(){
		saveSetting("b_band", $(".b_band:checked").val());
		alert("設定を変更しました。");
	});

	// 「アンケート」を読み込む
	var pg_id = $("#ntv_program_number").val();
	$("#movi_play_enquete_main_wrapper").load("../parts/enquete.php?p=" + pg_id, "", function(){
		var pg  = $("#ntv_program_number").val();
		// 「アンケート」の送信ボタンのイベントを登録する
		$("#send_enquete_button").click(function(){
			var enq = $(".enq:checked").val();
			$("#movi_play_enquete_main_wrapper").load("../parts/enquete_send.php?pg="+pg+"&e="+enq);
		});
	});

	// 「この番組についてのご意見」の送信ボタンのイベントを登録する
	var pg_nm = $("#movi_play_prg_name").text();
	$("#send_comment_button").click(function(){
		if (checkMes()) {
			var tf = $("#textfield").val();
			if (tf.length > 1000) {
				alert("「この番組についてのご意見」は、1,000文字以内で入力してください\n現在、"+(tf.length-1000)+" 文字超えています（改行も1文字と数えます）。");
			}
			else {
				if (confirm("ご意見を送信してよろしいですか？" + tf.length)) {
					tf = tf.substr(0,1000);
					$.ajax({
						type: "POST",
						url: "../parts/requests.php",
						data: "pgid="+pg_id+"&pgnm="+pg_nm+"&opinion="+tf,
						success: function(){
							alert("ありがとうございました");
						}
					});
					$("#movi_play_commnets_requests").load("../parts/requests_thank.html");
				}
			}
		}
	});

	// チャンネル一覧を読み込む
	$("#movi_play_boxD").load("../parts/chlink.html");

	// ジャンル一覧を読み込む
	$("#top_page_boxD").load("../parts/genre_slink.html");

	// チャンネル、ジャンルのタイトルを読み込む
	// 番組リストを読み込む
	if ($("#ntv_program_lib").val() == 1) {
		// ライブラリ・カレンダー初期表示
		$("#library_calendar_box").load("../library/lib_calendar.html","",function(){
			// ライブラリ・一覧表示
			$("#library_calendar_box a").click(function(){
				var para = $(this).children("input:first").val();
				document.location.href = "../library.html?p="+para;
		 		return false;
			});
		});

		//ライブラリ検索
		$("#library_search_box_bottan").click(function(){
			var lib_keyword = $("#lib_keyword").val();
			//document.location.href = "../library.html?k="+lib_keyword;
			document.form1.submit();
		});

		// ライブラリ番組リストを読み込む
		var lib_no_ym = $("#ntv_lib_no_ym").val();
		loadProgramList("../library/pglistl"+lib_no_ym+".html");

		// チャネルタイトルを読み込む
		//var channel = $("#ntv_program_channel").val();
		//$("#movi_play_ch").load("../chlist/ch"+channel+".html");
	}
	else {
		// チャンネル、ジャンルのタイトルを読み込む
		// 番組リストを読み込む
		var params = getParseParamsArray();
		if('t' in params){

			// ジャンルタイトルを読み込む
			// Todo: 考慮する必要あり？
			$("#movi_play_ch").load("../chlist/genre"+params['t']+".html");

			// ジャンル番組リストを読み込む
			loadProgramList("../pglist/pglistt"+params['t']+".html");
		}
		else {
			var channel = $("#ntv_program_channel").val();

			// チャネルタイトルを読み込む
			$("#movi_play_ch").load("../chlist/ch"+channel+".html");

			// 番組リストを読み込む
			loadProgramList("../pglist/pglistc" + channel + ".html");
		}
	}

	// 関連資料のボタンクリックのイベントを登録する
	$("#movi_play_prg_bt_story_board a").toggle(function(){
		$("#pglist").hide();
		$("#story_board_area").show();
		return false;
	}, function(){
		$("#pglist").show();
		$("#story_board_area").hide();
		return false;
	});

	// 関連資料を読み込む
	$("#story_board_area").hide();
	try {
		var storyBoard = $("#ntv_story_board").val();
		if (storyBoard.length > 0) {
			$("#story_board_area_frame").attr("src", storyBoard);
		}
	} catch(e) {}

	// URL、embedタグの全選択処理を登録する
	$("#opt_a_link_url").focus(function(){
		$(this).select();
	});
	$("#opt_a_link_embed").focus(function(){
		$(this).select();
	});

	// 再生
	var params = getParseParamsArray();
	var autoPlay = ! (('c' in params) || (('t' in params) && !('a' in params)));
	var programNumber = $("#ntv_program_number").val();
	var isLibrary = $("#ntv_program_lib").val();
	var query = "?p=" + programNumber;
	query += "&d=" + isLibrary;
	query += "&t=" + checkDetectPlayer();
	query += "&m=" + checkPlatform();
	query += "&r=" + checkBrowser();
	query += "&a=" + (autoPlay ? "1" : "0");
	$("#movi_play_s_ext").load("../parts/playMovie.php" + query, "", function(){
		var url = $("#ntv_selected_url").val();
		var player = $("#ntv_selected_player").val();
		var title = $("#ntv_selected_title").val();
		var err_msg = $("#ntv_selected_error").val();

		if (err_msg == "") {
			// 拡大表示のボタンクリックのイベントを登録する
			var mwide_query = "?p=" + programNumber;
			mwide_query += "&d=" + isLibrary;
			mwide_query += "&t=" + $("#ntv_selected_p_type").val();
			mwide_query += "&r=" + $("#ntv_selected_ratio").val();
			mwide_query += "&l=" + $("#ntv_selected_live").val();

			var p_t = $("#ntv_selected_p_type").val(); 	//(1:fn 2:wn 3:rn 4:fb 5:wb 6:rb, 7:mn, 8:mb)

			$("#movi_play_prg_bt_l_play a").click(function(){
				if ((p_t == 2 || p_t == 5) && jQuery.browser.mozilla) {
					$("#movi_play_prg_bt_l_play").append($('<iframe style="visibility:hidden; width: 0px; height: 0px;"></iframe>'));
					$("#movi_play_prg_bt_l_play iframe").attr("src", "../common/firefox_direct_open.php?u=" + url);
				}
				else {
					window.open("../common/mwide.php" + mwide_query, "", 'width=960, height=670');
				}
				setInnerMovie(url, player, 0);
				return false;
			});
			setInnerMovie(url, player, autoPlay);
		}
		else {
			document.getElementById("movi_play_s_ext").innerHTML = err_msg + "<br />";
			$("#movi_play_under").remove();
		}
	});
});

function setInnerMovie(url, pl, autoStart) {
	switch (pl) {
		case "wmp":
			var content = getWmpInnerHTML(url, autoStart);
			document.getElementById("movi_play_s_ext").innerHTML = content;
			$("#movi_play_under").remove();
			$("#movi_play_prg_bt_l_play").css("visibility","visible");
			break;
		case "mpeg4":
		case "flash":
			var firstPlay = "0";
			if (autoStart) {
//				firstPlay = "1";
				if (url.indexOf("firstPlay",0) >=0) {
					url.replace(/firstPlay=0/,"firstPlay=1");
				}
				else {
					url = url + "&firstPlay=1";
				}
			}
			else {
				url = url.replace(/firstPlay=1/,"firstPlay=0");
			}
			var bi=getBrowserInfo();
			url = url+'&pf='+bi.paltform+'&brw='+bi.browser+'&hpath='+bi.url;

			var movieParam = '../'
				+ url
				;

			var content = AC_FL_RunContent(
				'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
				'width', '480',
				'height', '366',
				'src', '../external_player',
				'quality', 'high',
				'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
				'align', 'middle',
				'play', 'true',
				'loop', 'true',
				'scale', 'noScale',
				'wmode', 'window',
				'devicefont', 'false',
				'id', 'base',
				'bgcolor', '#ffffff',
				'name', 'base',
				'menu', 'true',
				'allowFullScreen', 'true',
				'allowScriptAccess','sameDomain',
				'movie', movieParam,
				'salign', 'lt'
				);

			document.getElementById("movi_play_s_ext").innerHTML = content;
			break;
		case "real":
			var strauto = "false";
			if (autoStart) {
				strauto = "true";
			}
			document.getElementById("movi_play_s_ext").innerHTML = '<table width="330" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td><object width="320" height="240" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name="controls" value="imagewindow"><param name="console" value="movie1"><param name="autostart" value="' + strauto + '"><param name="nojava" value="false"><param name="src" value="' + url + '"><embed src="' + url + '" width="320" height="240" type="audio/x-pn-realaudio-plugin" pluginspage="http://www.real.com/player/index.html" controls="imagewindow" nojava="false" autostart="' + strauto + '" console="movie1"></embed> </object></td></tr><tr><td><object width="320" height="20"classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name="controls" value="ControlPanel"><param name="console" value="movie1"><param name="src" value="' + url + '"><embed src="' + url + '" width="320" height="20"type="audio/x-pn-realaudio-plugin"pluginspage="http://www.real.com/player/index.html"nojava="true" console="movie1" controls="ControlPanel"></embed></object><object width="320" height="26" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name="controls" value="StatusBar"><param name="console" value="movie1"><param name="src" value="' + url + '"><embed src="' + url + '" width="320" height="26" type="audio/x-pn-realaudio-plugin" pluginspage="http://www.real.com/player/index.html" nojava="true" console="movie1" controls="StatusBar"></embed></object> </td></tr></table>';
			$("#movi_play_prg_bt_l_play").css("visibility","visible");
			break;
	}
}

function getWmpInnerHTML(url, autoStart) {
	var objectAutoStart = 'false';
	var embedAutoStart = '0';
	if (autoStart) {
		objectAutoStart = 'true';
		embedAutoStart = '1';
	}

	var text = '';
	text += '<div align="center">';
	text += '<object id="Player" width="480" height="315" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95">';
	text += '<param name="FileName" value="' + url + '" />';
	text += '<param name="ShowControls" value="true" />';
	text += '<param name="ShowTracker" value="true" />';
	text += '<param name="ShowAudioControls" value="true" />';
	text += '<param name="ShowPositionControls" value="true" />';
	text += '<param name="ShowStatusBar" value="false" />';
	text += '<param name="VideoBorderColor" value="#666666" />';
	text += '<param name="AutoStart" value="' + objectAutoStart + '" />';
	text += '<param name="AllowChangeDisplaySize" value="true" />';
	text += '<param name="DisplaySize" value="0" />';
	text += '<embed type="application/x-mplayer2"';
	text += '  pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"';
	text += '  name="WMP"';
	text += '  src="' + url + '"';
	text += '  width="320"';
	text += '  height="285"';
	text += '  showcontrols="1"';
	text += '  autostart="' + embedAutoStart + '">';
	text += '</embed>';
	text += '</object>';
	text += '</div>';
	text += '<div id="movi_play_under"><p></p></div>';

	return text;
}

function loadProgramList(loadFilePath){
	$("#pglist").load(loadFilePath, "", function(){
		$("#pglist .recommend_items .show_summary").click(function(){
			$(this).hide();
			$(this).siblings(".hide_summary").show();
			$(this).parent().siblings(".item_summary").show();
			return false;
		});

		$("#pglist .recommend_items .hide_summary").click(function(){
			$(this).siblings(".show_summary").show();
			$(this).hide();
			$(this).parent().siblings(".item_summary").hide();
			return false;
		});
	});
}

// avoid a problem of cooperation with FlashPlayer
function getDuration() {/* do noting */}

function checkMes(){
	var str = $("#textfield").val();
	str = str.Trim();
	if (str.length <= 0 ) {
		alert("ご意見が未入力です。");
		return false;
	}
	return true;
}

String.prototype.Trim =function() {
	return this.replace(/^[ 　]+/,"").replace(/[ 　]+$/,"");
}
