// Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
// for details on configuring this project to bundle and minify static web assets.

// Write your JavaScript code.

//#region dataTable 預設
$(function () {
    $.extend(true, $.fn.dataTable.defaults, {
        "paging": true,
        "lengthChange": false,
        "searching": false,
        "ordering": true,
        "info": true,
        "autoWidth": false,
        "responsive": true,
        "language": {
            "emptyTable": "無資料...",
            "processing": "處理中...",
            "loadingRecords": "載入中...",
            "lengthMenu": "顯示 _MENU_ 項結果",
            "zeroRecords": "沒有符合的結果",
            "info": "顯示第 _START_ 至 _END_ 項結果,共 _TOTAL_ 項",
            "infoEmpty": "顯示第 0 至 0 項結果,共 0 項",
            "infoFiltered": "(從 _MAX_ 項結果中過濾)",
            "infoPostFix": "",
            "search": "搜尋:",
            "paginate": {
                "first": "第一頁",
                "previous": "上一頁",
                "next": "下一頁",
                "last": "最後一頁"
            },
            "aria": {
                "sortAscending": ": 升冪排列",
                "sortDescending": ": 降冪排列"
            }
        }
    });

    //驗證是否為空白
    jQuery.validator.addMethod("filterspace", function (value, element) {
        var str = value;
        var result = false;
        if (str.length > 0) {
            if ($.trim(str) != '') {
                result = true;
            }
            else {
                result = false;
            }
        }
        return result;
    }, "不可填入空白");
});
//#endregion

