Namespace.register("U.U"); //个人资料设置

//#region 用户登录个人资料

//-------------------------------------------------------------------个人资料设置
//#region 初始化用户设置

//打开个人资料
U.U.DKGEZL = function () {
    if (!U.U.L.isLogin(3)) {
        var _UDTD, _UDOD = $("#UD_SYZ")[0]; //个人资料元素
        if (_UDOD) {
            U.U.DKSRDQ(_UDOD); //初始化资料
            _UDOD.style.display = "block";  //用户资料初始化
            _UDTD = U.UI.Form({ min: false, max: false, id: "UD_SYZDC", style: { width: "746px", height: "650px" }, content: _UDOD, title: "<div class='UD_SYF_STI'>个人设置</div>", //弹出个人资料 
                hst: { style: { "padding": "0"} }
            }).be;
            U.U.SDKGEZL(_UDOD, ["block", "none"]); //用户信息、 密码密保 切换

            for (var i = 0; i < $(".UD_xx_jbxx").length; i++) {
                $(".UD_xx_jbxx")[i].onclick = function () {
                    U.U.YHDHTCSH(this);
                }
            }
            U.U.YHDHTCSH($(".UD_xx_jbxx")[0]);
            return _UDTD;
        }
    }
}
/**
* 用户资料左侧导航条初始化
*
* @param  {element} 个人资料内容元素
* @returns {array} 是否登录
*/
U.U.YHDHTCSH = function (UOD) {
    switch (UOD.children[1].innerText) {
        case '基本信息':
            $(".UD_SYZCR")[0].style.display = 'block';
            $(".UD_SYZCLT")[0].style.display = 'block';
            $(".UD_SYZCL")[0].style.display = 'none';
            $(".UD_SYZOV")[0].style.display = 'none';
            break;
        case '个人隐私设置':
            $(".UD_SYZCL")[0].style.display = 'block';
            $(".UD_SYZCR")[0].style.display = 'none';
            $(".UD_SYZCLT")[0].style.display = 'none';
            $(".UD_SYZCLRT")[0].style.display = 'none';
            $(".UD_SYZOV")[0].style.display = 'none';
            break;
        case '账号安全设置':
            if ($(".UD_SYZCLRX")[0].style.display == 'block') {
                $(".UD_SYZCLRX")[0].style.display = 'none';
                UOD.children[2].src = '../../img/left.png';
                UOD.children[2].style.cssText = 'width: 8px;margin-left: 32px;margin-top: 18px;height: 13px;';
            }
            else {
                $(".UD_SYZCLRX")[0].style.display = 'block';
                UOD.children[2].src = '../../img/down.png';
                UOD.children[2].style.cssText = 'width:12px;margin-left: 32px;margin-top: 20px;height:8px';
            }
            break;

    }
}
/**
* 用户资料初始化
*
* @param  {element} 个人资料内容元素
* @returns {array} 是否登录
*/
U.U.DKSRDQ = function (UDOD) {
    var i, _UTF, _UIF = US.userInfo,
    _UDTD = $(UDOD).childg(0)[0];
    _UDTD = $(_UDTD).childg(0)[0];

    _UDTD = $(_UDTD).Child(); //这个是


    var _UDAD = $("input", _UDTD[0]), //所有可编辑的款
    _UAE = ["UserEmail", "UserTelephoneNumber"], //用户头像电话
    _UDE = ["TrueName", "", "UserNickName", "UserIndividualitysignature", { "checked": !_UIF.UserSex }, { "checked": _UIF.UserSex }, "UserEmail", "UserTelephoneNumber"]; //输入框需要设置的内容

    //设置用户邮箱、电话
    for (i = 0; i < _UAE.length; i++) { //这里设置了
        _UTF = (_UIF[_UAE[i]] && _UIF[_UAE[i]].length > 0);
        //    _UDAD.addAttrArray({ disabled: _UTF === true }, i + 7);
        _UDAD.parentg(2, i + 7).css("border", "1px solid " + (_UTF ? "#ABABAB" : "red"));
        _UDAD.parentg(1, i + 7).find("i").css("display", _UTF ? "" : "block")
    }

    //设置用户真实姓名、 昵称、 签名、 性别、 邮箱 、电话号码
    for (i = 0; i < _UDE.length; i++) { //设置值
        typeof _UDE[i] == "string" ? _UDAD[i + 1].value = (_UIF[_UDE[i]] || "") : _UDAD.addAttrArray(_UDE[i], i + 1);
    }

    //用户基本信息设置
    _UDAD[1].disabled = (_UIF.TrueName && _UIF.IsAllowAccess != 0);
    _UDAD = $("div", _UDTD[0]);
    _UDAD[6].style.display = _UIF.UserThumbnailImageHead ? "none" : "block";
    $($("img", _UDTD[0])[0] || $$("img")).addAttrArray({ "title": $("div#UD_SYZOVTCNR", _UDTD[1])[0].innerText = _UIF.UserName, //用户头像显示
        "onerror": U.M.ImgError, "src": U.M.GetImgU(_UIF.UserThumbnailImageHead)
    }).appendTo(_UDAD[3]);
    $("div#UD_SYZCRZ", _UDTD[0])[0].innerText = "账号登陆:" + _UIF.UserName;

    //用户详细信息设置 用户出生年月日 城市
    U.U.LMBD($("#UD_SYZCLRU", _UDTD[0])[0], _UIF.Birthday);
    U.MD.DynamicLoad("/js/UU/U.U.C.js", "js", [[U.U.LCJ, [$("#UD_SYZCLRUO", _UDTD[0])[0], _UIF]]]);

    return _UDTD; //加载生日和地区
}

