document.write("<link href='//at.alicdn.com/t/font_653600_qa9lwwv74z.css' rel='stylesheet' type='text/css'/>");

/*!
 * JavaScript Cookie v2.2.0
 * https://github.com/js-cookie/js-cookie
 *
 * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
 * Released under the MIT license
 */
!function(e) {
    var n;
    if ("function" == typeof define && define.amd && (define(e),
    n = !0),
    "object" == typeof exports && (module.exports = e(),
    n = !0),
    !n) {
        var t = window.Cookies
          , o = window.Cookies = e();
        o.noConflict = function() {
            return window.Cookies = t,
            o
        }
    }
}(function() {
    function e() {
        for (var e = 0, n = {}; e < arguments.length; e++) {
            var t = arguments[e];
            for (var o in t)
                n[o] = t[o]
        }
        return n
    }
    function n(e) {
        return e.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent)
    }
    return function t(o) {
        function r() {}
        function i(n, t, i) {
            if ("undefined" != typeof document) {
                "number" == typeof (i = e({
                    path: "/"
                }, r.defaults, i)).expires && (i.expires = new Date(1 * new Date + 864e5 * i.expires)),
                i.expires = i.expires ? i.expires.toUTCString() : "";
                try {
                    var c = JSON.stringify(t);
                    /^[\{\[]/.test(c) && (t = c)
                } catch (e) {}
                t = o.write ? o.write(t, n) : encodeURIComponent(String(t)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent),
                n = encodeURIComponent(String(n)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\(\)]/g, escape);
                var f = "";
                for (var u in i)
                    i[u] && (f += "; " + u,
                    !0 !== i[u] && (f += "=" + i[u].split(";")[0]));
                return document.cookie = n + "=" + t + f
            }
        }
        function c(e, t) {
            if ("undefined" != typeof document) {
                for (var r = {}, i = document.cookie ? document.cookie.split("; ") : [], c = 0; c < i.length; c++) {
                    var f = i[c].split("=")
                      , u = f.slice(1).join("=");
                    t || '"' !== u.charAt(0) || (u = u.slice(1, -1));
                    try {
                        var a = n(f[0]);
                        if (u = (o.read || o)(u, a) || n(u),
                        t)
                            try {
                                u = JSON.parse(u)
                            } catch (e) {}
                        if (r[a] = u,
                        e === a)
                            break
                    } catch (e) {}
                }
                return e ? r[e] : r
            }
        }
        return r.set = i,
        r.get = function(e) {
            return c(e, !1)
        }
        ,
        r.getJSON = function(e) {
            return c(e, !0)
        }
        ,
        r.remove = function(n, t) {
            i(n, "", e(t, {
                expires: -1
            }))
        }
        ,
        r.defaults = {},
        r.withConverter = t,
        r
    }(function() {})
});

$(function() {
    var result = location.search.match(/\?search=(\w*)&?/i)
    if (result && result[1]) {
        var searchText = result[1]
        $('#search-input').val(searchText)
    }
    // 未报名用户登录时弹框
    // console.log(Cookies.get('enroll_status'));
    // if(Cookies.get('enroll_status') == 0){
    //     Cookies.remove('enroll_status');
    //     var html='<div class="CompetitionEnrollBox">'+
    //         '<div class="pr with40">'+
    //         '<img src="/images/educoder/competition/boxEnroll.png" width="100%"/>'+
    //         '<a href="javascript:void(0)" class="CloseBox" onclick="CloseBox();"><i class="iconfont icon-roundclose color-grey-c"></i></a>'+
    //         '<a href="https://www.educoder.net/competitions/gcc-dev-2018/enroll" class="ImmediatelyEnroll">立即报名</a>'+
    //         '</div></div>';
    //     $(".newContainer").append(html);
    // }
});

function CloseBox() {
    $(".CompetitionEnrollBox").remove();
}

//根据页面大小决定侧边栏的位置
$(window).resize(function() {
    rightSlider();
});
function rightSlider() {
    var poi = parseInt((parseInt($(window).width()) - 1200) / 2) - 81;
    // console.log(parseInt($(window).width())+"  "+poi);
    if (poi > 0) {
        $(".-task-sidebar").css("right", poi);
    } else {
        $(".-task-sidebar").css("right", "0px");
    }
    $(".-task-sidebar").show();
}
function open_course(id, allowVisit) {
    if (allowVisit) {
        window.open("/courses/" + id);
    }
}
function open_project(id, allowVisit) {
    if (allowVisit) {
        window.open("/projects/" + id);
    }
}

function conver_size(limit) {
    var size = "";
    if (limit < 1024) {
        //如果小于1KB转化成B
        size = limit.toFixed(2) + "B";
    } else if (limit < 1024 * 1024) {
        //如果小于1MB转化成KB
        size = (limit / 1024).toFixed(2) + "KB";
    } else if (limit < 1024 * 1024 * 1024) {
        //如果小于1GB转化成MB
        size = (limit / (1024 * 1024)).toFixed(2) + "MB";
    } else {
        //其他转化成GB
        size = (limit / (1024 * 1024 * 1024)).toFixed(2) + "GB";
    }

    var sizestr = size + "";
    var len = sizestr.indexOf("\.");
    var dec = sizestr.substr(len + 1, 2);
    if (dec == "00") {
        //当小数点后为00时 去掉小数部分
        return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
    }
    return sizestr;
}

