﻿// JScript 파일
Common = {};
Common.format = function (text) {
    if (arguments.length <= 1) {
        return text;
    }
    var tokenCount = arguments.length - 2;
    for (var token = 0; token <= tokenCount; token++) {
        text = text.replace(new RegExp("\\{" + token + "\\}", "gi"), arguments[token + 1]);
    }
    return text;
};
Common.encodeHTML = function (str) {
    str = str.replace(/&/g, '&amp;');
    str = str.replace(/</g, '&lt;');
    str = str.replace(/>/g, '&gt;');
    return str;
};
Common.decodeHTML = function (str) {
    str = str.replace(/&amp;/g, '&');
    str = str.replace(/&lt;/g, '<');
    str = str.replace(/&gt;/g, '>');

    return str;
};
Common.IsEncodeHTML = function (str) {
    return (str.search(/&amp;/g) != -1 || str.search(/&lt;/g) != -1 || str.search(/&gt;/g) != -1)
};
Common.decodeHTMLifEnc = function (str) {
    if (Common.IsEncodeHTML(str))
        str = Common.decodeHTML(str);
    return str;
};
Common.queryString = function (name) {
    var q = location.search.replace(/^\?/, '').replace(/\&$/, '').split('&');
    for (var i = q.length - 1; i >= 0; i--) {
        var p = q[i].split('='), key = p[0], val = p[1];
        if (name.toLowerCase() == key.toLowerCase()) return val;
    }
    return "";
};

function go_pc_url() {
    var url = $("#a_pc_url").attr("href");
    location.href = url;
}

function fn_Layer_Visible(id) {
    var id = "#" + id;
    $(id).show();
}

function fn_Layer_Hidden(id) {
    var id = "#" + id;
    $(id).hide();
}

function fn_Layer_Toggle(id) {
    var id = "#" + id;
    $("#top_wrap").children(".header_layer:not(" + id + ")").hide();
    $(id).toggle();
}

function fn_helpLayer_Toggle(divId) {
    var id = "#" + divId;
    $("#top_wrap").children(".header_layer:not(" + id + ")").hide();
    $(id).toggle();
}

function fn_sliding_toggle(divId) {
    var obj = $("#itemInfo_" + divId);
    var btn = $("#itembtn_" + divId);
    if (obj.css("display") == "none") {
        obj.slideDown("_default");
        btn.attr("src", "//image.aladin.co.kr/img/m/2012/btn_arrow_up.jpg");
    } else {
        obj.slideUp("_default");
        btn.attr("src", "//image.aladin.co.kr/img/m/2012/btn_arrow_down.jpg");
    }
}

function fn_helpLayer_Toggle_img(sender, target) {

    var target = document.getElementById(target);
    var src = sender.querySelector('img').src;

    if (target.style.display == 'block') {
        target.style.display = 'none';
        sender.querySelector('img').src = src.replace('_up', '_down');
    } else {
        target.style.display = 'block';
        sender.querySelector('img').src = src.replace('_down', '_up');
    }
}

function Page_Set(page) {
    var f = $('form#SearchControl');

    if (f.length == 0)
        f = $('form#Search3_Form');

    if (f.length == 0)
        f = $('form#mform');

    if (f.length == 0)
        return;

    if (f.find('input[name="page"]').length == 0)
        f.append('<input type="hidden" name="page" value="' + page + '">');
    else
        f.find('input[name="page"]').val(page);

    f.submit();
}

function fn_go_main() {

    var branchType = $("#m_select > option:selected").val();
    if (branchType > 0) {
        var url = "/m/mbest.aspx?BestType=bestseller&branchType={0}";
        location.href = Common.format(url, branchType);
    }
}


function fn_go_browsemain() {
    var branchType = $("#m_select > option:selected").val();
    if (branchType > 0) {
        var url = "/m/mbrowsemain.aspx?branchType={0}";
        location.href = Common.format(url, branchType);
    }
}

function fn_go_best(bestType, order, branchType) {
    var cid = $("#b_select_" + order + " > option:selected").val();
    if (cid > 0) {
        if (order == 0)
            var url = "/m/mbest.aspx?BestType={0}&BranchType={1}&ItemType={2}";
        else {
            var url = "/m/mbest.aspx?BestType={0}&BranchType={1}&CID={2}";
            if (branchType == 6) {
                var itemType = $("#b_select_0 > option:selected").val();
                url += "&ItemType=" + itemType;
            }
        }
        location.href = Common.format(url, bestType, branchType, cid);
    } else {
        if (order == 1) {
            //대분류 종합
            var url = "/m/mbest.aspx?BestType={0}&BranchType={1}";
            location.href = Common.format(url, bestType, branchType);
        }
    }
}
function fn_go_browse(order, branchType) {
    var cid = $("#b_select_" + order + " > option:selected").val();

    var dcrate = $("#b_select_dcrate > option:selected").val();

    if (cid > 0) {
        if (order == 0) {
            var url = "/m/mbrowse.aspx?CID=0&ItemType={0}";
            location.href = Common.format(url, cid);
        }
        else {
            var url = "/m/mbrowse.aspx?CID={0}";
            if (branchType == 6) {
                var itemType = $("#b_select_0 > option:selected").val();
                url += "&ItemType=" + itemType;
            }

            location.href = Common.format(url, cid);
        }
    }
}

function fn_go_dcsale(order, branchType) {
    var cid = $("#b_select_" + order + " > option:selected").val();

    var dcrate = $("#b_select_dcrate > option:selected").val();

    if (cid > 0) {
        if (order == 0) {
            var url = "/m/mdcsale.aspx?CID=0&ItemType={0}";
            location.href = Common.format(url, cid);
        }
        else {
            var url = "/m/mdcsale.aspx?CID={0}&Search={1}";

            if (branchType == 6) {
                var itemType = $("#b_select_0 > option:selected").val();
                url += "&ItemType=" + itemType;
            }

            location.href = Common.format(url, cid, dcrate);
        }
    }
}

