Namespace.register("U.CD.U");
//用户登录后的js文件。

//全局所有用户保存，试用U.E.Entity.
//U.CD.U.Users = { "UserID": "", "CDTree": "" }; //生成一个集合模型。把用户id提出出来，后面带改用户的树形目录结构
U.CD.U.AUsers = {};
//生成一个列表，具有集合和数组的功能。包含了所有用户信息。
U.CD.U.CUser = null;
//当前正在操作的用户集合。
//U.CD.U.CUser.PreClickNode  保存了右边树的节点单击颜色变化值。
//U.CD.U.CUser.CurrentNode  保存了右边树的单击节点，以便新建文件时指定项目节点。
//U.CD.U.CUser.CurrentSO  保存了右边树的单击节点元素，以便新建文件时指定项目节点。
//U.CD.U.CUser.CTab = null;  //保存了上一次的Tab栏数据
//暂时使用下面变量防止主项目Ajax top.US.userinfo.UserId报错。US.fs是头像文件位置。
//var US = {}; US.userinfo = {};US.fs = "http://fs.1473.cn/";

//打开登录注册窗体
U.CD.U.LoginApply = function (judge) {
    //var _r = $("#UCD_LR")[0];
    //U.D.PopupWindow(_r);
    //$("#UCD_LR").animate({ "left": document.body.clientWidth / 2 - 597 / 2 + "px", "top": document.body.clientHeight / 2 - 484 / 2 + "px", "display": "block" }, 100);
    //$("#UU_LUName")[0].focus(); // 输入框自动聚焦
    //U.ME.OpenWin("UCD_TOP_L_DL", "UCD_LR", document.body.clientWidth / 2 - 597 / 2 + "px", document.body.clientHeight / 2 - 484 / 2 + "px", "750px", "380px", 300);

    // U.CD.OU.Login();
    U.U.L.DLTC(3);
}

//登录异步处理
U.CD.U.LoginAsyn = function (r) {
    //给信息面板获取值.1473主项目写法。
    var context = r.context;
    r = r.value;
    if (r == null) {
        return;
    } else if (r == false) {
        return;
    } else if (r[0].IsShielding == 1) {
        return;
    } else if (r[0].IsShielding == 2) {
        return;
    } else {
        //US.userinfo = r[0][0]; //把用户信息变成全局
        //document.title = US.userinfo.UserName; //网页标题变成名字（为了测试是否登录成功）
        //$("#UCD_TOP_L_TX")[0].src = US.fs + US.userinfo.UserThumbnailImageHead; //右边拓展页面的头像
        //$("#UCD_TOP_L_TX")[0].onerror = U.M.ImgError;
        //$("#UCD_TOP_L_UI")[0].innerHTML = US.userinfo.UserName;
        U.CD.U.LogPanel(US.userinfo);
        //这一句话居然没有权限？想半天想不明白
        U.CD.U.LUData(US.userinfo);
        //判断该用户是否存在，如果存在，返回源代码数据，不存在，向源代码资源管理器追加一条记录。
        //重置整体布局

        $("#UCD_TOP_AL")[0].innerHTML = "";
        //提示用户未登录信息为空。
        $("#UCD_RTree")[0].style.display = "block";
        //头部的右边拓展按钮可见
        //U.CD.LO.OpenZY(); //打开资源管理器
        U.CD.Url.AllowUser();
        //登录后打开保存、提示框信息等登录用户的权限。
    }
}

//登录后的用户面板
U.CD.U.LogPanel = function (u) {
    var d = $("#UCD_TOP_L")[0];
    d.innerHTML = "";
    //$$("div", { "id": "UCD_TOP_L_UI", "innerHTML": u.UserName }, d); //追加用户信息
    $$("div", {
        "className": "UCD_TOP_L_HYYP",
        "innerHTML": "硬盘",
        "onclick": [[U.D.DT.YYDK, (["Disk", {"userid":US.userinfo.UserId,"directoryid":US.DG}])]]
    }, d);
    //追加硬盘信息
    $$("div", {
        "className": "UCD_TOP_L_HYYP",
        "innerHTML": "好友",
        "style": {
            "margin-right": "15px"
        },
        "onclick": [[U.D.DT.YYDK, (["Friend"])]]
    }, d);
    //追加好友信息
    //    $$("div", { "className": "UCD_TOP_L_HYYP", "innerHTML": "博客", "onclick": [[U.D.DT.YYDK, (["Blog"])]] }, d); //追加好友信息
    $$("img", {
        "id": "UCD_TOP_L_TX",
        "src": US.fs + u.UserThumbnailImageHead,
        "alt": "http://www.1473.cn",
        "onclick": [[U.CD.OU.ProDiv, ([""])]],
        "onerror": U.M.ImgError
    }, d);
    //追加用户头像
    $$("div", {
        "id": "UCD_TOP_L_UI",
        "innerHTML": u.UserNickName ? u.UserNickName : u.UserName
    }, d);
    //追加用户头像
    $$("div", {
        "id": "UCD_TOP_L_TC",
        "innerHTML": "退出",
        "onclick": function () {
            if (US.userinfo.UserId && confirm('是否退出' + US.userinfo.UserName + '账号')) {
                U.U.L.TCUL();
            }
        }
    }, d);
    //追加退出按钮

    //$("#UF_UP_UserBoard")[0].style.display = "none"; //好友面板需要点击才弹出，直接隐藏
    $(".UD_SYHR")[0].style.display = "none";
    //好友面板需要点击才弹出，直接隐藏
}

