/*
Ajavu Ver 0.002 Copyright 2007 by Tsuda, Nobuhide
Created: 07/03/16
Author: Tsuda, Nobuhide
Description: Nicholai フロントエンドJavaScriptプログラム
				ログイン・ログアウト関連部分

本プログラムのライセンスは MIT License (http://www.opensource.jp/licenses/mit-license.html) に従う。
MIT License とは、要約すると以下のとおりである。
   1. このソフトウェアを誰でも無償で無制限に扱って良い。但し、著作権表示および本許諾表示を、
      ソフトウェアのすべての複製または重要な部分に記載しなければならない。
   2. 作者または著作権者は、ソフトウェアに関してなんら責任を負わない。
*/

//	初期化関数登録
/*
addOnInitFuncs(function()
{
	//alert("login関連初期化");
	//$(".cancel").click(中止処理);

	$("#doLogin").click(ログイン処理);
	$("#doLogout").click(ログアウト処理);
	$("#li_creAcnt").click(アカウント作成画面);
	$("#doCreateAccount").click(アカウント作成処理);
	$("#li_sendPass").click(パスワード再発行画面);
	$("#doSendPass").click(パスワード再発行処理);
	$("#chgUserSettings").click(ユーザ設定画面);
	$("#doChgUserSettings").click(ユーザ設定処理);
});
*/

function ログイン処理()
{
	var mail = $("#li_mail").val();
	if( mail == "" ) {
		alert("メールアドレスが入力されていません。");
		return;
	}
	var pass = $("#li_pass").val();
	if( pass == "" ) {
		alert("パスワードが入力されていません。");
		return;
	}
	var param = {act:"login", mail:"", password:""};
	param.mail = mail;
	param.password = pass;
	$.post(g_loginBackEndPHP, param, function(html, staus) {
		if( (json = toJSON(html, "ログイン出来ませんでした")) == null )
			return;
		alert("ログインできました。\n前回ログイン日付時刻：" + json.lastLoggedIn);
		location.reload();
	});
}
function ログアウト処理()
{
	$.post(g_loginBackEndPHP, {act:"logout"}, function(html, staus) {
		if( (json = toJSON(html, "ログアウト出来ませんでした")) == null )
			return;
		alert("ログアウトしました。");
		location.reload();
	});
}
function 中止処理()
{
	$(".loginForm").hide("slow");
	//$("#createAccountForm").hide("slow");
	//$("#sendPasswordForm").hide("slow");
	//$("#userSettingsForm").hide("slow");
	//$("#createCommunityForm").hide("slow");
	//$("#createThreadForm").hide("slow");
	//$("#confCommentDiv").hide("slow");
}
function アカウント作成画面()
{
	$("#sendPasswordForm").hide();
	$("#createAccountForm").show("slow");
	return false;
}
function アカウント作成処理()
{
	var mail = $("#ca_mail").val();
	if( mail == "" ) {
		alert("メールアドレスが入力されていません。");
		return false;
	}
	var name = $("#ca_name").val();
	if( name == "" ) {
		alert("お名前が入力されていません。");
		return false;
	}
	var birthM = Number($("#ca_birth_month").val());
	var birthD = Number($("#ca_birth_day").val());
	var param = {act:"createAccount", mail:"", name:"", birthMD:101};
	param.mail = mail;
	param.name = name;
	param.birthMD = birthM * 100 + birthD;
	$.post(g_loginBackEndPHP, param, function(html, status) {
		if( (json = toJSON(html, "アカウントを作成出来ませんでした")) == null )
			return;
		alert("アカウントが作成され、パスワードがで登録メールアドレスに送信されませした。");
		$("#createAccountForm").hide("slow");
	});
	return false;
}
function パスワード再発行画面()
{
	$("#createAccountForm").hide("slow");
	$("#sendPasswordForm").show("slow");
	return false;
}
function パスワード再発行処理()
{
	var param = {act:"sendPass", mail:"", birthMD:101};
	param.mail = $("#sp_mail").val();
	var birthM = Number($("#sp_birth_month").val());
	var birthD = Number($("#sp_birth_day").val());
	param.birthMD = birthM * 100 + birthD;
	$.post(g_loginBackEndPHP, param, function(html, status) {
		if( (json = toJSON(html, "新しいパスワードを生成出来ませんでした")) == null )
			return;
		alert("新しいパスワードが生成され、登録メールアドレスに送信されませした。\n古いパスワードは無効になりました。");
		$("#sendPasswordForm").hide("slow");
	});
	return false;
}
function ユーザ設定画面()
{
	$("#createCommunityForm").hide();
	$("#userSettingsForm").show("slow");
	return false;
}
function ユーザ設定処理()
{
	var pass1 = $("#us_pass1").val();
	var pass2 = $("#us_pass2").val();
	if( pass1 != "" && pass1 != pass2 ) {
		alert("新しいパスワードと確認パスワードが一致していません。");
		return false;
	}
	var mail = $("#us_mail").val();
	var name = $("#us_name").val();
	if( pass1 == "" && mail == "" && name == "" ) {
		alert("フォームに何も入力されていません。\n処理をキャンセルした場合はフォーム下の【中止】を押してください。");
		return false;
	}
	var param = {act:"userSettings", mail:"", password:"", name:""};
	param.mail = mail;
	param.password = pass1;
	param.name = name;
	$.post(g_loginBackEndPHP, param, function(html, status) {
		if( (json = toJSON(html, "ユーザ設定を更新出来ませんでした")) == null )
			return;
		alert("ユーザ設定が更新されました。");
		$("#userSettingsForm").hide("slow");
	});
	return false;
}