function fn_go_dcrate(id, branchType, cid) {
    var dcrate = $("#b_select_" + id + " > option:selected").val();

    var url = Common.format("/m/mbest.aspx?BestType=halfsale&BranchType={0}&CID={1}&Search={2}", branchType, cid, dcrate);

    location.href = url;


}



function Sort_Set(Sort) {
    var f = $('form#SearchControl');

    if (f.length == 0)
        f = $('form#Search3_Form');

    if (f.length == 0)
        f = $('form#mform');

    if (f.length == 0)
        return;

    if (f.find('input[name="SortOrder"]').length == 0)
        f.append('<input type=hidden name="SortOrder" value="' + Sort + '">');
    else
        f.find('input[name="SortOrder"]').val(Sort);

    f.submit();
}

function ShowLayer(id) {
    var mask = $("#mask");
    var layer = $(id);
    //var top = ($(window).height() / 3) + $(window).scrollTop();
    mask.show();
    layer.css("top", $(window).scrollTop());
    layer.slideDown();
}

function CloseLayer(id) {
    $(id).slideUp(function () {
        $("#mask").hide();
    });
}

function ClipboardCopy(copyText) {
    var t = document.createElement("textarea");
    document.body.appendChild(t);
    t.value = copyText;
    t.select();
    document.execCommand('copy');
    document.body.removeChild(t);
    alert("링크가 복사되었습니다. 원하시는 곳에 붙혀넣기 하세요");
}

function AddSaveBasket_V1() {
    var _isbn = $(".hd_ISBN").val();
    if (_isbn.length < 1) {
        alert("상품을 선택해 주세요.");
        if ($("#basket_info").css("display") == "none") {
            ShowItemList();
        }
        return;
    }
    
    AddSaveBasket_v2(_isbn);
}

function AddSaveBasket(isbn) {
    closePopBox();
    var currSaveBasketLayer = $("div#saveBasketInfo_" + isbn);

    if (currSaveBasketLayer.length)
        currSaveBasketLayer.html($("div#saveBasket").html());
    else
        currSaveBasketLayer = $("div#saveBasket");

    var htmlogin = $("#div_login_savebasket", currSaveBasketLayer);
    if (htmlogin.length) {
        currSaveBasketLayer.show();
        return;
    }
    var htmResult = $("#saveBasketResult", currSaveBasketLayer);
    if (htmResult.length) {
        htmResult.append("<div style=\"text-align:center\"><img src='//image.aladin.co.kr/img/tablet/indicator.gif' style='height:30px;padding:0 42px 0 42px'/></div>");
        currSaveBasketLayer.show();
        var query = 'method=savebasketadd&isbn=' + isbn;
        $.ajax({
            type: "GET",
            url: "/ucl/m/product/ajax/m_ajax_saveBasket.aspx",
            data: query,
            contentType: "application/json; charset=utf-8",
            cache: false,
            dataType: "json",
            timeout: 3000,
            success: function (json) {
                htmResult.empty();
                if (json.Success == 'true') {
                    htmResult.append("<ul class=\"bsk_list\"><li class=\"sp_f_color5 mp_align_tc nm_t_size4\">" + json.Message + "</li></ul>");
                    htmResult.append("<ul class=\"bsk_list\" style=\"text-align:center;\"><li><div class=\"mp_book_btn10\" style=\"width:200px; padding:5px 0; font-size:1em; margin:10px 0 5px 0\"><a href=\"/m/mbest.aspx?BestType=savebasket\">보관함으로 이동</a></div></li></ul>");
                    if (json.Limit == 'true') {
                        htmResult.append("<ul class=\"bsk_list\"><li class=\"sp_f_color5 mp_align_tc nm_t_size3\" style=\" padding:5px 0;\">보관함에는 <strong>최대 1만 개</strong>까지 담을 수 있습니다.<br>보관함에서 상품을 삭제한 후 다시 시도해주세요.</li></ul>");
                    }
                    else {
                        htmResult.append("<ul class=\"bsk_list\"><li class=\"sp_f_color5 mp_align_tc nm_t_size3\" style=\" padding:5px 0;\">보관함 페이지에서 공개여부, 자동삭제, 중복추가시 처리 방법을 설정할 수 있습니다.</li></ul>");
                    }
                }
                else {
                    htmResult.append("<ul class=\"bsk_list\"><li class=\"sp_f_color5 mp_align_tc nm_t_size4\">" + json.Message + "</li></ul>");
                    if (json.AuthRequire == 'true') {
                        if (confirm(json.Message) == true) {
                            location.href = '/account/AuthAdult.aspx?returnUrl=' + encodeURIComponent(location.href);
                        }
                    }
                }
            },
            error: function (xhr, ajaxOptions, thrownError) {
                var msg = 'xhr.status : ' + xhr.status + '\nthrownError : ' + thrownError;
                alert(msg);
            }
        });

        GA4_Wish(isbn);
    }
    //와이즈트래커 코드 삽입
    $("#dvWiseTracker").html("<script type='wisetracker/text' id='wiseTracker'>WiseTracker.setGoalProduct('" + isbn + "');WiseTracker.setGoal('g4', 1 ); WiseTracker.sendTransaction();</script>");
}

