Namespace.register("U.MD.O.W.SP");

window.onload = function () {
    //加载1473数据
    U.UF.CD.loadPageCrossDomain(function () {
        
    });
    //获取站点信息
    U.MD.O.W.SP.sitePreviewInit();
}

/**
* 网站预览初始化
*/
U.MD.O.W.SP.sitePreviewInit = function () {
    var _pathname = window.location.search,  //获取网站地址
        _domename = _pathname.substring(1);  //进行域名分离
    console.log(_domename)
    //获取网页内容
    if (_domename) {
        U.A.Request("http://cd.1473.cn/php", ["db.1473.cn", "UseStudio_DNS", "GetFileIdToDomain", _domename], function (r) { //获取文件信息 
            var _fileinfo = r.value;
            _fileId = r.FileId;
            console.log(_fileinfo);
            U.MD.O.W.SP.uwOpen(r.value[0].FileId); //进入获取文档信息
            //U.MD.O.W.SP.initReply(); //加载评论系统
        });
    }
}

/**
* 获取uw文件数据
*
* @fileid   {string}    文档id
*/
U.MD.O.W.SP.uwOpen = function (fileid) {
    //通过文档id获取文档信息
    U.A.Request(US.CD, [US.DB, "UseStudio_Disk", "GetFileById", fileid], function (r) {
        r = r.value;
        var _fileinfo = r[0];
        _fileId = r[0].UserFilesID;
        console.log(r[0]);
        $('.U_MD_O_W_SP_ToolsBar')[0].onclick = function () {
            U.MD.O.W.SP.isLogin(_fileinfo);
        }

        U.MD.O.E.data = JSON.parse(r[0].UsOffice);
        console.log(U.MD.O.E.data);
        //console.log(data);
        //        console.log(U.MD.O.E.data);
        U.MD.O.E.printTask(true);
        U.MD.O.E.rePrintExcel(U.MD.O.E.data, true);
        if (r[0]) {
            //设置全局变量
            U.MD.O.W.SP.FILEINFO = r[0];
            console.log(U.MD.O.W.SP.FILEINFO);
            //有内容直接加载内容
            if (r[0].UsOffice !== undefined && r[0].UsOffice != null) {
                U.MD.O.W.SP.uwOpen.asyn(r[0]);
            }
            //如果没有内容则去office下载内容
            else if (['xls', 'xlsx'].indexOf(r[0].UserFilesExtendName.toLocaleLowerCase()) > -1) {
                //初始化内容处理
                U.A.Request("http://office.1473.cn/Officetohtml.ashx", ["Open", r[0].UserFilesExtendName, r[0].UserFilesServername], function (r) {
                    var _fileinfo = r.context[1]; //获取文档信息
                    if (_fileinfo.value != undefined) {
                        //设置文档内容
                        r = r.value;
                        fileinfo.UsOffice = r.value.getBodyHtml().replace(/src=[\'\"]?([^\'\"]*)[\'\"]?/ig, function (str1, str2) {
                            return "src=\"http://office.1473.cn/usoffice/" + str2 + "\"";
                        });
                        //加载文档信息
                        U.MD.O.W.SP.uwOpen.asyn();
                    }

                    else {
                        U.Alert("文档已丢失。。。");
                    }
                }, [null, r[0]]);
            }
            else {
                U.Alert("该文件无法打开");
            }
        }
        else {
            U.Alert("文档已丢失。。。");
        }
    });
}