$(function () {

    $.ajaxSetup({
        //headers: {
        //    Authorization: 'Basic ' + localStorage.getItem('JWT-Authorization'),
        //    'Access-Control-Allow-Origin': "*"
        //},
        beforeSend: function (xhr) {
            xhr.setRequestHeader("Authorization", 'Bearer ' + localStorage.getItem('JWT-Authorization'));
        },
        xhrFields: {
            withCredentials: true
        },
        //contentType: "application/json; charset=utf-8",
        //完成请求后触发。即在success或error触发后触发
        complete: function (XMLHttpRequest, status) {
            if ('400' == XMLHttpRequest.status) {
                window.location.href = "/Login/Index";
            }
        },
    //})
});
var top_menu;
function GetMenu(baseApiUrl) {
    var url = baseApiUrl + 'api/GetMenu';
    $.ajax({
        type: "POST",
        url: url,
        data: null,
        success: function (rel) {
            //rel = JSON.stringify(rel);
            if (rel.code != "0000") {
                if (rel.code == "9999") {
                    toast_error(rel.msg);
                }
                else {
                    toast_warning(rel.msg);
                }
                return;
            }
            else {
                top_menu = rel;
                //console.log(top_menu);
                $('.search > .nav').empty();
                top_menu.data.forEach(function (building_item) {

                    var html = `<li class="nav-item hidden-sm-down mx-30">
                        <a class="nav-link icon wb-order" onclick="ChangeSideMenu('${building_item.building_guid}',this)" role="button">
                        <i class="fal fa-building"></i>
                        <span>${building_item.full_name}</span>
                        </a>
                        </li>`

                    $('.search > .nav').append(html);

                });
                $('.search > .nav').append(`<li class="nav-item hidden-sm-down mx-30">
                    <a class="nav-link icon wb-order" href="#" role="button">
                    <i class="fal fa-bell"></i>
                    <span> 緊急應變</span>
                    </a>
                    </li>`);
            }

            if (rel.str_jwt != null) {
                localStorage.setItem('JWT-Authorization', rel.str_jwt);
            }
        },
        error: function (xhr, textStatus, thrownError) {
            alert(textStatus);
        }
    });
}

    

    //var fileReader = new FileReader();
    

    //let json = JSON.stringify();

    //const blob = new Blob("response.json", { type: "application/json" });

    //fileReader.readAsText(blob);

    //fileReader.onload = function () {
    //    console.log("讀取結果:", this.result);//當讀取完成之後會回撥這個函式,然後此時檔案的內容儲存到了result中。直接操作即可。

    //    console.log("讀取結果轉為JSON:");
    //    let json = JSON.parse(this.result);
    //    console.log(json.name);
    //    console.log(json.age);
    //}
    
    function readTextFile(file, callback) {
        var rawFile = new XMLHttpRequest();
        rawFile.overrideMimeType("application/json");
        rawFile.open("GET", file, true);
        rawFile.onreadystatechange = function () {
            if (rawFile.readyState === 4 && rawFile.status == "200") {
                callback(rawFile.responseText);
            }
        }
        rawFile.send(null);
    }

    //usage:
    //readTextFile("/js/response.json", function (text) {
    //    top_menu = JSON.parse(text);
    //    console.log(top_menu);

    //    $('.search > .nav').empty();
    //    top_menu.data.forEach(function (building_item) {

//            var html = `<li class="nav-item hidden-sm-down mx-30">
//                            <a class="nav-link icon wb-order" onclick="ChangeSideMenu('${building_item.building_guid}')" role="button">
//                                <i class="fal fa-building"></i>
//                                <span>${building_item.full_name}</span>
//                            </a>
//                        </li>`

//    //        $('.search > .nav').append(html);

//        });

//        $('.search > .nav').append(`<li class="nav-item hidden-sm-down mx-30">
//                                        <a class="nav-link icon wb-order" href="#" role="button">
//                                            <i class="fal fa-bell"></i>
//                                            <span> 緊急應變</span>
//                                        </a>
//                                    </li>`);
//    });

   

//}
var selected_building;
function ChangeSideMenu(building_guid,e) {
    selected_building = top_menu.data.filter(building => building.building_guid == building_guid)[0];
    $('.search > .nav').find('.nav-item').removeClass('active');
    $(e).parent('li').addClass("active");
    $('#js-nav-menu').navigationDestroy();
    $('#js-nav-menu').empty();
    selected_building.main_system.forEach(function (main_system_item) {

        var sub_html = '';
        main_system_item.sub_system.forEach(function (sub_system_item) {
            sub_html += `<li onclick="GetsubtoFloor('${sub_system_item.sub_system_guid}',this)">
                            <a href="javascript:void(0);" title="${sub_system_item.full_name}" data-filter-tags="utilities disabled item" >
                                <span class="nav-link-text" data-i18n="nav.utilities_disabled_item">${sub_system_item.full_name}</span>
                            </a>
                        </li>`;
            
        });

        var html = `<li onclick = "GetmaintoSub('${main_system_item.main_system_guid}')">
                        <a href="javascript:void(0);" title="${main_system_item.full_name}" data-filter-tags="category" style="background: #B28F01;">
                            <i class="fal fa-bolt"></i>
                            <span class="nav-link-text" data-i18n="nav.category">${main_system_item.full_name}</span>
                        </a>
                        <ul>
                            ${sub_html}
                        </ul>
                    </li>`;
        $('#js-nav-menu').append(html);
    });

    $('#js-nav-menu').append(`<li><hr class="mx-4" style="border-bottom: 1px solid #fff;"></li>

                            <li>
                                <a href="javascript:void(0);" title="告警記錄" data-filter-tags="blank page">
                                    <i class="fal fa-alarm-snooze"></i>
                                    <span class="nav-link-text" data-i18n="nav.blankpage">告警記錄</span>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:void(0);" title="歷史數據" data-filter-tags="blank page">
                                    <i class="fal fa-history"></i>
                                    <span class="nav-link-text" data-i18n="nav.blankpage">歷史數據</span>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:void(0);" title="報表下載" data-filter-tags="blank page">
                                    <i class="fal fa-download"></i>
                                    <span class="nav-link-text" data-i18n="nav.blankpage">報表下載</span>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:void(0);" title="操作記錄" data-filter-tags="blank page">
                                    <i class="fal fa-record-vinyl"></i>
                                    <span class="nav-link-text" data-i18n="nav.blankpage">操作記錄</span>
                                </a>
                            </li>`);

    
    $('#js-nav-menu').navigation({
        accordion: myapp_config.navAccordion,
        speed: myapp_config.navSpeed,
        closedSign: '<em class="' + myapp_config.navClosedSign + '"></em>',
        openedSign: '<em class="' + myapp_config.navOpenedSign + '"></em>',
        initClass: myapp_config.navInitalized
    });

}
var selected_mainsystem;
function GetmaintoSub(main) {
    selected_mainsystem = selected_building.main_system.filter(mainsystem => mainsystem.main_system_guid == main)[0];
    
    //console.log(selected_mainsystem);
}

var selected_subsystem;
function GetsubtoFloor(subsystem, e) {
    $(e).parent().parent().parent().find('.active').removeClass('active');
    $(e).parents('li').addClass('active');
    $(e).addClass('active');
    selected_subsystem = selected_mainsystem.sub_system.filter(sub_system => sub_system.sub_system_guid == subsystem)[0];
    //console.log(selected_subsystem);
    var floor_html = '';
    $('#navbarColor02').empty();
    if (selected_subsystem.drawing != 1) {
        floor_html += `<li class="nav-item mr-3 active">
                            <a class="nav-link" href="#"><i class="fal fa-bookmark"></i> 總覽 <span class="sr-only">(current)</span></a>
                        </li>`;
    }
    if (selected_subsystem.floors.length > 0) {
        if (selected_subsystem.planimetric_click == 1) {
            selected_subsystem.floors.forEach(function (floor_item) {
                if (selected_subsystem.drawing == 1) {
                    if (selected_subsystem.planimetric_floor_guid == floor_item.floor_guid) {
                        floor_html += `<li class="nav-item mr-3 active" >
                        <a class="nav-link" href="javascript:void(0);" ><i class="fal fa-bookmark"></i> ${floor_item.full_name}</a>
                    </li>`;
                    } else {
                        floor_html += `<li class="nav-item mr-3">
                        <a class="nav-link" href="javascript:void(0);"><i class="fal fa-bookmark"></i> ${floor_item.full_name}</a>
                    </li>`;
                    }

                } else {
                    floor_html += `<li class="nav-item mr-3">
                        <a class="nav-link" href="javascript:void(0);" onclick="GetFloortoDrawing()"><i class="fal fa-bookmark"></i> ${floor_item.full_name}</a>
                    </li>`;
                }
            })
        }
    }
    var htnl = `
                <ul class="navbar-nav mr-auto pl-4" id="navbarColor02_child">
                        ${floor_html}
                </ul>`;
    $('#navbarColor02').append(htnl);

}


function GetFloortoDrawing(floorguid,e) {

}