/**
* 个人资料切换 普通信息和密码密保切换
*
* @param  {element} 个人资料内容
* @param  {array} 切换变化参数 
* @param  {element} 弹出元素
* @returns {array} 是否登录
*/
U.U.SDKGEZL = function (UDOD, UDE) {
    var i, j;
    var _UDAD = $(UDOD).Child(); //获取个人信息 找回密码 两个函数
    var _UDCD = $(_UDAD[1]).Child();
    //var _UKE = [1, 4]; //下面介绍的内容
    // $(_UDCD[1]).addAttrArray({ "onclick": [_UTF ? [U.D.CloseWindow, [UDFD]] : [U.U.SDKGEZL, [UDOD, ["block", "none"], UDFD]]], //退出或者返回
    //     "innerText": (_UTF ? "退出" : "返回") + "设置"
    // });
    if (UDE[0] == "block") {
        _UDCD[0].onclick = U.M.apply(_UDCD[0], [[U.U.UpdateUserBasicInfo, [UDOD]]]); //确定事件
    }
    else {
        _UDCD[0].onclick = U.M.apply(_UDCD[0], [[U.U.MDKMMSZ, [UDOD]]]); //确定事件
    }
    //切换效果
    $(".UD_SYZCL")[0].style.display = 'none';
    $(".UD_SYZCR")[0].style.display = 'none';
    $(".UD_SYZCLT")[0].style.display = 'none';
    $(".UD_SYZCLRT")[0].style.display = 'none';
    $(".UD_SYZOV")[0].style.display = 'block';
    // for (i = 0; i < 2; i++) {
    //     _UDCD = $(_UDAD[i * 2]).Child();
    //     for (j = 0; j < UDE.length; j++) { _UDCD[j].style.display = UDE[j]; }
    // }
}

/**
* 用户资料提示显示和取消
*
* @param  {element} 个人资料内容
* @param  {boolean} 切换变化参数 
* @param  {格式} 格式参数
*/
U.U.ZLXSQX = function (UDOD, UTF, UTP) {
    var _UFT = UTF || U.MS[UTP].test(UDOD.value.trim());
    U.U.R[(_UFT ? "D" : "B") + "TT"](UDOD, !UTF);
    $(UDOD).parentg(2).css("border", "1px solid " + (_UFT ? "#ABABAB" : "red"));
    U.D.SY.ET["ZL"][UTP || "PN"] = _UFT;
}

//#endregion

//#region 背景设置

//查看背景设置
U.U.CKBJSZ = function () {

}

//#endregion

//#region select选择使用区域

