<!--
/**
 * personal.js
 * @fileoverview 个人设置功能，实现个人信息，显示列设置，提示设置，问候语设置等个人设置功能
 * @author Lynk Li
 */

/**
 * @class Personal 个人设置功能类
 * @constructor
 * @author Lynk Li
 */
function Personal() {
	this.gotoPersonalInterface = Personal_gotoPersonalInterface;
	this.resizeUI = Personal_resizeUI;
	this.showPInfo = Personal_showPInfo;
	this.showMonitor = Personal_showMonitor;
	this.showWelcome = Personal_showWelcome;
	this.showPrompt = Personal_showPrompt;
	this.cancelMdWelcome = Personal_cancelMdWelcome;
	this.doMdWelcome = Personal_doMdWelcome;
	this.rsMdWelcome = Personal_rsMdWelcome;
	this.cancelMdInfo = Personal_cancelMdInfo;
	this.doMdInfo = Personal_doMdInfo;
	this.rsMdInfo = Personal_rsMdInfo;
	this.setPrompt = Personal_setPrompt;
	this.promptLoadDefault = Personal_promptLoadDefault;
	this.setMonitor = Personal_setMonitor;
	this.loadDefaultMonitor = Personal_loadDefaultMonitor;
}

/**
 * 跳转到个人设置界面
 */
function Personal_gotoPersonalInterface() {
	if (document.getElementById("personalMain")) {
		document.getElementById("personalMain").style.display = "";
	} else {
		var personalMain = document.createElement("div");
		personalMain.id = "personalMain";
		document.getElementById("contentRight").insertBefore(personalMain, null);
		this.showPInfo();
	}
	if (_common.innerType != "" && _common.innerType != "personal") {
		document.getElementById(_common.innerType + "Main").style.display = "none";
	}
	_common.setInnerType("personal");
}

/**
 * 设置界面大小
 */
function Personal_resizeUI() {
}

/**
 * 显示个人信息设置
 */
function Personal_showPInfo() {
	var personalMain = document.getElementById("personalMain");
	if (!personalMain) return;
	var op = _common.getArrayObject(_operators.operators, "id", _personSession.id);
	if (op == null) return;	
	
	var strType = _langPackage.personal.info.normal;
	if (_personSession.type == "A") strType = _langPackage.personal.info.admin;
	
	var strDep = "";
	for (var ii = 0; ii < _common.lists.l9006.length; ii ++) {
		//depopid;companyid;depid;opid;isadmin;
		if (_personSession.id == _common.lists.l9006[ii][3]) {
			var depId = _common.lists.l9006[ii][2];
			//depid;language;depname;email;companyid;default
			var arrDep = _common.getListObjByPropertyValue(9003, 0, depId);
			if (arrDep != null) {
				if (strDep != "") strDep += "/";
				strDep += arrDep[2];
			}
		}
	}
	
	var reg = /^0{0,1}[0-9]{11,11}$/g;
	var tel = "";
	var mobile = "";
	if (op.phone != "") {
		if (reg.test(op.phone)) {
			mobile = op.phone;
			tel = op.telephone;
		} else {
			mobile = op.telephone;
			tel = op.phone;
		}
	} else if (op.telephone != "") {
		if (reg.test(op.telephone)) {
			mobile = op.telephone;
			tel = op.phone;
		} else {
			mobile = op.phone;
			tel = op.telephone;
		}
	}
	var data = {
		images_path : _setting.imagesPath,
		personal : {
			company : _personSession.company,
			account : _personSession.account,
			nick	: _personSession.nick,
			strType	: strType,
			strDep	: strDep,
			position 	: op.position,
			email		: op.email,
			phone 		: tel,
			telephone 	: mobile
			}
		};
	
	var result = TrimPath.processDOMTemplate("personal_info_tpl", data);
	personalMain.innerHTML = result;
}

/**
 * 取消修改个人信息
 */
function Personal_cancelMdInfo() {
	var oPosition = document.getElementById("personal_mdPositionText");
	var oEmail = document.getElementById("personal_mdEmailText");
	var oTel = document.getElementById("personal_mdTelText");
	var oMobile = document.getElementById("personal_mdMobileText");
	var oOld = document.getElementById("personal_mdOldPassText");
	var oNew = document.getElementById("personal_mdNewPassText");
	var oCfg = document.getElementById("personal_mdCfgPassText");
	
	try {
		var op = _common.getArrayObject(_operators.operators, "id", _personSession.id);
		oPosition.value = op.position;
		oEmail.value = op.email;
		oTel.value = op.phone;
		oMobile.value = op.telephone;
		oOld.value = "";
		oNew.value = "";
		oCfg.value = "";
	} catch (exc) {
		_common.alertDebug(exc);
	}
}

