var inquiry_type_list = new Object();

function inquiry_submit_function(form, inquiry_id) {
	if ('送信' == jQuery('#inquiry_submit_button_' + inquiry_id).val()) {
		return true;
	}

	var obj, id, cnt, data;
	var err = '';
	var type;
	var empty_check;
	var sub;
	var check_already_list = {};

	inquiry_type_list = new Object();
	for (var i = 0; i < form.elements.length; i ++) {
		id = form.elements[i].id;
		if (!id.match(/^form_[0-9]+/)) continue;
		obj = document.getElementById(id);
		if (!obj) continue;

		param = id.split(':');
		inquiry_type_list[param[0]] = id;

		type = param[1];
		switch (type) {
		case 'check': case 'radio': case 'sex':
			if (4 == param.length) {
				empty_check = param[2];
			} else {
				empty_check = '';
			}
			break;
		default:
			if (3 == param.length) {
				empty_check = param[2];
			} else {
				empty_check = '';
			}
			break;
		}

		switch (type) {
		case 'mail':
			if (!obj.value.match(/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/)) {
				err += 'メールアドレスの書式に誤りがあります。' + "\n";
			}
			break;
		default:
			// 空チェック
			if ('' != empty_check) {
				var empty = false;
				switch (type) {
				case 'select':
				case 'addr':
				case 'addr2': // 2010/10/15 QUANTIC ADD
					// 数値以外か、０未満か、選択範囲を超えているか
					if (isNaN(obj.selectedIndex) || obj.selectedIndex < 0 || obj.options.length <= obj.selectedIndex) {
						empty = true;
					}
					break;
				case 'sex':
				case 'radio':
				case 'check':
					var check_name = param[0].split('_');
					check_name = check_name[0] + '_' + check_name[1] + ':' + type;
					if ('check' == type) {
						check_name += '[]';
					}
					if ('undefined' != typeof(check_already_list[check_name])) {
						break;
					}
					check_already_list[check_name] = true;

					var check_list = document.getElementsByName(check_name);

					empty = true;
					for (var j = 0; j < check_list.length; j ++) {
						if (check_list[j].checked) {
							empty = false;
							break;
						}
					}
					break;
				default:
					if ('' == obj.value) {
						empty = true;
					}
					break;
				}
				if (true == empty) {
					err += empty_check + 'は必須項目です。' + "\n";
				}
			}
			break;
		}
	}

	if ('' == err) {
		for (id in inquiry_type_list) {
			obj = document.getElementById(inquiry_type_list[id]);
			param = inquiry_type_list[id].split(':');
			type = param[1];

			var id2;
			switch (type) {
			case 'select': case 'addr': case 'addr2': // 2010/10/15 QUANTIC ADD
				id2 = param[0].split('_');
				id2 = id2[0] + '_' + id2[1];
				if ('select-one' == obj.type) {
					type = 'select';
				}
				break;
			case 'check': case 'radio': case 'sex':
				id2 = param[0].split('_');
				id2 = id2[0] + '_' + id2[1];
				break;
			default:
				id2 = param[0];
				break;
			}

			switch (type) {
			case 'select': case 'addr': case 'addr2': // 2010/10/15 QUANTIC ADD
				if (obj) {
					data = obj.options[obj.selectedIndex].innerHTML;
				} else {
					data = '&nbsp;';
				}
				jQuery('#inquiry_param_' + id2).html(data);
				break;
			case 'check': case 'radio': case 'sex':
				cnt = 0;
				data = '';
				if (4 == param.length) {
					sub = ':' + param[2];
				} else {
					sub = '';
				}
				while ((listObj = document.getElementById(id2 + ':' + type + sub + ':' + cnt))) {
					if (listObj.checked || listObj.selected) {
						switch (type) {
						case 'check':
							if ('' != data) data += ',';
							data += listObj.value;
							break;
						default:
							data = listObj.value;
							break;
						}
						if ('check' != type) {
							break;
						}
					}
					cnt ++;
				}
				if ('' == data) data = '&nbsp;';
				jQuery('#inquiry_param_' + id2).html(data);

				id2 = id;
				break;
			default:
				var val = obj.value;
				val = val.replace(/\n/g, '<br>');
				jQuery('#inquiry_param_' + id2).html(val);
				break;
			}

			jQuery('#inquiry_form_'       + id2).hide();
			jQuery('#inquiry_annotation_' + id2).hide();
			jQuery('#inquiry_param_'      + id2).show();
		}
		jQuery('#inquiry_submit_button_' + inquiry_id).val('送信');
		jQuery('#inquiry_back_button_' + inquiry_id).show();
	} else {
		alert(err);
	}

	return false;
}

function inquiry_back_function(inquiry_id) {
	var id, type;
	for (id in inquiry_type_list) {
		param = inquiry_type_list[id].split(':');
		type = param[1];

		switch (type) {
		case 'select':
		case 'check':
		case 'sex':
		case 'addr':
			param[0] = param[0].split('_');
			id = param[0][0] + '_' + param[0][1];
			break;
		}

		jQuery('#inquiry_form_'       + id).show();
		jQuery('#inquiry_annotation_' + id).show();
		jQuery('#inquiry_param_'      + id).hide();
	}
	jQuery('#inquiry_submit_button_' + inquiry_id).val('確認');
	jQuery('#inquiry_back_button_' + inquiry_id).hide();
}