//好友交流模块
/*

//交流模块与ufrom接口测试及调优方案

//好友大小变化
U.F.FSIZE = function () {
$("#UD_SYH").childg(0, 1).addAttrArray({ "style": { "top": (US.Height - 530) / 2, "right": "0px"} }); //
}

//初始化好友函数
U.F.CSHFG = function () {
var _UDTD = $("#UD_SYH").addAttrArray({ "style": { "display": "block"} })[0], _UDOD = $(".UD_SYHZLTI", U.F.W.QHFG(_UDTD, [{ "display": "none", "left": "auto" }, { "display": "block", "top": (US.Height - 530) / 2, "right": "0px"}], true)[0])[0];
$($("img", _UDOD)[0] || $$("img")).addAttrArray({ "onerror": U.M.ImgError, "src": U.M.GetImgU(US.userinfo.UserThumbnailImageHead), "onclick": U.U.DKGEZL }).appendTo(_UDOD); //添加当前使用用户的头像
U.F.RPFG(US.Friend[4].length ? US.Friend[4] : US.Friend[1], $("div#UD_SYHRC", _UDTD)[0]); U.F.PUF($("div#UD_SYHZLZ", _UDTD)[0], US.Friend[1]); //打印好友
}

//初始化好友
U.F.RPFG = function (UDE, UDOD) {
var i, _UDFD = $$("frag"), _UDAD = $(UDOD).Child();
for (i = 1; i < _UDAD.length; i++) { UDOD.removeChild(_UDAD[i]); }
if (UDE.length) { for (i = 0; (i < UDE.length && i < 11); i++) { $$("img", { "onerror": U.M.ImgError, "title": UDE[i]["FriendsDescript"], "className": "UD_SYHRCI", "src": U.M.GetImgU(UDE[i].UserThumbnailImageHead), "alt": UDE[i].FriendsDescript || UDE[i].UserNickName, "onclick": [[U.M.StopBubble], [U.F.N.QXXHFXT, ([null, UDOD, UDE[i].UserId])], [U.F.W.HTOFM, ([UDE[i], true])]] }, _UDFD); } }
else {
_UDTD = $$("div", { "className": "UD_SYHRCT" }, _UDFD);
_UDSD = $$("div", { "className": "UD_SYHRCTS" }, _UDTD);
$$("img", { "src": "http://www.1473.cn/img/YSUN.png" }, _UDSD);
$$("div", { "className": "UD_SYHRCTZ UD_SYI" }, _UDTD);
$$("div", { "className": "UD_SYHRCTX", "innerHTML": "暂时无追随" }, _UDTD);
}
UDOD.appendChild(_UDFD);
}

//用户列表好友分组打印
U.F.PUF = function (UDOD) {
var i, _UDBD, _UDCD, _UDFD, _UDFG = US.Friend[0], _UDSP = $$("frag"); UDOD.innerText = "";
for (i = 0; i < _UDFG.length; i++) {
_UDFD = _$(US.Friend[1]).Select({ "FriendsGroupID": _UDFG[i].FriendsGroupID });
_UDBD = $$("div", { "TID": _UDFG[i].FriendsGroupID, "className": "UD_SYHZLZO" }, _UDSP);
$$("div", { "className": "UD_SYHZLZOT", "innerHTML": _UDFG[i].FriendsGroupName + "(" + _UDFD.length + ")", "onclick": [[U.F.ZKPUF, ([_UDBD])]] }, _UDBD);
_UDCD = $$("div", { "className": "UD_SYHZLZOC" }, _UDBD);
if (US.Friend[1].length) { U.F.TYDYF(_UDCD, _UDFD); } else { U.F.TYDYFK(_UDCD); }
}
UDOD.appendChild(_UDSP);
}

//统一打印
U.F.TYDYF = function (UDOD, UDE, UTF) {
var i, _UTF, _UDTD, _UDSD, _UDGD, _UDFD = $($$("frag"));
if (UDE.length) {
for (i = 0; i < UDE.length; i++) {
_UDTD = $$("div", { "className": "UD_SYHZLZOCO", "onclick": [[U.F.W.HTOFM, ([UDE[i]])]], "TID": UDE[i].GroupManageID || UDE[i].UserId });
_UDSD = $$("div", { "className": "UD_SYHZLZOCOI" }, _UDTD);
if (UDE[i].GroupManageID || UDE[i].tf) { U.F.GQTX(UDE[i].GroupManageID ? UDE[i] : _$(US.Friend[2]).Select({ "GroupManageID": UDE[i].UserId })[0], _UDSD, 4, [35, 35]); }
else { $$("img", { "onerror": U.M.ImgError, "title": "点击查看", "onclick": [[U.M.StopBubble], [U.U.I.UIFZX, ([UDE[i].UserId])]], "src": U.M.GetImgU(UDE[i].UserThumbnailImageHead) }, _UDSD); }
_UDGD = $$("div", { "className": "UD_SYHZLZOCOR UTDF" }, _UDTD);
$$("div", { "className": "UD_SYHZLZOCORN UTDF", "innerHTML": UDE[i].FriendsDescript || UDE[i].UserNickName || UDE[i].GroupManageName }, _UDGD);
$$("div", { "className": "UD_SYHZLZOCORT UTDF", "innerHTML": UDE[i].UserIndividualitysignature || UDE[i].GroupManageRemark || "" }, _UDGD);
_UDFD.append(_UDTD, 0, UDE[i].IsLogin == 1 ? (_UTF = true, _UDFD.firstChild) : null);
}
$(UDOD).append(_UDFD, 0, _UTF ? UDOD.firstChild : null);
}
else { UDOD.style.display = "none"; }
}

//打印空好友
U.F.TYDYFK = function (UDOD) {
_UDTD = $$("div", { "className": "UD_SYHZLZT" }, UDOD);
_UDSD = $$("div", { "className": "UD_SYHZLZTS" }, _UDTD);
$$("img", { "src": "http://www.1473.cn/img/YSUN.png" }, _UDSD);
$$("div", { "className": "UD_SYHZLZTZ UD_SYI" }, _UDTD);
$$("div", { "className": "UD_SYHZLZTX", "innerHTML": "暂时没有添加追随！！" }, _UDTD);
}

*/
U.CD.U.Friend = function () {

    var T = new Date();
    //函数初始调用时间

    U.D.DT.YYDK("Friend");
    //调用好友窗体，生成好友窗体
    var T1 = new Date();
    console.log("函数运行时间" + T1 - T);
}

