// JavaScript Document

var errMsg = "<label class='error'>必須項目です（ Required item. ）</label>";

// contactForm初期化処理
function initForm() {
	// フォームの要素を有効に
	$(".contactForm input").attr("disabled", "");
	$(".contactForm textarea").attr("disabled", "");
	$(".contactForm .jsMsg").remove();
	// buttonにイベントハンドラ設定
	$(".contactForm input.confirm").click(function () { confirm(); });
	$(".contactForm input.reset").click(function () { reset(); });
}

// リセット
function reset() {
	$(".contactForm label.error").remove();
	$(".contactForm .error").removeClass("error");
	$(".contactForm input.name").val("");
	$(".contactForm input.email").val("");
	$(".contactForm input.tel").val("");
	$(".contactForm textarea.content").val("");
}

// 必須項目のチェックと内容確認画面
function confirm() {
	// エラーメッセージの削除
	$(".contactForm label.error").remove();
	$(".contactForm .error").removeClass("error");

	// 必須項目の入力をチェック
	var flag = true;
	if ($(".contactForm input.name").attr("value") == "") {
		flag = false;
		$(".contactForm input.name").addClass("error");
		$(".contactForm input.name").after(errMsg);
	}
	if ($(".contactForm input.email").attr("value") == "") {
		flag = false;
		$(".contactForm input.email").addClass("error");
		$(".contactForm input.email").after(errMsg);
	}
	if ($(".contactForm textarea.content").attr("value") == "") {
		flag = false;
		$(".contactForm textarea.content").addClass("error");
		$(".contactForm textarea.content").after(errMsg);
	}

	// 必須項目がすべて入力されていたら
	if (flag) {
		// input部分書き換え
		var nameVal = cnvHtml($(".contactForm input.name").attr("value"));
		nameVal = cnvBr(nameVal);
		$(".contactForm input.name").after("<span class='name'>" + nameVal + "</span>");
		$(".contactForm input.name").css("display", "none");
		var emailVal = cnvHtml($(".contactForm input.email").attr("value"));
		emailVal = cnvBr(emailVal);
		$(".contactForm input.email").after("<span class='email'>" + emailVal + "</span>");
		$(".contactForm input.email").css("display", "none");
		var telVal = cnvHtml($(".contactForm input.tel").attr("value"));
		telVal = cnvBr(telVal);
		$(".contactForm input.tel").after("<span class='tel'>" + telVal + "</span>");
		$(".contactForm input.tel").css("display", "none");
		var contentVal = cnvHtml($(".contactForm textarea.content").val());
		contentVal = cnvBr(contentVal);
		$(".contactForm textarea.content").after("<span class='content'>" + contentVal + "</span>");
		$(".contactForm textarea.content").css("display", "none");
		// button変更
		$(".contactForm input.reset").replaceWith("<input class='btn back' type='button' value='もどる ( Back )' />");
		$(".contactForm input.confirm").replaceWith("<input class='btn send' type='button' value='送信する ( Send inquiry )' />");
		$(".contactForm input.send").click(function () { send(); });
		$(".contactForm input.back").click(function () { back(); });
	}
}

// 入力内容をメールで送信
function send() {
		// buttonを無効に
		$(".contactForm input.send").attr("disabled", "disabled");
		$(".contactForm input.back").attr("disabled", "disabled");
		// phpをpostで実行
		var form = $(".contactForm");
		var param = {};
		rel = form.serializeArray();
		$(form.serializeArray()).each(function (i, v) {
			param[v.name] = v.value;
		});
		$.post("common/php/send.php", param, complete, "json");
}

// 送信が完了したら
function complete(res) {
	if (res.isComplete) {
		// 送信完了時の処理
		// メッセージを表示
		$(".contactForm .jsMsg").remove();
		$(".contactForm").prepend("<div class='jsMsg'><p>メールを送信しました。お問い合わせありがとうございました。（ It was transmitted. Thanks for your inquiry. ）</p></div>");
		$(".contactForm .jsMsg").css("display", "none");
		$(".contactForm .jsMsg").slideDown("slow", function () {
		$(".contactForm .jsMsg").animate({opacity:1}, 5000, "linear", function() {
		$(".contactForm .jsMsg").slideUp("slow");
		});
		});
		// inputの中身を消去
		$(".contactForm input.name").val("");
		$(".contactForm input.email").val("");
		$(".contactForm input.tel").val("");
		$(".contactForm textarea.content").val("");
		back();
	} else {
		// 送信エラー時の処理
		// メッセージを表示
		$(".contactForm .jsMsg").remove();
		$(".contactForm").prepend("<div class='jsMsg'><p>[ エラー ] メールの送信に失敗しました。恐れ入りますが再度ご入力くださいますようお願いいたします。（ It failed in the transmission of mail. Please input it again.  ）</p></div>");
		$(".contactForm .jsMsg").css("display", "none");
		$(".contactForm .jsMsg").slideDown("slow", function () {
		$(".contactForm .jsMsg").animate({opacity:1}, 2500, "linear", function() {
		$(".contactForm .jsMsg").slideUp("slow");
		});
		});
		back();
	}
}

// 入力画面へもどる
function back() {
	// input部分書き換え
	$(".contactForm span.name").remove();
	$(".contactForm input.name").css("display", "inline");
	$(".contactForm span.email").remove();
	$(".contactForm input.email").css("display", "inline");
	$(".contactForm span.tel").remove();
	$(".contactForm input.tel").css("display", "inline");
	$(".contactForm span.content").remove();
	$(".contactForm textarea.content").css("display", "inline");
	// button変更
	$(".contactForm input.back").replaceWith("<input class='btn reset' type='button' value='リセット ( Reset )' />");
	$(".contactForm input.send").replaceWith("<input class='btn confirm' type='button' value='確認する ( Submit )' />");
	$(".contactForm input.confirm").click(function () { confirm(); });
	$(".contactForm input.reset").click(function () { reset(); });
}

