// 名前空間
var CHAT_ADD_USER = {};

$(function() {
  // メンバー検索
  $('#chat_add_user .search_form input[type="search"]').click(function(e){
  //画面タイトル設定
      let contactListTitle = getLocalizedString("userSearch");
      $('#addUserTitle').text(contactListTitle);
  })

  $('#chat_add_user .search_form input[type="search"]').keyup(function(e){
    var keyword = $('#chat_add_user .search_form input[type="search"]').val();
    if (e.key == "Enter" || e.KeyCode == 13) {
        if (keyword != '' && keyword.length != 0) {
            $('#chat_add_user .search_form input[type="search"]').blur();
            return false;
        }
    } else if (keyword == '' || keyword.length < 2) {
        $('.overlay_src_msg').empty();
        return false;
    }
    CHAT_ADD_USER.searchUser(keyword);
    if (e.key == "Enter" || e.KeyCode == 13) {
        $('#chat_add_user .search_form input[type="search"]').blur();
        return;
    }
  });
  // iOSキーボード変換検知用
  $('#chat_add_user .search_form input[type="search"]').on('compositionend', function()　{
    if (CHAT_UTIL.isIOS()) {
        var keyword = $('#chat_add_user .search_form input[type="search"]').val();
        CHAT_ADD_USER.searchUser(keyword);
    }
  }); 
});

// ユーザー検索
CHAT_ADD_USER.searchUser = function(keyword) {
    var isAllGroup = $('#tabAllGroupOnAddUser').is(':checked');
    $('.overlay_src_msg').empty();

    //全グループ検索画面
    if (isAllGroup) {
        //グループデータ検索
        var groupList = CHAT_DB.getGroupByName(keyword);
        var groupTemplate;
        $.get({ url: "./template/template_make_room_group_list.html", async: false }
            , function(text) {
                groupTemplate = text;
        });

        groupList.forEach(function(group) {
            let html = Mustache.render(groupTemplate, {
                name: group.groupName,
                id: group.groupId,
            });

            let obj = jQuery.parseHTML(html);
            $('.overlay_src_msg').append(obj);
        })

        //ユーザデータ検索
        var userList = CHAT_DB.getAllGroupShopMemberNotInRoomByName(keyword);
        var userTemplate;
        $.get({ url: "./template/template_make_room_user_list.html", async: false }
            , function(text) {
                userTemplate = text;
        });
        userList.forEach(function(user) {
            user.profileUrl = CHAT.getProfileImgUrl(user.profileUrl);
            let findObj = CHAT.globalSelectedUserList.find(function(shopMemberId) {
                return shopMemberId == user.shopMemberId;
            })
            if (findObj) {
                user.checked = 'checked';
            }
        });
        let html = Mustache.render(userTemplate, {
            userList: userList
        });
        let obj = jQuery.parseHTML(html);
        $('.overlay_src_msg').append(obj);
        if (userList.length == 0 && groupList.length == 0) {
            const noResultMsg = $('<div/>',{width:'auto', style:'text-align: center'});
            noResultMsg.append(getLocalizedString("noResult"))
            $('.overlay_src_msg').append(noResultMsg);
        }
　　//連絡先画面
    } else {
        var userList = CHAT_DB.getMyGroupShopMemberNotInRoomByName(keyword);
        var userTemplate;
        $.get({ url: "./template/template_make_room_user_list.html", async: false }
            , function(text) {
                userTemplate = text;
        });
        userList.forEach(function(user) {
            user.profileUrl = CHAT.getProfileImgUrl(user.profileUrl);
            let findObj = CHAT.globalSelectedUserList.find(function(shopMemberId) {
                return shopMemberId == user.shopMemberId;
            })
            if (findObj) {
                user.checked = 'checked';
            }
        });
        let html = Mustache.render(userTemplate, {
            userList: userList
        });
        let obj = jQuery.parseHTML(html);
        $('.overlay_src_msg').html(obj);
        if (userList.length == 0) {
            const noResultMsg = $('<div/>',{width:'auto', style:'text-align: center'});
            noResultMsg.append(getLocalizedString("noResult"))
            $('.overlay_src_msg').append(noResultMsg);
        }
    }
};
