// ● left pane
var favorImageArray = new Array(  "/img/favoBtn_off.gif", "/img/favoBtn_on.gif" );
var favorTextArray = new Array(  "お気に入りに追加する", "お気に入りから削除する" );
var wantsImageArray = new Array(  "/img/reportBtn_off.gif", "/img/reportBtn_on.gif" );
var wantsTextArray = new Array(  "クチコミ求むに追加する", "クチコミ求むから削除する" );
var profileTextArray = new Array(  "", "公開" );
var s_profileImageArray = new Array(  "/img/null.gif", "/img/s_profileIcon.gif" );
var profileTextArray = new Array(  "", "公開" );
var s_remindImageArray = new Array(  "/img/null.gif", "/img/s_remindIcon.gif" );
var remindTextArray = new Array(  "", "リマインド" );
var favorTypeArray = { work:"お気に入りの作品", creator:"お気に入りの著者", magazine:"お気に入りの雑誌", wants:"クチコミ求む", member:"お気に入りメンバー", fmember:"あなたをお気に入りに登録したメンバー" };
var favorLilnkArray = { work:"PGN-A3W", creator:"PGN-A14C", magazine:"PGN-A18Z", wants:"PGN-A3W", member:"d1.html?a=", fmember:"d1.html?a=" };
var myFavorLilnkArray = { work:"b2.html", creator:"b3.html", magazine:"b4.html", wants:"b32.html", member:"b13.html", fmember:"b14.html" };
var myFavorSizeArray = { work:"5", creator:"5", magazine:"5", wants:"5" };		// ※※※ホントは設定ファイルから読んでくる
var userFavorAreaHeadStr = ""+
"					<table width=\"160\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"bg_ybase\">"+
"						<tr>"+
"							<td colspan=\"6\" class=\"h10sp\"></td>"+
"						</tr>"+
"					</table>";
var userFavorTitleStr = ""+
"					<table width=\"160\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"bg_ybase\">"+
"						<tr>"+
"							<td width=\"5\"><img src=\"img/null.gif\" alt=\"\" width=\"5\" border=\"0\" /></td>"+
"							<td width=\"10\" class=\"top\"><div align=\"left\"><img src=\"img/red_arrow.gif\" alt=\"\" width=\"5\" /></div></td>"+
"							<td colspan=\"3\" class=\"aPart\"><a href=\"linkAddr\">favorType&#12288;<span class=\"txt_10px\" style=\"text-align:right; \">(myFavorCount)</span></a></td>"+
"							<td width=\"5\"><img src=\"img/null.gif\" alt=\"\" width=\"5\" border=\"0\" /></td>"+
"						</tr>"+
"					</table>";
var userFavorStr = ""+
"					<table width=\"160\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"partB\">"+
"						<tr>"+
"							<td width=\"5\"><img src=\"img/null.gif\" alt=\"\" width=\"5\" border=\"0\" /></td>"+
"							<td width=\"10\" class=\"top\"><div align=\"left\"><img src=\"img/null.gif\" alt=\"\" width=\"6\" height=\"6\" /></div></td>"+
"							<td class=\"partB_Title\"><a href=\"favorLinkAddr\">myFavor</a></td>"+
"							<td width=\"14\" class=\"partB_icon\"><img src=\"profileImgae\" alt=\"profileAlt\" border=\"0\" id=\"profileIcon\" name=\"profileIcon\" width=\"13\"/></td>"+
"							<td width=\"14\" class=\"partB_icon\"><img src=\"remindImage\" alt=\"remindAlt\" border=\"0\" id=\"reminderIcon\" name=\"reminderIcon\" width=\"13\"/></td>"+
"							<td width=\"5\"><img src=\"img/null.gif\" alt=\"\" width=\"5\" border=\"0\" /></td>"+
"						</tr>"+
"					</table>";
var userFavorAreaSpltrStr = ""+
"					<table width=\"160\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"partB\">"+
"						<tr>"+
"							<td width=\"5\"><img src=\"img/null.gif\" alt=\"\" width=\"5\" border=\"0\" /></td>"+
"							<td colspan=\"4\" class=\"dot_l\"><img src=\"img/null.gif\" alt=\"\" width=\"5\" height=\"5\" border=\"0\" /></td>"+
"							<td width=\"5\"><img src=\"img/null.gif\" alt=\"\" width=\"5\" border=\"0\" /></td>"+
"						</tr>";
"					</table>";
var favoBtnStr = "<a href=\"javascript:toggleFavor('targetType',targetStatus);\"><img src=\"targetImage\" alt=\"targetAlt\" name=\"favoBtn\" width=\"160\" height=\"32\" border=\"0\" id=\"favoBtn\" /></a>";