//退出后以及初始化时的面板
U.CD.U.LogoutPanel = function () {
    var d = $("#UCD_TOP_L")[0];
    d.innerHTML = "";
    $$("div", {
        "id": "UCD_TOP_L_DL",
        "innerHTML": "登录",
        "onclick": [[U.CD.U.LoginApply, ([""])]]
    }, d);
    //头部的登录按钮可见
}

//获取用户登录cookie,UID是传的用户id，传入用户id获取对应的用户cookie，不传获取最后一个登录cookie。
U.CD.U.GLID = function (UID) {
    var i, _AID, _L, _ULL = document.cookie.lastIndexOf("Loginid");
    if (_ULL > -1) {
        _AID = eval("[{\"" + document.cookie.substring((document.cookie.indexOf("usestudiosso") + 13), (document.cookie.lastIndexOf("Loginid") + 44)).replace(/=/gm, "\":\"").replace(/&/gm, "\"},{\"") + "\"}]"),
        _L = (_AID.length / 3);
        if (UID) {
            ; for (i = 0; i < _AID.length; i++) {
                if (_AID[i]["userid"] == UID) {
                    return {
                        "userid": UID,
                        "username": _AID[i + _L].username,
                        "Loginid": _AID[i + (_L * 2)].Loginid
                    };
                }
            }
        } else {
            return {
                "userid": _AID[_L - 1].userid,
                "username": _AID[_L * 2 - 1].username,
                "Loginid": _AID[_L * 3 - 1].Loginid
            };
        }
    }
}

