var goodsApplyStoreList = {
    eventId: null,
    storeInfo: {},

    init : function(keymap){
        goodsApplyStoreList.eventId = keymap.eventId;

        $("#ui_sido").on("change", function () {
            var postId = $("#ui_sido").val();

            //  매장/지역명 필드 초기화
            $("#ui_searchWord").val("");
            goodsApplyStoreList.updateGugun(postId);
        });

        $("#ui_searchWord").keydown(function (e) {
            if (e.keyCode == 13) {
                $("#ui_searchWord").blur();     //  Keyboard 내리기
                goodsApplyStoreList.searchStores();
            }
        });

        // 단골매장 가져오기
        goodsApplyStoreList.getMyFavoriteStore();

/*
        if ($("#ui_sido option:selected").index() == 0 && $("#ui_gugun option:selected").index() == 0 && $("#ui_searchWord").val() == "") {
            goodsApplyStoreList.searchStores();
        }
*/
    },

    //  지도 그리기
    updateMap: function(lat, lon, key) {

        if (!lat || !lon) {
            alert("매장 위치를 확인할 수 없습니다.");
            return;
        }

        //$('.store_map_wrap').css('height','256px');
        $('.store_map_wrap').show();


        try {
            daumMap.drawMap(document.getElementById('ui_map'), lat, lon);
            daumMap.drawImageMarker(lat, lon, {
                src: '/assets/images/store/icon_store_mark.png',
                width: 26,
                height: 34,
                offsetY: 34
            });

            $('#searchStore_'+key).trigger('click');
        }
        catch (exception) {
            alert("지도 서비스를 사용할 수 없습니다.");
        }
    },

    updateGugun: function (postId, gugun) {
        if(postId == 3600000000){
            var html = "<option value=''></option>";
            $("#ui_gugun").html(html);
            goodsApplyStoreList.searchStores();
            return;
        }

        $.ajax({
            type: "POST",
            url: "/store/getGugunList",
            async: false,
            data: {
                postId: postId
            },
            success: function (result) {

                var html = "<option value=''>시/군/구</option>";
                $.each(result, function (idx, item) {
                    html += '<option value="' + item.postId + '">' + item.gugun + '</option>';
                });
                $("#ui_gugun").html(html);

                $("#ui_gugun").on("change", function () {
                    goodsApplyStoreList.searchStores();
                });

            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert("일시적으로 서비스를 사용할 수 없습니다. 잠시 후 다시 시도해 주세요.");
                console.log(xhr);
            }
        });
    },

    //  주소로 매장 검색
    searchStores: function () {
        var searchWord = $("#ui_searchWord").val();
        var sido = $("#ui_sido option:selected").text();
        var gugun = $("#ui_gugun option:selected").text();


        if ($("#ui_sido option:selected").index() == 0) {
            sido = null;
        }
        if ($("#ui_gugun option:selected").index() == 0) {
            gugun = null;
        }

        var g1 = $(":radio[name='g_1']:checked").index(":radio[name='g_1']");
        var orderBy = 'name';

        $("#ui_storeList").html("");

        //  주소에 해당하는 매장목록 요청
        $.ajax({
            type: "POST",
            url: "/store/getStoreListForGoodsApply",
            async: false,
            data: {
                'sido': sido,
                'gugun': gugun,
                'searchWord': searchWord,
                'orderBy': orderBy,
                'eventId' : goodsApplyStoreList.eventId
                //'storeIds': goodsApplyStoreIds.join(",")
            },
            success: function (result) {

                $("#store_ul").html('');

                //  검색결과가 없는 경우
                if (result.length == 0) {
                    $("#totalStoreCnt").html('(0)');
                    $('.no_data').show();

                    return;
                } else {
                    $('.no_data').hide();

                    var html = '';
                    $.each(result, function(key, row) {

                        html += ' <li> ';
                        html += '     <span class="form-radio" role="radio" aria-checked="true" tabindex="0"> ';
                        html += '                   <input type="radio" id="searchStore_'+key+'" name="searchStoreRadio" bizNo="'+row.bizNo+'" bizName="'+row.bizName+'" address="'+row.address+' '+row.deAddress+'"> ';
                        html += '                   <label for="searchStore_'+key+'"> ';
                        html += '       <span class="icon"></span> ';
                        html += '   </label> ';
                        html += '               </span> ';

                        html += '     <div class="info"> ';

                        html += '   <a href="javascript:goodsApplyStoreList.updateMap('+row.latitude+','+row.longitude+','+key+');"> ';
                        html += '       <div class="head"> ';
                        html += '       <strong>'+row.bizName+'</strong> ';
                        html += '       </div> ';
                        html += '       <p class="address">'+row.address+' '+row.deAddress+'</p> ';
                        html += '   </a> ';
                        html += '     </div> ';

                        html += ' </li> ';

                    });
                    $("#totalStoreCnt").html('('+result.length+')');
                    $("#store_ul").append(html);
                    $("#store_ul").append("<li><br /><br /><br /></li>");
                }

            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert("일시적으로 서비스를 사용할 수 없습니다. 잠시 후 다시 시도해 주세요.");
                console.log(xhr);
            }
        });
    }

    // 단골매장 정보 가져오기
    , getMyFavoriteStore: function () {
        var data = {
            "eventId": goodsApplyStoreList.eventId
        };

        $.post("/store/getMyFavoriteStoreForGoodsApply", data, function (data) {
            var html = "";
            switch(data.result) {
                case "ok":
                    $(data.myStores).each(function(key, item){
                        html += '<li>';
                        html += '   <span class="form-radio" role="radio" aria-checked="true" tabindex="'+ key +'">';
                        html += '       <input type="radio" id="store_'+ key +'" name="myStoreRadio" bizNo="'+ item.bizNo +'" bizName="'+ item.bizName +'" address="'+ item.address +'&nbsp;'+ item.deAddress +'">';
                        html += '       <label for="store_'+ key +'"><span class="icon"></span></label>';
                        html += '   </span>';
                        html += '   <div class="info">';
                        html += '       <a href="javascript:void(0)">';
                        html += '           <label for="store_'+ key +'">';
                        html += '               <div class="head"><strong>'+ item.bizName +'</strong></div>';
                        html += '               <p class="address">'+ item.address +'&nbsp;'+ item.deAddress +'</p>';
                        html += '           </label>';
                        html += '       </a>';
                        html += '   </div>';
                        html += '</li>';
                    });
                    $("#my_store_ul").append(html);
                    break;
                case "no":
                    html += '<li>';
                    html += '   <div class="no_data">';
                    html += '       <div class="inner"><p>검색결과가 없습니다.</p></div>';
                    html += '   </div>';
                    html += '</li>';
                    $("#my_store_ul").append(html);
                    break;
                default:
                    break;
            }
        });
    }
}