//加载用户城市
U.U.LCJ = function (UDOD, UIF) {
    var i, _UIE,
    _UDSD = $("select", UDOD),
    _UGE = U.U.C.J["citylist"],
    _UDE = [[null, "co", "Country"], ["cp", "p", "Province"], ["c", "n", "City"]];
    for (i = 0; i < _UDE.length; i++) {
        _UIE = U.U.SZST(_UDSD[i], _UGE, _UDE[i][1], UIF[_UDE[i][2]] || "其它");
        if (i == 2) { return; }
        _UGE = _UGE[_UIE][_UDE[i + 1][0]];
    } //设置用户城市
}

//修改用户城市时执行
U.U.XGSZST = function (UDAD, UAE, UTF) {
    var i, _UIE = UDAD[0].selectedIndex,
    _UDE = UTF ? [U.U.C.J["citylist"], ["cp", "p"], ["c", "n"]] : ["", [12, 0], [U.MT.getDayOfMonth[UDAD[0].options[UDAD[0].selectedIndex].value, UDAD[1].options[UDAD[1].selectedIndex].value], 0]],
    _UGE = _UDE[0];
    for (i = 0; i < UDAD.length; i++) {
        if (i >= UAE[0] || i <= UAE[UAE.length]) {
            U.U.SZST(UDAD[i], _UGE, _UDE[i][1], _UIE);
        }
        if (i != UDAD.length - 1) {
            if (UTF) {
                _UGE = _UGE[UDAD[i].selectedIndex][_UDE[i + 1][0]];
            }
            else { _UGE = _UDE[i + 1][0]; }
            _UIE = Math.floor((_UGE.length || _UGE) / 2);
        }
    }
}

//加载用户生日
U.U.LMBD = function (UDOD, UBE) {
    var i, _UDSD = $("select", UDOD),
     _UAE = U.MT.getYearMonthDay(UBE),
      _UDE = [[(new Date()).getFullYear() - 1939, 1939], [12, 0], [U.MT.getDayOfMonth[_UAE[0], _UAE[1]], 0]];

    for (i = 0; i < _UDSD.length; i++) {
        U.U.SZST(_UDSD[i], _UDE[i][0], _UDE[i][1], _UAE[i]);
    } //设置用户生日
}

//设置Select
U.U.SZST = function (UDOD, UL, UC, UZ) {
    var i, _UV, _UDTD, _UFT,
    _UTF = UL.length == null,
    _UCL = UDOD.options.length = _UTF ? UL : UL.length;
    for (i = 0; i < _UCL; i++) {
        _UDTD = UDOD.options[i];
        _UV = _UDTD.text = _UDTD.value = _UTF ? UC + i + 1 : UL[i][UC];
        (_UV == UZ) && (UDOD.selectedIndex = i, _UFT = true);
    }
    (!_UFT && typeof UZ == "string") && (UDOD.selectedIndex = UZ);
    return UDOD.selectedIndex;
}

//#endregion

//#region 切换区域

//密码密保设置切换区域
U.U.MDKGEZL = function (UIE) {
    var i, _UDOD = $("#UD_SYZOV"),
    _UDAD = $("div", _UDOD[0]), _UDID = $("input", _UDOD[0]),
    _UAE = ["当前", "新", "确认"],
    _UDE = [["密码", "定期更换密码可以让你的账号更加安全。建议密码采用字母和数字混合, 避免与账号名、生日、手机号等部分或者完全相同避免使用有规律的数字或者字母, 并且不短于6位。"], ["密保", "设置账号密保识别身份, 方便找回账号、设置和使用安全服务等。"]][UIE];
    U.D.SY.ET["SZ"] = UIE;
    _UDID.addAttrArray({ "value": "" });
    for (i = 0; i < _UDID.length; i++) {//去除提示
        _UDID[i].onchange();
    }
    // _UDAD[1].innerText = "修改账号" + _UDE[0];
    _UDE[0] == '密码' ? _UDAD[1].innerText = '修改密码' : _UDAD[1].innerText = '密保设置';
    // _UDAD[4].innerText = _UDAD[4].title = _UDE[0] + "设置"; _UDAD[7].innerText = _UDE[1];
    _UDAD[7].innerText = _UDE[1];
    _UDAD = $($(_UDOD[0]).Child()[2]).Child();
    for (i = 1; i < _UDAD.length; i++) {
        (i != 3) && ($(_UDAD[i]).Child()[1].innerText = _UAE[i > 3 ? i - 2 : i - 1] + "账号" + _UDE[0]);
        if (i == 2 && UIE && !US.userInfo.SecurityAnswer) {
            _UDAD[1].style.display = "none";
        }
    }
}

