Namespace.register("U.MD.O.E.Panel");

/**
* #region 协同操作
*
* @param {函数} fun 函数
*/
U.MD.O.E.Panel.isSynergy = function (fun) {
    if (!top.U.MD.U.L.isLogin()) { //判断是登录
        var _fileinfo = U.MD.O.E.fileinfo; //获取文件类型
        var _filegroupid = _fileinfo.UserDirectoryEncrypt || _fileinfo.GroupID; //获取_filegroupid群id,判断是否是在自己的ftp下的文档
        if (_filegroupid == US.userInfo.userid) { //判断是本地文档还是互联文档
            _filegroupid = false; //_filegroupid返回否
        }
        if (_filegroupid) {  //判断是_filegroupid
            if (U.UF.C.isFunction(fun)) { //判断是否有点击事件的方法,如果有,运行它
                fun(_fileinfo);  //运行事件
            }
            return true; //返回是
        } else {
            var _filename = top.$('#UD_Excel' + _fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0]; //获取文件名
            if (_fileinfo.UserDirectoryID && _fileinfo.UserId && _fileinfo.UserallDirectoryName) { //如果是已经保存到数据库的文档,那么直接保存内容
                new U.UF.UI.confirm("是否将此文档转成互联办公文档", function () {  //生成弹窗,提示"是否将此文档转成互联办公文档"
                    top.U.MD.DK.VW.saveSynergy('ue', _fileinfo, _filename.value, 'move', function (_fileinfo) {  //调用生成互联办公文档方法
                        U.MD.O.E.Panel.isSynergy.async(_fileinfo, fun);  //运行协同异步操作函数
                    });
                });
            } else { //如果不是
                top.U.MD.DK.VW.saveSynergy('ue', _fileinfo, _filename.value, 'new', function (_fileinfo) {  //生成普通办公文档
                    U.MD.O.E.Panel.isSynergy.async(_fileinfo, fun);  //运行协同异步操作函数
                });
            }
        }
    }
    return false;  //返回否
}

/**
* #region 协同异步操作
*
* @param {object} fileinfo 文件信息
* @param {函数} fun 函数
*/

U.MD.O.E.Panel.isSynergy.async = function (fileinfo, fun) {
    var _fileinfo = U.MD.O.E.fileinfo;  //获取文件信息
    U.MD.O.E.Panel.disPlayUser(_fileinfo); //获取协作人员
    var _jsondata = JSON.stringify(U.MD.O.E.data);  //需要保存的json数据

    U.A.Request(US.SCOKET, ["newExcelSave", _fileinfo.UserDirectoryID, _jsondata, _fileinfo.UserDirectoryName, US.userInfo.userid, US.pageId], function (r) {  //调用储存过程保存新建的Excel文件
        top.$('#UD_Excel' + _fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0].value = _fileinfo.UserDirectoryName;  //同步文档名称修改
        U.Alert("保存成功");  //弹窗弹出保存成功
        U.MD.O.E.web = true;  //拥有互联权限
    });
    if (U.UF.C.isFunction(fun)) {//判断是否有点击事件的方法,如果有,运行它
        fun(_fileinfo);  //运行事件
    }
}

//#endregion 


/*
* #邀请协作人员
* @param  {object}  fileinfo 文件信息
*/
U.MD.O.E.Panel.loadPlayUser = function (fileinfo) {
    var _coopwindow, _frienddiv, _example, _excelsize, _marginleft;  //声明局部变量

    if (!$("#U_MD_O_E_body_left_invite_user")[0]) {     //如果不存在团队成员窗口,则创建一个团队成员窗口。
        //_excelsize = U.UF.EL.getElementInfo($("#U_MD_O_W_E_body")[0]);  //获取编辑器域的父亲。用于获取长度大小,用于定位
        _excelsize = U.UF.EL.getElementInfo($(".U_MD_O_E_excelBox")[0]);  //获取单元格的父亲。用于获取长度大小,用于定位
        _marginleft = _excelsize["OW"] + 50;  //团队窗口的位置间距编辑器50像素
        _coopwindow = $("#U_MD_O_E_body_left")[0];  //创建邀请协助人员窗口
        _cbox = $$("div", {});  //创建邀请协助人员盒子
        _sharelink = $$("div", {  //生成第三方链接邀请栏块
            className: 'U_MD_O_E_body_left_invite_linkTxt',  //元素class名称
            "onclick": function () {  //点击事件
                U.MD.O.E.Panel.isSynergy(U.MD.O.E.Panel.shareLink);  //协同操作,邀请好友
            },
            //"innerText": "邀请好友修改"
            innerText: "第三方链接邀请"  //元素内容为"第三方链接邀请"
        }, _cbox);  //父亲元素是邀请协助人员盒子

        _frienddiv = $$("div", { "className": "U_MD_O_E_body_left_invite_user", "id": "U_MD_O_E_body_left_invite_user" }, _cbox); //好友内容区域,父亲元素是邀请协助人员盒子
        _example = $$("div", {  //好友图标及文字生成
            "className": "U_MD_O_E_body_left_invite_user_a",  //元素class名称
            "onclick": function () {  //点击事件
                U.MD.O.E.Panel.disPlayInsertUser();  //判断是否是已经新建过 弹出添加成员 异步回调
            }
        },
           _frienddiv); //父亲元素是好友内容区域
        var _friendimg = $$("div", { "className": "U_MD_O_E_body_left_invite_user_a_img" }, _example);  //好友图标生成,父亲元素是好友图标及文字生成区
        var _friendcon = $$("div", { "className": "U_MD_O_E_body_left_invite_user_a_div", "innerHTML": "邀请" }, _example);  //好友图标下文字生成,父亲元素是好友图标及文字生成区

        //new U.UF.UI.form("<div class='U_MD_F_S_TI'>邀请协作人员</div>", _frienddiv, { "className": "U_MD_F_S", "style": { "border": "1px #d6dff0 solid", "position": "absolute", "width": "300px", "height": "250px", "top": "25px", "left": _marginleft + "px"} }, { isdrag: false, isenlarge: false, isnarrow: false }, null, null, null, _coopwindow);
        var _titlehtml = "    <span>邀请协作人员</span>\n" +  //邀请协作人员标题生成
        "    <div class=\"U_MD_O_E_body_left_close\">关闭</div>";  //关闭按钮

        new U.UF.UI.form(_titlehtml, _cbox, { style: { border: "none", "border-radius": "1px", position: "absolute", "box-shadow": "rgb(30, 85, 85) 0px 0px 12px -3px", width: "285px", height: "225px", top: "130px", right: "30px", "border-radius": "5px"} }, { isenlarge: false, isnarrow: false }, { style: { margin: "0px 5px", "border-bottom": "1px solid #d6def0", color: "#000", background: "#fff"} }, null, null, _coopwindow);
    }  //生成邀请协作人员窗体
    U.MD.O.E.Panel.disPlayUser(fileinfo); //获取协作人员
}