function readUserFavor(type, nextFunction){ // 保存先がreadMemberFavorと同じなので注意
	// 取得する情報を、頭４つと残りに分けることで軽くできる
	httpRequest("data/getMemberFavorit.php?member="+mid+"&type="+type, function( indata ){
			if( typeof(indata) == "object" || typeof(indata) != "string" ){
				indata = "";
			}
			if ( typeof(member) != "object" ){
				member = new Object();
			}
			var csv = indata.split( "\n" );
			if ( csv[0] == "Error" ){
				// エラー表示
				member["error"] = indata;
			}
			else {
				// データの保存
				member[type+"Favorits"] = new Array();
				for ( var i=0; i<csv.length; i++ ){
					csv[i] = csv[i].replace( /\n/, "" );
					csv[i] = csv[i].replace( /\r/, "" );
					if ( csv[i] != "" ){
						member[type+"Favorits"].push( csv[i].split(",") );
						// 頭の４つはどれも同じ( userFavorit. memberInfoで使用）
						// [work]     workid,worktitle,public,remind,divisionid,divisiontext,divisionimageL,storyid,storytext,storyimageL,report,creatorid,creatorname....
						// [creator]  creatorid,creatorname,public,remind,masterid,workcount
						// [magazine] magtitleid,magtitletitle,public,remind,masterid,publisherid,publishername,divisionid,divisiontext,divisionimageL
						// [wants]    workid,worktitle,public,remind,divisionid,divisiontext,divisionimageL,storyid,storytext,storyimageL,creatorid,creatorname
						// [member]   memberid,membername,public,remind,faceid,birthday,agedisp,workid,worktitle,reportid,evalimage,evaltext,reporrank,reportfrom,reportdate,reportworkid,reportworktitle,publictext,protetTextsize
						// [fmember]  memberid,membername,public,remind,faceid,birthday,agedisp,workid,worktitle,reportid,evalimage,evaltext,reporrank,reportfrom,reportdate,reportworkid,reportworktitle,publictext,protetTextsize
					}
				}
			}
			nextFunction();
		}
	);
}

function readMemberFavor(memberid, type, nextFunction){ // 保存先がreadUserFavorと同じなので注意
	// 取得する情報を、頭４つと残りに分けることで軽くできる
	httpRequest("data/getMemberFavorit.php?member="+memberid+"&type="+type, function( indata ){
			if( typeof(indata) == "object" || typeof(indata) != "string" ){
				indata = "";
			}
			if ( typeof(member) != "object" ){
				member = new Array();
			}
			var csv = indata.split( "\n" );
			if ( csv[0] == "Error" ){
				// エラー表示
				member["error"] = indata;
			}
			else {
				// データの保存
				member[type+"Favorits"] = new Array();
				for ( var i=0; i<csv.length; i++ ){
					csv[i] = csv[i].replace( /\n/, "" );
					csv[i] = csv[i].replace( /\r/, "" );
					if ( csv[i] != "" ){
						member[type+"Favorits"].push( csv[i].split(",") );
						// 頭の４つはどれも同じ( userFavorit. memberInfoで使用）
						// [work]     workid,worktitle,public,remind,divisionid,divisiontext,divisionimageL,storyid,storytext,storyimageL,report,creatorid,creatorname....
						// [creator]  creatorid,creatorname,public,remind,masterid,workcount
						// [magazine] magtitleid,magtitletitle,public,remind,masterid,publisherid,publishername,divisionid,divisiontext,divisionimageL
						// [wants]    workid,worktitle,public,remind,divisionid,divisiontext,divisionimageL,storyid,storytext,storyimageL,creatorid,creatorname
						// [member]   memberid,membername,public,remind,faceid,birthday,agedisp,workid,worktitle,reportid,evalimage,evaltext,reporrank,reportfrom,reportdate,reportworkid,reportworktitle,publictext,protetTextsize
						// [fmember]  memberid,membername,public,remind,faceid,birthday,agedisp,workid,worktitle,reportid,evalimage,evaltext,reporrank,reportfrom,reportdate,reportworkid,reportworktitle,publictext,protetTextsize
					}
				}
			}
			nextFunction();
		}
	);
}