/**
* 获取uw文件数据
*
* @fileid   {string}    文档id
*/
U.MD.O.W.SP.uwOpen.asyn = function (fileinfo) {
    //判断_value.UsOffice是否为null
    if (!fileinfo.UsOffice && typeof (fileinfo.UsOffice) != "undefined" && fileinfo.UsOffice != 0) {
        alert(1);
        fileinfo.UsOffice = " "; //显示为空
    }
    //导航模式的处理
    if (fileinfo.UserFilesExtendName.toLowerCase() == 'un') {
        $('.U_MD_O_W_SP_Head_Logo_name')[0].innerText = fileinfo.UserFilesName;
        $(".U_MD_O_W_SP_MarginBox_File")[1].className = 'U_MD_O_W_SP_MarginBox_Model_Word'; //复制clss
        $(".U_MD_O_W_SP_Head_Model")[0].style.display = 'block'; //显示元素
        U.MD.O.W.SP.modelDataCreate(fileinfo);
    }
    //普通模式的处理
    else {
        $('.U_MD_O_W_SP_Head')[0].style.display = 'block'; //显示元素
        $('.U_MD_O_W_SP_Tool')[0].style.display = 'block'; //显示元素
        //$("#U_MD_O_W_SP_Editor")[0].innerHTML = fileinfo.UsOffice.unEscapeQuotes(); //文档内容格式化
        $(".U_MD_O_W_SP_Title")[0].innerText = fileinfo.UserFilesName; //文档名
        U.MD.O.W.SP.bindInit(fileinfo); //进入事件绑定
    }
    $$("meta", { name: "title", content: fileinfo.UserFilesName }, $('head')[0]);
    U.MD.O.W.SP.backTop();

}

/**
* 文档模板生成
* 把你的代码放在这个函数里面
*/
U.MD.O.W.SP.modelDataCreate = function (fileinfo) {
    var _li, data = JSON.parse(fileinfo.UsOffice); //字符串转换为JSON对象
    for (var i = 0; i < data.nav.length; i++) { //循环数据
        _li = i == 0 ? $$("li", { innerHTML: data.nav[i].name, className: 'DataLi_active' }, $(".U_MD_O_W_SP_Header_DataUl")[0]) : $$("li", { innerHTML: data.nav[i].name }, $(".U_MD_O_W_SP_Header_DataUl")[0]); //创建li元素
        //初始化导航的处理
        _li.onclick = U.UF.C.closure(function (i) { //绑定点击事件
            //根据导航获取信息
            U.A.Request(US.CD, [US.DB, "UseStudio_Office", "GetNavPageContent", data.nav[i].pageId], function (r) { //请求数据库获取值
                var _el = $('#U_MD_O_W_SP_Editor')[0], //获取输出元素
                    _listLi = $('.U_MD_O_W_SP_Header_DataUl').find('.DataLi_active'); //获取选中元素

                //有选中的元素 然后 清空class
                if (_listLi.length) {
                    (_listLi[0].className = '');
                }
                $('.U_MD_O_W_SP_Header_DataUl').find('li')[i].className = 'DataLi_active'; //给点击的元素的class加
                _el.innerHTML = r.value[0].content.unEscapeQuotes(); //对数据过滤然后输出
            });
        }, [i]);
        //点击第一个元素
        if (i == 0) {
            _li.click();
        }
    }
}

/**
* 事件绑定
*
* @fileinfo   {object}    文档信息
*/
U.MD.O.W.SP.bindInit = function (fileinfo) {
    var _shareEl = $('#U_MD_O_W_SP_Tool_ShareBtn')[0], //分享按钮
        _saveEl = $('#U_MD_O_W_SP_Tool_SaveBtn')[0], //保存到我的云盘按钮
        _showShareEl = U.MD.O.W.SP.shareFile(fileinfo, _shareEl), //打印分享的布局并返回户元素 
        _winWidth;

    _saveEl.onclick = function () {
        U.MD.O.W.SP.saveSpecifiedFolder(fileinfo);
    }
}

