
/**
 * 实时判断用户是否登录并在会话有效期内的方法，适合需要实时检查的时候用。主要方法为doRequiredLoginAction，其他方法主要是内部使用。
 */
function isLoginedAtServer() {
	$importSync("/dwr/interface/loginDWR.js");
	var currentUserId;
	loginDWR.getCurrentAppUserId({callback:function (data) {
		currentUserId = data;
	}, async:false});
	return currentUserId == "-2" ? false : true;
}
var globalLoginCallback = null;
function doRequiredLoginAction(loginCallback) {
	globalLoginCallback = loginCallback;
	$importDwr(function () {
		$importSimpleDialog(function(){
			if (!isLoginedAtServer()) {
				if (window.confirm(__FMT.loginConfirm)) {
					fnShowLoginDialog();
				}
			} else {
				execLoginCallback();
			}
		});
	});
}
function execLoginCallback() {
	if (globalLoginCallback!=null) {
		globalLoginCallback.call();
		globalLoginCallback=null;
	}
}
var dlgLogin=null;
function fnShowLoginDialog() {
	if (dlgLogin==null) {
		dlgLogin = fnCreateSimpleDialog("Login",__FMT.first_login,null,{
			dialogWidth:"400px",
			dialogHeight:"180px"
		});
	}
	dlgLogin.showDialog(__ctxPath + "/customer/loginDlg.html?decorator=blank",function(){
		$("j_username").value = getCurrentUserName(false);
		//弹出层里面focus不生效
	});
}
function fnDoLoginHandler() {
	var username = $("j_username").value;
	var password = $("j_password").value;
	if (trim(username) == "") {
		alert(__FMT.customer_username_isRequired);
		$("j_username").focus();
		return;
	}
	if (trim(password) == "") {
		alert(__FMT.customer_password_isRequired);
		$("j_password").focus();
		return;
	}
	loginDWR.getLoginStatus(username, password, {callback:function (data) {
		if (data == "success") {
			//sysMsg("You signed in system successfully!");
			dlgLogin.closeDialog();
			fillLoginPrompt();
			execLoginCallback();
		} else {
			$("loginMsg").innerHTML = "<font color='red'>"+__FMT.customer_login_fail+"</font>";
		}
	}});
}
function password_onkeypress(event) {
	var code = (event.keyCode == null) ? event.charCode : event.keyCode;
	if (code == 13) {
		fnDoLoginHandler();
	}
}

