// JavaScript Document

/*

使用Cookie
sid   : セッションID
right : 右側の状態（0:ログオフ、1:ログインページ、2:ブックマーク、3:視聴期間、4:購入履歴すべて、5:購入履歴ストリーミング、6:購入履歴ダウンロード、7:購入履歴セルスルー）
page  : ページ数引継ぎ

*/



// ログインURL 本番は https
var URL_LOGIN = "https://" + location.hostname + location.pathname;

// ログオフ・通常URL
var URL_LOGOFF = "http://" + location.hostname + location.pathname;

// ご利用方法はこちら
var URL_SERVICE = "/service/index.html";

// モバイルサイト紹介
var URL_MOBILE = "/service/mbpc.html";

// ブルーレイ基本講座
var URL_BLURAY = "http://discas.weblogs.jp/tsutaya_discas_blog/2008/03/post-2fab.html";

// パッケージ画像
var URL_PACKAGE = "/images/package/small/";

// APIテスト用のXMLパス
var URL_APIXML = "/apixml/";

// API ブックマーク
var URL_API_BOOKMARK = "/ttv/bookmark/";

// API 視聴期間内の動画
var URL_API_AVAILABLE = "/ttv/available/";

// API 購入履歴
var URL_API_HISTORY = "/ttv/history/";

// API ログイン
var URL_API_LOGIN = "/ttv/login/";



// スクロールバーセット
var scllerLogin = null;
var sclbarLogin = null;


var isTab = 0;


//===================================================================
// タブ抑止
//===================================================================
document.onkeydown = cancel_tab;
function cancel_tab(e) {
	if(e == undefined){
		if(event.keyCode==9){
			event.returnValue=false;
			if (document.getElementById("f_f1")) {
				switch(isTab) {
					case 0:
					case 3:
					default:
						document.getElementById("f_f1").focus();
						break;
					case 1:
						document.getElementById("f_f2_1").focus();
						break;
					case 2:
						document.getElementById("f_f2_2").focus();
						break;
				}
			}
			return false;
		}
	} else {
		if(e.which==9) {
			if (document.getElementById("f_f1")) {
				switch(isTab) {
					case 0:
					case 3:
					default:
						document.getElementById("f_f1").focus();
						break;
					case 1:
						document.getElementById("f_f2_1").focus();
						break;
					case 2:
						document.getElementById("f_f2_2").focus();
						break;
				}
			}
			return false;
		}
	}
}


//===================================================================
// ページ読み込み完了
//===================================================================
$(function() {
	if ($.cookie('sid') != null) {
		// ログイン中
		$("#box_right").attr({ "class":"login" });
		$("#box_right").html(strLogin);
		sendLogget();
		// タブ引継ぎ
		switch($.cookie('right')) {
			case "2":
				// ブックマーク
				if ($.cookie('page') != null) {
					loadXML("bookmark", $.cookie('page'));
				} else {
					loadXML("bookmark", 1);
				}
				break;
			case "3":
				// 視聴期間
				if ($.cookie('page') != null) {
					loadXML("available", $.cookie('page'));
				} else {
					loadXML("available", 1);
				}
				break;
			case "4":
				// 購入履歴 全て
				if ($.cookie('page') != null) {
					loadXML("history", $.cookie('page'), 0);
				} else {
					loadXML("history", 1, 0);
				}
				break;
			case "5":
				// 購入履歴 ストリーミング
				if ($.cookie('page') != null) {
					loadXML("history", $.cookie('page'), 1);
				} else {
					loadXML("history", 1, 1);
				}
				break;
			case "6":
				// 購入履歴 ダウンロード
				if ($.cookie('page') != null) {
					loadXML("history", $.cookie('page'), 2);
				} else {
					loadXML("history", 1, 2);
				}
				break;
			case "7":
				// 購入履歴 セルスルー
				if ($.cookie('page') != null) {
					loadXML("history", $.cookie('page'), 3);
				} else {
					loadXML("history", 1, 3);
				}
				break;
			default:
				// デフォルトはブックマーク
				loadXML("bookmark", 1);
				break;	
		}
	} else {
		
		// ログインページでリロードの際
		if (location.protocol == "https:") {
			$.cookie('right', 1, { path: '/' });
		}
		
		switch($.cookie('right')) {
			case "0":
				// ログオフ
				$("#box_right").attr({ "class":"logoff" });
				$("#box_right").html(strLogoff);
				break;
			case "1":
				// ログインページ
				$.cookie('right', 0, { path: '/' });
				$("#box_right").attr({ "class":"logpage" });
				$("#box_right").html(strLogpage);
				// 全a タグのリンクを「http」に変更
				for (var i = 0; i < $("a").length; i++) {
					if ($("a")[i].href.indexOf("https://") == 0) {
						$("a")[i].href = "http" + $("a")[i].href.substr(5);
					}
				}
				$("#f_f1").focus( function () { isTab = 1 } );
				$("#f_f2_1").focus( function () { isTab = 2 } );
				$("#f_f2_2").focus( function () { isTab = 3 } );
				break;
			default:
				// デフォルトはログオフ
				$("#box_right").attr({ "class":"logoff" });
				$("#box_right").html(strLogoff);
				break;
		}
	}
	$("#box_right").css("visibility", "visible");
});