/**
 * 执行修改个人信息
 * &lt;M>&lt;C>9254;ID;name;email;password;Mobile[手机];Tel[联系电话];Duty[职务];Remark[备注]&lt;/C>&lt;/M>
 */
function Personal_doMdInfo() {
	var oPosition = document.getElementById("personal_mdPositionText");
	var oEmail = document.getElementById("personal_mdEmailText");
	var oNick = document.getElementById("personal_mdNickText");
	var oTel = document.getElementById("personal_mdTelText");
	var oMobile = document.getElementById("personal_mdMobileText");
	var oOld = document.getElementById("personal_mdOldPassText");
	var oNew = document.getElementById("personal_mdNewPassText");
	var oCfg = document.getElementById("personal_mdCfgPassText");
	
	if (oNick.value == "") {
		_common.popPrompt(4, _langPackage.personal.info.nickEmpty);
		_common.ocxPrompt(4, _langPackage.personal.info.nickEmpty, "");
		oNick.focus();
		return false;
	}
	
	var email = oEmail.value;
	if (!_common.checkEmail(email)) {
		_common.popPrompt(4, _langPackage.personal.info.emailError);
		_common.ocxPrompt(4, _langPackage.personal.info.emailError, "");
		oEmail.focus();
		return false;
	}
	
	var op = _common.getArrayObject(_operators.operators, "id", _personSession.id);
	if (op == null) return;
	
	var passwd = op.passwd;
	
	if (oNew.value != "") {
		if (oNew.value != oCfg.value) {
			_common.popPrompt(4, _langPackage.personal.info.passwdError);
			_common.ocxPrompt(4, _langPackage.personal.info.passwdError, "");
			oNew.focus();
			return false;
		}
		if (hex_md5(oOld.value) != op.passwd) {
			_common.popPrompt(4, _langPackage.personal.info.oldPasswdError);
			_common.ocxPrompt(4, _langPackage.personal.info.oldPasswdError, "");
			oOld.value = "";
			oOld.focus();
			return false;
		}
		passwd = hex_md5(oNew.value);
	}
	
	oPosition.disabled = true;
	oEmail.disabled = true;
	oNick.disabled = true;
	oTel.disabled = true;
	oMobile.disabled = true;
	oOld.disabled = true;
	oNew.disabled = true;
	oCfg.disabled = true;
	var personal_mdInfoBtnDiv = document.getElementById("personal_mdInfoBtnDiv");
	personal_mdInfoBtnDiv.innerHTML = _langPackage.personal.info.saving;
	
	_common.send("<M><C>9254;" + op.id + ";" + oNick.value + ";" + email + ";" + passwd + ";" + oMobile.value + ";" + oTel.value + ";" + oPosition.value + ";" + op.memo + "</C></M>");
}

/**
 * 返回修改个人信息
 * @param HJWebClMsgStringMsg msg9254 &lt;M>&lt;C>9254;ErrorID;ID;name;email;password;Mobile[手机];Tel[联系电话];Duty[职务];Remark[备注]&lt;/C>&lt;/M>
 */
