/*
* Filename	: comLayer.js
* Function	:
* Comment		:
* History		: 2002/06/10, jerry, setup
*							2005/01/11, jerry, develop
* Version		:	1.0
* Author		:	Copyright (c) 2005 by JC Square Inc. All Rights Reserved.
*/

var isMemberLayer = false;
var isChatterLayer = false;
var chatterLayerHeight = 0;
var cookieMemId = getCookie("SK_MI");
var eventObj = null;
var offsetX = 10;
var offsetY = -10;

/* mouse event */
document.onmousedown = hideMenu;

/* change background-color */
function changeBgColor(obj, bgcolor) {obj.style.backgroundColor = bgcolor;}

/* member menu */
function showMemberMenu(memId, posX, posY) {
	var obj = getObjectByName("MemberMenu");
	if (posX == null) {
		posX = getEventX(eventObj) + offsetX;
	}
	if (posY == null) {
		posY = getEventY(eventObj) + offsetY;
		if (NS) {ht = innerHeight + document.body.scrollTop;}
		else {ht = document.body.clientHeight + document.body.scrollTop;}
		if (ht - (posY + 160) < 0){posY = posY - ((posY + 160) - ht);}
	}	
	moveObject(obj, posX, posY);
	
	if (obj.innerHTML == '') {setMemberMenu(memId, obj);}
	else {hideMenu(eventObj);}
}

function showChatterMenu(memId) {
	var obj = getObjectByName("MemberMenu");
	var chatterObj = getObjectByName("ChatterList");
	
	obj.style.left = parseInt(chatterObj.style.left) - 130;
	obj.style.top = chatterObj.style.top;
	
	if (obj.innerHTML == '') {setMemberMenu(memId, obj);}
	else {hideMenu(eventObj);}
}

function setMemberMenu(memId, obj) {
	var text = "";

	text += "<table width='198' border='0' cellspacing='0' cellpadding='0'>";
	text += "	<tr>";
	text += "		<td height='4'><img src='../image/minimail/layer_top.gif' border='0'></td>";
	text += "	</tr>";
	text += "	<tr>";
	text += "		<td background='../image/minimail/layer_bg.gif' height='100%' align='center' valign='top' style='padding-top:10;padding-bottom:5;'>";
	text += "			<table width='170' border='0' cellspacing='1' cellpadding='5' bgcolor='#9E9D9D'>";
	text += "				<tr>";
	text += "					<td bgcolor='#FFFFFF'>";
	text += "						<table width='150' border='0' cellspacing='1' cellpadding='3'>";
	text += "							<tr>";
	text += "								<td><a href=javascript:mainHP('" + memId + "'); class='base'>ミニHPを見る</a></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td bgcolor='#EDEDED' height='1' style='padding:0;'></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td><a href=javascript:sendMessage('" + memId + "'); class='base'>メール送信</a></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td bgcolor='#EDEDED' height='1' style='padding:0;'></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td><a href=javascript:addFriend('" + memId + "'); class='base'>友達申請する</a></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td bgcolor='#EDEDED' height='1' style='padding:0;'></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td><a href=javascript:addHpFavor('" + memId + "'); class='base'>お気に入りリストへ追加</a></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td bgcolor='#EDEDED' height='1' style='padding:0;'></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td><a href=javascript:showAvatar('" + memId + "'); class='base'>アバターを見る</a></td>";
	text += "							</tr>";
	text += "							<tr>";
	text += "								<td bgcolor='#EDEDED' height='1' style='padding:0;'></td>";
	text += "							</tr>";
	text += "						</table>";
	text += "					</td>";
	text += "				</tr>";
	text += "			</table>";
	text += "		</td>";
	text += "	</tr>";
	text += "	<tr>";
	text += "		<td height='8'><img src='../image/minimail/layer_bot.gif' border='0'></td>";
	text += "	</tr>";
	text += "</table>";

	obj.innerHTML = text;
	isMemberLayer = true;
}

/* project.js */
function openProfile(memId) {
	viewProfile(memId);
}

function openMessage(memId) {
	if (memId == cookieMemId)	{alert("ご自分にはメッセージを送信できません。"); return;}
	sendMessage(memId);
}

function openPrivateChat(memId) {
	if (memId == cookieMemId)	{alert("ご自分には1:1チャットを申し込めません。"); return;}
	requestPrivateChat(memId);
}

