﻿
var strBlogURL = "http://blog.yes24.com";

//element에 ajax로 로드한 데이터로 바꾼다.
function loadItem(element_id, url) {
    $.get(url, function(data, textStatus) {
        $('#' + element_id).replaceWith(data);
    });
}

var isLayerOver = false;
var curLayerID = "";

function get_obj_x(obj) 
{
    return $(obj).offset().left;
}

function get_obj_y(obj) 
{
    return $(obj).offset().top + $(obj).height();
}

function set_layer_xy(objID, x, y) 
{
    $("#" + objID).css("top", y);
    $("#" + objID).css("left", x);
}

// 레이어 Show
function fnLayerOpen(objID, obj, offset) 
{
    isLayerOver = true;
    curLayerID = objID;

    var x, y;

    x = get_obj_x(obj);
    y = get_obj_y(obj);

   
    // offset 설정
    if (eval(offset) > 0)
        x = x + eval(offset) - ($("#" + objID).width() / 2);

    
    // 위치설정
    set_layer_xy(objID, x, y);
   
    $("#" + objID).css("position", "absolute");
    $("#" + objID).css("display", "block");

    if (objID == 'div_Themeing') {
    	$('#ddl_SearchType').hide();
    }
}

// 레이어 Hidden
function fnLayerClose(objID) {
	$("#" + objID).css("display", "none");
//	if (objID != 'div_Themeing')
		$('#ddl_SearchType').show();
}

function fnClose_Layer(objID) {
	if (!isLayerOver || curLayerID != objID) {
		$("#" + objID).css("display", "none");
	}
}

function fnDivMouseOver(objID)
{
	isLayerOver = true;
    $("#" + objID).css("display", "block");
}

function fnDivMouseOut(objID) {
    isLayerOver = false;
    setTimeout("fnClose_Layer('" + objID + "')", 300);

    if (objID == 'div_Themeing')
    	$('#ddl_SearchType').show();
}


// 닉네임 레이어
function fnNicNameLayerOpen(objID, USER_ID, obj, Grant, reviewType) 
{
    isLayerOver = true;
    curLayerID = objID;
    
    var x, y;

    x = get_obj_x(obj);
    y = get_obj_y(obj);

    // 위치설정
    set_layer_xy(objID, x, y);



    $("#" + objID).html(fnMakeNickNameLayer(USER_ID, Grant, reviewType))
    $("#" + objID).css("position", "absolute");
    $("#" + objID).css("display", "block");
}

function fnMakeNickNameLayer(USER_ID, Grant, reviewType) {

    strLayer = "";
    strLayer += "<ul>";					
	strLayer += "	    <li><a href='"+strBlogURL+"/blog/BlogMain.aspx?blogid="+USER_ID+"'>블로그가기</a></li>";
	strLayer += "	    <li><a href=\"javascript:fnProcessNickNameLayer('REVIEW','" + USER_ID + "','" + Grant + "','" + reviewType + "')\">리뷰보기</a></li>";
	strLayer += "	    <li><a href='"+strBlogURL+"/blog/blogThemeRing.aspx?blogid="+USER_ID+"'>테마링 글 보기</a></li>";
	strLayer += "	    <li><a href=\"javascript:fnProcessNickNameLayer('MEMO','" + USER_ID + "','" + Grant + "','" + reviewType + "')\">쪽지 보내기</a></li>";
	strLayer += "	    <li class='blind'><a href=\"javascript:fnProcessNickNameLayer('FRIEND','" + USER_ID + "','" + Grant + "','" + reviewType + "')\">친구추가</a></li>";									
	strLayer += "</ul>";
	
	return strLayer;
}


// Grant 5:로그인 안함, -1:자기자신, 0:권한 없음, 1:허용
function fnProcessNickNameLayer(TYPE, USER_ID, Grant, reviewType) {
    
    // 쪽지보내기
    if (TYPE == 'MEMO') {
        if (Grant == "5") {
            fnReqLog(location.href);
        }
        else if (Grant == "-1") {
            alert("자신에게는 쪽지를 보낼 수 없습니다.");
        }
        else if (Grant == "1") {
        window.open( strBlogURL + '/lib/libSendMemo.aspx?recv=' + USER_ID, 'Msg', 'width=340,height=320,toolbar=no,scrollbars=no,status=no');
        }
    }
    else if (TYPE == 'REVIEW') {

        //if (Grant == "5") {
        //    fnReqLog();
        //}
        //else {
            if (reviewType == "Y") {
                this.location.href = strBlogURL + "/blog/blogMain.aspx?blogid=" + USER_ID + "&allType=R";
            }
            else {
                alert("해당블로거는 리뷰메뉴를 사용하지 않습니다!");
            }
        //}
    }
    else if (TYPE == 'FRIEND') {

    if (Grant == "5")
            fnReqLog(location.href);
        else if (Grant == "-1")
            alert("자신을 친구로 등록할 수 없습니다!");
        else if (Grant == "1") {
            window.open(strBlogURL + '/blog/blogRegistFriendPop.aspx?blogid=' + USER_ID, 'regFrd', 'width=275,height=190,toolbar=no,scrollbars=no,status=no');
        }
    }
}