//#endregion

//#region 普通信息

//普通信息设置保存
U.U.UpdateUserBasicInfo = function (UDOD) {
    var i, j = 0,
    _userinfo = US.userInfo,
    //此处需要修改。不用下面的全局变量。
    _UDE = U.D.SY.ET["ZL"],
    _selectElements = $("select", UDOD),
    _inputs = $("input", UDOD);
    var _modifyuserinfo = {
        "TrueName": _inputs[1].value,
        "UserNickName": _inputs[3].value,
        "UserTelephoneNumber": _inputs[8].value,
        "UserIDCard": _userinfo["UserIDCard"],
        "UserRemarks": _inputs[4].value,
        "UserIndividualitysignature": _inputs[4].value,
        "UserSex": _inputs[6].checked,
        "UserEmail": _inputs[7].value,
        "Country": _selectElements[3].value,
        "Province": _selectElements[4].value,
        "City": _selectElements[5].value,
        "Birthday": U.MT.toTimeStamp(U.MT.toTimeStamp(_selectElements[0].value + "-" + _selectElements[1].value + "-" + _selectElements[2].value, "-"))
    };
    for (i in _UDE) {
        if (!_UDE[i]) {
            U.Alert("请修改红线的错误");
            return false;
        }
        j++;
    }
    if (_inputs[0].value) {
        U.U.ULIMG(_inputs[0], U.U.MDKXTX);
    } //用户头像上传 $(_inputs[0]).Parent().innerHTML += ""; 
    //如果j>0表示有错误,如果有用没有修改信息,也不插入数据
    if (j && !_$(US.userInfo).IsTF(_modifyuserinfo)) {
        U.A.Request(US.Auth, (["UpdateUserBasicInfo", _modifyuserinfo.TrueName, _modifyuserinfo.UserNickName, _modifyuserinfo.UserTelephoneNumber, _modifyuserinfo.UserIDCard, _modifyuserinfo.UserRemarks, _modifyuserinfo.UserIndividualitysignature,
         _modifyuserinfo.UserSex, _modifyuserinfo.UserEmail, _modifyuserinfo.Country, _modifyuserinfo.Province, _modifyuserinfo.City, _selectElements[0].value + "-" + _selectElements[1].value + "-" + _selectElements[2].value]), U.U.UpdateUserBasicInfoAsyn, ["", _modifyuserinfo, _inputs]);
    }
    U.Alert("设置同步中");

}

//普通信息设置异步
U.U.UpdateUserBasicInfoAsyn = function (r) {
    var i, _UCE = {},
    _UIF = US.userInfo,
    _UAE = [["UserNickName", "Name"], ["UserIndividualitysignature", "IT"]],
    context = r.context,
    _UDE = context[1],
    _UDID = context[2];
    r = r.value;
    (r) && (_UDID[7].value = _UDE["UserEmail"] = US.userInfo["UserEmail"]);
    U.D.SY.ET["ZL"] = {};  //邮箱不允许重复修改
    for (i = 0; i < _UAE.length; i++) {
        (_UDE[_UAE[i][0]] != _UIF[_UAE[i][0]]) && (_UCE[_UAE[i][1]] = _UDE[_UAE[i][0]], U.D.SY.TYSZTX(_UCE));
    }
    _$(_UIF).Change(_UDE); //修改后的样式
}

//选择男女
U.U.MDKXZNN = function (UDOD) {
    var i, _UDID = $("input", $(UDOD).Parent(2)); U.D.SY.ET["ZL"]["Sex"] = true;
    for (i = 0; i < _UDID.length; i++) { _UDID[i].checked = (_UDID[i] == UDOD); }
}

//#region 上传用户头像