function _initSider() {
    var $descSide = $("<div class='-task-desc'></div>").appendTo("body");
    $(".-task-sidebar>div").hover(function() {
        //移入显示二维码
        if ($(this).hasClass("scan")) {
            $(".scan_ewm").show().css({
                right: "75px",
                opacity: 0
            }).stop().animate({
                right: "45px",
                opacity: 1
            })
            return;
        }
        var $tool = $(this).attr("tooltips");
        $descSide.html($tool + "<div><img src='/images/edu_user/jt.png'></div>");
        $descSide.data('_dom', this)
        $descSide.show().css({
            left: $(this).offset().left - $descSide.width() - 30,
            opacity: 0,
            top: $(this).offset().top
        }).stop().animate({
            left: $(this).offset().left - $descSide.width() - 5,
            opacity: 1
        }, 400);
    }, function() {
        if ($(this).hasClass("scan")) {
            $(".scan_ewm").stop().animate({
                right: "75px",
                opacity: 0
            }, 200).hide();
        }
        $descSide.stop().animate({
            left: $(this).offset().left - $descSide.width() - 30,
            opacity: 0
        }, 200).hide();
    });
    rightSlider();

    $(window).scroll(function() {
        if ($descSide.height()) {
            var hoverIcon = $descSide.data('_dom')
            $descSide.css('top', $(hoverIcon).offset().top)
        }
    })
}
$(function() {
    loadHeader();
    _initSider();

    $(window).scroll(function() {
        if ($(".gotop").length > 0) {
            if ($(document).scrollTop() > 0) {
                $(".-task-sidebar .gotop").show();
                $(".gotop").click(function() {
                    $("html,body").scrollTop(0);
                });
            }
            if ($(document).scrollTop() == 0) {
                $(".-task-sidebar .gotop").hide();
            }
        }
    });

    // 翻页的GO
    $(".page_GO").live("keydown", function(event) {
        var code;
        if (!event) {
            event = window.event;
            //针对ie浏览器
            code = event.keyCode;
        } else {
            code = event.keyCode;
        }
        if (code == 13) {
            var prev = $(this).prev().find("a").html().trim();
            var page = $(this).val().trim();
            if (parseInt(prev) >= parseInt(page)) {
                if (typeof ($(this).prev().children("a").attr("href")) == "undefined") {
                    var href = $(this).parent().find("li:first-child").children("a").attr("href");
                } else {
                    var href = $(this).prev().children("a").attr("href");
                }
                var new_href = href.replace(/page=(\d*)/, 'page=' + page);
                console.log(new_href);
                $.get(new_href);
                return false;
            }
        }
    });

    // 试用申请弹框
    $("#apply_trail_submit_btn").live('click', function() {
        if ($("#apply_reason").val().trim() == "") {
            $("#hint_message").show();
        } else {
            $("#hint_message").hide();
            $("#apply_trail_form").submit();
            hideModal();
        }
    });

});

// editor 存在了jquery对象上，应用不需要自己写md_rec_data方法了
function md_rec_data(k, mdu, id) {
    if (window.sessionStorage.getItem(k + mdu) !== null) {
        editor = $("#e_tips_" + id).data('editor');
        editor.setValue(window.sessionStorage.getItem(k + mdu));

        md_clear_data(k, mdu, id);
    }
}
// markdown的自动保存
function md_elocalStorage(editor, mdu, id) {
    if (window.sessionStorage) {
        var oc = window.sessionStorage.getItem('content' + mdu);
        if (oc !== null) {
            $("#e_tips_" + id).data('editor', editor);
            var h = '您上次有已保存的数据，是否<a style="cursor: pointer;" class="link-color-blue" onclick="md_rec_data(\'content\',\'' + mdu + '\',\'' + id + '\')">恢复</a> ? / <a style="cursor: pointer;" class="link-color-blue" onclick="md_clear_data(\'content\',\'' + mdu + '\',\'' + id + '\')">不恢复</a>';
            $("#e_tips_" + id).html(h);
        }
        setInterval(function() {
            d = new Date();
            var h = d.getHours();
            var m = d.getMinutes();
            var s = d.getSeconds();
            h = h < 10 ? '0' + h : h;
            m = m < 10 ? '0' + m : m;
            s = s < 10 ? '0' + s : s;
            if (editor.getValue().trim() != "") {
                md_add_data("content", mdu, editor.getValue());
                var id1 = "#e_tip_" + id;
                var id2 = "#e_tips_" + id;
                $(id1).html(" 数据已于 " + h + ':' + m + ':' + s + " 保存   ");
                $(id2).html("");
            }
        }, 10000);

    } else {
        $("#e_tip_" + id).after('您的浏览器不支持localStorage.无法开启自动保存草稿服务,请升级浏览器！');
    }
}
// 保存数据
function md_add_data(k, mdu, d) {
    window.sessionStorage.setItem(k + mdu, d);
}
// 恢复数据
//function md_rec_data(k,mdu,id, editor){
//    if(window.sessionStorage.getItem(k+mdu) !== null){
//        editor.setValue(window.sessionStorage.getItem(k+mdu));
//        md_clear_data(k,mdu,id);
//    }
//}
// 清空保存的数据
function md_clear_data(k, mdu, id) {
    window.sessionStorage.removeItem(k + mdu);
    var id1 = "#e_tip_" + id;
    var id2 = "#e_tips_" + id;
    if (k == 'content') {
        $(id2).html("");
    } else {
        $(id1).html("");
    }
}

// editorMD to create
/**
 *
 * @param id  渲染DOM的id
 * @param width 宽度
 * @param high  高度
 * @param placeholder
 * @param imageUrl 上传图片的url
 * @returns {*} 返回一个editorMD实例
 */