function AddSaveBasket_v2(isbn) {
    var currSaveBasketLayer = $("#saveBasket");
    
    var htmResult = $("#saveBasketResult", currSaveBasketLayer);
    if (htmResult.length) {
        htmResult.append("<div style=\"text-align:center\"><img src='//image.aladin.co.kr/img/tablet/indicator.gif' style='height:30px;padding:0 42px 0 42px'/></div>");
        var query = 'method=savebasketadd&isbn=' + isbn;
        $.ajax({
            type: "GET",
            url: "/ucl/m/product/ajax/m_ajax_saveBasket.aspx",
            data: query,
            contentType: "application/json; charset=utf-8",
            cache: false,
            dataType: "json",
            timeout: 3000,
            success: function (json) {
                htmResult.empty();
                if (json.Success == 'true') {
                    htmResult.append("<div class=\"feedtext\">" + json.Message + "</div>");
                    htmResult.append("<div>보관함 페이지에서 공개여부, 자동삭제, 중복추가시 처리 방법을 설정할 수 있습니다.</div>");
                    ShowBasketInfo("saveBasket");
                }
            },
            error: function (xhr, ajaxOptions, thrownError) {
                var msg = 'xhr.status : ' + xhr.status + '\nthrownError : ' + thrownError;
                alert(msg);
            }
        });

        setTimeout('autoCloseLayer("saveBasket");', 2000);

        GA4_Wish(isbn);
    }

    //와이즈트래커 코드 삽입
    $("#dvWiseTracker").html("<script type='wisetracker/text' id='wiseTracker'>WiseTracker.setGoalProduct('" + isbn + "');WiseTracker.setGoal('g4', 1 ); WiseTracker.sendTransaction();</script>");
}

function AddSaveBasket_v3() {
	var _isbn = $(".hd_ISBN").val();
	if (_isbn.length < 1) {
		alert("상품을 선택해 주세요.");
		if ($("#basket_info").css("display") == "none") {
			ShowItemList();
		}
		return;
	}

	var currSaveBasketLayer = $("#saveBasket");

	var htmResult = $("#saveBasketResult", currSaveBasketLayer);
	if (htmResult.length) {
		htmResult.append("<div style=\"text-align:center\"><img src='//image.aladin.co.kr/img/tablet/indicator.gif' style='height:30px;padding:0 42px 0 42px'/></div>");
		var query = 'method=savebasketadd&isbn=' + _isbn;
		$.ajax({
			type: "GET",
			url: "/ucl/m/product/ajax/m_ajax_saveBasket.aspx",
			data: query,
			contentType: "application/json; charset=utf-8",
			cache: false,
			dataType: "json",
			timeout: 3000,
			success: function (json) {
				htmResult.empty();
				if (json.Success == 'true') {
				    htmResult.append("<h3>" + json.Message + "</h3>");
				    if (json.Limit == "true") {
				        htmResult.append("<p>보관함에는 <strong>최대 1만 개</strong>까지 담을 수 있습니다.<br>보관함에서 상품을 삭제한 후 다시 시도해주세요.</p>");
				    }
				    else {
				        htmResult.append("<p>보관함에서 자동삭제, 공개여부, 중복추가 시 처리 방법을 설정할 수 있습니다.</p>");
				    }
					saveBasketToggle();
					//ShowBasketInfo("saveBasket");
				}
			},
			error: function (xhr, ajaxOptions, thrownError) {
				var msg = 'xhr.status : ' + xhr.status + '\nthrownError : ' + thrownError;
				alert(msg);
			}
		});

		//setTimeout('autoCloseLayer("saveBasket");', 2000);

		GA4_Wish(_isbn);
	}

	//와이즈트래커 코드 삽입
	$("#dvWiseTracker").html("<script type='wisetracker/text' id='wiseTracker'>WiseTracker.setGoalProduct('" + _isbn + "');WiseTracker.setGoal('g4', 1 ); WiseTracker.sendTransaction();</script>");
}

function DeleteSaveBasket(isbn) {
    $.ajax({
        url: "/ucl/m/product/ajax/m_ajax_saveBasket.aspx",
        data: Common.format("ISBN={0}&IsDelete=1", isbn),
        cache: false,
        success: function (data) {
            var result;
            eval("result = " + data);
            if (result.Result == "True") {
                alert("상품이 삭제되었습니다.");
                document.location.reload();
            } else {
                alert(result.Message);
            }
        }
    });
}

function popup_open(url, nwidth, nheight, bscroll) {
    var w;

    if (bscroll == true)
        w = window.open(url, 'popup', 'scrollbars=yes,width=' + nwidth + ',height=' + nheight);
    else
        w = window.open(url, 'popup', 'scrollbars=no,width=' + nwidth + ',height=' + nheight);

    return w;
}



//19세이상- 전자책 미리읽기 
//베스트셀러> 전자책, 상품페이지 >커버하단(국내/전자책) 모바일
function fn_ebookpreview_Adult_Mobile(type, url, IsPopupYN) {

    if (type == "login") {
        if (confirm("19세 이상만 이용할 수 있는 상품입니다. 로그인 해주세요.")) {
            fn_ebookpreview_Mobile(url, "N");
        }
    }
    else if (type == "goAdlutUrl") {
        fn_ebookpreview_Mobile(url, "N");
    }
    else if (type == "goAdlutUrl_SNS") {
        alert("19세 이상만 이용할 수 있는 상품으로, 회원 필수정보 입력 및 본인인증을 완료한 후 이용할 수 있습니다.");
        fn_ebookpreview_Mobile(url, "N");
    }
    else if (type == "IsNotAdult") {
        alert("19세 이상만 이용할 수 있는 상품으로 고객님께서는 이용할 수 없습니다.");
        return;
    }
    else if (type == "IsAdult") {
        //19세일 경우 : 모바일 > 검색/베스트셀러 결과는 팝업
        fn_ebookpreview_Mobile(url, IsPopupYN);
    }
}

function fn_ebookpreview_Mobile(url, IsPopupYN) {

    if (IsPopupYN == "Y") {
        popup_ebookpreview_Mobile(url);//모바일 > 검색/베스트셀러 결과는 팝업

    } else {
        document.location.href = url;
    }

}

//전자책 미리읽기
function popup_ebookpreview_Mobile(url) {
    url = "http://www.aladin.co.kr/shop/ebook/preview.aspx?url=" + url;
    window.open(url, 'popup_ebookpreview', 'left=0,top=0,scrollbars=yes,status=no,toolbar=no,');
}