/**
* 初始化编辑历史加载模板
*
* @param {object} fileinfo 文件信息
*/
U.MD.O.E.Panel.loadOfficeHistory = function (fileinfo) {
    var _el, _udtd, _usm, _uw;  //声明局部变量
    if (!$("#U_MD_O_E_body_left_invite_history")[0]) {  //如果没有编辑历史则创建
        _udtd = $("#U_MD_O_E_body_left")[0];  //右侧功能区域,链接区域要追加到这里
        _usm = U.UF.EL.getElementInfo($(".U_MD_O_E_excelBox")[0]);  //获取左侧编辑区dom元素信息
        _uw = _usm["OW"] + 50;  //定义左侧编辑区的距离
        _el = $$("div", { "className": "U_MD_O_E_body_left_invite_user", "id": "U_MD_O_E_body_left_invite_history" }); //编辑历史窗口
        //new U.UF.UI.form("<div class='U_MD_F_S_TI'>编辑历史</div>", _UDTD, { "className": "U_MD_F_S", "style": { "width": "300px", "height": "250px", "position": "absolute", "top": "300px", "left": _UW + "px", "border-radius": "0px", "border": "1px #d6dff0 solid"} }, { isdrag: false, isenlarge: false, isnarrow: false });
        var _titlehtml = "    <span>编辑历史</span>\n" +  //编辑历史标题内容
        "    <div class=\"U_MD_O_E_body_left_close\">关闭</div>";  //关闭按钮
        new U.UF.UI.form(_titlehtml, _el, { style: { "border-radius": "1px", width: "286px", height: "300px", position: "absolute", top: "375px", right: "30px", border: "none", "box-shadow": "rgb(30, 85, 85) 0px 0px 12px -3px", "border-radius": "5px"} }, { isenlarge: false, isnarrow: false }, { style: { margin: "0px 5px", "border-bottom": "1px solid #d6def0", color: "#000", background: "#fff"} }, null, null, _udtd);
    }  //生成编辑历史窗体
    if (fileinfo) {  //如果文件有编辑历史内容
        U.MD.O.E.Panel.viewEditHistory(fileinfo.UserDirectoryID, U.MD.O.E.historyid, 1, 10);  //查看编辑历史前十条
    } else {  //如果没有
        var _nohistory = $$("div", { "innerHTML": "暂无历史", "style": { "text-align": "center", "margin-top": "50px"} }, _el);  //显示暂无历史记录,父亲元素是编辑历史窗口
    }
}