function create_editorMD(id, width, high, placeholder, imageUrl, readonly) {
    var readonly = readonly == undefined ? false : readonly;
    var editorName = editormd(id, {
        width: width,
        height: high,
        syncScrolling: "single",
        //你的lib目录的路径，我这边用JSP做测试的
        path: "/editormd/lib/",
        tex: true,
        tocm: true,
        emoji: true,
        taskList: true,
        codeFold: true,
        searchReplace: true,
        htmlDecode: "style,script,iframe",
        sequenceDiagram: true,
        autoFocus: false,
        readonly: readonly,
        toolbarIcons: function() {
            // Or return editormd.toolbarModes[name]; // full, simple, mini
            // Using "||" set icons align right.
            return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear"]
        },
        toolbarCustomIcons: {
            testIcon: "<a type=\"inline\" class=\"latex\" ><div class='zbg'></div></a>",
            testIcon1: "<a type=\"latex\" class=\"latex\" ><div class='zbg_latex'></div></a>"
        },
        //这个配置在simple.html中并没有，但是为了能够提交表单，使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中，方便post提交表单。
        saveHTMLToTextarea: true,
        // 用于增加自定义工具栏的功能，可以直接插入HTML标签，不使用默认的元素创建图标
        dialogMaskOpacity: 0.6,
        placeholder: placeholder,
        imageUpload: true,
        imageFormats: ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"],
        imageUploadURL: imageUrl,
        //url
        onload: function(cMirror) {
            $("#" + id + " [type=\"latex\"]").bind("click", function() {
                editorName.cm.replaceSelection("```latex");
                editorName.cm.replaceSelection("\n");
                editorName.cm.replaceSelection("\n");
                editorName.cm.replaceSelection("```");
                var __Cursor = editorName.cm.getDoc().getCursor();
                editorName.cm.setCursor(__Cursor.line - 1, 0);
            });

            $("#" + id + " [type=\"inline\"]").bind("click", function() {
                editorName.cm.replaceSelection("$$$$");
                var __Cursor = editorName.cm.getDoc().getCursor();
                editorName.cm.setCursor(__Cursor.line, __Cursor.ch - 2);
                editorName.cm.focus();
            });
            $("[type=\"inline\"]").attr("title", "行内公式");
            $("[type=\"latex\"]").attr("title", "多行公式");
            setTimeout(function() {
                editorName.resize();
                editorName.cm.refresh();
                window.new_md = editorName;
            }, 300);
        }
    });
    return editorName;
}

// editormd to html
/**
 *
 * @param id 渲染的id
 * @param callback onload回調 暫時未用
 */
function editormd_to_html(id, callback) {
    editormd.loadKaTeX(function() {
        editormd.markdownToHTML(id, {
            htmlDecode: "style,script,iframe",
            // you can filter tags decode
            onload: function() {
                callback && callback()
            },
            taskList: true,
            tex: true,
            // 默认不解析
            flowChart: true,
            // 默认不解析
            sequenceDiagram: true// 默认不解析
        });
    });
}

function loadHeader() {
    //头部导航条的----------显示搜索框
    $("#search-open").on("click", function(e) {
        $(this).hide();
        //        $("#header-nav").animate({opacity:"0"},1000);
        $(".posi-search").show()
        // .animate({opacity:"1"},1000);
        $("#header-nav").css("z-index", "2");
        $(".posi-search").css("z-index", "3");
        // $(".search-input").val("");  //  不清空
        $(".search-input").focus();
        $(".search-all .search-content").hide();
        e.stopPropagation();
        //阻止冒泡
    });
    $(".search-input").on("click", function(e) {
        e.stopPropagation();
        //阻止冒泡
    });
    //搜索框输入内容
    $(".search-input").on("input", function(e) {
        if ($(".search-input").val() == "") {
            $(".search-all .search-content").hide();
        } else {
            $(".search-all .search-content").show();
        }
        e.stopPropagation();
        //阻止冒泡
    });
    //搜索
    $("#header_keyword_search").on("click", header_search);
    $("input[name='search_keyword']").on("keydown", function(event) {
        var code;
        if (!event) {
            event = window.event;
            //针对ie浏览器
            code = event.keyCode;
        } else {
            code = event.keyCode;
        }
        if (code == 13) {
            header_search();
            return false;
        }
    });
    $(".search-clear").click(function(e) {
        e.stopPropagation();
    });
    //切换搜索条件
    $("#searchkey li").click(function(e) {
        var key = $($(this).children("a")[0]).html();
        switch (key) {
        case '实训':
            $("#search_type").val('1');
            break;
        case '课堂':
            $("#search_type").val('2');
            break;
        case '用户':
            $("#search_type").val('3');
            break;
        }
        $("#searchkey").siblings(".searchkey").html(key);
        //        $("#searchkey").hide();
        e.stopPropagation();
        //阻止冒泡
    });
    //切换选择导航条
    $("#header-nav li").click(function() {
        $("#header-nav li").removeClass("active");
        $(this).addClass("active");
    });
    //点击页面其它（与搜索框无关的地方）都会将搜索框隐藏，所以与搜索框有关的地方需要阻止冒泡
    $("body").on("click", function() {
        closeSearch();
    });

    $(".search_history").on("click", function() {
        $("input[name='search_keyword']").val($(this).html());
        header_search();
    });
}

function header_search() {
    var keyword = $("input[name='search_keyword']").val();
    // 搜索关键字
    var index = $("#search_type").val();
    // 搜索课程/项目
    keyword = encodeURIComponent(keyword);
    // $.get('/users/search_shixuns_or_course',
    //     { search: keyword,
    //         index: index});
    window.location.href = "/users/search_shixuns_or_courses" + "?search=" + keyword + "&index=" + index;
    //e.stopPropagation();//阻止冒泡
}