function Personal_rsMdInfo(msg9254) {
	if (msg9254.commands[0] != "0") {
		_common.popPrompt(4, _langPackage.personal.info.editFailed);
		_common.ocxPrompt(4, _langPackage.personal.info.editFailed, "");
		try {
			var oPosition = document.getElementById("personal_mdPositionText");
			var oNick = document.getElementById("personal_mdNickText");
			var oEmail = document.getElementById("personal_mdEmailText");
			var oTel = document.getElementById("personal_mdTelText");
			var oMobile = document.getElementById("personal_mdMobileText");
			var oOld = document.getElementById("personal_mdOldPassText");
			var oNew = document.getElementById("personal_mdNewPassText");
			var oCfg = document.getElementById("personal_mdCfgPassText");
			oPosition.disabled = false;
			oNick.disabled = false;
			oEmail.disabled = false;
			oTel.disabled = false;
			oMobile.disabled = false;
			oOld.disabled = false;
			oNew.disabled = false;
			oCfg.disabled = false;
			var personal_mdInfoBtnDiv = document.getElementById("personal_mdInfoBtnDiv");
			personal_mdInfoBtnDiv.innerHTML = "<a href=\"#\" onclick=\"_personal.doMdInfo();\"><img src=\"" + _setting.imagesPath + "queren.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>&nbsp;&nbsp;&nbsp;<a href=\"#\" onclick=\"_personal.cancelMdInfo();\"><img src=\"" + _setting.imagesPath + "quxiao.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>";
		} catch (exc) {
			_common.alertDebug(exc);
		}
	} else {
		try {
			var oPosition = document.getElementById("personal_mdPositionText");
			var oEmail = document.getElementById("personal_mdEmailText");
			var oNick = document.getElementById("personal_mdNickText");
			var oTel = document.getElementById("personal_mdTelText");
			var oMobile = document.getElementById("personal_mdMobileText");
			var oOld = document.getElementById("personal_mdOldPassText");
			var oNew = document.getElementById("personal_mdNewPassText");
			var oCfg = document.getElementById("personal_mdCfgPassText");
			oPosition.disabled = false;
			oNick.disabled = false;
			oEmail.disabled = false;
			oTel.disabled = false;
			oMobile.disabled = false;
			oOld.disabled = false;
			oNew.disabled = false;
			oCfg.disabled = false;
			oOld.value = "";
			oNew.value = "";
			oCfg.value = "";
			var personal_mdInfoBtnDiv = document.getElementById("personal_mdInfoBtnDiv");
			personal_mdInfoBtnDiv.innerHTML = "<a href=\"#\" onclick=\"_personal.doMdInfo();\"><img src=\"" + _setting.imagesPath + "queren.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>&nbsp;&nbsp;&nbsp;<a href=\"#\" onclick=\"_personal.cancelMdInfo();\"><img src=\"" + _setting.imagesPath + "quxiao.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>";
		} catch (exc) {
			_common.alertDebug(exc);
		}
		
		var name = msg9254.commands[2];
		var email = msg9254.commands[3];
		var passwd = msg9254.commands[4];
		var mobile = msg9254.commands[5];
		var tel = msg9254.commands[6];
		var position = msg9254.commands[7];
		var remark = msg9254.commands[8];
		
		_personSession.nick = name;
		_personSession.position = position;
		_personSession.phone = tel;
		_personSession.telephone = mobile;
		_personSession.email = email;
		
		var op = _common.getArrayObject(_operators.operators, "id", _personSession.id);
		if (op != null) {
			op.name = name;
			op.email = email;
			op.passwd = passwd;
			op.phone = tel;
			op.telephone = mobile;
			op.position = position;
			op.memo = remark;
		}
		_common.popPrompt(4, _langPackage.personal.info.editSuccess);
		_common.ocxPrompt(4, _langPackage.personal.info.editSuccess, "");
	}
}


/**
 * 显示监控列选择设置
 */
function Personal_showMonitor() {
	var personalMain = document.getElementById("personalMain");
	if (!personalMain) return;
	
	var cookieCols = Cookie_get("HJWEBCL_VIEWCOLS");
	if (cookieCols == null) cookieCols = _setting.defaultShowCols;
	else if (cookieCols.length != _setting.defaultShowCols.length) {
		cookieCols = _setting.defaultShowCols;
	}
	var arrCols = cookieCols.split("$");
	var cols = new Array();
	for (var i = 0; i < arrCols.length; i++) {
		var arrCol = arrCols[i].split("#");
		if (arrCol.length != 5) continue;
		if (_common.versionArr[0] == "3" && !_setting.baseVersionCols.has(arrCol[1])) continue;
		var arrRow = new Array();
		arrRow[0] = arrCol;
		i++;
		if (i < arrCols.length) {
			arrCol = arrCols[i].split("#");
			if (arrCol.length != 5) arrRow[1] = new Array();
			else arrRow[1] = arrCol;
		} else {
			arrRow[1] = new Array();
		}
		cols.push(arrRow);
	}
	
	var data = {
		images_path : _setting.imagesPath,
		cols		: cols
		};
	
	var str = TrimPath.processDOMTemplate("personal_monitor_tpl", data);
	personalMain.innerHTML = str;
}

/**
 * 显示欢迎语设置
 */
function Personal_showWelcome() {
	var personalMain = document.getElementById("personalMain");
	if (!personalMain) return;
	var data = {
		images_path : _setting.imagesPath,
		personal : {
			hello	: _personSession.hello,
			bye		: _personSession.bye
			}
		};
	
	var str = TrimPath.processDOMTemplate("personal_welcome_tpl", data);
	personalMain.innerHTML = str;
}

/**
 * 提示设置
 */