//判断是否用户自己在操作的函数。
U.CD.U.IsUSelf = function () {
    if (U.CD.U.CUser == null) {
        return false
    }
    ;//用户未执行登录操作，当前用户为空,让用户重新登录
    var _c = U.CD.U.GLID(U.CD.U.CUser.UserID);
    //获取用户登录Cookie.  _c.userid _c.username _c.Loginid
    if (!_c) {
        return false;
    }
    //如果未登录，弹出登录窗口。如果当前用户未登录，只是给人查看，则提示用户登录
    if (_c.userid != U.CD.U.CUser.UserID)
        return false;
        //不保险，再加一句话判断
    else
        return _c;
}

//用户执行退出操作。
U.CD.U.Logout = function () {
    //如果1473主项目已经清除了用户id，则此处只需要清理编程端界面。
    if (!US.userinfo.UserId) {
        //执行清理资源操作
        U.CD.R.ClearTab();
        //清理Tab窗口
        $("#UCD_RTree")[0].innerHTML = "";
        //清理目录树
        U.CD.LO.CloseZY();
        //关闭资源树。
        U.CD.U.LogoutPanel();
        //退出用户面板
        $("#UCD_RTree")[0].style.display = "none";
        //头部的右边拓展按钮可见
    }
}

//判断用户登录后装载用户数据
U.CD.U.LUData = function (u) {
    //mode为接受参数的标志。第一个参数为后台增删查改类型，后面参数为实际传递的参数。//选取数据？其他，还未登录，不需要选取数据，以后再看
    //u.UserId有时候为空，下午再解决
    U.ACD.Request(U.CD.AjaxUrl, (["Select_OneUserByID", u.UserId, U.CD.USLang]), U.CD.RT.LUDataAsyn, ([""]));
}

//--------------------------------不再需要的函数---------------------------------------------
U.CD.U.Login = function () {
    var _UN = $("#UCD_LR_L_A_T")[0].value;
    var _UP = $("#UCD_LR_L_P_T")[0].value;
    var _UL = "编程端登录";
    //登录地址，因为调用的新浪api，不知道在手机端效果如何，暂时
    //U.A.Request("UseStudioManage.uploadUserinfo", ([_username, _password, "", 0]));
    //四个参数，第一个要用Chrome去查询函数名字，然后在www.1473.cn项目里面找。。第二个参数向后台传递的参数，是一个数组。第三个参数是异步回调。第四个参数是做Loading。
    var _ld = U.CD.Loading.cloneNode();
    _ld.innerHTML = "正在登陆中，请稍后！";
    U.A.Request("UseStudioManage.uploadUserinfo", ([_UN, _UP, _UL || "", 3]), U.CD.U.LoginAsyn, ([_ld]));
    //加载用户信息 且进行异步处理
}
//用户通过Cookie自动登录
U.CD.U.CookieL = function () {
    if (U.M.GetUF()) {
        return;
    }
    //获取#!后面的值，如果有，则不登陆。表示是查看其它用户信息
    var _UIF = U.CD.U.GLID();
    //获取用户登录的cookie
    if (_UIF && _UIF.userid && _UIF.userid.length == 36) {
        U.A.Request("UseStudioManage.LoginByCookie", ([_UIF.userid, _UIF.username, Guid.newGuid(), "", 0]), U.CD.U.LoginAsyn, ([""]));
    }
    //加载用户信息 且进行异步处理
    //if (_UIF && _UIF.userid && _UIF.userid.length == 36) { U.A.Request("UseStudioManage.LoginByCookie", ([_UIF.userid, _UIF.username, Guid.newGuid(), US.NLInfo.LogAddr || "", 0]), U.U.L.AsynUlL, (["", US.NLInfo.LogAddr])); } //加载用户信息 且进行异步处理
}
//添加一个用户，用户成功登陆后如果没有创建用户信息，则添加用户信息
U.CD.AddUserInfo = function (u) {
    //根据userid创建一个项目，如果该userid不存在，创建时需要添加用户信息
    var _userid = u.UserId;
    var _userName = u.UserName;
    //var _request = US.Ajax.Request({ "mode": "AddUserInfo", "userid": _userid, "username": _userName });
    //mode为接受参数的标志。第一个参数为后台增删查改类型，后面参数为实际传递的参数。
    //U.A.Request(U.CD.AjaxUrl, (["SelectOneUserByID", ID]), U.CD.RT.LUDataAsyn, ([""]));
}
//关闭登录窗体
U.CD.U.CloseW = function (o) {
    //U.D.WindowMin(o.parentNode.parentNode);
    U.ME.CloseWin("UCD_TOP_L_DL", "UCD_LR", 200, U.ME.ChangeColor("UCD_TOP_L_DL", "red"));
}