//头部导航条的隐藏
function closeSearch() {
    $('#posi-search').hide();
    $("#search-open").show();
    //    $(".posi-search").animate({opacity:"0"},800);
    $("#header-nav").animate({
        opacity: "1"
    }, 1000);
    $(".posi-search").css("z-index", "2");
    $("#header-nav").css("z-index", "3");
}
(function($) {
    $.fn.drag = function(options) {
        var x, drag = this, isMove = false, defaults = {};
        var options = $.extend(defaults, options);
        //添加背景，文字，滑块
        var html = '<div class="drag_bg"></div>' + '<div class="drag_text" onselectstart="return false;" unselectable="on">请拖住滑块，拖动到最右边</div>' + '<div class="handler handler_bg"></div>';
        this.append(html);

        var handler = drag.find('.handler');
        var drag_bg = drag.find('.drag_bg');
        var text = drag.find('.drag_text');
        var maxWidth = text.width() - handler.width();
        //能滑动的最大间距
        //鼠标按下时候的x轴的位置
        handler.mousedown(function(e) {
            isMove = true;
            x = e.pageX - parseInt(handler.css('left'), 10);
        });

        //鼠标指针在上下文移动时，移动距离大于0小于最大间距，滑块x轴位置等于鼠标移动距离
        $(document).mousemove(function(e) {
            var _x = e.pageX - x;
            var handler_offset = handler.offset();
            var lastX = e.clientX - x;
            lastX = Math.max(0, Math.min(maxWidth, lastX));
            if (isMove) {
                if (_x > 0 && _x <= maxWidth) {
                    handler.css({
                        'left': lastX
                    });
                    drag_bg.css({
                        'width': lastX
                    });
                } else if (lastX > maxWidth - 5 && lastX < maxWidth + 5) {
                    //鼠标指针移动距离达到最大时清空事件
                    dragOk();
                }
            }
        });
        handler.mouseup(function(e) {
            isMove = false;
            var _x = e.pageX - x;
            if (_x < maxWidth) {
                //鼠标松开时，如果没有达到最大距离位置，滑块就返回初始位置
                handler.css({
                    'left': 0
                });
                drag_bg.css({
                    'width': 0
                });
            }
        });

        //清空事件
        function dragOk() {
            var kuaiwidth = drag.width() - handler.width();
            handler.removeClass('handler_bg').addClass('handler_ok_bg');
            handler.css({
                'left': kuaiwidth + 'px'
            })
            text.css({
                'width': kuaiwidth + 'px'
            });
            text.text('验证通过');
            drag.css({
                'color': '#fff'
            });
            drag_bg.css({
                'width': kuaiwidth + 'px'
            })
            handler.unbind('mousedown');
            $(document).unbind('mousemove');
            $(document).unbind('mouseup');
            handler.parent().next().find("p").html("").hide();
        }
    }
    ;
}
)(jQuery);

//判断是手机端还是电脑端
function IsPC() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

//Dom：绑定事件的节点对象，ChangeDOM：操作的相关节点，
function LeaveTitle(Dom, ChangeDom) {
    ChangeDom.html("").hide();
    ChangeDom.parent().css({
        opacity: 0,
        left: 0,
        top: 0
    }).hide();
}

$(function() {
    //平台tip的样式优化js
    var $desc = $("<div class=\"-task-title\">" + "<div class=\"data-tip-down\"></div>" + "<div class=\"data-tip-left\"></div>" + "<div class=\"data-tip-right\"></div>" + "<div class=\"data-tip-top\"></div>" + "</div>").appendTo("body");
    //Dom：绑定事件的节点对象，ChangeDOM：操作的相关节点，
    function LeaveTitle(Dom, ChangeDom) {
        Dom.live("mouseleave", function() {
            ChangeDom.html("").hide();
            $desc.css({
                opacity: 0,
                left: 0,
                top: 0
            }).hide();
        })
    }
    LeaveTitle($("[data-tip-top]"), $(".data-tip-top"));
    LeaveTitle($("[data-tip-down]"), $(".data-tip-down"));
    LeaveTitle($("[data-tip-right]"), $(".data-tip-left"));
    LeaveTitle($("[data-tip-left]"), $(".data-tip-right"));
    $("[data-tip-top]").live("mouseenter", function() {
        var $tool = $(this).attr("data-tip-top");
        if ($tool != "") {
            $(".data-tip-top").show().html($tool);
            $desc.show().css({
                left: $(this).offset().left - ($desc.width() - $(this).outerWidth()) / 2,
                opacity: 1,
                top: $(this).offset().top - 30
            });
        }
    });
    $("[data-tip-down]").live("mouseenter", function() {
        var $tool = $(this).attr("data-tip-down");
        if ($tool != "") {
            $(".data-tip-down").show().html($tool);
            $desc.show().css({
                left: $(this).offset().left - ($desc.width() - $(this).outerWidth()) / 2,
                opacity: 1,
                top: $(this).offset().top + $(this).height() + 6
            });
        }
    });
    $("[data-tip-right]").live("mouseenter", function() {
        var $tool = $(this).attr("data-tip-right");
        if ($tool != "") {
            console.log($(this).offset().left + "  " + $(this).width());
            $(".data-tip-left").show().html($tool);
            $desc.show().css({
                left: $(this).offset().left + $(this).outerWidth() + 6,
                opacity: 1,
                top: $(this).offset().top - ($desc.height() - $(this).height()) / 2
            });
        }
    });
    $("[data-tip-left]").live("mouseenter", function() {
        var $tool = $(this).attr("data-tip-left");
        if ($tool != "") {
            $(".data-tip-right").show().html($tool);
            $desc.show().css({
                left: $(this).offset().left - $desc.width() - 6,
                opacity: 1,
                top: $(this).offset().top - ($desc.height() - $(this).height()) / 2
            });
        }
    });
    unitDownOption();
});

function unitDownOption() {
    //下拉框
    $("[select-for]").append("<i class='fa fa-sort-desc lesson_img color-grey-8'></i>");
    $("[select-for]").hover(function() {
        $(this).find(".down-select").show();
    }, function() {
        $(this).find(".down-select").hide();
    })
    $("[select-for] .down-select p").bind("click", function() {
        //alert($(this).attr("data-shixun-value"));
        if ($(this).attr("id") == "diy_script") {
            return;
            // 实训新建-选择自定义脚本diy
        }
        $(this).parents(".down-select").siblings("input[type=hidden]").attr("value", $(this).attr("data-shixun-value"));

        $(this).parents(".down-select").siblings("input[type=text]").val($(this).html().trim());
        $(this).parents(".down-select").hide();
    })
}

//初始化省份
function showprovince(id) {
    var arrary = ["北京", "上海", "广东", "江苏", "浙江", "重庆", "安徽", "福建", "甘肃", "广西", "贵州", "海南", "河北", "黑龙江", "河南", "湖北", "湖南", "江西", "吉林", "辽宁", "内蒙古", "宁夏", "青海", "山东", "山西", "陕西", "四川", "天津", "新疆", "西藏", "云南", "香港特别行政区", "澳门特别行政区", "台湾", "海外"];
    var html = "<option value=\"0\">请选择所在省份</option>"
    for (var i = 0; i < arrary.length; i++) {
        var item = arrary[i];
        html += "<option value=\"" + item + "\">" + item + "</option>";
    }
    $("#" + id).html(html);
}

