function insert_comment(fo_obj){
	var validator = xe.getApp('validator')[0];
	if(!validator) return false;
	if(!fo_obj.elements['_filter']) jQuery(fo_obj).prepend('<input type="hidden" name="_filter" value="" />');
	fo_obj.elements['_filter'].value = 'insert_comment';
	validator.cast('ADD_CALLBACK', ['insert_comment', function(form){
		var params={}, responses=[], elms=form.elements, data=jQuery(form).serializeArray();
		jQuery.each(data, function(i, field){
			var val = jQuery.trim(field.value);
			if(!val) return true;
			if(/\[\]$/.test(field.name)) field.name = field.name.replace(/\[\]$/, '');
			if(params[field.name]) params[field.name] += '|@|'+val;
			else params[field.name] = field.value;
		});
		responses = ['error','message','mid','document_srl','comment_srl'];
		exec_xml('board','procBoardInsertComment', params, completeInsertComment, responses, params, form);
	}]);
	validator.cast('VALIDATE', [fo_obj,'insert_comment']);
	return false;
};

(function($){
	var validator = xe.getApp('Validator')[0];
	if(!validator) return false;
	validator.cast('ADD_FILTER', ['insert_comment', {
		'document_srl': {required:true},
		'nick_name': {required:true,maxlength:20},
		'password': {required:true},
		'email_address': {maxlength:250},
		'homepage': {maxlength:250},
		'content': {required:true,minlength:1}
	}]);
	validator.cast('ADD_MESSAGE', ['document_srl', '臾몄꽌踰덊샇']);
	validator.cast('ADD_MESSAGE', ['nick_name', '蹂꾨챸']);
	validator.cast('ADD_MESSAGE', ['password', '鍮꾨�踰덊샇']);
	validator.cast('ADD_MESSAGE', ['email_address', '�대찓�� 二쇱냼']);
	validator.cast('ADD_MESSAGE', ['homepage', '�덊럹�댁�']);
	validator.cast('ADD_MESSAGE', ['content', '�댁슜']);
	validator.cast('ADD_MESSAGE', ['mid', '紐⑤뱢 �대쫫']);
	validator.cast('ADD_MESSAGE', ['comment_srl', 'comment_srl']);
	validator.cast('ADD_MESSAGE', ['parent_srl', 'parent_srl']);
	validator.cast('ADD_MESSAGE', ['is_secret', 'is_secret']);
	validator.cast('ADD_MESSAGE', ['notify_message', 'notify_message']);
	validator.cast('ADD_MESSAGE', ['isnull', '%s�� �낅젰�댁<�몄슂.']);
	validator.cast('ADD_MESSAGE', ['outofrange', '%s�� 湲��� �섎� 留욎텛�� 二쇱꽭��.']);
	validator.cast('ADD_MESSAGE', ['equalto', '%s�� �섎せ�섏뿀�듬땲��.']);
	validator.cast('ADD_MESSAGE', ['invalid_email', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��. (��: xe@xpressengine.com)']);
	validator.cast('ADD_MESSAGE', ['invalid_userid', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��.\n�곷Ц, �レ옄�� _濡� 留뚮뱶�� �� �덉쑝硫�, 泥� 湲��먮뒗 �곷Ц�댁뼱�� �⑸땲��.']);
	validator.cast('ADD_MESSAGE', ['invalid_user_id', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��.\n�곷Ц, �レ옄�� _濡� 留뚮뱶�� �� �덉쑝硫�, 泥� 湲��먮뒗 �곷Ц�댁뼱�� �⑸땲��.']);
	validator.cast('ADD_MESSAGE', ['invalid_homepage', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��. (��: http://www.xpressengine.com)']);
	validator.cast('ADD_MESSAGE', ['invalid_korean', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��. �쒓�濡쒕쭔 �낅젰�섏뀛�� �⑸땲��.']);
	validator.cast('ADD_MESSAGE', ['invalid_korean_number', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��. �쒓�怨� �レ옄濡쒕쭔 �낅젰�섏뀛�� �⑸땲��.']);
	validator.cast('ADD_MESSAGE', ['invalid_alpha', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��. �곷Ц�쇰줈留� �낅젰�섏뀛�� �⑸땲��.']);
	validator.cast('ADD_MESSAGE', ['invalid_alpha_number', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��. �곷Ц怨� �レ옄濡쒕쭔 �낅젰�섏뀛�� �⑸땲��.']);
	validator.cast('ADD_MESSAGE', ['invalid_number', '%s�� �뺤떇�� �섎せ�섏뿀�듬땲��. �レ옄濡쒕쭔 �낅젰�섏뀛�� �⑸땲��.']);
})(jQuery);