﻿var frmsent = false;

jQuery(function($)
{
	var frmname = "frm_mailmagazine";
	var frm = $("#" + frmname);
	var msgerror = "submit_error_msg";
	var erm = $("#" + msgerror);

	function chkMailConf()
	{
		if (location.pathname.indexOf("cgi-bin/mail") != -1)
		{
			return true;
		}
		return false;
	}

	// 余計な空白を除去
	function getTrimmedString(str)
	{
		return jQuery.trim(str);
	}

	function addErrorStyle(frmid)
	{
		$("#" + frmid).addClass("submit_error_bg");
	}
	function removeErrorStyle(frmid)
	{
		$("#" + frmid).removeClass("submit_error_bg");
	}


	// 送信前の確認
	function chkSubmit()
	{
		var blnAll = true;
		var strErrorMsg = "";
		var strFocus = "";
		var strMail = "";

		// 余計な空白を削除
		$("#" + frmname +" :text").each(function(i)
		{
			$(this).val(getTrimmedString($(this).val()));
		});

		// お名前
		if ($("#name").val() == "")
		{
			addErrorStyle("name");
			strErrorMsg = "お名前をご記入ください";
			strFocus = "name";
			blnAll = false;
		}
		else
		{
			removeErrorStyle("mei");
		}

		strMail = $("#mail").val() + "";
		// メールアドレス
		if ((strMail == "") || (!strMail.match(/^[A-Za-z0-9]+[\w\.-]+@[\w\.-]+\.\w{2,}$/)))
		{
			addErrorStyle("mail");
			strErrorMsg = "メールアドレスをご確認ください";
			strFocus = "mail";
			blnAll = false;
		}
		else if (chkMobileMail(strMail) == true)
		{
			addErrorStyle("mail");
			strErrorMsg = "PC用のアドレスをご登録ください";
			strFocus = "mail";
			blnAll = false;
		}
		else
		{
			removeErrorStyle("mail");
		}

		erm.text(strErrorMsg);

		if (strErrorMsg != "")
		{
			erm.show();
			$("#" + strFocus).focus();
		}
		else
		{
			erm.hide();
		}

		return blnAll;

	}

	$("#" + frmname).submit(function()
	{
		if (frmsent == false)
		{
			if (chkSubmit() == true)
			{
				if (chkMailConf() == false)
				{
					// 念のため、削る
					$("#name").val($("#name").val().substring(0, 200));
					$("#mail").val($("#mail").val().substring(0, 300));
				}
				return true;
			}
		}
		return false;
	});

	if (chkMailConf() == false)
	{
		$("#name").bind("blur", function()
		{
			if ($(this).val() != "")
			{
				removeErrorStyle("name");
			}
		});
		$("#mail").bind("blur", function()
		{
			if ($(this).val() != "")
			{
				removeErrorStyle("mail");
			}
		});

	}

	// モバイル用メールアドレスを判定
	function chkMobileMail(str)
	{
		var tstr = str + "";
		var ismob = false;
		var mob = ["@ezweb.ne.jp", "@docomo.ne.jp", "@vodafone.ne.jp", "@softbank.ne.jp", "@pdx.ne.jp"];

		for (var i = 0,mlen = mob.length; i < mlen; i++)
		{
			if (tstr.lastIndexOf(mob[i]) > - 1)
			{
				ismob = true;
				break;
			}
		}

		return ismob;
	}
});


