/*

	お客様登録用スクリプト関数

*/

// 登録削除の確認
function ConfirmCancel() {
	if(confirm('お客様登録を削除すると、各種特典が受けられなくなります。\n削除しますか？')) {
		document.SendForm1.Customer.value = '削除';
		return(true);
	}
	return(false);
}

// 登録済の場合の入力項目チェック
function CheckCustomerInput() {
	with(document.SendForm1) {
		// お客様ID（メールアドレス）の入力チェック
		if(Mail0_1.value == '') {
			Mail0_1.focus();
			alert('お客様ID（メールアドレス）を入力してください。');
			return(false);
		}
		if(CheckMailAddress(Mail0_1.value) == false) {
			Mail0_1.focus();
			alert('有効なメールアドレスではありません。');
			return(false);
		}

		// パスワードの入力チェック
		if(Pass.value == '') {
			Pass.focus();
			alert('パスワードを入力してださい。');
			return(false);
		}

		// 配達日の入力チェック
		if(document.SendForm1.SendDay0) {
			if(SendDay0.value != '') {
				if(!SendDay0.value.match(/^\d{1,2}\/\d{1,2}$/)) {
					SendDay0.focus();
					alert('配達日の指定方法が間違っています。\n「4/16」のように入力してください。');
					return(false);
				}
				var OKDay = new Date(SendOKDay.value);
				var NowDay = new Date();
				var ForwardDay = NowDay.getFullYear() + '/' + SendDay0.value;
				if(Date.parse(ForwardDay) < Date.parse(OKDay)) {
					SendDay0.focus();
					alert('申し訳ありませんが、ご指定の配達日にはお届けできません。\n「'
						+ SendOKDay.value.slice(-5) + '」以降をご指定ください。');
					return(false);
				}
			}
		}
	}
	return(true);
}

// 非登録の場合の入力項目チェック
function CheckNoCustomerInput() {
	with(document.SendForm2) {
		// 名前の入力チェック
		if(Name0_1.value == '' || Name0_2.value == '') {
			Name0_1.focus();
			alert('お名前を入力してください。');
			return(false);
		}

		// フリガナの入力チェック
		if(Kana0_1.value == '' || Kana0_2.value == '') {
			Kana0_1.focus();
			alert('フリガナを入力してください。');
			return(false);
		}

		// 年齢の選択チェック
		if(document.SendForm2.Age) {
			if(Age.selectedIndex == 0) {
				Age.focus();
				alert('年齢を選択してください。');
				return(false);
			}
		}

		// 郵便番号の入力チェック
		if(Area0Text.value != '（海外）') {
			if(Zip0_1.value == '' || Zip0_2.value == '') {
				Zip0_1.focus();
				alert('郵便番号を入力してください。');
				return(false);
			}
			if(isNaN(Zip0_1.value) || isNaN(Zip0_2.value)) {
				Zip0_1.focus();
				alert('郵便番号には数字以外は入力できません。');
				return(false);
			}
			if(String(Zip0_1.value).length != 3 || String(Zip0_2.value).length != 4 ) {
				Zip0_1.focus();
				alert('郵便番号は「123-4567」の形式で入力してください。');
				return(false);
			}
		}

		// 住所の入力チェック
		if(Area0Text.value != '（海外）') {
			if(Area0.selectedIndex == 0 || Address0.value == '') {
				Area0.focus();
				alert('住所を入力してください。');
				return(false);
			}
		}

		// 電話番号の入力チェック
		if(Area0Text.value != '（海外）') {
			if(Tel0_1.value == '' || Tel0_2.value == '' || Tel0_3.value == '') {
				Tel0_1.focus();
				alert('電話番号を入力してください。');
				return(false);
			}
			if(isNaN(Tel0_1.value) || isNaN(Tel0_2.value) || isNaN(Tel0_3.value)) {
				Tel0_1.focus();
				alert('電話番号には数字以外は入力できません。');
				return(false);
			}
		}

		// メールアドレスの入力チェック
		if(Mail0_1.value == '') {
			Mail0_1.focus();
			alert('メールアドレスを入力してください。');
			return(false);
		}
		if(Mail0_1.value == '[:tel:]' || Mail0_1.value == '[:fax:]') {
			if(Mail0_2.value != 'marutaka') {
				Mail0_2.value = '';
				Mail0_2.focus();
				alert('確認用の文字列を入力してください。');
				return(false);
			}
		} else {
			if(CheckMailAddress(Mail0_1.value) == false) {
				Mail0_1.focus();
				alert('有効なメールアドレスではありません。');
				return(false);
			}
			if(document.SendForm2.Mail0_2 && Mail0_1.value != Mail0_2.value) {
				Mail0_2.focus();
				alert('確認用のメールアドレスと合っていません。');
				return(false);
			}
		}

		// パスワードの入力チェック
		if(document.SendForm2.Pass) {
			if(Pass.value == '') {
				Pass.focus();
				alert('パスワードを入力してださい。');
				return(false);
			}
		}

		// 配達日の入力チェック
		if(document.SendForm2.SendDay0) {
			if(SendDay0.value != '') {
				if(!SendDay0.value.match(/^\d{1,2}\/\d{1,2}$/)) {
					SendDay0.focus();
					alert('配達日の指定方法が間違っています。\n「4/16」のように入力してください。');
					return(false);
				}
				var OKDay = new Date(SendOKDay.value);
				var NowDay = new Date();
				var ForwardDay = NowDay.getFullYear() + '/' + SendDay0.value;
				if(Date.parse(ForwardDay) < Date.parse(OKDay)) {
					SendDay0.focus();
					alert('申し訳ありませんが、ご指定の配達日にはお届けできません。\n「'
						+ SendOKDay.value.slice(-5) + '」以降をご指定ください。');
					return(false);
				}
			}
		}

	}
	return(true);
}