/*---------------------- Gcode용 레이어 Start ----------------------*/
// 닉네임 레이어
function fnGcodeNicNameLayerOpen(objID, USER_ID, obj, Grant, reviewType, gcode)
{
    isLayerOver = true;
    curLayerID = objID;

    var x, y;

    x = get_obj_x(obj);
    y = get_obj_y(obj);

    // 위치설정
    set_layer_xy(objID, x, y);



    $("#" + objID).html(fnGcodeMakeNickNameLayer(USER_ID, Grant, reviewType, gcode))
    $("#" + objID).css("position", "absolute");
    $("#" + objID).css("display", "block");
}

function fnGcodeMakeNickNameLayer(USER_ID, Grant, reviewType, gcode)
{
    var currentUrl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1, window.location.href.length);

    if (currentUrl == "" && window.location.href.length - 1 == window.location.href.lastIndexOf("/"))
    {
        currentUrl = window.location.href.substr(0, window.location.href.length - 1);
        currentUrl = currentUrl.substr(currentUrl.lastIndexOf("/") + 1, currentUrl.length);
    }

    if (currentUrl.indexOf("?") >= 0)
        currentUrl = currentUrl.substr(0, currentUrl.indexOf("?"));

    if (currentUrl.toLowerCase() == "blogmain")
    {
        strLayer = "";
        strLayer += "<ul>";
        strLayer += "	    <li><a href='" + strBlogURL + "/blog/BlogMain.aspx?blogid=" + USER_ID + "&gcode=" + gcode + "'>블로그가기</a></li>";
        strLayer += "	    <li><a href=\"javascript:fnGcodeProcessNickNameLayer('REVIEW','" + USER_ID + "','" + Grant + "','" + reviewType + "','" + gcode + "')\">리뷰보기</a></li>";
        strLayer += "	    <li><a href='" + strBlogURL + "/blog/blogThemeRing.aspx?blogid=" + USER_ID + "&gcode=" + gcode + "'>테마링 글 보기</a></li>";
        strLayer += "	    <li><a href=\"javascript:fnGcodeProcessNickNameLayer('MEMO','" + USER_ID + "','" + Grant + "','" + reviewType + "','" + gcode + "')\">쪽지 보내기</a></li>";
        strLayer += "	    <li class='blind'><a href=\"javascript:fnGcodeProcessNickNameLayer('FRIEND','" + USER_ID + "','" + Grant + "','" + reviewType + "','" + gcode + "')\">친구추가</a></li>";
        strLayer += "</ul>";
    }
    else
    {
        strLayer = "";
        strLayer += "<ul>";
        strLayer += "	    <li><a href='" + strBlogURL + "/blog/BlogMain.aspx?blogid=" + USER_ID + "'>블로그가기</a></li>";
        strLayer += "	    <li><a href=\"javascript:fnProcessNickNameLayer('REVIEW','" + USER_ID + "','" + Grant + "','" + reviewType + "')\">리뷰보기</a></li>";
        strLayer += "	    <li><a href='" + strBlogURL + "/blog/blogThemeRing.aspx?blogid=" + USER_ID + "'>테마링 글 보기</a></li>";
        strLayer += "	    <li><a href=\"javascript:fnProcessNickNameLayer('MEMO','" + USER_ID + "','" + Grant + "','" + reviewType + "')\">쪽지 보내기</a></li>";
        strLayer += "	    <li class='blind'><a href=\"javascript:fnProcessNickNameLayer('FRIEND','" + USER_ID + "','" + Grant + "','" + reviewType + "')\">친구추가</a></li>";
        strLayer += "</ul>";
    }

    return strLayer;
}