/**
* 事件绑定
*
* @fileinfo   {object}    文档信息
*/
U.MD.O.W.SP.backTop = function () {
    var _topEl = $('.U_MD_O_W_SP_Top_Icon')[0], //滚动置顶按钮
        _winScrollTop;

    $(document).bind({ scroll: function () {
        _winScrollTop = document.documentElement.scrollTop; //浏览器窗口到顶部的距离
        if (_winScrollTop >= 100) { //距离大于等于100px显示按钮
            if (_topEl.style.visibility == 'hidden') //隐藏
                _topEl.style.visibility = 'unset'; //显示
            _topEl.style.top = document.documentElement.clientHeight + _winScrollTop - 200 + 'px'; //显示位置
        } else if (_winScrollTop < 100 && _topEl.style.visibility == 'unset') { //显示
            _topEl.style.visibility = 'hidden'; //隐藏
        }
    }
    })

    _topEl.onclick = function () {
        U.MD.O.W.SP.topAnimate(document.documentElement, 0)
    }
}

/**
* 置顶动画
*
* @ele   {element}    移动元素
* @target   {number}    目标点
*/
U.MD.O.W.SP.topAnimate = function (ele, target) {
    clearInterval(ele.timer); //清楚历史定时器 
    ele.timer = setInterval(function () {
        //获取步长 确定移动方向(正负值) 步长应该是越来越小的,缓动的算法。 
        var step = (target - ele.scrollTop) / 10;
        //对步长进行二次加工(大于0向上取整,小于0项下取整) 
        step = step > 0 ? Math.ceil(step) : Math.floor(step);
        //动画原理: 目标位置 = 当前位置 + 步长 
        ele.scrollTop = ele.scrollTop + step;
        //检测缓动动画有没有停止 
        if (Math.abs(target - ele.scrollTop) <= Math.abs(step)) {
            ele.scrollTop = target; //直接移动指定位置 
            clearInterval(ele.timer);
        }
    }, 16);
}

/**
* 分享功能
*
* @fileInfo   {object}    文档信息
* @parentel   {element}    添加的元素
*/
U.MD.O.W.SP.shareFile = function (fileinfo, parentel) {
    var _content = $$('div', { className: "U_MD_O_W_SP_ShareBox" }), //创建最外层元素
        _shareTitle = $$('div', { className: "U_MD_O_W_SP_ShareTitle" }, _content), //分享小标题
        _shareBorder = $$('div', { className: "U_MD_O_W_SP_ShareBorder" }, _content), //分割线
        _wechat = $$('div', { className: "shareBlock" }, _content), //微信好友分享按钮
        _qq = _wechat.cloneNode(), //克隆元素
        _xin = _wechat.cloneNode(); //克隆元素

    $$('span', { innerText: "分享" }, _shareTitle); //创建文字
    $$('img', { src: "/img/xinlangRed.png", style: { width: '24px'} }, _xin); //创建图片
    $$('img', { src: "/img/qq.png", style: { width: '24px'} }, _qq); //创建图片
    $$('img', { src: "/img/wechat.png", style: { width: '24px'} }, _wechat); //创建图片
    $$('div', { innerText: "新浪微博" }, _xin); //创建文字
    $$('div', { innerText: "微信好友" }, _wechat); //创建文字
    $$('div', { innerText: "QQ好友" }, _qq); //创建文字
    $$('div', { className: "U_MD_O_W_SP_ShareBorder" }, _content); //分割线


    _wechat.className += " U_MD_O_W_SP_WeChat"; //加class
    _content.appendChild(_qq); //添加至最元素
    $$('div', { className: "U_MD_O_W_SP_ShareBorder" }, _content); //分割线
    _content.appendChild(_xin); //添加至最元素

    _qq.onclick = function () { //绑定点击事件
        var _title = "这个文档超赞的,赶快分享给大家吧!【" + fileinfo.Username + "--分享自-互联办公】"; //设置文本
        U.UF.OT.qqFriendShare('', _title); //调用qq好友分享的接口
    }

    _xin.onclick = function () {//绑定点击事件
        var _title = "这个文档超赞的,赶快分享给大家吧!【" + fileinfo.Username + "--分享自-互联办公】"; //设置文本
        U.UF.OT.weiboShare('', _title); //调用微博分享的接口
    }

    U.UF.OT.weChatShareCode(_wechat); //调用微信分享的接口

    parentel.appendChild(_content);
    return _content; //返回元素
}