function drawUserFavor(type){
	var AreaStr = "";
	if ( member["error"] ){
		AreaStr = member["error"];
	}
	else {
		// 表示データの作成
		AreaStr = userFavorTitleStr.replace( /linkAddr/, "javascript:jump('"+myFavorLilnkArray[type]+"')" );
		AreaStr = AreaStr.replace( /favorType/, favorTypeArray[type] );
		AreaStr = AreaStr.replace( /myFavorCount/, member[type+"Favorits"].length );
		if ( member[type+"Favorits"] ){
			if ( type != "member" && type != "fmember" ){
				var favorArray = new Array();
				AreaStr = userFavorAreaHeadStr + AreaStr;
				for( var i=0; i<Math.min(myFavorSizeArray[type],member[type+"Favorits"].length); i++ ){
					var listData = userFavorStr;
				//	listData = listData.replace( /favorLinkAddr/, "javascript:jump('"+favorLilnkArray[type]+"?a="+member[type+"Favorits"][i][0]+"')" );
					listData = listData.replace( /favorLinkAddr/, "javascript:jump('"+favorLilnkArray[type]+member[type+"Favorits"][i][0]+"')" );
					listData = listData.replace( /myFavor/, member[type+"Favorits"][i][1] );
					if ( type != "wants" ){
						listData = listData.replace( /profileImgae/, s_profileImageArray[member[type+"Favorits"][i][2]] );
						listData = listData.replace( /profileAlt/, profileTextArray[member[type+"Favorits"][i][2]] );
						listData = listData.replace( /remindImage/, s_remindImageArray[member[type+"Favorits"][i][3]] );
						listData = listData.replace( /remindAlt/, remindTextArray[member[type+"Favorits"][i][3]] );
					}
					else {
						listData = listData.replace( /profileImgae/, s_profileImageArray[0] );
						listData = listData.replace( /profileAlt/, profileTextArray[0] );
						listData = listData.replace( /remindImage/, s_remindImageArray[0] );
						listData = listData.replace( /remindAlt/, remindTextArray[0] );
					}
					favorArray.push( listData );
				}
				AreaStr = AreaStr + favorArray.join("") + userFavorAreaSpltrStr;
			}
		}
		else {
			// 表示なし
		}
	}
	if ( document.getElementById(type+'FavoreListArea') ){
		document.getElementById(type+'FavoreListArea').innerHTML = AreaStr;
	}
}

function drawUserFavorBtn(type){
	if ( type == "wants" ){
		drawWantsBtn(type);
	}
	else {
		var AreaStr = "";
		if ( typeof(member) != "object" ){
			member = new Array();
		}
		
		if ( member["error"] ){
			AreaStr = member["error"];
		}
		else {
			// 表示データの作成
			var argIndex = "";
			if ( type == "work" ){
				argIndex = argWork;
			}
			else if( type == "creator" ){
				argIndex = argCreator;
			}
			else if( type == "magazine" ){
				argIndex = argMagtitle;
			}
			else if( type == "member" ){
				argIndex = argMember;
			}
			var targetStatus = 0;
			if ( member[type+"Favorits"] ){
				for( var i=0; i<member[type+"Favorits"].length; i++ ){
					if( member[type+"Favorits"][i][0] == args[argIndex] ){
						targetStatus = 1;
					}
				}
			}
			AreaStr = favoBtnStr;
			AreaStr = AreaStr.replace( /targetType/, type );
			AreaStr = AreaStr.replace( /targetStatus/, targetStatus );
			AreaStr = AreaStr.replace( /targetImage/, favorImageArray[targetStatus] );
			AreaStr = AreaStr.replace( /targetAlt/, favorTextArray[targetStatus] );
		}
		if ( document.getElementById('favoBtnArea') ){
			document.getElementById('favoBtnArea').innerHTML = AreaStr;
		}
	}
}