function Personal_showPrompt() {
	var popSetting = _common.popPromptSetting;
	var soundSetting = _common.soundPromptSetting;
	var personalMain = document.getElementById("personalMain");
	if (!personalMain) return;
	var aPop = new Array();
	var aSound = new Array();
	var tmp = popSetting;
	while (tmp > 0) {
		if (tmp % 2 == 0) {
			aPop.push(0);
		} else {
			aPop.push(1);
		}
		if (tmp > 1) {
			tmp = Math.floor(tmp / 2);
		} else {
			tmp = 0;
		}
	}
	var tmp = soundSetting;
	while (tmp > 0) {
		if (tmp % 2 == 0) {
			aSound.push(0);
		} else {
			aSound.push(1);
		}
		if (tmp > 1) {
			tmp = Math.floor(tmp / 2);
		} else {
			tmp = 0;
		}
	}
	var data = {
		images_path : _setting.imagesPath,
		popCheck	: aPop,
		soundCheck	: aSound
		};
	
	var str = TrimPath.processDOMTemplate("personal_prompt_tpl", data);
	personalMain.innerHTML = str;
}

/**
 * 取消修改欢迎语
 */
function Personal_cancelMdWelcome() {
	var oHello = document.getElementById("personal_welcomeHelloText");
	var oBye = document.getElementById("personal_welcomeByeText");
	try {
		oHello.value = _personSession.hello;
		oBye.value = _personSession.bye;
	} catch (exc) {
		_common.alertDebug(exc);
	}
}

/**
 * 执行修改欢迎语
 * &lt;M>&lt;C>9250;opid,welcomemsg;goodbyemsg&lt;/C>&lt;/M>
 */
function Personal_doMdWelcome() {
	var oHello = document.getElementById("personal_welcomeHelloText");
	var oBye = document.getElementById("personal_welcomeByeText");
	if (!oHello || !oBye) return;
	if (oHello.value == "") {
		_common.popPrompt(4, _langPackage.personal.welcome.hello);
		_common.ocxPrompt(4, _langPackage.personal.welcome.hello, "");
		oHello.focus();
		return false;
	}
	if (oBye.value == "") {
		_common.popPrompt(4, _langPackage.personal.welcome.bye);
		_common.ocxPrompt(4, _langPackage.personal.welcome.bye, "");
		oBye.focus();
		return false;
	}
	
	var personal_welcomeBtnDiv = document.getElementById("personal_welcomeBtnDiv");
	personal_welcomeBtnDiv.innerHTML = _langPackage.personal.welcome.saving;
	oHello.disabled = true;
	oBye.disabled = true;
	_common.send("<M><C>9250;" + _personSession.id + ";" + oHello.value + ";" + oBye.value + "</C></M>");
}

/**
 * 返回修改欢迎语
 * @param HJWebClMsgStringMsg msg9250 &lt;M>&lt;C>9250;错误ID，opid,welcomemsg;goodbyemsg&lt;/C>&lt;/M>
 */
function Personal_rsMdWelcome(msg9250) {
	if (msg9250.commands[0] != "0") {
		_common.popPrompt(4, _langPackage.personal.welcome.editFailed);
		_common.ocxPrompt(4, _langPackage.personal.welcome.editFailed, "");
		try {
			var oHello = document.getElementById("personal_welcomeHelloText");
			var oBye = document.getElementById("personal_welcomeByeText");
			var personal_welcomeBtnDiv = document.getElementById("personal_welcomeBtnDiv");
			personal_welcomeBtnDiv.innerHTML = "<a href=\"#\" onclick=\"_personal.doMdWelcome();\"><img src=\"" + _setting.imagesPath + "queren.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>&nbsp;&nbsp;&nbsp;<a href=\"#\" onclick=\"_personal.cancelMdWelcome();\"><img src=\"" + _setting.imagesPath + "quxiao.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>";
			oHello.disabled = false;
			oBye.disabled = false;
		} catch (exc) {
			_common.alertDebug(exc);
		}
	} else {
		try {
			var oHello = document.getElementById("personal_welcomeHelloText");
			var oBye = document.getElementById("personal_welcomeByeText");
			var personal_welcomeBtnDiv = document.getElementById("personal_welcomeBtnDiv");
			personal_welcomeBtnDiv.innerHTML = "<a href=\"#\" onclick=\"_personal.doMdWelcome();\"><img src=\"" + _setting.imagesPath + "queren.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>&nbsp;&nbsp;&nbsp;<a href=\"#\" onclick=\"_personal.cancelMdWelcome();\"><img src=\"" + _setting.imagesPath + "quxiao.gif\" width=\"68\" height=\"22\" border=\"0px\" /></a>";
			oHello.disabled = false;
			oBye.disabled = false;
		} catch (exc) {
			_common.alertDebug(exc);
		}
		var id = msg9250.commands[1];
		var hello = msg9250.commands[2];
		var bye = msg9250.commands[3];
		_personSession.hello = hello;
		_personSession.bye = bye;
		var op = _common.getArrayObject(_operators.operators, "id", id);
		if (op != null) {
			op.hello = hello;
			op.bye = bye;
		}
		_common.popPrompt(4, _langPackage.personal.welcome.editSuccess);
		_common.ocxPrompt(4, _langPackage.personal.welcome.editSuccess, "");
	}
}