/* hide menu */
function hideMenu(e) {
	eventObj = NS ? e : event;
	if (!isMemberLayer && !isChatterLayer) {return;}	
	var eventX = getEventX(eventObj);
	var eventY = getEventY(eventObj);
	
	var obj = getObjectByName("MemberMenu");
	var objX = parseInt(obj.style.left);
	var objY = parseInt(obj.style.top);
	if (eventX < objX || eventX > objX + 198	|| eventY < objY || eventY > objY + 131) {
		hideMemberMenu(obj);
	}
	
	try	{
		obj = getObjectByName("ChatterList");
		objX = parseInt(obj.style.left);
		objY = parseInt(obj.style.top);
		if (eventX < objX || eventX > objX + 400 || eventY < objY || eventY > objY + chatterLayerHeight) {
			hideChatterList(obj);
		}
	} catch (errorObject) {}
}

function hideMemberMenu(obj) {
	obj.innerHTML = '';
	isMemberLayer = false;
}

function hideChatterList(obj) {
	obj.innerHTML = '';
	isChatterLayer = false;
}

/* room object */
function RoomInfo(id, name, type, theme, limit, chatters) {
	this.id = id;
	this.name = name;
	this.type = type;
	this.theme = theme;
	this.limit = limit;
	this.chatters = chatters;
}

/* chatter object */
function ChatterInfo(memId, chatNm, age, job, area, blood) {
	this.memId = memId;
	this.chatNm = chatNm;
	this.age = age;
	this.job = job;
	this.area = area;
	this.blood = blood;
}

/* room info. & chatter list */
function showChatterList(roomInfo, func) {
	var obj = getObjectByName("ChatterList");
	chatterLayerHeight = 50 + (roomInfo.chatters.length) * 35;
	moveObject(obj, getEventX(eventObj) + offsetX, getEventY(eventObj) + offsetY);
	
	if (obj.innerHTML == '') {setChatterList(roomInfo, obj, func);}
	else {hideMenu(eventObj);}
}

function setChatterList(roomInfo, obj, func) {
	var text = "";
	var chatterArray = roomInfo.chatters;
	var chatterCnt = chatterArray != null ? chatterArray.length : 0;
	if (func == null) {func = "goRoom";}

	text += "<table width='400' border='0' cellspacing='1' cellpadding='0' class='bglineblue'>";
	text += "  <tr>";
	text += "    <td>";
	text += "      <table width='100%' border='0' cellspacing='0' cellpadding='4' class='bgblue1'>";
	text += "        <tr>";
	text += "          <td>参加者情報 (" + chatterCnt + "人)</td>";
	text += "          <td align='right'><a href=\"javascript:" + func + "('" + roomInfo.id + "','" + roomInfo.type + "','" + roomInfo.theme + "');\" class='lightblue'>入室</a>&nbsp;&nbsp;&nbsp;";
	text += "          	<a href='javascript:hideMenu();'><img src='../image/chat/X.gif' width='15' height='14' align='absmiddle' border='0'></a>";
	text += "          </td>";
	text += "        </tr>";
	text += "      </table>";
	text += "      <table width='100%' border='0' cellspacing='0' cellpadding='4' bgcolor='#FFFFFF' class='bgblue2'>";
	text += "        <tr align='center'>";
	text += "          <td width='160'>参加者</td>";
 	text += "          <td width='60'>年齢</td>";
	text += "          <td width='60'>地域</td>";
	text += "          <td width='60'>血液型</td>";
	text += "        </tr>";
	text += "      </table>";
	text += "      <table width='100%' border='0' cellspacing='0' cellpadding='0' height='1' class='bgblue2'>";
	text += "        <tr>";
	text += "          <td></td>";
	text += "        </tr>";
	text += "      </table>";
	
	for (i = 0; i < chatterCnt; i++) {
	text += "      <table width='100%' border='0' cellspacing='0' cellpadding='4' bgcolor='#FFFFFF' class='bgblue3'>";
	text += "        <tr>";
	text += "          <td width='160'><img src='" + getUserHead(chatterArray[i].memId) + "' align='absmiddle' border='0'>";
	text += "            <a href=javascript:viewProfile('" + chatterArray[i].memId + "'); class='blue'>" + chatterArray[i].chatNm + "</a></td>";
	text += "          <td align='center' width='60'>" + chatterArray[i].age + "</td>";
	text += "          <td align='center' width='60'>" + chatterArray[i].area + "</td>";
	text += "          <td align='center' width='60'>" + chatterArray[i].blood + "</td>";
	text += "        </tr>";
	text += "      </table>";
	}
	
	text += "    </td>";
	text += "  </tr>";
	text += "</table>";

	obj.innerHTML = text;
	isChatterLayer = true;
}
        