//上传头像到服务器处理
U.U.GLUI = function (UDOD, UDE) {
    U.UP.uploading[UDOD], UDE[0], UDE[1], "http://main.1473.cn/USupfile.ashx?iframename=" + UDE[2];
}

//信息上传查看
/*
上传头像处理函数
参数:r[0]为name属性等于UD_SYZCLTSI的div元素。
r[1]为数组:格式为:"headimg",回调函数U.U.MDKSCTX,class名为UD_SYZCLTSI的div元素。
r[2]为图片文件流。
*/
U.U.DI = function (r) {
    var _UDID = r.UpObj[0]; //name属性为UD_SYZCLTSI的上传框
    var context = r.context; //简化后面的代码,不再带r。
    var _UTF = context[0]; //值为headimg,
    var _UCB = context[1]; //上传完毕后的回调函数,指向U.U.MDKSCTX。
    var r = r.value; //上传内容,
    //r[0]为文件内容,成功上传
    if (r && isNaN(r[0])) {
        if (_UTF != "headimg") {
            U.D.Img.Img(US.userInfo, { "Thm": r[0], "Img": r[0] });
        }
        //执行回调函数,传递参数
        (_UCB) && (_UCB(context, r));
    }
    else {
        if (document.selection) {
            _UDID.select();
            document.selection.clear();
        }
        else {
            _UDID.outerHTML += ""; _UDID.value = "";
        }
        U.Alert("文件格式或者文件大小不符合要求。");
    }
}


/*
上传头像回调函数。
参数一:URC,格式为:"headimg",回调函数U.U.MDKSCTX,class名为UD_SYZCLTSI的div元素。
参数二:URE,上传文件数据流。
*/
U.U.MDKSCTX = function (URC, URE) {
    $("img", $(URC[2]).Parent())[0].src = URE[0]; //找到上传头像区域,赋予上传图片信息。
}

//上传头像到硬盘
U.U.ULIMG = function (UDOD, UCB) {
    if (UDOD.value) { U.U.GLUI(UDOD, [U.U.AsynULIMG, [UCB], "UploadHeadImage"]); }
}

//上传头像到硬盘异步
U.U.AsynULIMG = function (r) {
    var _UDE, _UIF = US.userInfo, context = r.context, _UCB = context[0], _URE = r = r.value;
    if (r) {
        _$(_UIF).Change({ "UserImageHead": _URE.UserFilesServerName, "UserThumbnailImageHead": _URE.UseFilesServerThumbnailName });  //用户头像的修改
        US.Disk.UserDisk[0].push(_UDE = new U.Dk.M.Entity(_URE.UserFilesID, _URE.UserFilesSize, _URE.UserDirectoryID, _URE.UserFilesName.addEllipsis(10), _URE.UserFilesName, _URE.UserFilesExtendName, _URE.UserFilesServerName, new Date(), US.fs + _URE.UseFilesServerThumbnailName, 99999, null, null, 1, "", "", null, _UIF.UserId, _UIF.UserNickName, _UIF.UserName, _UIF.UserThumbnailImageHead)); //添加到网盘
        _UIF.DiskHeadImg.push(_UDE); (_UCB) && (_UCB(context, r)); U.Alert("保存头像成功"); //重新显示
    }
}

//上传用户头像到网盘异步
U.U.MDKXTX = function (UCE, URE) {
    U.D.SY.TYSZTX({ "Img": URE.UseFilesServerThumbnailName }); //设置所有的头像
}

//用户资料错误提示
U.U.MDKCWTS = function (UDOD, UTF, UTP) {
    var _UDC = "red", _UFT = false;
    (UDOD.value == "" || UTF.test(UDOD.value)) && (_UDC = "#ababab", _UFT = true);
    U.D.SY.ET["ZL"][UTP] = _UFT; $(UDOD).Parent(2).style.borderColor = _UDC;
}

//#endregion

//#endregion

//#region 密码密保设置

//判断和指定的密保是否相同
U.U.MDKMMYS = function (UDOD) {
    if (!UDOD.value) {
        U.U.AsynMDKMMYS([null, UDOD], true, null);
    }
    else {
        U.U.CNP(UDOD, U.D.SY.ET["SZ"], U.U.AsynMDKMMYS);
    } //判断
}