/**
 * 设置提示
 */
function Personal_setPrompt() {
	var pops = document.getElementsByName("personal_popPromptSetting[]");
	var popSetting = 0;
	for (var i = 0; i < pops.length; i++) {
		if (pops[i].checked) popSetting += parseInt(pops[i].value);
	}
	var sounds = document.getElementsByName("personal_soundPromptSetting[]");
	var soundSetting = 0;
	for (var i = 0; i < sounds.length; i++) {
		if (sounds[i].checked) soundSetting += parseInt(sounds[i].value);
	}
	Cookie_set("HJWEBCL_POPPROMPT", popSetting, 365*24*60*60);
	Cookie_set("HJWEBCL_SOUNDPROMPT", soundSetting, 365*24*60*60);
	_common.popPromptSetting = popSetting;
	_common.soundPromptSetting = soundSetting;
	_common.aPopPrompt = new Array();
	_common.aSountPrompt = new Array();
	var tmp = _common.popPromptSetting;
	while (tmp > 0) {
		if (tmp % 2 == 0) {
			_common.aPopPrompt.push(0);
		} else {
			_common.aPopPrompt.push(1);
		}
		if (tmp > 1) {
			tmp = Math.floor(tmp / 2);
		} else {
			tmp = 0;
		}
	}
	var tmp = _common.soundPromptSetting;
	while (tmp > 0) {
		if (tmp % 2 == 0) {
			_common.aSountPrompt.push(0);
		} else {
			_common.aSountPrompt.push(1);
		}
		if (tmp > 1) {
			tmp = Math.floor(tmp / 2);
		} else {
			tmp = 0;
		}
	}
	this.showPrompt();
	_common.popPrompt(4, _langPackage.personal.promptSet.editSuccess);
	_common.ocxPrompt(4, _langPackage.personal.promptSet.editSuccess, "");
}

/**
 * 还原默认提示
 */
function Personal_promptLoadDefault() {
	Cookie_set("HJWEBCL_POPPROMPT", _setting.defaultPopPrompt, 365*24*60*60);
	Cookie_set("HJWEBCL_SOUNDPROMPT", _setting.defaultSoundPrompt, 365*24*60*60);
	_common.popPromptSetting = _setting.defaultPopPrompt;
	_common.soundPromptSetting = _setting.defaultSoundPrompt;
	_common.aPopPrompt = new Array();
	_common.aSountPrompt = new Array();
	var tmp = _common.popPromptSetting;
	while (tmp > 0) {
		if (tmp % 2 == 0) {
			_common.aPopPrompt.push(0);
		} else {
			_common.aPopPrompt.push(1);
		}
		if (tmp > 1) {
			tmp = Math.floor(tmp / 2);
		} else {
			tmp = 0;
		}
	}
	var tmp = _common.soundPromptSetting;
	while (tmp > 0) {
		if (tmp % 2 == 0) {
			_common.aSountPrompt.push(0);
		} else {
			_common.aSountPrompt.push(1);
		}
		if (tmp > 1) {
			tmp = Math.floor(tmp / 2);
		} else {
			tmp = 0;
		}
	}
	this.showPrompt();
	_common.popPrompt(4, _langPackage.personal.promptSet.defBack);
	_common.ocxPrompt(4, _langPackage.personal.promptSet.defBack, "");
}
/**
 * 设置监控列
 */
function Personal_setMonitor() {
	setViewColsDisplayCookie(1);
	_common.popPrompt(4, _langPackage.personal.viewCols.editSuccess);
	_common.ocxPrompt(4, _langPackage.personal.viewCols.editSuccess, "");
}

/**
 * 还原默认监控列设置
 */
function Personal_loadDefaultMonitor() {
	setViewColsDisplayDefault();
	_personal.showMonitor();
	_common.popPrompt(4, _langPackage.personal.viewCols.defBack);
	_common.ocxPrompt(4, _langPackage.personal.viewCols.defBack, "");
}

var _personal = new Personal();
//-->