function drawWantsBtn(type){
	var AreaStr = "";
	if ( member["error"] ){
		AreaStr = member["error"];
	}
	else {
		// 表示データの作成
		var targetStatus = 0;
		if ( member[type+"Favorits"] ){
			for( var i=0; i<member[type+"Favorits"].length; i++ ){
				if( member[type+"Favorits"][i][0] == args[argWork] ){
					targetStatus = 1;
				}
			}
		}
		AreaStr = favoBtnStr;
		AreaStr = AreaStr.replace( /targetType/, type );
		AreaStr = AreaStr.replace( /targetStatus/, targetStatus );
		AreaStr = AreaStr.replace( /targetImage/, wantsImageArray[targetStatus] );
		AreaStr = AreaStr.replace( /targetAlt/, wantsTextArray[targetStatus] );
	}
	if ( document.getElementById('wantsBtnArea') ){
		document.getElementById('wantsBtnArea').innerHTML = AreaStr;
	}
}

function toggleFavor(type,value){
	// ※※※連続クリックを抑制する！！
	if ( forceLogin2() ){
		if( member[type+"Favorits"].length >= 100 && value == 0 ){
			alert( "登録できるのは１００件までです。" );
		}
		else {
			var argIndex = "";
			if ( type == "work" || type == "wants" ){
				argIndex = argWork;
			}
			else if( type == "creator" ){
				argIndex = argCreator;
			}
			else if( type == "magazine" ){
				argIndex = argMagtitle;
			}
			else if( type == "member" ){
				argIndex = argMember;
			}
			var valueTo;
			if( value == 1 ){
				valueTo = 0;
			}
			else if( value == 0 ){
				valueTo = 1;
			}
			else {
				return;
			}
//			httpRequest("data/setFavorit.php?member="+mid+"&sid="+sid+"&type="+type+"&id="+args[argIndex]+"&value="+valueTo, function( indata ){
			//どのfuncから呼び出されたかを追加：ftype=1
			httpRequest("data/setFavorit.php?member="+mid+"&sid="+sid+"&type="+type+"&id="+args[argIndex]+"&value="+valueTo+"&ftype=1", function( indata ){
				readUserFavor( type, function(){ drawUserFavorBtn(type); } );
					
				}
			);
		}
	}
}

function toggleFavor2( type, value, targetId ){
	// ※※※連続クリックを抑制する！！
	if ( forceLogin() ){
		var valueTo;
		if( value == 1 ){
			if ( ! window.confirm( "ほんとうに削除してもよいですか？" ) ){
				return;
			}
			valueTo = 0;
		}
		else if( value == 0 ){
			valueTo = 1;
		}
		else {
			return;
		}
//		httpRequest("data/setFavorit.php?member="+mid+"&sid="+sid+"&type="+type+"&id="+targetId+"&value="+valueTo, function( indata ){
		//どのfuncから呼び出されたかを追加：ftype=0
		httpRequest("data/setFavorit.php?member="+mid+"&sid="+sid+"&type="+type+"&id="+targetId+"&value="+valueTo+"&ftype=0", function( indata ){
				readUserFavor( type, function(){ drawUserFavorList(type); } );
			}
		);
	}
}

function toggleProfile2( type, value, targetId ){
	// ※※※連続クリックを抑制する！！
	if ( forceLogin() ){
		var valueTo;
		if( value == 1 ){
			valueTo = 0;
		}
		else if( value == 0 ){
			valueTo = 1;
		}
		else {
			return;
		}
		httpRequest("data/setFavoritPublic.php?member="+mid+"&sid="+sid+"&type="+type+"&id="+targetId+"&value="+valueTo, function( indata ){
				readUserFavor( type, function(){ drawUserFavorList(type); } );
			}
		);
	}
}

function toggleRemind2( type, value, targetId ){
	// ※※※連続クリックを抑制する！！
	if ( forceLogin() ){
		var valueTo;
		if( value == 1 ){
			valueTo = 0;
		}
		else if( value == 0 ){
			valueTo = 1;
		}
		else {
			return;
		}
		httpRequest("data/setFavoritRemind.php?member="+mid+"&sid="+sid+"&type="+type+"&id="+targetId+"&value="+valueTo, function( indata ){
				readUserFavor( type, function(){ drawUserFavorList(type); } );
			}
		);
	}
}

// この他にページ個別のテンプレートデータが必要。