function fn_addbasket(isbn) {
    closePopBox();
    $(".popup_box1").hide();
    var currSaveBasketLayer = $("div#saveBasketInfo_" + isbn);

    if (currSaveBasketLayer) {
        currSaveBasketLayer.html($("div#addBasket").html());
        var htmResult = $("#addBasketResult", currSaveBasketLayer);
        if (htmResult) {
            htmResult.append("<div style=\"text-align:center\"><img src='//image.aladin.co.kr/img/tablet/indicator.gif' style='height:30px;padding:0 42px 0 42px'/></div>");
            currSaveBasketLayer.show();
            var query = 'method=basketaddwithexistcheck&isbn=' + isbn;

            $.ajax({
                type: "GET",
                url: "/shop/BasketAjax.aspx?" + query,
                contentType: "application/json; charset=utf-8",
                cache: false,
                dataType: "json",
                timeout: 3000,
                success: function (json) {
                    htmResult.empty();
                    if (json.Success == 'true')
                        htmResult.append("<ul class=\"bsk_list\"><li><span class=\"nm_bsk_t\">선택된 상품이 장바구니에 담겼습니다.</span></li></ul>");
                    else
                        alert('상품을 장바구니에 담는 동안 오류가 발생했습니다.\n잠시 후에 다시 시도해주세요.');
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    var msg = 'xhr.status : ' + xhr.status + '\nthrownError : ' + thrownError;
                    alert(msg);
                }
            });
        }
    }
}

//예약알림신청하기
function AddPreOrderAlarm(isbn) {
    var url = "/shop/common/wpreorder_alarm_add_popup.aspx?AddSafeBasket=" + isbn;
    window.open(url, "SafeBasket", "width=450,height=284");

    return false;
}

function closePopBox() {
    $("div.popup_box1").hide();
}

function ProductCloseLayerBox() {
    $(".pdp_layer_box").slideUp();
}

var _doingSearch3 = false;
function ListHtml_Request() {
    if (_doingSearch3 == true)
        return;
    else
        _doingSearch3 = true;

    var f = $('#Search3_Form');
    var pager = $("#page_more");

    var tmpPager = pager.html();
    pager.html("<img src='//image.aladin.co.kr/img/tablet/indicator.gif' style='height:25px;padding:0 42px 0 42px'/>");

    var hidCol = f.find('input');
    var postData = '';

    hidCol.each(function (index) {
        var current = $(this);
        var hidValue = current.val();
        var hidName = current.attr('name').toLowerCase();
        if (hidName == 'page') {
            hidValue = parseInt(hidValue) + 1;
            current.val(hidValue);
        }
        if (postData == '')
            postData = current.attr('name') + '=' + escape(hidValue);
        else
            postData += '&' + current.attr('name') + '=' + escape(hidValue);
    });

    // ajax Url        
    //var ajaxUrl = '/m/ajax/m_ajax_list.aspx';
    var ajaxUrl = '/m/ajax/m_ListResult.aspx';

    $.ajax({
        type: "GET",
        url: ajaxUrl,
        data: postData,
        cache: false,
        timeout: 10000,
        beforeSend: function (xhr) {

        },
        complete: function (xhr, status) {
            pager.html(tmpPager);
            _doingSearch3 = false;
        },
        success: function (h) {
            $('#Search3_Result').append(h);
            var currentpage = f.find('input[name="page"]').val();
            var maxpage = f.find('input[name="MaxPageIndex"]').val();
            if (parseInt(currentpage) >= parseInt(maxpage)) {
                pager.hide();
            }
        },
        error: function (xhr, ajaxOptions, thrownError) {

            var msg = 'xhr.status : ' + xhr.status + '\nthrownError : ' + thrownError;

            alert(msg);

        }
    });
}

function getMoreBestList(bestType, branchType, categoryId, vType) {
    var pageObj = $("input[name='page'][type='hidden']");
    var maxPageObj = $("input[name='maxPage'][type='hidden']");
    var sort = $("input[name='SortOrder'][type='hidden']").val();
    var itemType = $("input[name='itemType'][type='hidden']").val();//중고 추가
    var viewType = $("input[name='viewType'][type='hidden']").val();
    var updatesObj = $("div#div_ItemList");
    var pager = $("div#div_ItemMore");
    var page = parseInt(pageObj.val());
    var maxPage = parseInt(maxPageObj.val());
    var isShowNo = 0;

    if (typeof branchType != "undefined") {
        branchType = parseInt(branchType);
    } else {
        branchType = 0;
    }

    if (typeof categoryId != "undefined") {
        categoryId = parseInt(categoryId);
    } else {
        categoryId = 0;
    }

    if (bestType == 'bestseller')
        isShowNo = 1;

    var tmpPageHtml = pager.html();
    pager.html("<img src='//image.aladin.co.kr/img/tablet/indicator.gif' style='height:25px;padding:0 42px 0 42px'/>");



    var url = Common.format("/m/ajax/m_ajax_list.aspx?bestType={0}&page={1}&branchType={2}&CID={3}&SortOrder={4}&ItemType={5}&VType={6}&size=10&IsShowNo={7}&viewType={8}", bestType, page, branchType, categoryId, sort, itemType, vType, isShowNo, viewType);
    $.get(url, function (data) {
        updatesObj.append(data);
        if (page < maxPage) {
            pageObj.val(++page);
            pager.html(tmpPageHtml);
        }
        else {
            pager.hide();
        }
    });
}

function getCookie(name) {
    var nameOfCookie = name + "=";
    var x = 0;
    while (x <= document.cookie.length) {
        var y = (x + nameOfCookie.length);
        if (document.cookie.substring(x, y) == nameOfCookie) {
            if ((endOfCookie = document.cookie.indexOf(";", y)) == -1)
                endOfCookie = document.cookie.length;

            return unescape(document.cookie.substring(y, endOfCookie));
        }
        x = document.cookie.indexOf(" ", x) + 1;
        if (x == 0)
            break;
    }
    return "";
}

function setCookie_V1(name, value, expires) {
    var domain = ".aladin.co.kr";
    var secure = false;

    var endDate = new Date();
    endDate.setDate(endDate.getDate() + expires);
    document.cookie = name + "=" + escape(value) + ((endDate == null) ? "" : ("; expires=" + endDate.toGMTString())) + "; path=/" + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}