//===================================================================
// クリック動作
//===================================================================
function btnClickLogin(id) {
	switch(id) {
		
		//--------------------------------
		// ログオフ
		//--------------------------------
		case "btn_r_login":
			// ログインページへ
			$.cookie('right', 1, { path: '/' });
			if (document["ttv"]) {
				document["ttv"].getURL(URL_LOGIN);
			} else {
				location.href = URL_LOGIN + location.search;
			}
			break;
			
			
		//--------------------------------
		// ログインページ
		//--------------------------------
		case "f_b1":
			// ログイン決定
			sendLogin();
			break;
			
			
		//--------------------------------
		// ログイン状態
		//--------------------------------
		case "btn_r_logoff":
			// ログオフ
			sendLogoff();
			break;
		case "btn_r_book":
			// ブックマーク
			loadXML("bookmark", 1);
			pageTracker._trackPageview("/mypage/ブックマーク/");
			break;
		case "btn_r_period":
			// 視聴期間内の動画
			loadXML("available", 1);
			pageTracker._trackPageview("/mypage/視聴期間内の動画/");
			break;
		case "btn_r_history":
			// 購入履歴（すべて）
			loadXML("history", 1, 0);
			pageTracker._trackPageview("/mypage/購入履歴/");
			break;
			
			
		//--------------------------------
		// 購入履歴
		//--------------------------------
		case "btn_r_history0":
			// すべて
			loadXML("history", 1, 0);
			pageTracker._trackPageview("/mypage/購入履歴/");
			break;
		case "btn_r_history1":
			// ストリーミングレンタル
			loadXML("history", 1, 1);
			pageTracker._trackPageview("/mypage/購入履歴/ストリーミングレンタル");
			break;
		case "btn_r_history2":
			// ダウンロードレンタル
			loadXML("history", 1, 2);
			pageTracker._trackPageview("/mypage/購入履歴/ダウンロードレンタル");
			break;
		case "btn_r_history3":
			// セルスルー
			loadXML("history", 1, 3);
			pageTracker._trackPageview("/mypage/購入履歴/セルスルー");
			break;
			
	}
}