//省市下拉框
function showcity(province, cityField) {
    switch (province) {
    case "北京":
        var cityOptions = new Array("东城","西城","朝阳","丰台","石景山","海淀","门头沟","房山","通州","顺义","昌平","大兴","平谷","怀柔","密云","延庆");
        break;
    case "上海":
        var cityOptions = new Array("崇明","黄浦","卢湾","徐汇","长宁","静安","普陀","闸北","虹口","杨浦","闵行","宝山","嘉定","浦东","金山","松江","青浦","南汇","奉贤");
        break;
    case "广东":
        var cityOptions = new Array("广州","深圳","珠海","东莞","中山","佛山","惠州","河源","潮州","江门","揭阳","茂名","梅州","清远","汕头","汕尾","韶关","顺德","阳江","云浮","湛江","肇庆");
        break;
    case "江苏":
        var cityOptions = new Array("南京","常熟","常州","海门","淮安","江都","江阴","昆山","连云港","南通","启东","沭阳","宿迁","苏州","太仓","泰州","同里","无锡","徐州","盐城","扬州","宜兴","仪征","张家港","镇江","周庄");
        break;
    case "重庆":
        var cityOptions = new Array("万州","涪陵","渝中","大渡口","江北","沙坪坝","九龙坡","南岸","北碚","万盛","双挢","渝北","巴南","黔江","长寿","綦江","潼南","铜梁","大足","荣昌","壁山","梁平","城口","丰都","垫江","武隆","忠县","开县","云阳","奉节","巫山","巫溪","石柱","秀山","酉阳","彭水","江津","合川","永川","南川");
        break;
    case "安徽":
        var cityOptions = new Array("合肥","安庆","蚌埠","亳州","巢湖","滁州","阜阳","贵池","淮北","淮化","淮南","黄山","九华山","六安","马鞍山","宿州","铜陵","屯溪","芜湖","宣城");
        break;
    case "福建":
        var cityOptions = new Array("福州","厦门","泉州","漳州","龙岩","南平","宁德","莆田","三明");
        break;
    case "甘肃":
        var cityOptions = new Array("兰州","白银","定西","敦煌","甘南","金昌","酒泉","临夏","平凉","天水","武都","武威","西峰","张掖");
        break;
    case "广西":
        var cityOptions = new Array("南宁","百色","北海","桂林","防城港","贵港","河池","贺州","柳州","钦州","梧州","玉林");
        break;
    case "贵州":
        var cityOptions = new Array("贵阳","安顺","毕节","都匀","凯里","六盘水","铜仁","兴义","玉屏","遵义");
        break;
    case "海南":
        var cityOptions = new Array("海口","儋县","陵水","琼海","三亚","通什","万宁");
        break;
    case "河北":
        var cityOptions = new Array("石家庄","保定","北戴河","沧州","承德","丰润","邯郸","衡水","廊坊","南戴河","秦皇岛","唐山","新城","邢台","张家口");
        break;
    case "黑龙江":
        var cityOptions = new Array("哈尔滨","北安","大庆","大兴安岭","鹤岗","黑河","佳木斯","鸡西","牡丹江","齐齐哈尔","七台河","双鸭山","绥化","伊春");
        break;
    case "河南":
        var cityOptions = new Array("郑州","安阳","鹤壁","潢川","焦作","济源","开封","漯河","洛阳","南阳","平顶山","濮阳","三门峡","商丘","新乡","信阳","许昌","周口","驻马店");
        break;
    case "香港":
        var cityOptions = new Array("香港","九龙","新界");
        break;
    case "湖北":
        var cityOptions = new Array("武汉","恩施","鄂州","黄冈","黄石","荆门","荆州","潜江","十堰","随州","武穴","仙桃","咸宁","襄阳","襄樊","孝感","宜昌");
        break;
    case "湖南":
        var cityOptions = new Array("长沙","常德","郴州","衡阳","怀化","吉首","娄底","邵阳","湘潭","益阳","岳阳","永州","张家界","株洲");
        break;
    case "江西":
        var cityOptions = new Array("南昌","抚州","赣州","吉安","景德镇","井冈山","九江","庐山","萍乡","上饶","新余","宜春","鹰潭");
        break;
    case "吉林":
        var cityOptions = new Array("长春","吉林","白城","白山","珲春","辽源","梅河","四平","松原","通化","延吉");
        break;
    case "辽宁":
        var cityOptions = new Array("沈阳","鞍山","本溪","朝阳","大连","丹东","抚顺","阜新","葫芦岛","锦州","辽阳","盘锦","铁岭","营口");
        break;
    case "澳门":
        var cityOptions = new Array("澳门");
        break;
    case "内蒙古":
        var cityOptions = new Array("呼和浩特","阿拉善盟","包头","赤峰","东胜","海拉尔","集宁","临河","通辽","乌海","乌兰浩特","锡林浩特");
        break;
    case "宁夏":
        var cityOptions = new Array("银川","固源","石嘴山","吴忠");
        break;
    case "青海":
        var cityOptions = new Array("西宁","德令哈","格尔木","共和","海东","海晏","玛沁","同仁","玉树");
        break;
    case "山东":
        var cityOptions = new Array("济南","滨州","兖州","德州","东营","菏泽","济宁","莱芜","聊城","临沂","蓬莱","青岛","曲阜","日照","泰安","潍坊","威海","烟台","枣庄","淄博");
        break;
    case "山西":
        var cityOptions = new Array("太原","长治","大同","候马","晋城","离石","临汾","宁武","朔州","忻州","阳泉","榆次","运城");
        break;
    case "陕西":
        var cityOptions = new Array("西安","安康","宝鸡","汉中","渭南","商州","绥德","铜川","咸阳","延安","榆林");
        break;
    case "四川":
        var cityOptions = new Array("成都","巴中","达川","德阳","都江堰","峨眉山","涪陵","广安","广元","九寨沟","康定","乐山","泸州","马尔康","绵阳","眉山","南充","内江","攀枝花","遂宁","汶川","西昌","雅安","宜宾","自贡","资阳");
        break;
    case "台湾":
        var cityOptions = new Array("台北","基隆","台南","台中","高雄","屏东","南投","云林","新竹","彰化","苗栗","嘉义","花莲","桃园","宜兰","台东","金门","马祖","澎湖");
        break;
    case "天津":
        var cityOptions = new Array("天津","和平","东丽","河东","西青","河西","津南","南开","北辰","河北","武清","红挢","塘沽","汉沽","大港","宁河","静海","宝坻","蓟县");
        break;
    case "新疆":
        var cityOptions = new Array("乌鲁木齐","阿克苏","阿勒泰","阿图什","博乐","昌吉","东山","哈密","和田","喀什","克拉玛依","库车","库尔勒","奎屯","石河子","塔城","吐鲁番","伊宁");
        break;
    case "西藏":
        var cityOptions = new Array("拉萨","阿里","昌都","林芝","那曲","日喀则","山南");
        break;
    case "云南":
        var cityOptions = new Array("昆明","大理","保山","楚雄","大理","东川","个旧","景洪","开远","临沧","丽江","六库","潞西","曲靖","思茅","文山","西双版纳","玉溪","中甸","昭通");
        break;
    case "浙江":
        var cityOptions = new Array("杭州","安吉","慈溪","定海","奉化","海盐","黄岩","湖州","嘉兴","金华","临安","临海","丽水","宁波","瓯海","平湖","千岛湖","衢州","江山","瑞安","绍兴","嵊州","台州","温岭","温州","余姚","舟山");
        break;
    case "海外":
        var cityOptions = new Array("美国","日本","英国","法国","德国","其他");
        break;
    default:
        var cityOptions = new Array("请选择所在城市");
        break;
    }

    cityField.options.length = 0;
    for (var i = 0; i < cityOptions.length; i++) {
        cityField.options[i] = new Option(cityOptions[i],cityOptions[i]);
        /*
         if (cityField.options[i].value==city)
         {
         //alert("here put City ok!");
         document.oblogform["city"].selectedIndex = i;
         }*/
    }
}