/**  加载,生成连接区域
* @param	{object}	excelinfo 当前文档信息
*/
U.MD.O.E.Panel.loadLink = function (excelinfo) {
    var _rightwindow,  //域名生成链接区域
         _excelsize,  //左侧编辑区dom元素信息
        _linkdiv,  //生成链接元素       
        _marginleft;  //距离左侧编辑区的距离
    if (!$("#U_MD_O_E_body_left_href_pay_a")[0]) {  //如果不存在添加链接区域,则创建。
        _rightwindow = $("#U_MD_O_E_body_left")[0];  //右侧功能区域,链接区域要追加到这里
        _excelsize = U.UF.EL.getElementInfo($(".U_MD_O_E_excelBox")[0]);  //获取左侧编辑区dom元素信息
        _marginleft = _excelsize["OW"] + 50;  //定义左侧编辑区的距离
        _linkdiv = $$("div", { "className": "U_MD_O_E_body_left_href_pay_a", id: "U_MD_O_E_body_left_href_pay_a", "innerHTML": "将此站点生成链接", "onclick": function () {  //生成链接元素
            var _excelinfo = U.MD.O.E.fileinfo;  //获取文件信息
            if (_excelinfo.UserDirectoryID && _excelinfo.UserId && _excelinfo.UserallDirectoryName) {  //如果文件已保存
                top.U.MD.DS.createDefaultDomainInit(_excelinfo, "excel");  //调用生成域名函数
            } else {  //如果没有
                U.MD.O.E.Save(top.US.disk.Disks[US.userInfo.userid]);  //保存该文件
            }
        }
        });
        var _titlehtml = "    <span>生成链接</span>\n" +  //生成链接的标题元素生成
            "    <div class=\"U_MD_O_E_body_left_close\">关闭</div>";  //关闭按钮
        new U.UF.UI.form(_titlehtml, _linkdiv, { style: { "border": "none", "border-radius": "1px", position: "absolute", width: "286px", height: "80px", top: "30px", "border-radius": "5px", "right": "30px", "box-shadow": "rgb(30, 85, 85) 0px 0px 12px -3px"} }, { isenlarge: false, isnarrow: false }, { style: { margin: "0px 5px", "border-bottom": "1px solid #d6def0", color: "#000", background: "#fff"} }, null, null, _rightwindow);
    }  //生成生成域名窗体,父元素是右侧功能区域
}

/**
* 初始化查看团队成员
*
* @param  {object} fileinfo 文件信息
* @param  {element} el 换页元素
*/
U.MD.O.E.Panel.disPlayUser = function (fileinfo, el) {
    var _el = _el || $("#U_MD_O_E_body_left_invite_user")[0];  //获取团队成员初始化的位置
    var _elchild = _el.children[0];  //获取团队成员初始化的位置元素的子元素
    _el.innerHTML = ""  //清空团队成员初始化的位置的内容
    $(_el).append(_elchild);  //生成子元素
    if (fileinfo) {  //判断是否有文件信息
        var _userinfo = U.Json.select(US.friend.groupusers, { "GroupManageID": fileinfo.UserDirectoryEncrypt || fileinfo.GroupID });  //获取所有在群里的成员
        if (_userinfo) {  //判断是否拥有群成员
            for (_i = 0; _i < _userinfo.length; _i++) {  //循环打印所有的群成员
                var _elparent = $$("div",  //生成好友头像父级元素
                    {
                    "className": "U_MD_O_E_body_left_invite_user_a"  //元素class名称
                },  //好友头像父级元素
                _el);
                var _elcontant = $$("div",  //生成好友头像内容元素
                    {
                    "className": "U_MD_O_E_body_left_invite_user_a_img",  //元素class名称
                    "style":  //元素样式
                        {
                        "background": ""  //元素背景颜色
                    }
                },
               _elparent); //生成位置在好友头像父级元素中
                var _elimg = $$("img",  //生成好友邀请图片
                    {
                    "src": top.U.MD.C.getHeadImage(_userinfo[i].UserThumbnailImageHead)  //元素链接
                },
                _elcontant);  //生成位置在好友头像内容元素
                var _elname = $$("div",  //生成元素类型为div
                    {
                    "className": "U_MD_O_E_body_left_invite_user_a_div",  //元素class名称
                    "innerHTML": _userinfo[i].UserNickName  //元素内容为获取到的用户名
                },
                _elparent); //生成位置在好友头像父级元素
            }
        }
    }
}