// お問い合せフォームの入力項目チェック
function CheckAskInput() {
	with(document.AskForm) {
		// 名前の入力チェック
		if(Name1.value == '' || Name2.value == '') {
			Name1.focus();
			alert('お名前を入力してください。');
			return(false);
		}

		// メールアドレスの入力チェック
		if(Mail1.value == '') {
			Mail1.focus();
			alert('メールアドレスを入力してください。');
			return(false);
		}
		if(Mail1.value != Mail2.value) {
			Mail2.focus();
			alert('確認用のメールアドレスと合っていません。');
			return(false);
		}
		if(CheckMailAddress(Mail1.value) == false) {
			Mail1.focus();
			Mail2.value = '';
			alert('有効なメールアドレスではありません。');
			return(false);
		}

		// お問い合せ内容の入力チェック
		if(Note.value == '') {
			Note.focus();
			alert('お問い合せ内容を入力してください。');
			return(false);
		}
	}
	return(true);
}

// メールマガジンフォームの入力項目チェック
function CheckMagazineInput() {
	with(document.MagazineForm) {
		// メールアドレスの入力チェック
		if(Mail.value == '') {
			Mail.focus();
			alert('メールアドレスを入力してください。');
			return(false);
		}
		if(CheckMailAddress(Mail.value) == false) {
			Mail.focus();
			alert('有効なメールアドレスではありません。');
			return(false);
		}
	}
	return(true);
}

// メールアドレスのチェック
function CheckMailAddress(str) {
	var matchArray = str.match(/^(.+)@(.+)$/);

	if(matchArray == null) return(false);

	var user = matchArray[1];
	var domain = matchArray[2];

	for(i = 0; i < user.length; i++) if(user.charCodeAt(i) > 127) return(false);
	for(i = 0; i < domain.length; i++) if(domain.charCodeAt(i) > 127) return(false);

	var domArr = domain.split('.');

	if(domArr.length < 2) return(false);
	
	return(true);
}