//检测当前用户输入的密码是否正确
U.U.CNP = function (UDOD, UTF, UCB) {

    U.A.Request(US.Auth, ["Check" + (UTF ? "SecurityCode" : "Password"), US.userInfo.userid, UDOD.value]), U.U.AsynCNP, ["", UDOD, UTF, UCB];
}

//异步判断密码是否正确
U.U.AsynCNP = function (r) {
    var context = r.context,
    _UDOD = context[1],
    _UTF = context[2],
    _UCB = context[3];
    r = r.value;
    (_UCB) && (_UCB(context, r));
}

//判断两次输入的是否相同
U.U.MDKPDYW = function (UDOD) {
    var _UTF,
    _UDID = $("input", $(UDOD).Parent(4));
    (_UTF = (_UDID[1].value != _UDID[2].value)) && (U.Alert("两次密码不统一"));
    U.U.AsynMDKMMYS([null, _UDID[2]], !_UTF, "UNPW");
}

//设置密码或者密保
U.U.MDKMMSZ = function (UCB) {
    var i, _UAE = ["PN", "UPN", "UNPW"],
    _UDE = U.D.SY.ET["ZL"],
    _UTF = U.D.SY.ET["SZ"],
    _UDOD = $("#UD_SYZOVTC")[0],
    _UDID = $("input", _UDOD);
    for (i = 0; i < _UAE.length; i++) {
        if (!_UDE[_UAE[i]]) {
            U.Alert("填写资料或者修改红线区"); return;
        }
        else { delete _UDE[_UAE[i]]; }
    };
    (UCB) && (UCB());
    if (_UDID[0].value == _UDID[1].value) {
        U.U.AsynMDKMMSZMM({ "context": ["", _UDID[2], _UDOD, (_UTF = _UTF ? "SecurityAnswer" : "UserPassword")], "r": US.userInfo[_UTF] });
    } //相同直接通过
    else {
        if (_UTF) {
            //U.U.MDKMMSZMB(_UDID[2], _UDOD);
            U.A.Request(US.Auth, ["EditSecurityCode", US.userInfo.userid, _UDID[2].value], U.U.AsynMDKMMSZMM, ["", _UDID[2], _UDOD, "SecurityAnswer"]); //保存到数据库
        }
        else {
            //U.U.MDKMMSZMM(_UDID[2], _UDOD);
            U.A.Request(US.Auth, ["UpdateUserPassword", US.userInfo.userid, US.userInfo["LoginId"], _UDID[2].value], U.U.AsynMDKMMSZMM, ["", _UDID[2], _UDOD, "UserPassword"]); //保存到数据库
        }
        U.Alert("与服务器同步中...");
    } //服务器
}

//密保设置异步
U.U.AsynMDKMMSZMM = function (r) {
    var context = r.context,
    _UDOD = context[1],
    _UDPD = context[2],
    _UTF = context[3];
    r = r.value;
    if (r) {
        U.Alert("成功设置");
        US.userInfo[_UTF] = r; //修改指定的
        U.U.SDKGEZL($(_UDPD).Parent("UD_SYZ"), ["block", "none"]); //切回个人设置
    }
}

//设置变化
U.U.AsynMDKMMYS = function (UCE, UQE, UTF) {
    var _UDC = "red", _UDOD = UCE[1];
    (UQE) && (_UDC = "#ababab");
    $(_UDOD).Parent(2).style.borderColor = _UDC;
    return (U.D.SY.ET["ZL"][UTF || "PN"] = (UQE ? true : false));
}

//#endregion

//#region 检查资料完整度

U.U.CUD = function () {
    if (US.userInfo.userid) {
        var i, j = 0,
        _UDE = ["UserNickName", "UserEmail",
        "UserTelephoneNumber", "TrueName", "UserIDCard", "Country",
        "Province", "City", "Birthday", "SecurityAnswer"];
        for (i = 0; i < _UDE.length; i++) {
            if (US.userInfo[_UDE[i]]) { j++; }
        };
        return Math.round(j / _UDE.length * 100);
    }
}

//#endregion