//===================================================================
// リストXML読み込み
//===================================================================
function loadXML(reqCategory, loadPage, loadSell) {
	
	scllerLogin = null;
	sclbarLogin = null;
	$("#Scrollbar-Container2").css("visibility", "hidden");
	$("#Scroller-2").html("Now Loading...");
	$("#p_page").html("");
	$("#p_result").html("");
	$("#div_back").html("");
	$("#div_next").html("");
	$("#div_back").css("visibility", "hidden");
	$("#div_next").css("visibility", "hidden");
	$("#p_available").css("visibility", "hidden");
	$("#history_menu").css("visibility", "hidden");
	$("#btn_r_book").attr({ "class":"" });
	$("#btn_r_period").attr({ "class":"" });
	$("#btn_r_history").attr({ "class":"" });
	$("#btn_r_history0").attr({ "class":"" });
	$("#btn_r_history1").attr({ "class":"" });
	$("#btn_r_history2").attr({ "class":"" });
	$("#btn_r_history3").attr({ "class":"" });
	clearTimeout(timerResult);
	
	var countNum = 8;
	var api_url = "";
	var data_obj = {};
	switch(reqCategory) {
		case "bookmark":
			countNum = 15;
			api_url = URL_API_BOOKMARK;
			data_obj = { 'act':'get', 'count':countNum, 'page':loadPage };
			$.cookie('right', 2, { path: '/' });
			$("#Scroller-2").css("top", "104px");
			$("#Scroller-2").css("height", "284px");
			$("#p_page").css("top", "87px");
			$("#div_back").css("top", "87px");
			$("#div_next").css("top", "87px");
			$("#btn_r_book").attr({ "class":"select" });
			break;
		case "available":
			countNum = 15;
			api_url = URL_API_AVAILABLE;
			data_obj = { 'act':'get', 'count':countNum, 'page':loadPage };
			$.cookie('right', 3, { path: '/' });
			$("#Scroller-2").css("top", "137px");
			$("#Scroller-2").css("height", "251px");
			$("#p_page").css("top", "120px");
			$("#div_back").css("top", "120px");
			$("#div_next").css("top", "120px");
			$("#p_available").css("visibility", "visible");
			$("#btn_r_period").attr({ "class":"select" });
			break;
		case "history":
			countNum = 8;
			api_url = URL_API_HISTORY;
			data_obj = { 'act':'get', 'count':countNum, 'page':loadPage, 'sellsec':loadSell };
			$.cookie('right', loadSell + 4, { path: '/' });
			$("#Scroller-2").css("top", "137px");
			$("#Scroller-2").css("height", "251px");
			$("#p_page").css("top", "120px");
			$("#div_back").css("top", "120px");
			$("#div_next").css("top", "120px");
			$("#history_menu").css("visibility", "visible");
			$("#btn_r_history" + loadSell).attr({ "class":"select" });
			$("#btn_r_history").attr({ "class":"select" });
			break;
	}
	//api_url = URL_APIXML + 'get_' + reqCategory + '.xml',  // テストで静的XML読み込み
	
	$.ajax({
		url: api_url,
		data: data_obj,
		type: 'GET',
		dataType: 'xml',
		timeout: 600000,
		error: function(){
			// ERROR
			var str = "";
			switch(reqCategory) {
				case "bookmark":
					str += "ブックマークの取得に失敗しました。";
					break;
				case "available":
					str += "視聴期間内の動画情報の取得に失敗しました。";
					break;
				case "history":
					str += "購入履歴情報の取得に失敗しました。";
					break;
			}
			str += "<br />お手数ですが、しばらくしてから<br />もう一度お試しください。";
			$("#Scroller-2").html(str);
			$("#p_page").html("");
			$("#div_back").html("");
			$("#div_next").html("");
			$("#div_back").css("visibility", "hidden");
			$("#div_next").css("visibility", "hidden");
			$.cookie('page', 1, { expires: 0, path: '/' });
		},
		success: function(xml){
			// do something with xml
			var xml_data = new Array();
			var status = $('status', xml).text();
			var category = $('category', xml).text();
			var total = Number($('items total', xml).text());
			var items = $('items item', xml).get();
			
			
			// ステータス処理
			switch(status) {
				// 成功
				case "Success":
					break;
				
				// ログイン画面へリダイレクト
				case "NotLogined":
					$.cookie('sid', null, { path: '/' });
					$.cookie('right', 1, { path: '/' });
					if (document["ttv"]) {
						document["ttv"].getURL(URL_LOGIN);
					} else {
						location.href = URL_LOGIN + location.search;
					}
					return;
					break;
					
				// エラー
				case "PageNotFound":
				case "ServerError":
				case "RequestError":
				case "Maintenance":
					var str = "";
					switch(reqCategory) {
						case "bookmark":
							str += "ブックマークの取得に失敗しました。";
							break;
						case "available":
							str += "視聴期間内の動画情報の取得に失敗しました。";
							break;
						case "history":
							str += "購入履歴情報の取得に失敗しました。";
							break;
					}
					str += "<br />お手数ですが、しばらくしてから<br />もう一度お試しください。";
					$("#Scroller-2").html(str);
					$("#p_page").html("");
					$("#div_back").html("");
					$("#div_next").html("");
					$("#div_back").css("visibility", "hidden");
					$("#div_next").css("visibility", "hidden");
					$.cookie('page', 1, { expires: 0, path: '/' });
					return;
					break;
			}
			
			
			switch(category) {
				
				// ブックマーク
				case "bookmark":
					for (var i = 0; i < items.length; i++) {
						xml_data[i] = new Object();
						xml_data[i]['id'] = decodeURIComponent($('id', items[i]).text());
						xml_data[i]['title'] = decodeURIComponent($('title', items[i]).text());
						xml_data[i]['page'] = decodeURIComponent($('page', items[i]).text());
						xml_data[i]['pageCount'] = decodeURIComponent($('pageCount', items[i]).text());
					}
					break;
					
				// 視聴期間
				case "available":
					for (var i = 0; i < items.length; i++) {
						xml_data[i] = new Object();
						xml_data[i]['id'] = decodeURIComponent($('id', items[i]).text());
						xml_data[i]['title'] = decodeURIComponent($('goodsTitle', items[i]).text());
						xml_data[i]['limit'] = decodeURIComponent($('limit', items[i]).text());
						xml_data[i]['page'] = decodeURIComponent($('page', items[i]).text());
						xml_data[i]['pageCount'] = decodeURIComponent($('pageCount', items[i]).text());
					}
					break;
					
				// 購入履歴
				case "history":
					for (var i = 0; i < items.length; i++) {
						xml_data[i] = new Object();
						xml_data[i]['id'] = decodeURIComponent($('id', items[i]).text());
						xml_data[i]['title'] = decodeURIComponent($('goodsTitle', items[i]).text());
						xml_data[i]['date'] = decodeURIComponent($('date', items[i]).text());
						xml_data[i]['sellsec'] = decodeURIComponent($('sellsec', items[i]).text());
						xml_data[i]['price'] = decodeURIComponent($('price', items[i]).text());
						xml_data[i]['number'] = decodeURIComponent($('number', items[i]).text());
						xml_data[i]['event'] = decodeURIComponent($('event', items[i]).text());
						xml_data[i]['tpUse'] = decodeURIComponent($('tpUse', items[i]).text());
						xml_data[i]['tpGet'] = decodeURIComponent($('tpGet', items[i]).text());
						xml_data[i]['page'] = decodeURIComponent($('page', items[i]).text());
						xml_data[i]['pageCount'] = decodeURIComponent($('pageCount', items[i]).text());
					}
					break;
				
			}
			
			
			if (total != 0) {
				// ページ数表示
				var page = Number($('items page', xml).text());
				var pageCount = Number($('items pageCount', xml).text());
				if (page) {
					$("#p_page").html(page + "/" + pageCount + "ぺージ");
					$.cookie('page', page, { expires: 0, path: '/' });
				}
				// ページ送りボタン表示
				$("#div_back").css("visibility", "visible");
				$("#div_next").css("visibility", "visible");
				if (pageCount == 1) {
					$("#div_back").html("");
					$("#div_next").html("");
				} else {
					// 戻る
					var str = "";
					str += '<a id="btn_back" href="javascript:void(0);" ';
					if (page - 1 > 0) {
						if (reqCategory == "history") {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + (page - 1) +', ' + loadSell + ')">';
						} else {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + (page - 1) +')">';
						}
					} else {
						if (reqCategory == "history") {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + pageCount +', ' + loadSell + ')">';
						} else {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + pageCount +')">';
						}
					}
					str += '<span>←</span></a>';
					$("#div_back").html(str);
					// 進む
					var str = "";
					str += '<a id="btn_next" href="javascript:void(0);" ';
					if (page + 1 > pageCount) {
						if (reqCategory == "history") {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + 1 +', ' + loadSell + ')">';
						} else {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + 1 +')">';
						}
					} else {
						if (reqCategory == "history") {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + (page + 1) +', ' + loadSell + ')">';
						} else {
							str += 'onclick="loadXML(\'' + reqCategory + '\', ' + (page + 1) +')">';
						}
					}
					str += '<span>→</span></a>'
					$("#div_next").html(str);
				}
			} else {
				$("#p_page").html("");
				$("#div_back").css("visibility", "hidden");
				$("#div_next").css("visibility", "hidden");
				$.cookie('page', 1, { expires: 0, path: '/' });
			}
			
			
			showXML(xml_data, category);

		}
	});
}


