
function hasAddError() {

	reset();
	var error = false;

	if ($('model').selectedIndex == 0) {
		addErrorMessage('model_error', 'モデルを選択してください。');
		toError('model');
		error = true;
	}

	if ($('color').selectedIndex == 0) {
		addErrorMessage('color_error', 'カラーを選択してください。');
		toError('color');
		error = true;
	}

	if ($('size').selectedIndex == 0) {
		addErrorMessage('size_error', 'サイズを選択してください。');
		toError('size');
		error = true;
	}

	if ($('quantity').selectedIndex == 0) {
		addErrorMessage('quantity_error', '注文数を選択してください。');
		toError('quantity');
		error = true;
	}

	return error;
}

function hasConfirmError() {

	reset();
	var error = false;

	if ($('name01').value == '') {
		addErrorMessage('name01_error', 'お名前 姓を入力してください。');
		toError('name01');
		error = true;
	}

	if ($('name02').value == '') {
		addErrorMessage('name02_error', 'お名前 名を入力してください。');
		toError('name02');
		error = true;
	}

	if ($('kana01').value == '') {
		addErrorMessage('kana01_error', 'お名前（フリガナ） セイを入力してください。');
		toError('kana01');
		error = true;
	}

	if ($('kana02').value == '') {
		addErrorMessage('kana02_error', 'お名前（フリガナ） メイを入力してください。');
		toError('kana02');
		error = true;
	}

	if ($('zip01').value == '' || $('zip02').value == '') {
		addErrorMessage('zip_error', '郵便番号を入力してください。');
		toError('zip01');
		toError('zip02');
		error = true;
	} else if ($('zip01').value.length != 3  || $('zip02').value.length != 4) {
		addErrorMessage('zip_error', '郵便番号は3桁-4桁で入力してください。');
		toError('zip01');
		toError('zip02');
		error = true;
	} else if (isNaN($('zip01').value) || isNaN($('zip02').value)) {
		addErrorMessage('zip_error', '郵便番号は数字で入力してください。');
		toError('zip01');
		toError('zip02');
		error = true;
	}

	if ($('pref').selectedIndex == 0) {
		addErrorMessage('pref_error', '都道府県を選択してください。');
		toError('pref');
		error = true;
	}

	if ($('address01').value == '') {
		addErrorMessage('address01_error', '市区町村名を入力してください。');
		toError('address01');
		error = true;
	}

	if ($('address02').value == '') {
		addErrorMessage('address02_error', '番地・ビル名を入力してください。');
		toError('address02');
		error = true;
	}

	if ($('tel01').value == '' || $('tel02').value == '' || $('tel03').value == '') {
		addErrorMessage('tel_error', '電話番号を入力してください。');
		toError('tel01');
		toError('tel02');
		toError('tel03');
		error = true;
	} else if (isNaN($('tel01').value) || isNaN($('tel02').value) || isNaN($('tel03').value)) {
		addErrorMessage('tel_error', '電話番号は数字で入力してください。');
		toError('tel01');
		toError('tel02');
		toError('tel03');
		error = true;
	}

	if ($('mail_address01').value == '') {
		addErrorMessage('mail_address01_error', 'メールアドレス(上段)を入力してください。');
		toError('mail_address01');
		error = true;
	}

	if ($('mail_address02').value == '') {
		addErrorMessage('mail_address02_error', 'メールアドレス(下段)を入力してください。');
		toError('mail_address02');
		error = true;
	}

	if ($('mail_address01').value != '' && $('mail_address02').value != '') {
		if (!$('mail_address01').value.match(/^([a-zA-Z0-9])+([a-zA-Z0-9¥._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9¥._-]+)+$/)
				|| !$('mail_address02').value.match(/^([a-zA-Z0-9])+([a-zA-Z0-9¥._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9¥._-]+)+$/)) {
			addErrorMessage('mail_address_error', 'メールアドレスは正しい形式で入力してください。');
			toError('mail_address01');
			toError('mail_address02');
			error = true;
		} else if ($('mail_address01').value != $('mail_address02').value) {
			addErrorMessage('mail_address_error', 'メールアドレス(上段)と(下段)には同じ値を入力してください。');
			toError('mail_address01');
			toError('mail_address02');
			error = true;
		}
	}

	if ($('order_list_str').value == '') {
		addErrorMessage('order_error', '注文する商品を選択してください。');
		toError('model');
		toError('color');
		toError('size');
		toError('quantity');
		error = true;
	}

	return error;
}

function reset() {
	deleteErrorMessage('model_error');
	toNormal('model');
	deleteErrorMessage('color_error');
	toNormal('color');
	deleteErrorMessage('size_error');
	toNormal('size');
	deleteErrorMessage('quantity_error');
	toNormal('quantity');

	deleteErrorMessage('name01_error');
	toNormal('name01');
	deleteErrorMessage('name02_error');
	toNormal('name02');
	deleteErrorMessage('kana01_error');
	toNormal('kana01');
	deleteErrorMessage('kana02_error');
	toNormal('kana02');
	deleteErrorMessage('zip_error');
	toNormal('zip01');
	toNormal('zip02');
	deleteErrorMessage('pref_error');
	toNormal('pref');
	deleteErrorMessage('address01_error');
	toNormal('address01');
	deleteErrorMessage('address02_error');
	toNormal('address02');
	deleteErrorMessage('tel_error');
	toNormal('tel01');
	toNormal('tel02');
	toNormal('tel03');
	deleteErrorMessage('mail_address01_error');
	toNormal('mail_address01');
	deleteErrorMessage('mail_address02_error');
	toNormal('mail_address02');
	deleteErrorMessage('mail_address_error');
	deleteErrorMessage('order_error');
}

function toError(name) {
	$(name).style.background = 'pink';
}

function addErrorMessage(name, msg) {
	$(name).className = 'error_msg';
	$(name).innerHTML = msg + '<br/>';
}

function toNormal(name) {
	$(name).style.background = '';
}

function deleteErrorMessage(name) {
	$(name).className = '';
	$(name).innerHTML = '';
}

window.onload = function() {
	Event.observe('submit_add', 'click', function() {
		if (!hasAddError()) {
			$('command').value = 'add';
			$('form_order').action = './order.php#main';
			$('form_order').submit();
		}
	});

	Event.observe('submit_confirm', 'click', function() {
		if (!hasConfirmError()) {
			$('form_order').action = './confirm.php';
			$('form_order').submit();
		}
	});
};