function setCookie(name, value, expiredays) {
    var endDate = new Date();
    endDate.setDate(endDate.getDate() + expiredays);
    document.cookie = name + "=" + escape(value) + "; path=/; expires=" + endDate.toGMTString() + ";"
}

/// 쿠키만료가 해당일의 0시 0분 0초에 되도록 (예:오늘그만보기)
function setCookie_V1_Days(name, value, expiredays) {
    var domain = ".aladin.co.kr";
    var secure = false;

    var endDate = new Date();
    endDate.setDate(endDate.getDate() + expiredays);
    endDate.setHours(0);
    endDate.setMinutes(0);
    endDate.setSeconds(0);
    document.cookie = name + "=" + escape(value) + ((endDate == null) ? "" : ("; expires=" + endDate.toGMTString())) + "; path=/" + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}

var goApp = {
    excuteApp: function (appUrl, downloadUrl, message) {
        this.goAppStore(downloadUrl, message);

        //        var iframe = $("<iframe height='0' width='0' frameborder='0'></iframe>");
        //        iframe.attr("src",appUrl).appendTo('body');
        //        setTimeout(function () {
        //			$("body").remove(iframe);
        //		}, 1500);

        var applinkDiv = document.createElement("DIV");
        document.body.appendChild(applinkDiv);
        applinkDiv.innerHTML = "<iframe src='" + appUrl + "' height='0' width='0' frameborder='0'></iframe>";

        setTimeout(function () {
            document.body.removeChild(applinkDiv);
        }, 1500);
    },
    goAppStore: function (downloadUrl, message) {
        if (!message) message = "알라딘 앱을 설치하시겠습니까?";
        var clickedAt = new Date();
        var useragent = navigator.userAgent.toLocaleLowerCase();
        setTimeout(function () {
            if (new Date() - clickedAt < 1500) {
                if (confirm(message)) {
                    window.location.href = downloadUrl;
                }
            }
        }, 1000);
    }
}

function fn_go_shoppingApp() {
    var useragent = navigator.userAgent.toLocaleLowerCase();
    if (useragent.search("android") > -1) {
        goApp.excuteApp("aladinshopping://", "https://play.google.com/store/apps/details?id=kr.co.aladin.third_shop", "알라딘 쇼핑앱을 설치하시겠습니까?");
    } else if (useragent.search("iphone") > -1) {
        goApp.excuteApp("aladinShop://", "itms://itunes.apple.com/kr/app/alladin/id365898918?mt=8", "알라딘 쇼핑앱을 설치하시겠습니까?");
    } else {
        alert("스마트폰에서만 다운로드 가능합니다.");
    }
}

function fn_go_ebookviewerApp() {
    var useragent = navigator.userAgent.toLocaleLowerCase();
    if (useragent.search("android") > -1) {
        goApp.excuteApp("aladinviewer://", "https://play.google.com/store/apps/details?id=kr.co.aladin.third_viewer", "알라딘 전자책 뷰어를 설치하시겠습니까?");
    } else if (useragent.search("iphone") > -1 || useragent.search("ipad") > -1) {
        goApp.excuteApp("aladinebook://", "itms://itunes.apple.com/kr/app/alladinebook/id523578125?mt=8", "알라딘 전자책 뷰어를 설치하시겠습니까?");
    } else {
        alert("스마트폰에서만 다운로드 가능합니다.");
    }
}

// <![CDATA[
// iPhone toolbar hide

//	try
//	{
//	    if (location.href.indexOf('#') < 1)
//	    {
//	        if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
//		        window.addEventListener('load', function(){setTimeout(scrollTo, 100, 0, 1);}, false);
//	        } else if(navigator.userAgent.match(/Android/i)) {
//	            window.addEventListener('load', function(){setTimeout(scrollTo, 0, 0, 1);}, false);
//	        }
//	    }
//	}
//	catch(e) { }
// ]]>


function getEl(id) {
    if (document.getElementById) {
        return document.getElementById(id);
    } else if (document.all) {
        return document.all[id];
    } else if (document.layers) {
        return document.layers[id];
    }

    return null;
}

function trim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
}

function NumToCur(n) {
    var parts = n.toString().split(".");
    return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}

function getQuerystring(key, default_) {
    if (default_ == null) default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null)
        return default_;
    else
        return qs[1];

}

function fn_go_back() {
    ohpearl = document.referrer.toString();
    if ((ohpearl != '') && (ohpearl.indexOf('javascript://') == -1))
    { history.back(); }
    else
    { alert('이전 페이지가 존재하지 않습니다.'); }
}