/**
* 判断是否是已经新建过 弹出添加成员 异步回调 
*
* @param  {element} word 信息数组
*/
U.MD.O.E.Panel.disPlayInsertUser = function () {
    if (U.MD.O.E.Panel.isSynergy()) {  //判断是否有协同操作
        var _fileinfo = U.MD.O.E["fileinfo"];  //获取文件信息
        top.U.MD.F.J.selectFriendForm(function (groupid) {  //操作历史载入方法
            var _filegroupid = _fileinfo.GroupID || _fileinfo.UserDirectoryEncrypt; //获取_filegroupid群id,判断是否是在自己的ftp下的文档
            var _groupinfo = U.Json.select(US.friend.group, { "GroupManageID": _filegroupid })[0];  //获取群信息
            var _needuser = top.U.MD.F.J.selectUserInfo.NeedUser;  //获取用户
            var _groupname = _groupinfo.GroupManageName;  //获取群名称
            var _groupdesc = _groupinfo.GroupManageDescript;  //获取群类型
            var _selectfriend = U.Json.select(US.friend.groupusers, { "GroupManageID": _filegroupid });  //获取群用户
            //已经在群里的就不添加了
            for (i = 0; i < _selectfriend.length; i++) {  //循环所有群用户
                U.Json.del(_needuser, { "UserId": _selectfriend[i].UserId }); //删除所有在群里的用户id
            }
            top.U.MD.F.J.determineCreateGroupAndAddGroupUser(_filegroupid, null, null, false, _groupname, _groupdesc, function (groupid) {  //协同用户显示方法
                U.MD.O.E.Panel.disPlayUser(_fileinfo);  //初始化查看团队成员
            });
        }, null, _fileinfo); //调用打印函数
    }

    //    var _excelinfo = U.MD.O.E,          //object参数值
    //        _userid = _excelinfo.userInfo.userid,
    //        _excelfileid = _excelinfo.fileinfo.UserDirectoryID,
    //        _fileinfo = _excelinfo["fileinfo"];
    //    //判断是否登录并且加载好好友列表
    //    if (!top.U.MD.U.L.isLogin() && US.friend.friends) {
    //        //判断是否是新建的文档 还是 已经保存的文档
    //        //        if (_fileinfo && _fileinfo.UserDirectoryID && _fileinfo.UserId && _fileinfo.UserallDirectoryName) { //已经保存的文档
    //        var _filegroupid = _fileinfo.UserDirectoryEncrypt || _fileinfo.GroupID; //获取_filegroupid群id,判断是否是在自己的ftp下的文档
    //        if (_filegroupid == US.userInfo.userid) {
    //            _filegroupid = false;
    //        } //判断是否是在自己的网盘或者ftp下的文档

    //        if (_filegroupid) {
    //            top.U.MD.F.J.selectFriendForm(function (groupid) {
    //                var _groupinfo, _groupname, _groupdesc;
    //                var _strName = '', _needuser = top.U.MD.F.J.selectUserInfo.NeedUser;
    //                _filegroupid = _filegroupid || groupid;

    //                if (!groupid) {
    //                    _groupname = _fileinfo.UserallDirectoryName || '协同文档群--' + new Date().getHours() + ":" + new Date().getMinutes(); //默认群名/也是文档名

    //                    for (var i = 0; i < Math.min(_needuser.length, 3); i++) { //拼接字符创
    //                        _strName += (_needuser[i].UserNickName || _needuser[i].UserName) + (i == 2 ? '' : ',');
    //                    }

    //                    if (_needuser.length >= 3) { _strName += '...'; } //成员长度大于三个将最有一个逗号改成...

    //                    _groupdesc = "由" + _strName + "成员发起的互联办公群组。";

    //                    top.U.MD.F.J.determineCreateGroupAndAddGroupUser(_filegroupid, null, null, false, _groupname, _groupdesc, function (groupid) {
    //                        U.MD.O.E.Panel.insertUser(_fileinfo, groupid);
    //                    });
    //                } else if (_filegroupid != groupid) {
    //                    _groupinfo = U.Json.select(US.friend.group, { "GroupManageID": _filegroupid })[0]
    //                    _groupname = _groupinfo.GroupManageName;
    //                    _groupdesc = _groupinfo.GroupManageDescript;
    //                    var _selectfriend = U.Json.select(US.friend.groupusers, { "GroupManageID": _filegroupid });
    //                    //已经在群里的就不添加了
    //                    for (i = 0; i < _selectfriend.length; i++) {
    //                        U.Json.del(_needuser, { "UserId": _selectfriend[i].UserId }); //删除所有在群里的用户id
    //                    }
    //                    top.U.MD.F.J.determineCreateGroupAndAddGroupUser(_filegroupid, null, null, false, _groupname, _groupdesc, function (groupid) {
    //                        U.MD.O.E.Panel.insertUser(_fileinfo, groupid);
    //                    });
    //                } else {
    //                    _needuser = [];
    //                    U.MD.O.E.Panel.insertUser(_fileinfo, _filegroupid);
    //                }
    //            }, undefined, _fileinfo); //调用打印函数
    //        } else {

    //            if (!$('#U_Office_invite_checkConfirm').length) {
    //                var _confirm = new U.UF.UI.confirm("是否将此文档转成互联文档?", function () {
    //                    var groupid = Guid.newGuid(),
    //                        _groupName = _fileinfo.UserallDirectoryName || '协同文档群--' + new Date().getHours() + ":" + new Date().getMinutes(), //默认群名/也是文档名
    //                        _groupDesc = "由" + _fileinfo.UserName + "成员发起的互联办公群组。";
    //                    top.U.MD.F.J.determineCreateGroupAndAddGroupUser(false, null, null, false, _groupName, _groupDesc, function (groupid) {
    //                        U.MD.O.E.Panel.insertUser(_fileinfo, groupid);
    //                    })
    //                    $(_confirm.form).remove();
    //                }, function () {
    //                    $(_confirm.form).remove();
    //                })
    //                _confirm.form.id = "U_Office_invite_checkConfirm";
    //            } else {
    //                $('#U_Office_invite_checkConfirm')[0].style.display = 'block';
    //            }
    //        }
    //    }
}