//===================================================================
// リストXML表示
//===================================================================
function showXML(data, category) {
	var str = '<div class="Scroller-Container">';
	
	switch(category) {
		
		// ブックマーク
		case "bookmark":
			if (data.length > 0) {
				for (var i = 0; i < data.length; i++) {
					if (data.length <= 7 && i == data.length - 1) {
						str += '<table class="last" border="0" cellpadding="0" cellspacing="0">';
					} else {
						str += '<table border="0" cellpadding="0" cellspacing="0">';
					}
					str += '<tr>';
					str += '<td class="cbi">';
					str += '<a id="cbi_a_' + i + '" href="/?m=1&id=' + data[i]['id'] + '">';
					str += '<p style="background-image:url(' + URL_PACKAGE + data[i]['id'] + '.jpg)">';
					str += '<span>' + data[i]['id'] + '</span>';
					str += '</p>';
					str += '</a>';
					str += '</td>';
					str += '<td class="cbt">';
					str += '<a id="cbt_a_' + i + '" href="/?m=1&id=' + data[i]['id'] + '">';
					if (data.length <= 7 && data[i]['title'].length > 24) {
						str += data[i]['title'].substring(0, 23) + "…";
					} else if (data.length >= 8 && data[i]['title'].length > 22) {
						str += data[i]['title'].substring(0, 21) + "…";
					} else {
						str += data[i]['title'];
					}
					str += '</a>';
					str += '</td>';
					//str += '<td class="cbb"><a href="javascript:setBookmark(\'' + data[i]['id'] + '\', \'delete\');"><span>削除</span></a></td>';
					str += '<td class="cbb">　</td>';
					str += '</tr>';
					str += '</table>';
				}
			} else {
				str += "登録タイトルはありません。";
			}
			break;
			
		// 視聴期間
		case "available":
			if (data.length > 0) {
				for (var i = 0; i < data.length; i++) {
					if (data.length <= 6 && i == data.length - 1) {
						str += '<table class="last" border="0" cellpadding="0" cellspacing="0">';
					} else {
						str += '<table border="0" cellpadding="0" cellspacing="0">';
					}
					str += '<tr>';
					str += '<td class="cpi">';
					str += '<p style="background-image:url(' + URL_PACKAGE + data[i]['id'] + '.jpg)">';
					str += '<span>' + data[i]['id'] + '</span>';
					str += '</p>';
					str += '</td>';
					str += '<td class="cbt">';
					if (data.length <= 6 && data[i]['title'].length > 24) {
						str += data[i]['title'].substring(0, 23) + "…";
					} else if (data.length >= 7 && data[i]['title'].length > 22) {
						str += data[i]['title'].substring(0, 21) + "…";
					} else {
						str += data[i]['title'];
					}
					str += '</td>';
					str += '<td class="cbb">';
					if (data[i]['limit'].charAt(5) == "0") {
						str += data[i]['limit'].substr(6, 1);
					} else {
						str += data[i]['limit'].substr(5, 2);
					}
					str += "/";
					if (data[i]['limit'].charAt(8) == "0") {
						str += data[i]['limit'].substr(9, 1);
					} else {
						str += data[i]['limit'].substr(8, 2);
					}
					str += '<br />';
					if (data[i]['limit'].charAt(11) == "0") {
						str += data[i]['limit'].substr(12, 1);
					} else {
						str += data[i]['limit'].substr(11, 2);
					}
					str += ":";
					str += data[i]['limit'].substr(14, 2);
					str += '</td>';
					str += '</tr>';
					str += '</table>';
				}
			} else {
				str += "視聴期間内の動画はありません";
			}
			break;
			
		// 購入履歴
		case "history":
			str = '<div class="Scroller-Container scr_history">';
			if (data.length > 0) {
				for (var i = 0; i < data.length; i++) {
					if (data.length <= 3 && i == data.length - 1) {
						str += '<table class="last" border="0" cellpadding="0" cellspacing="0">';
					} else {
						str += '<table border="0" cellpadding="0" cellspacing="0">';
					}
					str += '<tr>';
					str += '<td class="chi">';
					str += '<p style="background-image:url(' + URL_PACKAGE + data[i]['id'] + '.jpg)">';
					str += '<span>' + data[i]['id'] + '</span>';
					str += '</p>';
					str += '</td>';
					str += '<td class="cbt">';
					if (data.length <= 3 && data[i]['title'].length > 24) {
						str += data[i]['title'].substring(0, 23) + "…";
					} else if (data.length >= 4 && data[i]['title'].length > 22) {
						str += data[i]['title'].substring(0, 21) + "…";
					} else {
						str += data[i]['title'];
					}
					if (data[i]['sellsec'] == 1) {
						str += '<br /><span>レンタル（ストリーミング）</span>';
					} else if (data[i]['sellsec'] == 2) {
						str += '<br /><span>レンタル（ダウンロード）</span>';
					} else if (data[i]['sellsec'] == 3) {
						str += '<br /><span>セル（動画販売）</span>';
					}
					str += '</td>';
					str += '<td class="cbb">';
					str += data[i]['date'].substr(0, 4);
					str += "/<br />";
					if (data[i]['date'].charAt(5) == "0") {
						str += data[i]['date'].substr(6, 1);
					} else {
						str += data[i]['date'].substr(5, 2);
					}
					str += "/";
					if (data[i]['date'].charAt(8) == "0") {
						str += data[i]['date'].substr(9, 1);
					} else {
						str += data[i]['date'].substr(8, 2);
					}
					str += '</td>';
					str += '</tr>';
					str += '<tr>';
					str += '<td class="cbn" colspan="3">';
					str += '<div class="cbn_1">';
					str += '<div class="cbn_2">' + data[i]['number'] + '</div>';
					if (data[i]['event'] == "repayment") {
						str += '<div class="cbn_3 repay">' + data[i]['price'] + '円 (返金)</div>';	
					} else {
						str += '<div class="cbn_3">' + data[i]['price'] + '円</div>';	
					}
					str += '<div class="cbn_4"></div>';
					str += '</div>';
					str += '<div class="cbn_5">';
					// ここで変更
					if (isNaN(data[i]['tpGet']) == true) {
						str += data[i]['tpGet'];
					} else {
						var str2 = "";
						if (data[i]['event'] == "repayment") {
							if (data[i]['tpUse'] != 0 || data[i]['tpUse'].length != 0) {
								str2 += 'Tポイント調整 ' + data[i]['tpUse'];
							}
							if (data[i]['tpGet'] != 0 || data[i]['tpGet'].length != 0) {
								str2 += 'P　Tポイント返却 ' + Number(data[i]['tpGet']) * -1 + 'P';
							}
						} else {
							if (data[i]['tpUse'] != 0 || data[i]['tpUse'].length != 0) {
								str2 += '利用Tポイント ' + data[i]['tpUse'];
							}
							if (data[i]['tpGet'] != 0 || data[i]['tpGet'].length != 0) {
								str2 += 'P　付与Tポイント ' + data[i]['tpGet'] + 'P';
							}
						}
						
						if (str2.length != 0) {
							str += str2;
						} else {
							str += "　";
						}
					}
					str += '</div>';
					str += '</td>';
					str += '</tr>';
					str += '</table>';
				}
			} else {
				str += "購入履歴はありません";
			}
			break;
			
	}
	
	str += '</div>';
	$("#Scroller-2").html(str);
	
	
	// ロールオーバー
	if (category == "bookmark") { 
		$('.cbi a').hover(
		function(){
			var thisNum = this.id.split("cbi_a_")[1];
			$('#cbt_a_' + thisNum).css("fontWeight","bold");
			$('#cbt_a_' + thisNum).css("textDecoration","underline");
			if (data.length <= 7 && data[thisNum]['title'].length > 22) {
				str = data[thisNum]['title'].substring(0, 21) + "…";
			} else if (data.length >= 8 && data[thisNum]['title'].length > 20) {
				str = data[thisNum]['title'].substring(0, 19) + "…";
			} else {
				str = data[thisNum]['title'];
			}
			$('#cbt_a_' + thisNum).html(str);
			},
		function(){
			var thisNum = this.id.split("cbi_a_")[1];
			$('#cbt_a_' + thisNum).css("fontWeight","normal");
			$('#cbt_a_' + thisNum).css("textDecoration","none");
			if (data.length <= 7 && data[thisNum]['title'].length > 24) {
				str = data[thisNum]['title'].substring(0, 23) + "…";
			} else if (data.length >= 8 && data[thisNum]['title'].length > 22) {
				str = data[thisNum]['title'].substring(0, 21) + "…";
			} else {
				str = data[thisNum]['title'];
			}
			$('#cbt_a_' + thisNum).html(str);
			}
		);
		$('.cbt a').hover(
		function(){
			var thisNum = this.id.split("cbt_a_")[1];
			$(this).css("fontWeight","bold");
			$(this).css("textDecoration","underline");
			if (data.length <= 7 && data[thisNum]['title'].length > 22) {
				str = data[thisNum]['title'].substring(0, 21) + "…";
			} else if (data.length >= 8 && data[thisNum]['title'].length > 20) {
				str = data[thisNum]['title'].substring(0, 19) + "…";
			} else {
				str = data[thisNum]['title'];
			}
			$(this).html(str);
			},
		function(){
			var thisNum = this.id.split("cbt_a_")[1];
			$(this).css("fontWeight","normal");
			$(this).css("textDecoration","none");
			if (data.length <= 7 && data[thisNum]['title'].length > 24) {
				str = data[thisNum]['title'].substring(0, 23) + "…";
			} else if (data.length >= 8 && data[thisNum]['title'].length > 22) {
				str = data[thisNum]['title'].substring(0, 21) + "…";
			} else {
				str = data[thisNum]['title'];
			}
			$(this).html(str);
			}
		);
	}
	
	
	// スクロール設定
	$("#Scrollbar-Container2").html('<div class="Scrollbar-Track"><div class="Scrollbar-Handle"></div></div>');	
	if (category == "bookmark") {
		$("#Scrollbar-Container2 .Scrollbar-Track").css("top", "104px");
		$("#Scrollbar-Container2 .Scrollbar-Track").css("height", "284px");
		scllerLogin = new scllerUILogin(document.getElementById("Scroller-2"), 209, 284);
		sclbarLogin = new sclbarUILogin (document.getElementById("Scrollbar-Container2"), scllerLogin, false);
	} else {
		$("#Scrollbar-Container2 .Scrollbar-Track").css("top", "137px");
		$("#Scrollbar-Container2 .Scrollbar-Track").css("height", "251px");
		scllerLogin = new scllerUILogin(document.getElementById("Scroller-2"), 209, 251);
		sclbarLogin = new sclbarUILogin (document.getElementById("Scrollbar-Container2"), scllerLogin, false);		
	}
	
	
	// スクロール非表示の際、幅を広げる
	if($("#Scrollbar-Container2").css("visibility") == "visible") {
		$(".cbt").css("width", "132px");
		$("#Scroller-2").css("width", "209px");
	} else {
		$("#Scroller-2").css("width", "229px");
		$(".cbt").css("width", "152px");
	}
	
}


