var DOM = YAHOO.util.Dom,
	EVENT = YAHOO.util.Event,
	SELECTOR = YAHOO.util.Selector,
	CONNECT = YAHOO.util.Connect;

function openChatWindow() {
	var room = 'common';
	if(arguments.length == 1)
		room = arguments[0];
	window.open('/core/chat?room='+room, 'chatWindow', 'width=640, height=420, scrollbars=0');
}

function openMemoWindow() {
	var o = DOM.get('memberPopup');

	if(o) {
		o.parentNode.removeChild(o);
		o = null;
	}

	if(arguments.length == 0)
		window.open('/bbs/memo.php', 'memoWindow', 'left=50, top=50, width=620, height=460, scrollbars=1');
	else if(arguments.length == 1)
		window.open('/bbs/memo_form.php?me_recv_mb_id=' + arguments[0], 'memoWindow', 'left=50, top=50, width=620, height=460, scrollbars=1');
}

function openProfileWindow(memberId) {
	var o = DOM.get('memberPopup');

	if(o) {
		o.parentNode.removeChild(o);
		o = null;
	}

	window.open('/bbs/profile.php?mb_id='+memberId, 'profileWindow', 'left=50, top=50, width=620, height=510, scrollbars=1');
}

function openMemberPopup(memberId, el) {
	var pos = DOM.getXY(el),
		o = DOM.get('memberPopup'),
		str = '';

	if(! o) {
		o = document.createElement('UL');
		o.id = 'memberPopup';
		str += '<li><a href="javascript: openMemoWindow(\''+memberId+'\');">쪽지보내기</a></li>';
		str += '<li><a href="javascript: openProfileWindow(\''+memberId+'\');">자기소개</a></li>';

		var matched = location.href.match(/bo_table=([^&]+)/i);
		if(matched)
			str += '<li><a href="/bbs/board.php?bo_table='+matched[1]+'&sca=&sfl=mb_id,1&stx='+memberId+'">작성글 보기</a></li>';

		o.innerHTML = str;
		o.style.left = pos[0]+'px';
		o.style.top = pos[1]+el.offsetHeight+2+'px';
		document.body.appendChild(o);
	}
}

function init() {
	var o, p;

	// 검색어
	var searchMsg = '검색어 입력';
	if(o = SELECTOR.query('.text', 'search', true)) {
		o.value = searchMsg;

		EVENT.on(o, 'focus', function(e) {
			var el = EVENT.getTarget(e);
			if(el.value && el.value == searchMsg) {
				el.value = '';
				DOM.setStyle(el, 'color', '#000');
			}
		});
		EVENT.on(o, 'blur', function(e) {
			var el = EVENT.getTarget(e);
			if(! el.value || (el.value && el.value.length == 0) ) {
				el.value = searchMsg;
				DOM.setStyle(el, 'color', '#999');
			}
		});
	}

	// 검색버튼
	if(o = SELECTOR.query('.submit', 'search', true)) {
		EVENT.on(o, 'mouseenter', function(e) {
			var el = EVENT.getTarget(e);
			DOM.setStyle(el, 'background', "url('/image/xiii/search-submit-hover.png') no-repeat");
		});
		EVENT.on(o, 'mouseleave', function(e) {
			var el = EVENT.getTarget(e);
			DOM.setStyle(el, 'background', '');
		});
	}

	// 회원 팝업메뉴가 떠있을 경우 다른 곳을 클릭하면 팝업을 닫는다
	EVENT.on(document.body, 'click', function(e) {
		var el = EVENT.getTarget(e);
		var o = DOM.get('memberPopup');

		if(el.tagName.toUpperCase() == 'A') {
			// 회원 팝업메뉴를 여는 anchor 태그이거나
			if(YAHOO.util.Dom.hasClass(el, 'forMemberPopup'))
				return;
			// 회원 팝업메뉴 내 anchor 태그이면 팝업을 닫지 않음
			if(YAHOO.util.Dom.getAncestorBy(el, function(el) {
				if(el == o)
					return true;

				return false;
			}))
				return;
		}

		if(o) {
			o.parentNode.removeChild(o);
			o = null;
		}
	});

}

EVENT.onDOMReady(init);