/**
* 添加详细历史记录布局
*
* @param  {object} data 数据
*/
U.MD.O.E.Panel.createHis = function (data) {
    var _hisblock = $$('div', { style: { cssText: 'min-height: 85px; border-bottom: 1px solid silver; margin: 0 3px'} }),  //生成最外层元素
        _hisimgel = $$('div', { style: { margin: '22px 12px 0', float: 'left'} }, _hisblock),  //生成存放图片元素,父元素是最外层元素
        _hisimg = $$('img', { "onerror": U.MD.C.imgError, style: { cssText: 'width:40px; height: 40px;' }, src: top.U.MD.C.getHeadImage(data.UserThumbnailImageHead) }, _hisimgel),  //生成头像,父元素是存放图片元素
        _hisinfo = $$('div', { style: { cssText: 'margin-left: 62px;'} }, _hisBlock),  //生成用户名及更改时间存放元素,父元素是最外层元素
        _hisinfotext = $$('div', { style: { 'padding-top': '25px', 'white-space': 'nowrap'} }, _hisinfo),  //生成文件文本元素,父元素是用户名及更改时间存放元素
        _hisinfoname = $$('span', { innerText: data.UserName }, _hisInfoText),  //生成文件名称元素,父元素是文件文本元素
        _hisinfodate = $$('span', { innerText: U.UF.D.getDateInterval(new Date()) + '保存一次', style: { 'padding-left': '10px'} }, _hisinfotext),  //生成保存元素,父元素是文件文本元素
        _hisinfobtn = $$('div', { style: { 'margin-top': '10px', 'white-space': 'nowrap'} }, _hisinfo),  //生成按钮存放元素,父元素是用户名及更改时间存放元素
        _data = data;  //声明局部变量data数据
        _hisinfodialogue;  //声明局部变量
    if (US.disk.UserDisk && data.UserId != US.disk.UserDisk.userInfo.UserId) {  //判断是否是自己编辑历史记录,是则不打印对话
        _hisInfodialogue = $$('button', { innerText: '对话', style: { cssText: 'color: #fff; background-color:#6d81a4; border-radius: 4px; border:none; outline:none; padding: 4px 8px; cursor: pointer;' }, onclick: function () {  //生成对话按钮,点击查看内容
            var _hasf = U.Json.select(US.friend.friends, { UserId: _data.UserId }),  //获取历史记录
                    _data = !_hasf.length ? U.Json.select(US.friend.recentcontacts, { UserId: _data.UserId }) : _hasf;  //获取历史记录判断
            top.U.MD.F.W.popupFriendsForm(_data[0]);  //获取历史记录事件
        }
        }, _hisinfobtn);  //父元素是按钮存放元素
    }
    var _hisinfodetailed = $$('button', { innerText: '详细', style: { cssText: 'color: #fff; background-color:#6d81a4; border-radius: 4px; border:none; outline:none; padding: 4px 8px; margin-left: 4px;cursor: pointer;' },  //生成详细按钮
        onclick: function () {  //点击查看历史记录
            U.MD.O.E.Panel.editHistory(_data)  //编辑历史弹出
        }
    }, _hisinfobtn);  //父元素是按钮存放元素
    return _hisblock  //返回最外的元素
}



/**
* 编辑历史弹出全部
* @param {object} ude 历史记录的信息
*
*/
U.MD.O.E.Panel.editHistoryC = function (ude) {  //此参数为历史记录的信息
    var _el = $$("div"),  //元素初始化位置
        _ude = ude,  //声明局部变量历史记录信息
    // _UCT = new U.UF.UI.form("<div _el='U_MD_F_S_TI'>历史记录</div>",_el,{"className": "Bjlsall", "style": {"width": "950px", "height": "550px","overflow": "hidden"} },{isdrag: false,isenlarge: false, isnarrow: false }, null, null, null, _UDTD);
    _uct = new U.UF.UI.form("历史记录", _el, { className: 'Bjlsall', style: { width: "950px", height: "550px", overflow: "hidden"} }, { isdrag: false, isenlarge: false, isnarrow: false }, null, null, null, _UDTD);  //生成历史记录窗体

    var _i, _udbd, _udtd, _udsd;  //声明局部变量
    for (var _a = 0; _a < _ude.length; a++) {  //循环历史记录的长度 用来显示多个历史记录在"显示按钮"的打开的窗体上
        _udbd = $$("div", { "className": "U_MD_O_E_History_all", "id": _ude[_a].HistoryId + "-" + _a }, _el);  //生成存放历史记录的元素,父元素是元素初始化位置
        _udtd = $$("div", { "className": "U_MD_O_E_History_Head" }, _udbd);  //生成历史记录头部元素,父元素是存放历史记录元素
        var _udbb = $$("div", {  //生成展开按钮
            "className": "U_MD_O_E_body_btn",  //class名称
            "innerHTML": "展开",  //元素内容
            "onclick": U.MD.O.E.Panel.btn  //点击事件
        },
           _udbd);  //父元素是存放历史记录元素
        var _udbe = $$("div", { "className": "U_MD_O_E_body_btn_img1" }, _udbb);  //生成存放图片元素,父元素是生成展开按钮
        var _udbi = $$("img",  //生成图片元素
        {
        "src": U.MD.C.getHeadImage(_ude[_a].UserThumbnailImageHead),  //图片地址
        "onerror": U.MD.C.imgError,  //错误显示
        "alt": _ude[_a].UserName,  //替代文本
        "title": _ude[_a].UserName  //标题
    },
           _udtd);  //父元素是历史记录头部元素
    var _udbt = $$("div", { "innerHTML": (_ude[_a].UserNickName) + " " + U.UF.D.getDateInterval(_ude[_a].CreateTime) + " 更改了以下内容" }, _udtd);  //生成更改内容标题元素,父元素是历史记录头部元素
    var _udbc = $$("div", { "className": "U_MD_O_E_body_right_user_o_r_all_nr", "innerHTML": _ude[_a].OfficeContent }, _udtd);  //生成更改内容显示元素,父元素是历史记录头部元素
}
}