var mJiny = {
    custKey: 0,
    _msgTimeObject: false,
    $jinyFeedBackMsg: false,
    AddOrderListM: function (isbn) {
        this._execAjax(isbn, 'AddOrderListM', '구매함에 상품을 추가했습니다.');
    },
    DeleteRecommendM: function (isbn) {
        this._execAjax(isbn, 'DeleteRecommendM', '감사합니다. 추천마법사에 반영했습니다.');
    },
    _execAjax: function (ISBN, rec, msg) {
        if (this.custKey <= 0) {
            return;
        }

        $.ajax({
            url: '/jiny/wajax.aspx',
            data: { custkey: this.custKey, commandtype: rec, isbn: ISBN },
            type: "Post",
            dataType: 'json',
            success: function (data) {
                if (msg) {
                    alert(msg);
                    location.reload();
                }
            }
        });
    },
    getJinyFeedBackMsg: function () {
        if (!mJiny.$jinyFeedBackMsg) {
            mJiny.$jinyFeedBackMsg = $(".jinyFeedBackMsg");
        }
        return mJiny.$jinyFeedBackMsg;
    },
    _doAjaxAction: function (isbn, actionName, objButton) {
        var $jinyFeedBackMsg = mJiny.getJinyFeedBackMsg();
        var $objButton = $(objButton);

        this._execAjaxWithCallBack(isbn, actionName, function (data) {
            if (mJiny._msgTimeObject) {
                $jinyFeedBackMsg.hide();
                $jinyFeedBackMsg.fadeIn(300);

                clearTimeout(mJiny._msgTimeObject);
                mJiny._msgTimeObject = false;
            }

            $(".jinyFeedBackMsgInner").hide();
            $(".msg_" + actionName).show();

            $objButton.parent().append(  $jinyFeedBackMsg.show()  );

            mJiny._msgTimeObject = setTimeout(function () {
                $jinyFeedBackMsg.fadeOut(600, "swing", function () {
                    location.reload();
                });
            }, 1200);
        }); 
    },
    AddOrderListM2: function (isbn, btnAddOrderListM) {
        mJiny._doAjaxAction(isbn, 'AddOrderListM', btnAddOrderListM);
    },
    DeleteRecommendM2: function (isbn, btnDeleteRecommendM) {
        mJiny._doAjaxAction(isbn, 'DeleteRecommendM', btnDeleteRecommendM);
    },
    _execAjaxWithCallBack: function (ISBN, rec, callBack) {
        if (this.custKey <= 0) {
            return;
        }

        $.ajax({
            url: '/jiny/wajax.aspx',
            data: { custkey: this.custKey, commandtype: rec, isbn: ISBN },
            type: "Post",
            dataType: 'json',
            success: function (data) {
                callBack(data);
            }
        });
    },    
    init: function (myCustKey) {
        this.custKey = myCustKey;

        var getParentISBN = function (o) {
            return $(o).parent(".btnJiny").attr("isbn");
        };

        $(".btnAddOrderListM").click(function (e) {
            var isbn = getParentISBN(this);
            if (isbn && isbn.length > 0) {
                // mJiny.AddOrderListM(isbn);
                mJiny.AddOrderListM2(isbn, this);
            }
            return false;
        });

        $(".btnDeleteRecommendM").click(function (e) {
            var isbn = getParentISBN(this);
            if (isbn && isbn.length > 0) {
                // mJiny.DeleteRecommendM(isbn);
                mJiny.DeleteRecommendM2(isbn, this);
            }
            return false;
        });

        $(".btnCloseJinyFeedBackMsg").click(function (e) {
            var $jinyFeedBackMsg = mJiny.getJinyFeedBackMsg();
            $jinyFeedBackMsg.hide();
            return false;
        });
    }
};

(function ($) {
    var methods = {
        init: function (options) {
            var opts = $.extend({}, $.fn.scrollContents.defaults, options);

            return this.each(function () {
                $.extend(this, scrollContents);
                var tab = this;
                var tab_list = $(this).find('.scroll');
                var tab_btn_prev = $(this).find('.btn-prev');
                var tab_btn_next = $(this).find('.btn-next');
                var tabScrollEl;

                this.resizeScroll($(this), tab_list);
                tabScrollEl = new IScroll(tab, { scrollX: true, scrollY: false, mouseWheel: false, scrollbars: false, preventDefault: false, eventPassthrough: true });

                tabScrollEl.scrollToElement("li.on", 100);

                $(window).resize(function () {
                    tab.resizeScroll($(this), tab_list);
                    tabScrollEl.scrollToElement("li.on", 100);
                });

                tab_btn_prev.bind('click', function (ev) {
                    ev.preventDefault();
                    tabScrollEl.scrollToElement("li:first-child", 100);
                });

                tab_btn_next.bind('click', function (ev) {
                    ev.preventDefault();
                    tabScrollEl.scrollToElement("li:last-child", 100);
                    //tabScrollEl.scrollToPage('next');
                });
            });
        }
    };
    var scrollContents = {
        resizeScroll: function (obj1, obj2) {
            var list_width = 0;
            obj2.find('>li').each(function () {
                list_width += $(this).outerWidth(true);
            });
            obj2.css({ 'width': list_width + 4 });

            if (obj2.outerWidth() > obj1.outerWidth()) obj1.addClass('on');
            else obj1.removeClass('on');
        }
    };
    $.fn.scrollContents = function (method) {
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery');
        }
    };
    $.fn.scrollContents.defaults = {
    };
})(jQuery);

// Item목록에서, 추천마법사 툴팁 (PC-모바일과 로직 일치 필요)
var jinyItemTooltip = {
    jquery: false,
    nickName: '',
    jinyItemIdList: false,
    tooltipMsg: '',
    targetId: '',
    isMobile: false,
    init: function (jquery, targetId) {
        this.jquery = jquery;
        this.targetId = targetId;

        var ajaxUrl = '/jiny/wajax.aspx?commandtype=SearchResultTooltip';

        this.jquery.ajax({
            //async: false,
            dataType: 'json',
            type: "Get",
            url: ajaxUrl,
            cache: false,
            timeout: 2000,
            success: function (h) {
                if (h) {
                    jinyItemTooltip.nickName = h["C"];
                    jinyItemTooltip.jinyItemIdList = h["L"];
                    if (jinyItemTooltip.isMobile) {
                        jinyItemTooltip.tooltipMsg = '<a href="/m/mjiny.aspx?Type=choice"><div class="genie_m_2016_layerwrap_in"> <div class="genie_m_2016_layerwrap_t">추천마법사가 이 책을  <font color="#ffea00">' + jinyItemTooltip.nickName + '</font>님께 추천합니다.</div></div><div class="genie_m_2016_arrow"><img src="//image.aladin.co.kr/img/common/drop_02_m.png" alt="" width="12px"></div><div style="clear:both;"></div></a>';
                    } else {
                        jinyItemTooltip.tooltipMsg = '<a href="/jiny/wmain.aspx"><div class="genie_2016_layerwrap"><div class="genie_2016_layerwrap_in"><div class="genie_2016_layerwrap_t">추천마법사가 이 책을 <font color="#ffea00">' + jinyItemTooltip.nickName + '</font>님께 추천합니다.</div></div><div class="genie_2016_layerwrap_arrow"></div> </div><div style=" clear:both"></div></a>'
                    }
                    jinyItemTooltip.bind();
                }
            },
            error: function (xhr, ajaxOptions, thrownError) {
                return;
            }
        });
    },
    bind: function () {
        if (!this.jinyItemIdList || this.jinyItemIdList.length <= 0) {
            return;
        }

        var id = this.targetId;
        var $ = this.jquery;

        $(id).each(function (i, o) {
            var $o = $(o);
            if ($o.attr("jinyCheck") == "true") {
                return;
            }
            $o.attr("jinyCheck", true);

            var itemId = parseInt($o.attr("itemId"));
            if (itemId) {
                if (jinyItemTooltip.jinyItemIdList.indexOf(itemId) >= 0) {
                    $o.prepend(jinyItemTooltip.tooltipMsg);
                    var $cover = $o.find(".i_cover");
                    $cover.addClass("genie_imgBorder");
                    if (jinyItemTooltip.isMobile) {
                        $cover.closest("div").css("width", "106px");
                        // console.log($o.closest("div"))
                    };
                }
            }
        });
    }
};