/**
* 保存我的云盘
*
* @fileinfo   {object}    文档信息
*/
U.MD.O.W.SP.saveSpecifiedFolder = function () {
    var _loginChecked = U.MD.U.L.isLogin(); //拿到登录状态值

    if (!_loginChecked) { //判断是否登录
        var _form = !Object.getOwnPropertynames(US.disk.Disks).length && U.MD.DK.initDisk(US.userInfo.userid, 'f6d7a4b6-e34c-4964-beed-24187b2cb1ba'); //拿到网盘的窗体
        _form && (_form.style.display = 'none'); //隐藏窗体
        if (Object.getOwnPropertynames(US.disk.Disks).length) { //判断US.disk.Disks常量是否有值
            var _guid = Guid.newGuid(); //生成GUID
            U.MD.DK.VW.chosenSaveFile(U.MD.O.W.SP.FILEINFO.UserFilesExtendName.toLowerCase(), _guid, U.MD.O.W.SP.FILEINFO.UserFilesName, function (fileinfo) { //调用选择保存文件弹窗位置的接口
                var _fileInfo = fileinfo; //文档信息
                U.A.Request(US.CD, [US.DB, "UseStudio_Disk", "SaveFileContent", fileinfo.UserDirectoryID, U.MD.O.W.SP.FILEINFO.UsOffice, fileinfo.UserallDirectoryname || U.MD.O.W.SP.FILEINFO.UserFilesName], function (r) { //将文档数据存储至数据库
                    var _foldername = ''; //定义

                    for (var i = 0; i < US.disk.initTree.length; i++) { //循环判断用户保存到那个文件夹下
                        if (US.disk.initTree[i][0] == _fileInfo.UserDirectoryParentID) {
                            _foldername = US.disk.initTree[i][4];
                            break;
                        }
                    }
                    if (r.value) { //判断数据库返回值判断是否插入成功
                        U.Alert("以保存到云盘【" + _foldername + "】目录下!"); //提示用户
                    } else {
                        U.Alert("文档保存失败!") //提示用户
                    }
                });
            });
        } else {
            U.alert('数据加载中...'); //提示用户
        }
    } else {
        U.alert('登录失败!');  //提示用户
    };
}

//$('.U_MD_O_W_SP_ToolsBar').bind('click', function () {
//    U.MD.O.W.SP.isLogin(fileinfo);
//})

U.MD.O.W.SP.eidtor = function (fileinfo) {
    if (US.userInfo.userid == fileinfo.UserID || (Guid.IsGuid(fileinfo.UserDirectoryEncrypt) && U.Json.select(US.friend.group, { GroupManageID: fileinfo.UserDirectoryEncrypt })[0])) {
        var fileinfo = {
            UserId: fileinfo.UserID,
            GroupID: fileinfo.UserDirectoryEncrypt,
            UserDirectoryID: fileinfo.UserFilesID,
            UserallDirectoryName: fileinfo.UserFilesName,
            UserDirectoryExtendType: fileinfo.UserFilesExtendName
        }
        console.log(fileinfo);
        U.MD.O.excel(US.userInfo, fileinfo);
    } else {
        U.Alert("无编辑权限");
    }
}

U.MD.O.W.SP.isLogin = function (fileinfo) {
    if (!US.userInfo.userid) {
        U.MD.U.L.login(function () { U.MD.O.W.SP.eidtor(fileinfo) });
    } else {
        U.MD.O.W.SP.eidtor(fileinfo)
    }
}
/**
* 初始化加载评论
*
*/
//U.MD.O.W.SP.initReply = function () {
//    var _el = $(".U_MD_O_W_SP_Reply")[0];
//    U.MD.R.reply({ 'type': true, 'el': _el, 'pid': "36341f7e-77a9-11e8-b499-005056b350a4" });
//}