//===================================================================
// ブックマーク操作 (id:コンテンツID , act:追加か削除)
//===================================================================
var timerResult = 0;
function setBookmark(id , act) {
	$.ajax({
		//url: URL_APIXML + act + '_bookmark.xml',  // テストで静的XML読み込み
		url: URL_API_BOOKMARK,
		data: { 'act':act, 'id':id },
		type: 'GET',
		dataType: 'xml',
		timeout: 600000,
		error: function(){
			if (act == "post") {
				document["ttv"].returnBookmark("ServerError");
			} else {
				$("#p_result").html("エラーが発生しました。");
				timerResult = setTimeout(function() { $("#p_result").html(""); } , 5000);
			}
		},
		success: function(xml){
			// do something with xml
			var xml_data = new Array();
			var status = $('status', xml).text();
			var action = $('action', xml).text();
			
			if (act == "post") {
				// 追加（Flashからだから ステータス返すだけ）
				document["ttv"].returnBookmark(status);
				// ブックマーク選択時は更新
				if (status == "Success" && $("#btn_r_book").attr("class") == "select") {
					loadXML("bookmark", 1);
				}
				
			} else {
				// 削除
				
				// タイマー削除
				clearTimeout(timerResult);
				
				// ステータス処理
				switch(status) {
					// 成功
					case "Success":
						// 右側に表示
						loadXML("bookmark", 1);
						$("#p_result").html("削除しました。");
						timerResult = setTimeout(function() { $("#p_result").html(""); } , 5000);
						break;
					
					// ログイン画面へリダイレクト
					case "NotLogined":
						$.cookie('sid', null, { path: '/' });
						$.cookie('right', 1, { path: '/' });
						if (document["ttv"]) {
							document["ttv"].getURL(URL_LOGIN);
						} else {
							location.href = URL_LOGIN + location.search;
						}
						break;
					
					// エラー
					case "BookmarkNotFound":
					case "ServerError":
					case "RequestError":
					case "Maintenance":
						$("#p_result").html("エラーが発生しました。");
						timerResult = setTimeout(function() { $("#p_result").html(""); } , 5000);
						break;	
				}
			}
			
		}
	});
}