function fn_realstock_offline(itemid) {
    $.get('/ucl/shop/product/ajax/UsedStore_RealStockAjax.aspx?mobile=1&ItemId=' + itemid, function (htm) {

        
        $("#btn_floatNavi").hide();
        modal = $('#modal-buyback-result').html(htm).modal({
            autoResize: true,
            onShow: function (dialog) {
                var modal = this;
                $('.btn_close', dialog.data[0]).click(function () {
                    modal.close();
                    $('#modal-buyback-result').html('');

                    var scrollTop = parseInt($(window).scrollTop());
                    if (scrollTop > 0) {
                        $("#btn_floatNavi").show();
                    }

                });
            }
        });
    });
}

//풀레이어 상태 체크 : 앱에서 호출
function IsCheckFullLayer() {
    var isOpen = 0;
    var $fullLayer = jQuery(".fullLayer");

    if ($fullLayer.length > 0) {
        for (var k = 0 ; k < $fullLayer.length ; k++) {
            if($fullLayer.eq(k).css("display") == "block") {
                isOpen = 1;
            }
        }
    }
    
    return isOpen;
}

function SwiperInit(className) {
    var itemCount = $("." + className).find('.swiper-slide').length;

    var swipe = new Swiper('.' + className, {
        lazy: {
            lazyLoading: true,
            lazyLoadingInPrevNext: true,
            watchSlidesProgress: true,
            watchSlidesVisibility: true,
            loadPrevNextAmount: 3,
        },
        preloadImages: false,
        watchSlidesVisibility: true,
        mode: 'horizontal',
        //centeredSlides: true,
        loop: itemCount >= 6 ? true : false,
        freeMode: {
            enabled: true,
            momentumBounce: true,
            freeModeMomentumRatio: 0.5,
            freeModeSticky: false,
        },
        resistance: false,
        slidesPerView: 'auto',
        allowTouchMove: true,
        simulateTouch: true,
        on: {
            activeIndexChange: function () {
                var swiper = this;
                swiper.updateSlides();
            }
        }
    });
}

function SwiperInit_v2(obj, space) {
    var itemCount = $(obj).find('.swiper-slide').length;
    var swipe = new Swiper(obj, {
        lazy: {
            lazyLoading: true,
            lazyLoadingInPrevNext: true,
            watchSlidesProgress: true,
            watchSlidesVisibility: true,
            loadPrevNextAmount: 3,
        },
        preloadImages: false,
        watchSlidesVisibility: true,
        mode: 'horizontal',
        loop: itemCount >= 6 ? true : false,
        freeMode: {
            enabled: true,
            momentumBounce: true,
            freeModeMomentumRatio: 0.5,
            freeModeSticky: false,
        },
        slidesPerView: 'auto',
        spaceBetween: space,
        resistance: true,
        allowTouchMove: true,
        simulateTouch: true,
        on: {
            activeIndexChange: function () {
                var swiper = this;
                swiper.updateSlides();
            }
        }
    });

}

function SwiperInit_v3(className, loop) {

    var swipe = new Swiper('.' + className, {
        lazy: {
            lazyLoading: true,
            lazyLoadingInPrevNext: true,
            watchSlidesProgress: true,
            watchSlidesVisibility: true,
            loadPrevNextAmount: 3,
        },
        preloadImages: false,
        watchSlidesVisibility: true,
        mode: 'horizontal',
        //centeredSlides: true,
        loop: loop,
        freeMode: {
            enabled: true,
            momentumBounce: true,
            freeModeMomentumRatio: 0.5,
            freeModeSticky: false,
        },
        resistance: false,
        slidesPerView: 'auto',
        allowTouchMove: true,
        simulateTouch: true,
        on: {
            activeIndexChange: function () {
                var swiper = this;
                swiper.updateSlides();
            }
        }
    });
}

function SwiperInit_org(className) {
    var swipe = new Swiper('.' + className, {
        lazy: {
            loadPrevNext: true,
            loadOnTransitionStart: true
        },
        preloadImages: false,
        watchSlidesVisibility: true,
        mode: 'horizontal',
        loop: false,
        freeMode: true,
        slidesPerView: 'auto',
        freeModeMomentumRatio: 0.2,
        freeModeSticky: true,
        simulateTouch: true
    });
}

function SwiperInit_org_byid(id) {
    var swipe = new Swiper('#' + id, {
        lazy: {
            loadPrevNext: true,
            loadOnTransitionStart: true
        },
        preloadImages: false,
        watchSlidesVisibility: true,
        mode: 'horizontal',
        loop: false,
        freeMode: true,
        slidesPerView: 'auto',
        freeModeMomentumRatio: 0.2,
        freeModeSticky: true,
        simulateTouch: true
    });
}