/*弹框*/
// 公共弹框样式
// 建议左右栏的：Width：460，Height：190
// 建议宽屏对应值：Width：760，Height：500
function pop_box_new(value, Width, Height, close) {

    if ($("#popupAll").length > 0) {
        $("#popupAll").remove();
    }
    w = ($(window).width() - Width) / 2;
    h = ($(window).height() - Height) / 2;
    var html = "<div class=\"popupAll none\" id='popupAll'><div class=\"pr\"><div id=\"popupWrap\"></div></div></div>";
    if (close) {
        value = "<a href='javascript:void(0)' id='closeIcon'><i class='iconfont icon-shanchudiao'></i></a>" + value;
    }
    $(document.body).append(html);
    $("#popupWrap").html(value);
    $('#popupWrap').css({
        "top": h + "px",
        "left": w + "px",
        "padding": "0",
        "border": "none",
        "position": "fixed",
        "z-index": "99999",
        "background-color": "#fff",
        "border-radius": "10px"
    });
    if (close) {
        $('#closeIcon').css({
            "top": "-26px",
            "left": Width + "px",
            "z-index": "100000"
        });
    }

    $("#popupWrap").parent().parent().show();
    $('#popupAll').find("#closeIcon").click(function() {
        $("#popupAll").hide();
    });
    $('#popupAll').find("a[class*='pop_close']").click(function() {
        $("#popupAll").hide();
    });
    //    w = ($(window).width() - Width)/2;
    //    h = ($(window).height() - Height)/2;
    //    $("#ajax-modal").html(value);
    //    showModal('ajax-modal', Width + 'px');
    //    $('#ajax-modal').siblings().remove();
    //    $('#ajax-modal').parent().css({"top": h+"px","left": w+"px","padding":"0","border":"none","position":"fixed"});
    //    $('#ajax-modal').parent().removeClass("resourceUploadPopup popbox_polls popbox");
    //    $('#ajax-modal').css({"padding":"0","overflow":"hidden"});
    //    $('#ajax-modal').parent().attr("id","popupWrap");

    //拖拽
    function Drag(id) {
        this.div = document.getElementById(id);
        if (this.div) {
            this.div.style.cursor = "move";
            this.div.style.position = "fixed";
        }
        this.disX = 0;
        this.disY = 0;
        var _this = this;
        this.div.onmousedown = function(evt) {
            _this.getDistance(evt);
            document.onmousemove = function(evt) {
                _this.setPosition(evt);
            }
            ;
            _this.div.onmouseup = function() {
                _this.clearEvent();
            }
        }
    }
    Drag.prototype.getDistance = function(evt) {
        var oEvent = evt || event;
        this.disX = oEvent.clientX - this.div.offsetLeft;
        this.disY = oEvent.clientY - this.div.offsetTop;
    }
    ;
    Drag.prototype.setPosition = function(evt) {
        var oEvent = evt || event;
        var l = oEvent.clientX - this.disX;
        var t = oEvent.clientY - this.disY;
        if (l <= 0) {
            l = 0;
        } else if (l >= document.documentElement.clientWidth - this.div.offsetWidth) {
            l = document.documentElement.clientWidth - this.div.offsetWidth;
        }
        if (t <= 0) {
            t = 0;
        } else if (t >= document.documentElement.clientHeight - this.div.offsetHeight) {
            t = document.documentElement.clientHeight - this.div.offsetHeight;
        }
        this.div.style.left = l + "px";
        this.div.style.top = t + "px";
    }
    ;
    Drag.prototype.clearEvent = function() {
        this.div.onmouseup = null;
        document.onmousemove = null;
    }
    ;

    new Drag("popupWrap");

    $("#popupAll input, #popupAll textarea, #popupAll select, #popupAll ul, #popupAll a,#shixun_search_form_div").mousedown(function(event) {
        event.stopPropagation();
        new Drag("popupWrap");
    });

}