// Grant 5:로그인 안함, -1:자기자신, 0:권한 없음, 1:허용
function fnGcodeProcessNickNameLayer(TYPE, USER_ID, Grant, reviewType, gcode)
{

    // 쪽지보내기
    if (TYPE == 'MEMO')
    {
        if (Grant == "5")
        {
            fnReqLog(location.href);
        }
        else if (Grant == "-1")
        {
            alert("자신에게는 쪽지를 보낼 수 없습니다.");
        }
        else if (Grant == "1")
        {
            window.open(strBlogURL + '/lib/libSendMemo.aspx?recv=' + USER_ID + "&gcode=" + gcode, 'Msg', 'width=340,height=320,toolbar=no,scrollbars=no,status=no');
        }
    }
    else if (TYPE == 'REVIEW')
    {

        //if (Grant == "5") {
        //    fnReqLog();
        //}
        //else {
        if (reviewType == "Y")
        {
            this.location.href = strBlogURL + "/blog/blogMain.aspx?blogid=" + USER_ID + "&allType=R&gcode=" + gcode;
        }
        else
        {
            alert("해당블로거는 리뷰메뉴를 사용하지 않습니다!");
        }
        //}
    }
    else if (TYPE == 'FRIEND')
    {

        if (Grant == "5")
            fnReqLog(location.href);
        else if (Grant == "-1")
            alert("자신을 친구로 등록할 수 없습니다!");
        else if (Grant == "1")
        {
            window.open(strBlogURL + '/blog/blogRegistFriendPop.aspx?blogid=' + USER_ID + "&gcode=" + gcode, 'regFrd', 'width=275,height=190,toolbar=no,scrollbars=no,status=no');
        }
    }
}
/*---------------------- Gcode용 레이어 End ----------------------*/


// 로그인 확인
function fnReqLog(retUrl) {	
    //로그인요청시
    alert("로그인 후 이용해 주세요.");

    var LoginPage = "https://www.yes24.com/Templates/FTLogin.aspx";
    var ReturnPage = retUrl;

    location.href = LoginPage + "?ReturnURL=" + escape(ReturnPage);
}

function fnReqLogP(retUrl) {
    //로그인요청시
    alert("로그인 후 이용해 주세요.");

    var LoginPage = "https://www.yes24.com/Templates/FTLogin.aspx";
    var ReturnPage = retUrl;

    parent.location.href = LoginPage + "?ReturnURL=" + escape(ReturnPage);
}

function fnGcodeReqLog(retUrl, gcode)
{
    //로그인요청시
    alert("로그인 후 이용해 주세요.");

    var LoginPage = "https://www.yes24.com/Templates/FTLogin.aspx?Gcode=" + gcode;
    var ReturnPage = retUrl;

    location.href = LoginPage + "&ReturnURL=" + escape(ReturnPage);
}

// WordBreak 체크
function fnWordBreak() {
    if ($.browser.opera || $.browser.mozilla) {

        $(".wordBreak").each(function() {
            this.innerHTML = this.innerHTML.split('').join("<wbr/>");
        });
    }
    else {
        if (document.styleSheets[0].addRule) {
            document.styleSheets[0].addRule(".wordBreak", "word-break:break-all");
        } else if (document.styleSheets[0].insertRule) {
            document.styleSheets[0].insertRule(".wordBreak{word-break:break-all}", document.styleSheets[0].cssRules.length);
        } else {
            return false;
        }
    }
}


// 쿼리 스트링 중 필요한 정보 자르는 함수
function fnGetParam(name, params) {
    var arr = params.split("&");
    var param = "";

    for (var i = 0; i < arr.length; i++) {
        param = arr[i].split("=");

        if (param.length == 2 && param[0] == name) {
            return param[1];
        }
    }

    return "";
}

function fnGcodeUrlAction(url, gcode)
{
    var currentUrl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1, window.location.href.length);

    if (currentUrl != "undefined" && currentUrl == "" && window.location.href.length - 1 == window.location.href.lastIndexOf("/"))
    {
        currentUrl = window.location.href.substr(0, window.location.href.length - 1);
        currentUrl = currentUrl.substr(currentUrl.lastIndexOf("/") + 1, currentUrl.length);
    }

    if (currentUrl.indexOf("?") >= 0)
        currentUrl = currentUrl.substr(0, currentUrl.indexOf("?"));

    if (currentUrl.toLowerCase() == "blogmain")
    {
        if (url.indexOf("?") >= 0)
            location.href = url + "&Gcode=" + gcode;
        else
            location.href = url + "?Gcode=" + gcode;
    }
    else
        location.href = url;
}