/**
* 点击显示全部
*
*/
U.MD.O.E.Panel.editHistoryOnC = function () {
    var _excel = U.MD.O.E; //word全局变量 包含了ue文件的文件信息 等
    var _fileinfo = _excel["fileinfo"]; //ue文件的文件信息
    var _fileid = _fileinfo.UserDirectoryID;  //ue文件的文件ID
    var _udod = $("#U_MD_O_E_body_left_invite_history")[0]; //历史记录框
    U.A.Request(US.CD, [US.DB, "UseStudio_Office", "SelectOfficeHistory", _fileid, "00000000-0000-0000-0000-000000000000", 1, 10], U.MD.O.E.Panel.onDisplayD, [null, _udod]); //查找数据库历史记录
}

/**
* 更新历史弹出全部
* @ param {object} r 数据内容
*
*/
U.MD.O.E.Panel.onDisplayD = function (r) {
    var _r = r;  //声明局部变量数据内容
    if ($(".U_MD_O_E_body_right_user_o_r_all")) {  //如果存在则删除
        $(".U_MD_O_E_body_right_user_o_r_all").remove();  //删除该元素
    }
    _divall = $$("div", { "className": "U_MD_O_E_body_right_user_o_r_all" }, _r.context[1].parentNode.parentNode);  //生成显示全部外层元素
    var _historyall = $$("div",  //生成显示全部元素
    {
    "className": "U_MD_O_E_body_right_user_o_r_all_a",  //class名称
    "innerHTML": "显示全部",  //元素内容
    "onclick": [U.MD.O.E.Panel.editHistoryOnC]  //点击事件,调用点击显示全部函数
},
        _divall);  //父元素是生成显示全部外层元素
    U.MD.O.E.Panel.editHistoryC(_r.value);  //调用点击显示全部函数
}

/**
* 编辑历史的展开与关闭
*
*/
U.MD.O.E.Panel.btn = function () {  //编辑历史记录底端的显示全部的展开与关闭
    if (this.parentNode.children[0].lastChild.children[0].scrollHeight > 100) {  //根据内容的高度来判断
        if (this.innerText == "展开") {  //如果按钮文本显示展开
            this.innerHTML = "收起<div class='U_MD_O_E_body_btn_img2'></div>";  //如果按钮文本显示展开
            this.parentNode.style.cssText = "height:100%;min-height:100px;overflow:visible;float:left;width:95%;"  //更改样式
            this.style.cssText = "margin-right:-7px;"  //更改样式
        }
        else if (this.innerText == "收起") {  //如果按钮文本显示收起
            this.innerHTML = "展开<div class='U_MD_O_E_body_btn_img1'></div>";  //更改文本为展开
            this.parentNode.style.cssText = "height:100px;overflow:hidden;float:none;width:none";  //更改样式
            this.style.cssText = "margin-right: 0px; "  //更改样式
        }
    } else {  //如果没有高于100px
        if (this.innerText == "展开") {  //如果按钮文本显示展开
            this.innerHTML = "收起<div class='U_MD_O_E_body_btn_img2'></div>";  //如果按钮文本显示展开
            this.parentNode.style.cssText = "height:100%;min-height:100px;overflow:visible;float:left;width:95%;"  //更改样式
            this.style.cssText = "margin-right:-7px;"  //更改样式
        }
        else if (this.innerText == "收起") {  //如果按钮文本显示收起
            this.innerHTML = "展开<div class='U_MD_O_E_body_btn_img1'></div>";  //更改文本为展开
            this.parentNode.style.cssText = "height:100px;overflow:hidden;";  //更改样式
            this.style.cssText = "margin-right: 0px;"  //更改样式
        }
    }
}


/**
* 编辑历史弹出
* @param {object} ude 历史记录的信息
*
*/
U.MD.O.E.Panel.editHistory = function (ude) {//此参数为历史记录的信息
    var _el = $$("div", { style: { cssText: "padding: 0 10px;"} }),  //生成外层元素
        _ude = ude,  //声明局部变量,历史记录信息
        _uct = new U.UF.UI.form("历史记录", _el, { id: "Bjls", style: { width: "680px", height: "550px", overflow: "hidden", 'box-shadow': 'rgb(180, 180, 180) 1px 1px 5px 2px', 'border-radius': '0', 'border': 'none'} }, { isdrag: false, isenlarge: false, isnarrow: false }, { style: { 'background-color': '#3c475b', 'padding': '4px'} });  //生成历史记录窗体
    if (_ude.OfficeContent == undefined) {  //如果内容找不到
        U.A.Request(US.CD, [US.DB, "Usestudio_Office", "SelectHistoryDetails", _ude.HistoryId], function (r) {  //查询数据库中的历史记录
            var _r = r;  //声明局部变量,数据库查询到的数据内容
            _ude.OfficeContent = _r.value[0].OfficeContent.unEscapeQuotes().unEscapeQuotes();  //内容格式化
            U.MD.O.E.Panel.asynEditHistory(_ude, _el);  //调用编辑历史弹出异步函数
        }, [_el]);
    } else {  //如果不是
        U.MD.O.E.Panel.asynEditHistory(_ude, _el);  //调用编辑历史弹出异步函数
    }
}