//===================================================================
// ログイン通信
//===================================================================
function sendLogin() {
	$("#f_result").html("");
	$.ajax({
		//url: URL_APIXML + 'login_login.xml',  // テストで静的XML読み込み
		url: URL_API_LOGIN,
		data: { 'act':'login', 'uid':$("#f_f1").val(), 'pass':String($("#f_f2_1").val()) + String($("#f_f2_2").val()), 'keep':$("#f_f3").attr("checked") },
		type: 'post',  // 本番ではpost
		dataType: 'xml',
		timeout: 600000,
		error: function(xml, status, e){
			$("#f_result").html("エラーが発生しました。<br />再度ログインを行ってください。");
		},
		success: function(xml){
			// do something with xml
			var xml_data = new Array();
			var status = $('status', xml).text();
			var action = $('action', xml).text();
			var sid = $('sid', xml).text();
			
			// ステータス処理
			switch(status) {
				// 成功
				case "Success":
					// GoogleAnalytics マイページ初期表示
					pageTracker._trackPageview("/mypage/ブックマーク_default/");
					// セッションID保存
					if ($("#f_f3").attr("checked") == true) {
						$.cookie('sid', sid, { expires: 14, path: '/' });
					} else {
						$.cookie('sid', sid, { expires: 0, path: '/' });
					}
					// 元のhttpに遷移
					$.cookie('right', 2, { path: '/' });
					$.cookie('page', 1, { expires: 0, path: '/' });
					if (document["ttv"]) {
						document["ttv"].getURL(URL_LOGOFF);
					} else {
						location.href = URL_LOGOFF + location.search;
					}
					break;
					
				// エラー
				case "AuthError":
					$("#f_result").html("利用者ID、またはパスワードが<br />正しくありません。");
					break;
				case "ServerError":
				case "RequestError":
				case "Maintenance":
					$("#f_result").html("エラーが発生しました。<br />再度ログインを行ってください。");
					break;
				case "LoginLocked":
					$("#f_result").html("ログインに失敗しました。<br />のちほど再度お試しください。");
					break;
				case "AccountClosed":
					$("#f_result").html("退会済みの利用者IDです。");
					break;
			}
		}
	});
}