function hideModal(el) {
    if ($("#popupAll").length > 0) {
        $("#popupAll").remove();
    } else {
        var modal;
        if (el) {
            modal = $(el).parents('.ui-dialog-content');
        } else {
            modal = $('#ajax-modal');
        }
        modal.dialog("close");
    }
}

//提示框：只有一个确定按钮，点击跳转
//<a href="'+ url +'" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>
function notice_box_redirect(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix font-20">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16 mt15 mb15">' + str + '</p></div><div class="task-popup-sure clearfix">' + '<a href="' + url + '" class="task-btn task-btn-orange" onclick="hideModal();">确定</a></div></div>';
    pop_box_new(htmlvalue, 480, 160);
}
//按钮内容自定义（自定义按钮需要remote=true,且有取消按钮）
function notice_operation_box(url, str, btnstr) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-OK clearfix">' + '<a href="javascript:void(0);" onclick="hideModal();" class="task-btn mr20">取消</a><a href="' + url + '" class="task-btn task-btn-orange" onclick="hideModal();" target="_blank" remote="true">' + btnstr + '</a></div></div>';
    pop_box_new(htmlvalue, 480, 160);
}
//点击删除时的确认弹框: 不走destroy方法
function delete_confirm_box(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="' + url + '" class="task-btn task-btn-orange fr" onclick="hideModal();" data-remote="true" id="task_popup_confirm">确定</a></div></div>';
    pop_box_new(htmlvalue, 480, 160);
}
//点击删除时的确认弹框: 走destroy方法,remote为true
function delete_confirm_box_2(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><div class="task-popup-text-center font-14">' + str + '</div></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="' + url + '" class="task-btn task-btn-orange fr" onclick="hideModal();" data-method="delete" data-remote="true">确定</a></div></div>';
    pop_box_new(htmlvalue, 480, 160);
}

// 点击确定的时候ajax请求，两个按钮 点击确认跳转, 提示信息可以多行
function op_confirm_box_remote(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:578px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="' + url + '" class="task-btn task-btn-orange fr" onclick="hideModal();" data-remote="true">确定</a></div></div>';
    pop_box_new(htmlvalue, 578, 205);
}

//点击删除时的确认弹框: post,remote为true
function post_confirm_box(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey3">提示</h3><a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a></div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="' + url + '" class="task-btn task-btn-orange fr pop_close" data-method="POST" data-remote="true">确定</a></div></div>';
    pop_box_new(htmlvalue, 480, 160);
}

//提示框：只有一个确定按钮，点击关闭弹框
//<a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>
function notice_box(str) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-sure clearfix">' + '<a href="javascript:void(0);" class="task-btn task-btn-orange" onclick="hideModal();">确定</a></div></div>';
    pop_box_new(htmlvalue, 480, 160);
}

//点击删除时的确认弹框: 走destroy方法
function delete_confirm_box_3(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="' + url + '" class="task-btn task-btn-orange fr" data-method="delete" onclick="hideModal();">确定</a></div></div>';
    pop_box_new(htmlvalue, 480, 160);
}

//取消和确定，确定会调用自定义方法
function op_confirm_tip(str, func) {
    var htmlvalue = '<div class="task-popup" style="width:500px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="javascript:void(0)" class="task-btn task-btn-orange fr" onclick="' + func + '();">确定</a></div></div>';
    pop_box_new(htmlvalue, 500, 205);
}

//取消和确定，确定会调用自定义方法（带参数）
function op_confirm_tip_1(str, func) {
    var htmlvalue = '<div class="task-popup" style="width:500px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="javascript:void(0)" class="task-btn task-btn-orange fr" onclick="' + func + '">确定</a></div></div>';
    pop_box_new(htmlvalue, 500, 205);
}