/**
* 编辑历史弹出异步
* @ param {object}  docinfo 文档信息
* @ param {element} element 元素初始位置
*
*/
U.MD.O.E.Panel.asynEditHistory = function (docinfo, element) {
    var _docinfo = docinfo;  //声明局部变量,文档信息
    var _element = element;  //声明局部变量,元素初始位置
    var _udbd = $$("div", { "class": "U_MD_O_W_History" }, _element);  //生成编辑历史外层元素,父元素是元素初始位置
    var _udtd = $$("div", { "class": "U_MD_O_W_History_Head" }, _element);  //生成编辑历史头部元素,父元素是元素初始位置
    var _udbi = $$("img",  //生成用户头像
        {
            "src": (top.U.MD.C.getHeadImage(_docinfo.UserThumbnailImageHead) || '/img/UserHead/UseHead.jpg'),  //图片地址
            "alt": _docinfo.UserNickName || _docinfo.UserName,  //替代文本
            "title": _docinfo.UserNickName || _docinfo.UserName  //标题
        },
             _udtd); //父元素是编辑历史头部元素
        var _udch = $$("div", { "innerHTML": (_docinfo.UserNickName || _docinfo.UserName) + " " + U.UF.D.getDateInterval(_docinfo.CreateTime || new Date()) + " 更改了以下内容", style: { cssText: "display: inline-block; margin-left:10px"} }, _udtd);  //生成提示更改内容元素,父元素是编辑历史头部元素
        var _udti = $$("div", { "className": "U_MD_O_E_body_right_user_o_r_nr", "innerHTML": _docinfo.OfficeContent }, _udtd);  //生成更改内容存放元素,父元素是编辑历史头部元素
}


/**
* 查看编辑历史
*
* @ param  {element} 换页元素
* @ param  {string} udid 创始人id
* @ param  {string} uoid 文件id
* @ param  {string} s 选取开始
* @ param  {string} e 选取长度
* @ param  {string} udod 获取编辑历史的框
*/
U.MD.O.E.Panel.viewEditHistory = function (udid, uoid, s, e, udod) {  //创始人id 文件id 空的id 选取开始 选取长度 获取编辑历史的框
    //   setInterval(function () {
    var _udod = udod || $("#U_MD_O_E_body_left_invite_history")[0];  //生成编辑历史的框
    var _udid = udid;  //声明局部变量,创始人id
    var _uoid = uoid;  //声明局部变量,文件id
    var _s = s;  //声明局部变量,选取开始
    var _e = e;  //声明局部变量,选取长度
    U.A.Request(US.CD, [US.DB, "UseStudio_Office", "SelectOfficeHistory", _udid, _uoid || "00000000-0000-0000-0000-000000000000", _s, _e], U.MD.O.E.Panel.asynViewEditHistory, [null, _udod]);  //查找历史记录,有就放进编辑历史的框中
    // }, 1000)
}

/**
* 添加团队成员
*
* @param  {object} 文件信息
* @param  {string} 文件提交到哪个群的id
* @param  {array} 用户id的数组
*/
//U.MD.O.E.Panel.insertUser = function (fileinfo, groupid) {
//    if (!fileinfo.UserId && !fileinfo.UserallDirectoryName) {
//        fileinfo.GroupId = fileinfo.UserDirectoryEncrypt = groupid;
//        var _groupuserid = U.Json.select(US.friend.group, { 'GroupManageID': groupid })[0].GroupManageUserID;
//        var _dirinfo, _dirid, _diskinfo = US.disk.Disks[US.userInfo.userid];
//        if (_groupuserid == US.userInfo.userid) {
//            _dirinfo = U.Json.select(_diskinfo.directoryOrFiles, { 'UserDirectoryName': "我的协同" })[0];
//        } else {
//            _dirinfo = U.Json.select(_diskinfo.directoryOrFiles, { 'UserDirectoryName': "他人邀请" })[0];
//        }
//        var _dirchild = top.$('#L' + _dirinfo.UserDirectoryID).Child();
//        !_dirchild[1] && _dirchild[0].onclick()
//        top.$('#L' + groupid).Child()[0].onclick();
//    } else if ((fileinfo.UserDirectoryEncrypt || fileinfo.GroupID) == US.userInfo.userid) { //如果是新创建的文件,同时文件不在群里 就把文件拷贝到群里进行处理
//        var _userid = fileinfo.UserId,
//            _diskinfo = US.disk.Disks[US.userInfo.userid],
//            _dirinfo = U.Json.select(_diskinfo.directoryOrFiles, { "UserDirectoryID": groupid }, 1)[0]; //当前目录的信息
//        var _pastecontent = US.disk.Disks[_userid].pasteDirOrFile = {
//            "type": "shear", //复制或者剪切 "copy" || "shear"
//            "UserDirectoryID": groupid, //在哪个目录复制或者剪切
//            "dirorfile": fileinfo, //复制的内容
//            "userid": _userid //用户id
//        }
//        top.U.A.Request(US.AUTH, ["CutAndPasteFiles", fileinfo.UserId, groupid, fileinfo.UserDirectoryID, groupid, groupid],
//                        top.U.MD.DK.RE.asynPaste, ["", _dirinfo, groupid, _pastecontent, _diskinfo]
//             );
//        fileinfo.GroupId = fileinfo.UserDirectoryEncrypt = groupid;
//    }
//    U.MD.O.E.Panel.disPlayUser(fileinfo);
//}