// 모바일 추천마법사 가이드 레이어
var wizardGuideLayer = {
    _ajaxUrl: "/jiny/wajax2.aspx",
    guideSwiper: false,
    updateGuideLayerNoMore: function (callBack) {
        var $optionName = $("#optionName");

        if ($optionName.length <= 0) {
            return;
        }

        var optionName = $optionName.val();

        $.ajax({
            url: wizardGuideLayer._ajaxUrl,
            data: { cmd: "guide.nomore", optionName: optionName, mobile: 1 },
            type: "GET",
            success: function (result) {
                try {
                    if($.isFunction(window.setCookie_V1)) {
                        setCookie_V1("wizard.guide.nomore", "1", 1);
                    }
                } catch(ex){
                    console.log(ex);
                }

                if ($.isFunction(callBack)) {
                    callBack(result);
                }
            },
            error: function (request, status, error) { alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error); }
        });
    },
    addCatRecom: function () {
        var cids = $("#recomCIDList").val();

        if (!cids || cids.length <= 0) {
            return;
        }

        $.ajax({
            url: wizardGuideLayer._ajaxUrl,
            data: { cmd: "guide.update.addcatrecom", cids: cids, mobile: 1 },
            type: "GET",
            success: function (result) {
                alert('관심 분야에 추가했습니다.');
                location.reload();
            },
            error: function (request, status, error) { alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error); }
        });
    },
    updateExcludeKid: function () {
        $.ajax({
            url: wizardGuideLayer._ajaxUrl,
            data: { cmd: "guide.update.excludekid", mobile: 1 },
            type: "GET",
            success: function (result) {
                alert('감사합니다. 앞으로 오늘의 추천 목록에서 어린이, 유아 상품이 제외되며 분야별 목록에서만 추천됩니다.');
                location.reload();
            },
            error: function (request, status, error) { alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error); }
        });
    },
    goUrlAndUpdateGuideLayerNoMore: function (o) {
        var href = $(o).attr("href");
        if (!href || href.length <= 0) {
            return true;
        }

        wizardGuideLayer.updateGuideLayerNoMore(function (result) {
            location.href = href;
        });
        return false;
    },
    initSwiper: function () {
        wizardGuideLayer.guideSwiper = new Swiper('#guideSwiper', {
            initialSlide: 0,
            spaceBetween: 20,
            loop: true,
            pagination: {
                el: '.guideLayerTabPage',
                clickable: true,
                bulletClass: 'guideLayerTabBullet',
                bulletActiveClass: 'guideLayerTabBulletActive',
                renderBullet: function (index, className) {
                    var srcOn = '//image.aladin.co.kr/img/m/2019/tip_num1_' + (index + 1) + '.png';
                    var srcOff = '//image.aladin.co.kr/img/m/2019/tip_num1_' + (index + 1) + '_off.png';

                    return '<img data-idx="' + (index + 1) + '" class="' + className + '" ' +
                        ' src="' + srcOff + '" ' +
                        ' data-src-on="' + srcOn + '" ' +
                        ' data-src-off="' + srcOff + '" ' +
                    ' />';
                },
            },
            on: {
                paginationUpdate: function (e) {
                    var currentIdx = this.activeIndex;
                    if (currentIdx < 1) { currentIdx = 3; }
                    else if (currentIdx > 3) { currentIdx = 1; }

                    var pagingImgList = $(".guideLayerTabBullet");
                    for (var i = 0; i < pagingImgList.length; i++) {
                        var $img = $(pagingImgList[i]);
                        var idx = $img.data("idx");

                        if (currentIdx == idx) {
                            $img.attr("src", $img.data("src-on"));
                        } else {
                            $img.attr("src", $img.data("src-off"));
                        }
                    }
                },          
                slideChange: function () {

                }
            }
        });
    },
    init: function () {
        if(getCookie("wizard.guide.nomore") == "1") {
            return;
        }

        if ($('.guideLayerOuter .tip_layer').length <= 0) {
            return;
        }

        $(".btnGuideLayerCloseUrl").click(function (e) {
            return wizardGuideLayer.goUrlAndUpdateGuideLayerNoMore(this);
        });

        $("#btnGuideLayerCloseForever").click(function (e) {
            $("#optionName").val("catrecom");
            $(".btnGuideLayerClose").trigger("click");
            return false;
        });

        $(".btnClickCategoryRecom").click(function (e) {
            wizardGuideLayer.addCatRecom();
            return false;
        });

        $(".btnKidsExclude").click(function (e) {
            wizardGuideLayer.updateExcludeKid();
            return false;
        });

        $(".btnKidsNoExclude").click(function (e) {
            alert("감사합니다. 앞으로도 계속 좋은 상품들을 추천해드릴께요!");
            $(".btnGuideLayerClose").trigger("click");
            return false;
        });

        $('.guideLayerOuter').aladinFeedBack({
            closeBtn: '.btnGuideLayerClose',
            wrapper: '.guideLayerOuter2',
            modal: '.layer',
            onHideEvent: function () {
                wizardGuideLayer.updateGuideLayerNoMore();
            },
            // overlayClose: true
            overlayClose: false
        });

        wizardGuideLayer.initSwiper();
    }
};

function setCookie_refereURL() {
    var domain = ".aladin.co.kr";
    var endDate = new Date();
    endDate.setDate(endDate.getDate() + 1);
    document.cookie = "refererURL=" + document.URL + ";path=/; domain=" + domain + ";expires=" + endDate.toGMTString() + ";"
}

setCookie_refereURL();


function GA4_Basket(isbn, qty) {
	if (qty == undefined)
		qty = 1;

	GA4_Run("GA4_add_to_cart", isbn, qty);
}

function GA4_Wish(isbn) {
	GA4_Run("GA4_add_to_wishlist", isbn, 1);
}

function GA4_Run(type, isbn, qty) {
	var query = '&type=' + type + '&isbn=' + isbn + '&qty=' + qty;
	var url = "/Product/ItemInfo.aspx?" + query;

	jQuery.getScript(url);
}