function fnGcodeUrlAction2(url, url2, gcode)
{
    var currentUrl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1, window.location.href.length);

    if (currentUrl != "undefined" && currentUrl == "" && window.location.href.length - 1 == window.location.href.lastIndexOf("/"))
    {
        currentUrl = window.location.href.substr(0, window.location.href.length - 1);
        currentUrl = currentUrl.substr(currentUrl.lastIndexOf("/") + 1, currentUrl.length);
    }

    if (currentUrl.indexOf("?") >= 0)
        currentUrl = currentUrl.substr(0, currentUrl.indexOf("?"));

    if (currentUrl.toLowerCase() == "blogmain")
    {
        if (url.indexOf("?") >= 0)
            return location.href = url + "&Gcode=" + gcode + "&" + url2;
        else
            return location.href = url + "?Gcode=" + gcode + "&" + url2;
    }
    else
    {
        if (url.indexOf("?") >= 0)
            return location.href = url + "&" + url2;
        else
            return location.href = url + "?" + url2;
    } 
}

function fnGcodeUrlReturn(url, gcode)
{
    var currentUrl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1, window.location.href.length);

    if (currentUrl != "undefined" && currentUrl == "" && window.location.href.length - 1 == window.location.href.lastIndexOf("/"))
    {
        currentUrl = window.location.href.substr(0, window.location.href.length - 1);
        currentUrl = currentUrl.substr(currentUrl.lastIndexOf("/") + 1, currentUrl.length);
    }

    if (currentUrl.indexOf("?") >= 0)
        currentUrl = currentUrl.substr(0, currentUrl.indexOf("?"));

    if (currentUrl.toLowerCase() == "blogmain")
    {
        if (url.indexOf("?") >= 0)
            return url + "&Gcode=" + gcode;
        else
            return url + "?Gcode=" + gcode;
    }
    else
        return location.href = url;
}

function fnGcodeHiddenAction(gcode) {
	var gcodeSrc = '/webservice/gcodestat.aspx?gcode=' + gcode;
	var elem = document.getElementById('__BLOG_GCODE_STAT__');

	if (elem == null) {
		elem = document.createElement('iframe');
		elem.setAttribute('id', '__BLOG_GCODE_STAT__');
		elem.setAttribute('width', '0');
		elem.setAttribute('height', '0');
		document.body.appendChild(elem);
	} else {
		elem.removeAttribute('src');
	}

	elem.setAttribute('src', gcodeSrc);
}

//'****************************************************************************************
//'* Date: 2010-08-10
//'*
//'* 글자수 제한 (Byte 방식)
//'*
//'* objTb:TextBox객체(this로 넘긴다)
//'* lblName: 라벨id명(바이트 표시할 라벨, server컨트롤은 ClientID로 넘긴다)
//'* maxLen:제한할 바이트
//'*
//'****************************************************************************************
function CheckLength(objTb, lblName, maxLen)
{
    objLabel = document.getElementById(lblName);

    var str = objTb.value;

    var nbytes = 0;
    var strLen = 0;

    var EscTemp;

    for (i = 0; i < str.length; i++)
    {
        if (str.charAt(i) != escape(str.charAt(i)))
        {
            EscTemp = escape(str.charAt(i));
            if (EscTemp.length >= 6)
                nbytes += 2;
            else
                nbytes += 1;
        }
        else
            nbytes += 1;

        if (nbytes <= maxLen)
        {
            strLen++;
        }
    }

    if (objLabel != null)
        objLabel.innerText = nbytes;

    // 전체길이를 초과하면
    if (nbytes > maxLen)
    {
        alert(String(maxLen / 2) + "글자를 초과 입력할수 없습니다.\n\n초과된 내용은 자동으로 삭제 됩니다.");

        while (nbytes > maxLen)
        {
            if (str.charAt(str.length - 1) != escape(str.charAt(str.length - 1)))
            {
                EscTemp = escape(str.charAt(str.length - 1));
                if (EscTemp.length >= 6)
                {
                    if (objLabel != null)
                        objLabel.innerText = nbytes - 2;

                    nbytes = nbytes - 2;
                }
                else
                {
                    if (objLabel != null)
                        objLabel.innerText = nbytes - 1;

                    nbytes = nbytes - 1;
                }
            }
            else
            {
                if (objLabel != null)
                    objLabel.innerText = nbytes - 1;

                nbytes = nbytes - 1;
            }

            objTb.value = objTb.value.substr(0, objTb.value.length - 1);
        }
    }
    
    objTb.focus();
}