function op_confirm_box_loading(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:578px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16 pt15">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="' + url + '" class="task-btn task-btn-orange fr" onclick="hideModal();$(\'.loading_all\').show();">确定</a></div></div>';
    pop_box_new(htmlvalue, 578, 205);
}

// 两个按钮 点击确认跳转, 提示信息有两行
function s_op_confirm_box(url, str) {
    var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix">提示</div>' + '<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>' + '<a href="' + url + '" class="task-btn task-btn-orange fr" onclick="hideModal();">确定</a></div></div>';
    pop_box_new(htmlvalue, 480, 205);
}

function suofang() {
    var html = '<div><p class="mb20 font-16 edu-txt-center">可能会影响某些功能的正常使用</p><ul class="mb20 color-grey-6" style="width: 372px;margin:0px auto;">' + '<li>1.请尝试调整浏览器缩放比例为<span class="color-orange mr5">100%</span>（快捷键ctrl+0）</li>' + '<li>2.请尝试调整系统显示比例为<span class="color-orange mr5">100%</span>（控制面板/显示 设置）</li>' + '</ul></div>';
    sure_confirm_box("页面缩放比例不正确", 600, 310, html);
}

//一个“知道了”按钮，title和宽度都作为参数
function sure_confirm_box(title, width, height, str) {
    var htmlvalue = '<div class="task-popup" style="width:' + width + 'px;"><div class="task-popup-title clearfix">' + title + '</div>' + '<div class="task-popup-content edu-txt-center">' + str + '</div><div class="mb30 edu-txt-center clearfix">' + '<a href="javascript:void(0)" class="task-btn task-btn-orange" onclick="hideModal();">知道了</a></div></div>';
    pop_box_new(htmlvalue, width, height);
}

function throttle(method, context, e) {
    clearTimeout(method.tId);
    method.tId = setTimeout(function() {
        method.call(context, e);
    }, 500);
}

function apply_publish_shixun(url) {
    if ($("#apply_publish_shixun").attr("data-option") == '1') {
        $("#apply_publish_shixun").attr("data-option", 0);
        $("#apply_publish_shixun").addClass("disabled-grey-bg");
        $.ajax({
            url: url,
            type: 'get'
        });
    }
}

var autoTextarea = function(elem, extra, maxHeight) {
    extra = extra || 0;
    var isFirefox = !!document.getBoxObjectFor || 'mozInnerScreenX'in window
      , isOpera = !!window.opera && !!window.opera.toString().indexOf('Opera')
      , addEvent = function(type, callback) {
        elem.addEventListener ? elem.addEventListener(type, callback, false) : elem.attachEvent('on' + type, callback);
    }
      , getStyle = elem.currentStyle ? function(name) {
        var val = elem.currentStyle[name];

        if (name === 'height' && val.search(/px/i) !== 1) {
            var rect = elem.getBoundingClientRect();
            return rect.bottom - rect.top - parseFloat(getStyle('paddingTop')) - parseFloat(getStyle('paddingBottom')) + 'px';
        }
        ;
        return val;
    }
    : function(name) {
        return getComputedStyle(elem, null)[name];
    }
      , minHeight = parseFloat(getStyle('height'));

    elem.style.resize = 'none';

    var change = function() {
        var scrollTop, height, padding = 0, style = elem.style;

        if (elem._length === elem.value.length)
            return;
        elem._length = elem.value.length;

        if (!isFirefox && !isOpera) {
            padding = parseInt(getStyle('paddingTop')) + parseInt(getStyle('paddingBottom'));
        }
        ;scrollTop = document.body.scrollTop || document.documentElement.scrollTop;

        elem.style.height = minHeight + 'px';
        if (elem.scrollHeight > minHeight) {
            if (maxHeight && elem.scrollHeight > maxHeight) {
                height = maxHeight - padding;
                style.overflowY = 'auto';
            } else {
                height = elem.scrollHeight - padding + 10;
                style.overflowY = 'hidden';
            }
            ;style.height = height + extra + 'px';
            scrollTop += parseInt(style.height) - elem.currHeight;
            //document.body.scrollTop = scrollTop;
            //document.documentElement.scrollTop = scrollTop;
            elem.currHeight = parseInt(style.height);
        }
        ;
    };

    addEvent('propertychange', change);
    addEvent('input', change);
    addEvent('focus', change);
    change();
};

// 点击按钮复制功能
function jsCopy() {
    var e = document.getElementById("copy_rep_content");
    e.select();
    document.execCommand("Copy");
}

// 使用resize事件监听窗口的zoom，如果zoom变化了，弹框提示；初始化时也检查zoom是否是100%。
function _initZoomCheck() {
    if (!IsPC()) {
        // 手机端不需要提示
        return;
    }
    var isNormalZoom = Math.round(window.devicePixelRatio * 100) === 100
    if (!isNormalZoom) {
        suofang();
    }

    $(window).resize(function() {
        var isNormalZoom = Math.round(window.devicePixelRatio * 100) === 100
        if (!isNormalZoom) {
            suofang();
        } else {
            $('.task-btn.task-btn-orange:visible').click()
        }
    })

}

var win_resize = function() {
    var _w = $(window).width() - 1200;
    if (_w < 0) {
        $('.newHeader>.educontent').width('auto')
    } else {
        $('.newHeader>.educontent').width('1200px')
    }
};

function initWindowResize() {
    if (location.pathname === '/login') {
        // 登录页不需要
        return;
    }

    $(function() {
        setTimeout(function() {
            win_resize();
        }, 1000)
    })

    $(window).resize(function() {
        win_resize()
    })
}
initWindowResize();

// 登录刷新 https://stackoverflow.com/questions/28230845/communication-between-tabs-or-windows
if (window['BroadcastChannel']) {
    var bc = new BroadcastChannel('ec_reload');
    bc.onmessage = function(ev) {
        if (window['ec_reload_msg_send_window']) {
            window['ec_reload_msg_send_window'] = false;
        } else {
            location.reload();
        }
    }
}
function _sendReloadMsg() {
    var bc = new BroadcastChannel('ec_reload');
    window['ec_reload_msg_send_window'] = true;
    // 消息发出的窗口，不需要处理该消息
    bc.postMessage('ec_reload');
    /* send */
}
// IE11 没有 startsWith
if (!String.prototype.startsWith) {
    String.prototype.startsWith = function(searchString, position) {
        position = position || 0;
        return this.substr(position, searchString.length) === searchString;
    }
    ;
    String.prototype.endsWith = function(search, this_len) {
        if (this_len === undefined || this_len > this.length) {
            this_len = this.length;
        }
        return this.substring(this_len - search.length, this_len) === search;
    }
    ;
}

function clickNewsubscript() {
    $(".newsubscript").hide();
    $(".newedbox").addClass("newminheight");
    $(".newedbox").removeClass("newedboxheight");
}

/** tpm实训开启按钮，不允许多次点击  START                  */
//点击模拟实战或者开启实战等，按钮变灰内容变成“开启中”
var operationItem = null;
var operationButtonOldValue = null;
function opClickString(item) {
    var value = $(item).html();
    $(item).css({
        'background': 'gray',
        'border': '1px solid grey',
        'pointer-events': 'none'
    });
    $(item).html('开启中');

    operationButtonOldValue = value
    operationItem = item
    // setTimeout(function(){ $(item).css('background', '#4CACFF');$(item).html(value); }, 4000)
}
// 
// var isOperationSending = false;
$(document).bind('ajaxStop', function(event, xhr, settings) {
    if (settings && settings.url && (settings.url.match(/operation\?/))) {
        if (operationItem) {
            $(operationItem).css('background', '#4CACFF').css('pointer-events', 'inherit');
            $(operationItem).html(operationButtonOldValue);
        }
    }
});
$(document).bind('ajaxError', function(event, xhr, settings) {
    if (settings && settings.url && (settings.url.match(/operation\?/))) {
        if (operationItem) {
            $(operationItem).css('background', '#4CACFF').css('pointer-events', 'inherit');
            $(operationItem).html(operationButtonOldValue);
        }
    }
});
/** tpm实训开启按钮，不允许多次点击  END                  */