//===================================================================
// ログオフ通信
//===================================================================
function sendLogoff() {
	$.ajax({
		//url: URL_APIXML + 'login_logoff.xml',  // テストで静的XML読み込み
		url: URL_API_LOGIN,
		data: { 'act':'logoff' },
		type: 'get',
		dataType: 'xml',
		timeout: 600000,
		error: function(xml, status, e){
			$("#p_result").html("エラーが発生しました。");
			timerResult = setTimeout(function() { $("#p_result").html(""); } , 5000);
		},
		success: function(xml){
			// do something with xml
			var xml_data = new Array();
			var status = $('status', xml).text();
			var action = $('action', xml).text();
			var sid = $('sid', xml).text();
			
			// ステータス処理
			switch(status) {
				// 成功
				case "Success":
					scllerLogin = null;
					sclbarLogin = null;
					$.cookie('sid', null, { path: '/' });
					$.cookie('right', 0, { path: '/' });
					$("#box_right").attr({ "class":"logoff" });
					$("#box_right").html(strLogoff);
					break;
					
				// ログイン画面へリダイレクト
				case "NotLogined":
					$.cookie('sid', null, { path: '/' });
					$.cookie('right', 1, { path: '/' });
					if (document["ttv"]) {
						document["ttv"].getURL(URL_LOGIN);
					} else {
						location.href = URL_LOGIN + location.search;
					}
					break;
				
				// エラー
				case "ServerError":
				case "RequestError":
				case "Maintenance":
					$("#p_result").html("エラーが発生しました。");
					timerResult = setTimeout(function() { $("#p_result").html(""); } , 5000);
					break;
			}
		}
	});
}


//===================================================================
// 利用者ID取得
//===================================================================
function sendLogget() {
	$.ajax({
		//url: URL_APIXML + 'login_get_id.xml',  // テストで静的XML読み込み
		url: URL_API_LOGIN,
		data: { 'act':'get_id' },
		type: 'get',
		dataType: 'xml',
		timeout: 600000,
		error: function(xml, status, e){
			$("#p_userid").html("Error loading XML document");
		},
		success: function(xml){
			// do something with xml
			var xml_data = new Array();
			var status = $('status', xml).text();
			var action = $('action', xml).text();
			var uid = $('uid', xml).text();
			
			// ステータス処理
			switch(status) {
				// 成功
				case "Success":
					$("#p_userid").html("利用者ID：" + uid);
					break;
					
				// エラー
				case "NotLogined":
				case "ServerError":
				case "RequestError":
				case "Maintenance":
					$("#p_userid").html(status);
					break;
			}
		}
	});
}






// ログオフ
var strLogoff = "";

if (RIGHT_BANNER_IMG_1) {
	strLogoff += '<div id="banner_pr_A"><a href="' + RIGHT_BANNER_URL_1 + '"';
	if (RIGHT_BANNER_TARGET_1) strLogoff += ' target="' + RIGHT_BANNER_TARGET_1 + '"';
	strLogoff += '><img src="' + RIGHT_BANNER_IMG_1 + '" width="211" height="66"/></a></div>';
}
if (RIGHT_BANNER_IMG_2) {
	strLogoff += '<div id="banner_pr_B"><a href="' + RIGHT_BANNER_URL_2 + '"';
	if (RIGHT_BANNER_TARGET_2) strLogoff += ' target="' + RIGHT_BANNER_TARGET_2 + '"';
	strLogoff += '><img src="' + RIGHT_BANNER_IMG_2 + '" width="211" height="66"/></a></div>';
}
if (RIGHT_BANNER_IMG_3) {
	strLogoff += '<div id="banner_pr_C"><a href="' + RIGHT_BANNER_URL_3 + '"';
	if (RIGHT_BANNER_TARGET_3) strLogoff += ' target="' + RIGHT_BANNER_TARGET_3 + '"';
	strLogoff += '><img src="' + RIGHT_BANNER_IMG_3 + '" width="211" height="66"/></a></div>';
}
if (RIGHT_BANNER_IMG_4) {
	strLogoff += '<div id="banner_pr_D"><a href="' + RIGHT_BANNER_URL_4 + '"';
	if (RIGHT_BANNER_TARGET_4) strLogoff += ' target="' + RIGHT_BANNER_TARGET_4 + '"';
	strLogoff += '><img src="' + RIGHT_BANNER_IMG_4 + '" width="211" height="66"/></a></div>';
}
//strLogoff += '<div id="banner_qr_logoff">';
//strLogoff += '<a href="/feature/ember.html"><img src="/img/090919_ember_pcright.jpg" width="125" height="125" alt="Sexy TSUTAYA 成人向け動画 配信開始しました!!" /></a>';
//strLogoff += '<a href="/feature/sexy3.html"><img src="/img/090806sexy_pcbanner2.jpg" width="125" height="125" alt="Sexy TSUTAYA 成人向け動画 配信開始しました!!" /></a>';
//strLogoff += '<a href="/news/?news=1&cd=179"><img src="/img/100601important_banner.jpg" width="125" height="125" alt="重要なお知らせ　「アクトビラからの入り口が変わりました」" /></a>';
//strLogoff += '<a href="/news/?news=1&cd=70"><img src="/img/ttv_okiniiri_banner.jpg" width="125" height="125" alt="テレビでお気に入り登録！こんなに便利" /></a>';