/**
* 查看编辑历史异步
*
* @param  {element} 换页元素
*/
//U.MD.O.E.Panel.AsynViewEditHistory = function (r) {
//    var _dataArr = r.value,
//        _addEl = $('#U_MD_O_E_body_left_invite_history')[0]

//    for (var i = 0; i < _dataArr.length; i++) {
//        _addEl.appendChild(U.MD.O.E.Panel.createHis(_dataArr[i], _addEl))
//    }
//}


/**
* 分享文档链接
* @ param {object} fileinfo 文件信息
*
*/
U.MD.O.E.Panel.shareLink = function (fileinfo) {
    var _template = U.MD.O.E.Panel.shareLinkTemplate(fileinfo);  //存放分享文档链接内容
    new U.UF.UI.form("邀请协助链接", _template, { id: "U_MD_O_E_Panel_InviteForm", style: { cssText: "width:600px; height:450px;"} });  //生成邀请协助链接窗体
}


/**
* 存放文档链接内容
* @ param {object} fileinfo 文件信息
*
*/
U.MD.O.E.Panel.shareLinkTemplate = function (fileinfo) {
    var _fileinfo = fileinfo,  //声明局部变量,文件信息
        _cbox = $$('div', { className: "U_MD_O_H_body_left_invite_form" }),  //存放分享内容的容器
        _sharelinkel = $$('div', { className: "U_MD_O_H_body_left_invite_formShare" }, _cbox),  //链接邀请模块,父元素是存放分享内容容器
        _qrcodeel = $$('div', { className: "U_MD_O_H_body_left_invite_formQRCode" }, _cbox);  //二维码邀请模块,父元素是存放分享内容容器
    var _adoptshare = $$('p', { innerText: "通过链接邀请:", style: { cssText: "font-size:18px; font-weight: bold;"} }, _sharelinkel)  //p标签,"通过链接邀请:",父元素是链接邀请模块

    var _sharelinkinpblock = $$('div', { className: "U_MD_O_H_body_left_invite_shareInpMargin" }, _sharelinkel);  //生成内容分隔元素,父元素是链接邀请模块

    var _anoshark = $$('p', { innerText: "将下面的邀请链接通过QQ或微信发送给需要邀请的人" }, _sharelinkinpblock)  //p标签,"将下面的邀请链接通过QQ或微信发送给需要邀请的人",父元素是内容分隔元素

    var _filetype = _fileinfo.UserDirectoryExtendType == 'uw' ? 'word' : 'excel';  //如果是uw,则为word,否则为excel

    var _sharelinkinpblockshow = $$('input', { value: "/#" + _filetype + '/join/' + _fileinfo.UserDirectoryID, className: "U_MD_O_H_body_left_invite_shareInp", disabled: "disabled" }, _sharelinkinpblock),  //生成input标签显示内容,父元素是内容分隔元素
        _sharelinkinpblockbtn = $$('div', { className: "U_MD_O_H_body_left_invite_shareBtn", innerText: "复制", onclick: function () {  //生成复制按钮
            var _inp = $$('input', { value: _sharelinkinpblockshow.value }, $('body')[0]);  //生成复制按钮元素
            _inp.select();  //查找
            document.execCommand("Copy");  //复制
            $(_inp).remove();  //删除_inp元素
            U.Alert('复制成功,赶紧分享给小伙伴吧!');  //弹窗提示复制成功
        }
    }, _sharelinkinpblock);   //父元素是内容分隔元素


    var _qrcodeshare = $$('p', { innerText: "通过二维码邀请:", style: { cssText: "font-size:18px; font-weight: bold;"} }, _qrcodeel);  //生成p标签,内容是"通过二维码邀请:",父元素是二维码邀请模块

    var _qrcodeimg = $$('div', { style: { cssText: "margin-left:60px;position:absolute;"} }, _qrcodeel);  //生成二维码存放元素,父元素是二维码邀请模块
    var _qrcodetitle = $$('div', { innerHTML: "<span style='font-size:16px'>通过扫码,邀请好友</span><br>扫描二维码获取邀请函,转发给微信好友/群,<br/>即可邀请他们加入你的文档", style: { cssText: "margin-left: 270px;margin-top:40px;line-height:30px;"} }, _qrcodeel);  //生成二维码文字说明,父元素是二维码邀请模块
    top.U.UF.QR.generate("150", "150", "black", "white", _shareLinkInpBlockShow.value, _qrcodeimg);  //生成二维码函数,放在二维码存放元素中

    return _cbox;  //返回最外层元素
}