// Globals

// var btnLoginOn = null;

addListener(window, "load", init);

function init()
{
	var obj;
	var sCookie;
	var saCookies;
	var iCnt;
	var iCounter;
	var wWnd;
	var hWnd;
	
// Listener
 	obj = document.getElementById("go_btn_login");
	addListener(obj, "click", execLogin);

 	obj = document.getElementById("go_btn_signin");
 	addListener(obj, "click", execSignIn);

// Cookie
	sCookie = document.cookie;
	if ((sCookie != null) && (sCookie.length > 0)) {
		saCookies = sCookie.split("; ");
		iCnt = saCookies.length;
		for (iCounter = 0; iCounter < iCnt; iCounter++) {
			if (saCookies[iCounter].indexOf("ABC=") == 0) {
				document.getElementById("login_uid").value = saCookies[iCounter].substring(4);
			}
			else if (saCookies[iCounter].indexOf("DEF=") == 0) {
				document.getElementById("login_passwd").value = saCookies[iCounter].substring(4);
			}
		}
	}
	
	// httpXmlRequest("Login", "SCREEN_ID=INFO&LANG=ja", resInfo, dspErr);
}


// Login
function execLogin() {
	var sQuery;
	var sID;
	var sPasswd;
	
	if (document.getElementById("login_uid").value == "") {
		dspErr(1, "ユーザーIDを入力してください。");
		return;
	}
	if (document.getElementById("login_passwd").value == "") {
		dspErr(1, "パスワードを入力してください。");
		return;
	}

	sID     = document.getElementById("login_uid").value;
	sPasswd = document.getElementById("login_passwd").value;

	sQuery  = "SCREEN_ID=LOGIN&LANG=ja" +
	          "&ID=" + encodeURIComponent(sID) +
              "&PASSWD=" + encodeURIComponent(sPasswd);

	httpXmlRequest("servlet/Main", sQuery, resLogin, dspErr);
}

// Login
function execReLogin() {
	var sQuery;
	var sID;
	var sPasswd;
	
	if (document.getElementById("login_uid").value == "") {
		dspErr(1, "ユーザーIDを入力してください。");
		return;
	}
	if (document.getElementById("login_passwd").value == "") {
		dspErr(1, "パスワードを入力してください。");
		return;
	}

	sID     = document.getElementById("login_uid").value;
	sPasswd = document.getElementById("login_passwd").value;

	sQuery  = "SCREEN_ID=LOGIN&LANG=ja" +
	          "&ID=" + encodeURIComponent(sID) +
              "&PASSWD=" + encodeURIComponent(sPasswd) +
			  "&DEL_SESSION=ON";

	httpXmlRequest("servlet/Main", sQuery, resLogin, dspErr);
}

// Response login
function resLogin(xml)
{
	var obj;
	var oItems;
	var iSts;
	var sMessage;
	var oDate;
	var sQuery;
	var sTmp;
	var sWndID;
	var sKind;
	
	oItems = xml.getElementsByTagName("Status");
	if (oItems == null) {
		dspErr(-1, "ステータスエラー");
		return;
	}

	iSts = getIntXML(oItems);
	
	if (iSts == 0) {
		sKind = getTextData(xml.getElementsByTagName("Kind")[0]);

		// ID、パスワード保存
		oDate = new Date();
		oDate.setTime(oDate.getTime() + 1000 * 60 * 60 * 24 * 30);
		document.cookie = "ABC=" + document.getElementById("login_uid").value + "; expires=" + oDate.toGMTString();
		document.cookie = "DEF=" + document.getElementById("login_passwd").value + "; expires=" + oDate.toGMTString();
		document.cookie = "GHI=" + sKind + "; expires=" + oDate.toGMTString();
		
		location.href = "./frame.html";
		return;
	}
	else if (iSts == 3) {
		if (window.confirm("ログイン状態になっていて、ログイン制限数を超えているためログインできません。以前のログイン状態を破棄して再度ログインしますか？")) {
				execReLogin();
		}
		else {
				return;
		}
	}
	else {
		// dspErr(iSts, "ユーザIDまたはパスワードが違います");

		sMessage = getTextXML(xml.getElementsByTagName("Message"));
		sMessage = sMessage.replace(/<BR>/ig, "");
		if (sMessage.indexOf("ログアウトしてください", 0) > 0) {
			sMessage += "すでにWebブラウザを終了している場合には弊社までご連絡ください。";
			sMessage += " (mailアドレス: info@nalapro.com)";
		}
		dspErr(iSts, sMessage);
		return;
	}
}

// Set Register
function execSignIn()
{
	var obj;
	var objDiv;
	var sID;
	var sPasswd;
	var sMail;
	var sQuery;
	
	obj = document.getElementById("signin_uid");
	if (obj.value == "") {
		dspErr(1, "ユーザーIDを入力してください。");
		return;
	}
	sID = obj.value;
	
	obj = document.getElementById("signin_passwd0");
	if (obj.value == "") {
		dspErr(1, "パスワードを入力してください。");
		return;
	}
	sPasswd = obj.value;
	
	obj = document.getElementById("signin_email");
	if (obj.value == "") {
		dspErr(1, "メールアドレスを入力してください。");
		return;
	}
	sMail = obj.value;
	
	sQuery = "SCREEN_ID=REG_USER&LANG=ja"
			+ "&ID=" + sID
			+ "&PASSWD=" + sPasswd
			+ "&E_MAIL=" + sMail;
	
	httpXmlRequest("servlet/Main", sQuery, resRegUser, dspErr);
}

function resRegUser(xml)
{
	var obj;
	var oItems;
	var iSts;
	var sMessage;
	var sMail;
	var sID;
	var sPasswd;
	
	oItems = xml.getElementsByTagName("Status");
	if (oItems == null) {
		dspErr(-1, "ステータスエラー。");
		return;
	}
	
	iSts = getIntXML(oItems);

	if (iSts != 0) {
		sMessage = getTextXML(xml.getElementsByTagName("Message"));
		dspErr(iSts, sMessage);
		return;
	}
	else {
		obj = document.getElementById("signin_uid");
		sID = obj.value;
		
		obj = document.getElementById("signin_passwd0");
		sPasswd = obj.value;

		document.getElementById("login_uid").value = sID;
		document.getElementById("login_passwd").value = sPasswd;

		execLogin();

		return;
	}
}

