﻿(function($) {
    if ($.Master === undefined) {
        $.Master = {};
    }

    if ($.ChatNavi === undefined) {
        $.ChatNavi = { timer: null };
    }

	var _GuestBookCount = 0;
	var _ChatCount = 0;

    $.ChatNavi.SetNotiCnt = function(notiCnt, gbCnt) {
        $("#d_notiCnt, #d_gbCnt").hide();
        $("#loginbox_noticnt>a").html("0");
		
		_ChatCount = notiCnt;
		_GuestBookCount = gbCnt;

        if (notiCnt > 0) {
            $("#d_notiCnt").show();
            $("#d_notiCnt").html('<img src="http://s.nx.com/S2/p2/icon/ico_n.gif" width="11" height="11" alt="new" /> ' + ( parseInt(notiCnt, 10)>99?99:notiCnt ));
        }

        if (gbCnt > 0) {
            $("#d_gbCnt").show();
            $("#d_gbCnt").html('<img src="http://s.nx.com/S2/p2/icon/ico_n.gif" width="11" height="11" alt="new" /> ' + ( parseInt(gbCnt, 10)>99?99:gbCnt ));
        }

        var count = 0;
        count += parseInt(notiCnt);
        count += parseInt(gbCnt);
		if ( count > 99 )
			count = 99;

        if (count > 0)
            $("#loginbox_noticnt>a").html('<img src="http://s.nx.com/S2/p2/icon/ico_n.gif" width="11" height="11" alt="new" /> ' + count);
    };

    $(document).ready(function() {
    }); // end of ready

    // 내홈일때 대시보드 열기/닫기 이벤트
    $.Master.BindBtnDashBoardOpenClose = function() {
        $("#btDashboardClose").click(function(event) {
            $.Cookie.set("homeDashBoardCoookie0712", "true", 365);
            $("#dashboard").removeClass().addClass("dashboardCnts dashboardHomeClose floatClear");
        });
        $("#btDashboardOpen").click(function(event) {
            $.Cookie.remove("homeDashBoardCoookie0712");
            $("#dashboard").removeClass().addClass("dashboardCnts dashboardHomeOpen floatClear");
        });
    };

    $.Master.BindLeftMenu = function(IsRefresh) {
        var data = $("div#contents").tagdata();
        var $navChat = $("#d_navChat");
        var $chatMain = $("#d_chatMain");
        $("#d_tagTxt").watermark();
		
		$.ChatNavi.SetNotiCnt( _ChatCount, _GuestBookCount );

        $("#d_pingGroupList").hide();
        $("#d_noChat7").hide();
        $("#d_noChat8").hide();
		if ( !data.isSearch )        
			$("#divSearch").hide();
		else
			$("#d_chatListWrapper").show();			

        if ($.LoginUserInfo.IsLogin) {
            $.ajaxNet(
				"/usercontrols/leftprofilemethod.aspx?_vb=ActivityGetListPing",
				{
				    "OwnerNexonSN": $.ProfileUserInfo.NexonSN,
				    "PageSize": 15
				},
				function(results, context) {
				    var totalCount = results[1];
				    var totalPageNo = parseInt(((totalCount - 1) / 5) + 1);
				    $("#d_leftactivity").html(results[0]);
				    $("#d_leftactivity > p.pagerCmnt").pager({
				        currentPageNo: 1,
				        blockSize: 1,
				        pageSize: 5,
				        firstBtn: "",
				        lastBtn: "",
				        callback: function(pageNo) {
				            $("#d_leftactivity > p.pagerCmnt").pager("update", totalCount);
				            $("#d_leftactivity > p.pagerCmnt").prepend("<span class=\"pagerState\"><span class=\"pagerCurrent\">" + $("#d_leftactivity > p.pagerCmnt").pager("option", "currentPageNo") + "</span>/<span>" + $("#d_leftactivity > p.pagerCmnt").pager("option", "lastPageNo") + "</span></span>")
				            var startNo = ((pageNo - 1) * 5) + 1;
				            var endNo = (startNo + 4) > totalCount ? totalCount : (startNo + 4);
				            $("#d_leftactivity > ul > li").hide();
				            for (var i = startNo; i <= endNo; i++) {
				                $("#d_leftactivity > ul > li:eq(" + (i - 1) + ")").show();
				            }
				        }
				    });
				    $("#d_leftactivity > p.pagerCmnt").pager("update", totalCount);
				    $("#d_leftactivity > p.pagerCmnt").prepend("<span class=\"pagerState\"><span class=\"pagerCurrent\">" + $("#d_leftactivity > p.pagerCmnt").pager("option", "currentPageNo") + "</span>/<span>" + $("#d_leftactivity > p.pagerCmnt").pager("option", "lastPageNo") + "</span></span>")
				},
				function() {
				}
			);
			var $feedSec = $("#d_chatListWrapper");
			var dataFeed = $feedSec.tagdata();

			if (dataFeed.IsFilteringAutoFeedOn) {
				$("li.gamechat>button").html("게임기록챗 끄기");
			} else {
				$("li.gamechat>button").html("게임기록챗 켜기");
			}
        }
        else {
            $("#d_leftactivity ul:eq(0)").hide();
            $("#d_leftactivity ul:eq(1)").show();
        }

        if ($("#contents").tagdata().ChatMsg == null || $("#contents").tagdata().ChatMsg.length == 0) {

            $("#chatContent").val("");
            $("#d_chatEditor .byte>span").text("0");
            $("#chatContent").watermark("option", "container").show();
            $("#chatContent").watermark("option", "checkHidden", function() { return true; });
        }

        $navChat.find("li").click(function(event) {

			if ( $(this).hasClass("gamechat") )
			{
				var $feedSec = $("#d_chatListWrapper");
				var data = $feedSec.tagdata();
				$feedSec.tagdata().IsFilteringAutoFeedOn = !data.IsFilteringAutoFeedOn;
				$navChat.ajaxNet(
					"/xsm/method/chatmethod.aspx?_vb=SetAutoFeedFilteringOption"
					, {
						"IsFilteringAutoFeedOn": data.IsFilteringAutoFeedOn
					}
					, function(results, context) {
						$feedSec.feed("setFilteringAutoFeedOn", data.IsFilteringAutoFeedOn);
						$feedSec.feed("getList", true );
						if ($("#d_pingGroupList").is(":visible")) {
							$feedSec.feed("getBestPingsList");
						}
					}
				);

				if (data.IsFilteringAutoFeedOn) {
					$("button", this).html("게임기록챗 끄기");
				} else {
					$("button", this).html("게임기록챗 켜기");
				}

				return false;
			}

			if ( $(this).hasClass("bestfriend") )
			{
				return false;
			}


            $navChat.find(".current").removeClass("current");
            $(this).addClass("current");
            $("#d_tagTxt").val("");
            $("#d_tag").find("ul>li").removeClass("current");

            $("ul.chatAction").hide();

            $chatMain.hide();
            $("#divGuestbook").hide();
            $("#divSearch").hide();
            $("#d_notification").hide();

            $("#d_pingGroupList").hide();
            $("#d_noChat7").hide();
            $("#d_noChat8").hide();
			$("#m_MusicHome").hide();

            if ($("span.chatmain", this).size() == 1) { // 챗보기
				$("span.chatview", this).closest("li").addClass("current");
                $("#d_chatListWrapper").show();
                $("#d_chatFilter ul.chatTabSub>li a:eq(0)").click();
                $("#d_chatMain").show();
                $("#d_chatWrite").feedwriter();

                try {
                    $.sendWiselog("http://www.nexon.com/wl.aspx?home=chatall");
                } catch (e) { }
                $("#contents").tagdata().styleType = "";
            } else if ($("span.chatview", this).size() == 1) { // 나와 핑의 챗
				$("#d_navChat>ul>li:eq(0)").addClass("current");
                $("#d_chatListWrapper").show();
                $("#d_chatFilter ul.chatTabSub>li a:eq(0)").click();
                $("#d_chatMain").show();
                $("#d_chatWrite").feedwriter();
                try {
                    $.sendWiselog("http://www.nexon.com/wl.aspx?home=chatall");
                } catch (e) { }
                $("#contents").tagdata().styleType = "";
            } else if ($("span.bestping", this).size() == 1) { // 친핑 챗
				$("#d_navChat>ul>li:eq(0)").addClass("current");
                $("#d_chatListWrapper").show();
                $("#d_chatFilter ul.chatTabSub>li a:eq(1)").click();
                $("#d_chatMain").show();
                $("#d_chatWrite").feedwriter();
                try {
                    $.sendWiselog("http://www.nexon.com/wl.aspx?home=chatbestping_all");
                } catch (e) { }
                $("#contents").tagdata().styleType = "";
            } else if ($("span.guestbook", this).size() == 1) { // 방명록보기
                $("#d_chatListWrapper").hide();
                $.Guestbook.Init();
                try {
                    $.sendWiselog("http://www.nexon.com/wl.aspx?home=guestbook");
                } catch (e) { }
                $("#contents").tagdata().styleType = "";
            } else if ($("span.notifications", this).size() == 1) { // 챗 알림 보기
                $("#d_chatListWrapper").hide();
                $("#d_notification").show();
                $("#contents").tagdata().styleType = "";
                $.Notification.GetList(true);
                try {
                    $.sendWiselog("http://www.nexon.com/wl.aspx?home=notification");
                } catch (e) { }
			} else if ($("span.music", this).size() == 1) { // 뮤직정보
                $("#d_chatListWrapper").hide();
				$("#m_MusicHome").show();
				$.HomeMusic.Init();
                try {
                    $.sendWiselog("http://www.nexon.com/wl.aspx?home=music");
                } catch (e) { }
                $("#contents").tagdata().styleType = "";
            }
            $("#chatContent").val("");
            $("#d_chatEditor .byte>span").text("0");
            $("#chatContent").watermark("option", "container").show();
            $("#chatContent").watermark("option", "checkHidden", function() { return true; });

            return false;
        });


        $("#d_tagTxt").bind("keypress", function(e) {
            if (e.keyCode == 13) {
                $("#d_tagSearchBtn").trigger("click");
                return false;
            }
        });

        $("div#d_tag").find("li>a").each(function(idx) {
            var $tag = $(this);
            $tag.click(function() {
                var s = $tag.find("span.d_tag").html();
                $("#d_tagTxt").val(s.substring(1, s.length - 1));
                $("#d_tagTxt").watermark("option", "container").hide();
                $("#d_tagSearchBtn").click();
                return false;
            });
        });

        if (!IsRefresh) {
            if ($("div#contents").tagdata().TagString != null && $("div#contents").tagdata().TagString.length > 0) {
                $("#d_navChat>ul li").removeClass("current");
                var tag = $("div#contents").tagdata().TagString;
                $("#d_tag").find(".d_tag").each(function() {
                    if ("[" + tag + "]" == $(this).text()) {
                        $(this).parent().parent().addClass("current");
                    }
                });
                $("#d_tagTxt").watermark("option", "container").hide();
                $("#d_tagTxt").val(tag);

                $("#chatContent").watermark("option", "checkHidden", function() { $("#chatContent").val("[" + tag + "] "); $("#chatContent").putCursorAtEnd(); $("#d_chatEditor .byte>span").text(tag.trim().length + 2); return true; }).watermark("changeText", "클릭하여 [" + tag + "] 챗에 참여하세요.");
                $("#chatContent").attr("title", "클릭하여 [" + tag + "] 챗에 참여하세요.");
            }
        }

        $("#d_tagSearchBtn").click(function() {
            $("ul.chatAction").hide();
            var tag = $("#d_tagTxt").val().trim();
            tag = tag.replace("[", "").replace("]", "");
            if (tag.length == 0) {
                $.alert("검색 할 태그를 입력해주세요.");
                return false;
            }
            $("#chatContent").val("");
            $("#chatContent").watermark("option", "container").show();

            $("#d_tag>ul li").removeClass("current");
            $("#d_tag").find(".d_tag").each(function() {
                if ("[" + tag + "]" == $(this).text()) {
                    $(this).parent().parent().addClass("current");
                }
            });

            $("#d_chatFilter").find(".pingGroupList").hide();
            $("#d_chatMain").show();

            $("#divGuestbook").hide();
            $("#divSearch").hide();
            $("#d_notification").hide();
			$("#m_MusicHome").hide();

            $("#d_chatListWrapper").show();

            $("#d_navChat>ul li").removeClass("current");
            $("#chatContent").watermark("option", "checkHidden", function() { $("#chatContent").val("[" + tag + "] "); $("#chatContent").putCursorAtEnd(); $("#d_chatEditor .byte>span").text(tag.trim().length + 2); return true; }).watermark("changeText", "클릭하여 [" + tag + "] 챗에 참여하세요.");
            $("#chatContent").attr("title", "클릭하여 [" + tag + "] 챗에 참여하세요.");
            $("#d_chatListWrapper").feed("initMembers");
            $("#d_chatListWrapper").feed({
                "FeedGroup": 4
            });
            $("#d_chatListWrapper").feed("getList", true);

            try {
                $.sendWiselog("http://www.nexon.com/wl.aspx?home=chattag");
            } catch (e) { }

            return false;
        });

        $("#btPingGroupSet").click(function() {
            $.confirm("친핑을 설정하려면 설정메뉴로 이동해야 해요.<br/>설정 메뉴로 이동하시겠어요?", function() {
                $.movePage( "/config/favoriteping.aspx" );
            });
            return false;
        });

        if (!IsRefresh) {
            if (data.isNotification) {
                $navChat.find(".current").removeClass("current");
                $("#d_tag").find("ul>li").removeClass("current");
                $navChat.find(">ul>li>a>span.notifications").closest("li").addClass("current");
            } else if (data.isGuestbook) {
                $navChat.find(".current").removeClass("current");
                $("#d_tag").find("ul>li").removeClass("current");
				$navChat.find(">ul>li>a>span.guestbook").closest("li").addClass("current");
            }
            if (data.isSearch) {
                $.Search.OpenSearch();
            } else if (data.isRecommend) {
                $.Search.OpenRecommend();
            }
        }
		
		$( ".admin" ).bind("mouseenter focusin", function () {
			$( this ).addClass( "adminCurrent" );
		}).bind("mouseleave focusout", function () {
			$( this ).removeClass( "adminCurrent" );
		});
		
		$( ".admin li button" ).bind("mouseenter focusin", function () {
			$( this ).addClass( "current" );
		}).bind("mouseleave focusout", function () {
			$( this ).removeClass( "current" );
		});
    };

})(jQuery);
