var vlplan = null, gs_loss_doc = null, checkedValue='none',deviceCap = {},currentchannel=0;
$(document).ready(function () {
    deviceCap = config.isSupportDeviceCapV2 ? config.deviceCapV2[currentchannel] : config.deviceCapV1[currentchannel];
    initVodeoLossPage();
    $('#scheduleTime').change(function () {
        if ($(this).select2('val') == 'false') {
            $('.config').show()
        } else {
            $('.config').hide()
        }
    });
    $('#vlCh').change(function () {
        var chid = $(this).select2('val');
        currentchannel = chid - 1;
         if (!config.isSupportDeviceCapV2&&config.deviceCapV1[currentchannel] == null) {
            getDeviceCap(chid);
        }
        deviceCap = config.isSupportDeviceCapV2 ? config.deviceCapV2[currentchannel] : config.deviceCapV1[currentchannel];
        deviceCap.IsSupportEmail == 'true' && $(".isVideoEmail").show();
        getVideoloss($(this).select2('val'));
        getVideolossSchedule($(this).select2('val'), vlplan);
    });
    
    $("#videoLossSave").click(function () { 
        setVideoloss($("#vlCh").select2('val'),vlplan);
    });
    $("#setPTZ").click(function () { 
        $("#vlModal").modal('show');
    });
    $('.form-horizontal').on('click', '.radio-inline',function() {
        var checkedValue = $('input[name="ptzRadio"]:checked').val();
        $("#VideoDataBit,#VideoStopBit,#VideoCheck").select2('val', '0').attr('disabled', true);
        if (checkedValue == 'preset') {
            $("#VideoDataBit").attr('disabled', false);
        } else if (checkedValue == 'pattern') {
            $("#VideoStopBit").attr('disabled', false);
        } else if (checkedValue == 'patrol') {
            $("#VideoCheck").attr('disabled', false);
        }
    });
    $("#VideoYT").change(function () {
        var ytCH = $(this).select2('val');
        renderPtz(gs_loss_doc, ytCH);
    });
    $("#ptzModelSave").click(function () { 
        $("#vlModal").modal('hide');
    });
    
});
function initVodeoLossPage() { 
    if (!$('.select2').hasClass('select2-offscreen')) {
        $(".select2").select2({
            minimumResultsForSearch: -1,
            width: 220
        });
    }
    config.deviceInfo.AlarmOutputChannels != 0 && $(".isChuAlarmOut").show();
    deviceCap.IsSupportEmail == 'true' && $(".isVideoEmail").show();
    for (let index = 0; index < parseInt(config.deviceInfo.VideoInputChannels); index++) {
        $("<option value='"+(index+1)+"'>"+(index+1)+"</option>").appendTo("#vlCh,#VideoYT");
    }
    for (var i = 0; i <= 255; i++) {
        $("#VideoDataBit").append('<option class="option" value="' + i + '">' + (i + 1) + '</option>');
    }
    for (var i = 0; i <= 15; i++) {
        $("#VideoCheck,#VideoStopBit").append('<option class="option" value="' + i + '">' + (i + 1) + '</option>');
    }
    vlplan = $("#vlTimePlan").TimePlan({
        sectionNum: 6
    });
    $("#vlCh,#VideoYT").select2('val', '1');//设置默认值
    getVideoloss(1);
    getVideolossSchedule(1, vlplan);
    
}
function getVideoloss(ch) {
    $.ajax({
        url: config.baseUrl + "/Pictures/" + ch + "/VideoLost",
        type: "GET",
        async: true,
        timeout: 15000,
        beforeSend: function (xhr) {
            xhr.setRequestHeader("If-Modified-Since", "0");
        },
        success: function (xmlDoc, textStatus, xhr) {
            gs_loss_doc = xmlDoc;
            $("#VideoChnSwitch").prop('checked', $(xmlDoc).find('VideoLost').eq(0).find('Enable').eq(0).text() == "true" ? true : false);
            $("#VideoEmail").prop('checked', $(xmlDoc).find('VideoLost').eq(0).find('Mail').eq(0).find('Enable').eq(0).text()  == "true" ? true : false);
            $("#VoiceAlarm").prop('checked', $(xmlDoc).find('VideoLost').eq(0).find('BeepAlert').eq(0).find('Enable').eq(0).text()  == "true" ? true : false);
            $("#VideoAlarm").prop('checked', $(xmlDoc).find('VideoLost').eq(0).find('AlarmOut').eq(0).find('Enable').eq(0).text()  == "true" ? true : false);
            $("#VideoPTZ").prop('checked', $(xmlDoc).find('VideoLost').eq(0).find('PTZ').eq(0).find('Enable').eq(0).text() == "true" ? true : false);
            //默认通道1的数据
            renderPtz(gs_loss_doc, 1);
        },
        error: function (xhr, textStatus, errorThrown) {}
    });
}
function getVideolossSchedule(ch,timeplan) {
    $.ajax({
        url: config.baseUrl + "/Pictures/" + ch + "/VideoLost/Schedule",
        type: "GET",
        async: true,
        timeout: 15000,
        beforeSend: function (xhr) {
            xhr.setRequestHeader("If-Modified-Since", "0");
        },
        success: function (xmlDoc, textStatus, xhr) {
            $("#scheduleTime").select2('val', $(xmlDoc).find('Schedule').eq(0).find('AllDay').eq(0).text()).change();
            setScheduleX(xmlDoc, timeplan);
        },
        error: function (xhr, textStatus, errorThrown) {}
    });
}
function setScheduleX(d, btimecaset) {
    // 转换xml中的时间
    var timeArr = [];
    var time = [];
    for (var i = 0; i < 7; i++) {
        timeArr[i] = $(d).find('TimeBlock_' + i).eq(0).text()
        for (var o = 0; o < 24; o++) {
            if (timeArr[i].charAt(2 * o) == 1) {
                time.push(1)
            } else {
                time.push(0)
            }
        }
    }

    btimecaset.setValue(changetimeFool(group(time, 24)));
}
function setVideoloss(ch,timeplan) {
    $(gs_loss_doc).find('VideoLost').eq(0).find('Enable').eq(0).text(String($("#VideoChnSwitch").is(':checked')));
    $(gs_loss_doc).find('VideoLost').eq(0).find('BeepAlert').eq(0).find('Enable').eq(0).text(String($("#VoiceAlarm").is(':checked')));
    $(gs_loss_doc).find('VideoLost').eq(0).find('AlarmOut').eq(0).find('Enable').eq(0).text(String($("#VideoAlarm").is(':checked')));
    $(gs_loss_doc).find('VideoLost').eq(0).find('Mail').eq(0).find('Enable').eq(0).text(String($("#VideoEmail").is(':checked')));
    $(gs_loss_doc).find('VideoLost').eq(0).find('PTZ').eq(0).find('Enable').eq(0).text(String($("#VideoPTZ").is(':checked')));
    $(gs_loss_doc).find('Schedule').eq(0).find('AllDay').eq(0).text($("#scheduleTime").select2('val'));
    // 布防区域时间选择
    console.log(timeplan,'timeplan');
    var timeArr = takeZero(timeplan.getvalue());
    console.log(timeArr,'timeArr');
    $(gs_loss_doc).find('Schedule').eq(0).find('TimeBlockList').eq(0).find('TimeBlock_0').eq(0).text(timeArr[6]);
    $(gs_loss_doc).find('Schedule').eq(0).find('TimeBlockList').eq(0).find('TimeBlock_1').eq(0).text(timeArr[0]);
    $(gs_loss_doc).find('Schedule').eq(0).find('TimeBlockList').eq(0).find('TimeBlock_2').eq(0).text(timeArr[1]);
    $(gs_loss_doc).find('Schedule').eq(0).find('TimeBlockList').eq(0).find('TimeBlock_3').eq(0).text(timeArr[2]);
    $(gs_loss_doc).find('Schedule').eq(0).find('TimeBlockList').eq(0).find('TimeBlock_4').eq(0).text(timeArr[3]);
    $(gs_loss_doc).find('Schedule').eq(0).find('TimeBlockList').eq(0).find('TimeBlock_5').eq(0).text(timeArr[4]);
    $(gs_loss_doc).find('Schedule').eq(0).find('TimeBlockList').eq(0).find('TimeBlock_6').eq(0).text(timeArr[5]);
    var chYT = $("#VideoYT").select2('val');
    var checkedValue = $('input[name="ptzRadio"]:checked').val();//选中的
    var checkedSelect = '';
    if (checkedValue == 'preset') {
        checkedSelect = $("#VideoDataBit").select2('val');
    } else if (checkedValue == 'pattern') {
        checkedSelect = $("#VideoStopBit").select2('val');
    } else if (checkedValue == 'patrol') {
        checkedSelect = $("#VideoCheck").select2('val');
    } else { 
        checkedSelect = 0;
    }
    $(gs_loss_doc).find('PTZ').eq(0).find('PTZActionList').eq(0).find('PTZAction').eq(chYT-1).find('ActionName').eq(0).text(checkedValue)
    $(gs_loss_doc).find('PTZ').eq(0).find('PTZActionList').eq(0).find('PTZAction').eq(chYT-1).find('ActionNum').eq(0).text(checkedSelect)
    var cyURL = config.baseUrl + "/Pictures/" + ch + "/VideoLost";
    $.ajax({
        type: "PUT",
        url: cyURL,
        processData: false,
        data: gs_loss_doc,
        beforeSend: function (xhr) {
            xhr.setRequestHeader("If-Modified-Since", "0");
        },
        complete: function (xhr, textStatus) {
            SaveState(xhr);
            // getVideolossSchedule(1, vlplan);
        }
    });
}
function renderPtz(gs_loss_doc,ch) {
    var ActionName = $(gs_loss_doc).find('VideoLost').eq(0).find('PTZ').eq(0).find('PTZActionList').eq(0).find('PTZAction').eq(ch - 1).find('ActionName').text();
    var ActionNum = $(gs_loss_doc).find('VideoLost').eq(0).find('PTZ').eq(0).find('PTZActionList').eq(0).find('PTZAction').eq(ch - 1).find('ActionNum').text();
    $('input[name="ptzRadio"][value="'+ActionName+'"]').prop('checked', true);
    $("#VideoDataBit,#VideoStopBit,#VideoCheck").select2('val', '0').attr('disabled', true);
    if (ActionName == 'preset') {
        $("#VideoDataBit").select2('val', ActionNum).attr('disabled', false);
    } else if (ActionName == 'pattern') {
        $("#VideoStopBit").select2('val', ActionNum).attr('disabled', false);
    } else if (ActionName === "patrol") {
        $("#VideoCheck").select2('val', ActionNum).attr('disabled', false);
    }
}