/*
strLogoff += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="111" height="125" id="tsutayatv_111">';
strLogoff += '<param name="allowScriptAccess" value="sameDomain" />';
strLogoff += '<param name="allowFullScreen" value="false" />';
strLogoff += '<param name="movie" value="/tsutayatv_111.swf" />';
strLogoff += '<param name="quality" value="high" />';
strLogoff += '<param name="bgcolor" value="#2A2A32" />';
strLogoff += '<embed src="/tsutayatv_111.swf" quality="high" bgcolor="#2A2A32" width="125" height="125 name="tsutayatv_111" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
strLogoff += '</object>';
*/
//strLogoff += '</div>';
//strLogoff += '<a id="btn_r_login" href="javascript:btnClickLogin(\'btn_r_login\');"><span>ログイン</span></a>';
strLogoff += '<a id="btn_r_login" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>ログイン</span></a>';
strLogoff += '<p id="p_r_logoff">TSUTAYA TVの利用者登録がお済みの方は、PCからもマイページがご利用いただけます。</p>';
strLogoff += '<a id="btn_r1" href="' + URL_SERVICE + '"><span>ご利用方法はこちら</span></a>';
strLogoff += '<a id="btn_r2" href="/price/index.html"><span>ご利用料金はこちら</span></a>';


// ログインページ
var strLogpage = "";
strLogpage += '<p id="f_result"></p>';
strLogpage += '<form id="f_login" action="xxxxx.php" method="post">';
strLogpage += '<label id="f_l1" for="f_f1">利用者ID（10桁の数字）</label>';
strLogpage += '<input id="f_f1" type="text" name="id" maxlength="10" />';
strLogpage += '<label id="f_l2" for="f_f2_1">パスワード（10桁）:</label>';
strLogpage += '<input id="f_f2_1" type="password" name="pass" maxlength="6" />';
strLogpage += '<p id="f_p2_1">TSUTAYA TV<br />暗証番号(6桁)</p>';
strLogpage += '<p id="f_p2_0">+</p>';
strLogpage += '<input id="f_f2_2" type="password" name="birthday" maxlength="4" />';
strLogpage += '<p id="f_p2_2">ご登録の生年月日の月日(4桁)</p>';
strLogpage += '<label id="f_l3" for="f_f3"><input id="f_f3" type="checkbox" name="keep" value="on" />　ログイン情報を記憶する。</label>';
strLogpage += '<a id="f_b1" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>ログイン</span></a>';
strLogpage += '</form>';
strLogpage += '<a id="f_a1" href="/faq/?faq=6">利用者IDや暗証番号を忘れた方</a>';
strLogpage += '<p id="f_p4">利用者IDをお持ちでない方は、TVからアクトビラ上のTSUTAYA TVにアクセスし、利用者登録を行ってください。</p>';
strLogpage += '<p id="f_p5"><span>TSUTAYA TV モバイルサイト  オープン！　外出先でも見たい作品を検索できます！　http://tsutaya-tv.jp/mb/</span></p>';
strLogpage += '<div id="banner_qr_logpage">';
strLogpage += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="74" height="74" id="tsutayatv_74" align="middle">';
strLogpage += '<param name="allowScriptAccess" value="sameDomain" />';
strLogpage += '<param name="allowFullScreen" value="false" />';
strLogpage += '<param name="movie" value="/tsutayatv_74.swf" />';
strLogpage += '<param name="quality" value="high" />';
strLogpage += '<param name="bgcolor" value="#00000A" />';
strLogpage += '<embed src="/tsutayatv_74.swf" quality="high" bgcolor="#00000A" width="74" height="74" name="tsutayatv_74" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
strLogpage += '</object>';
strLogpage += '</div>';



// ログイン状態
var strLogin = "";
strLogin += '<a id="btn_r_logoff" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>ログオフ</span></a>';
strLogin += '<ul>';
strLogin += '<li><a id="btn_r_book" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>ブックマーク</span></a></li>';
strLogin += '<li><a id="btn_r_period" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>視聴期間内</span></a></li>';
strLogin += '<li><a id="btn_r_history" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>購入履歴</span></a></li>';
strLogin += '</ul>';
strLogin += '<ul id="history_menu">';
strLogin += '<li><a id="btn_r_history0" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>すべて</span></a></li>';
strLogin += '<li><a id="btn_r_history1" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>ストリーミングレンタル</span></a></li>';
strLogin += '<li><a id="btn_r_history2" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>ダウンロードレンタル</span></a></li>';
strLogin += '<li><a id="btn_r_history3" href="javascript:void(0);" onclick="btnClickLogin(this.id); return false;"><span>セルスルー</span></a></li>';
strLogin += '</ul>';
strLogin += '<p id="p_available">※レンタル（ダウンロード）で購入した動画の<br />視聴確認は、ご利用の機器でご確認ください。</p>';
strLogin += '<p id="p_userid"></p>';
strLogin += '<p id="p_result"></p>';
strLogin += '<p id="p_page"></p>';
strLogin += '<div id="div_back"></div>';
strLogin += '<div id="div_next"></div>';
strLogin += '<div id="Scroller-2">';
strLogin += '<div class="Scroller-Container"></div>';
strLogin += '</div>';
strLogin += '<div id="Scrollbar-Container2">';
strLogin += '<div class="Scrollbar-Track">';
strLogin += '<div class="Scrollbar-Handle"></div>';
strLogin += '</div>';
strLogin += '</div>';
strLogin += '<a id="btn_r_footer1" href="' + URL_SERVICE + '"><span>サービス案内</span></a>';
strLogin += '<a id="btn_r_footer2" href="' + URL_MOBILE + '"><span>モバイルサイト紹介</span></a>';

