//-----------------------------------------------------------------------------------------------------
// Validation Ã³¸®
//-----------------------------------------------------------------------------------------------------

function validForm(editor) {

	if(jQuery.trim(jQuery("#title").val()) == "" ){
		alert('Á¦¸ñÀº ÇÊ¼ö·Î ÀÔ·ÂÇÏ¼Å¾ß µË´Ï´Ù.');
		return false;
	}
	if( cal_length(jQuery("#title").val()) >= 100 ){
		alert("ÇÑ±Û 50ÀÚ ¿µ¹® 100ÀÚ±îÁö ÀÔ·ÂÇÏ½Ç¼ö ÀÖ½À´Ï´Ù.");
		return false;
	}
	if(jQuery("#expand_size").val() != undefined ){
		var expand_size = jQuery("#expand_size").val();
		var expand_type = "";
		var expand_requ = "";
		for(var i = 0 ; i < expand_size; i++){
			expand_type = jQuery("#expand_type"+i).val();
			expand_requ = jQuery("#expand_requ"+i).val();

			if( expand_requ == "Y" && expand_type == "INPUT" && jQuery.trim(jQuery("#expand_var"+i).val()) == "" ){
				alert(jQuery("#expand_name"+i).val()+'Àº ÇÊ¼öÀÔ·ÂÀÔ´Ï´Ù.');
				return false;
			}
			if( expand_requ == "Y" && expand_type == "TEXTAREA" && jQuery.trim(jQuery("#expand_var"+i).val()) == "" ){
				alert(jQuery("#expand_name"+i).val()+'Àº ÇÊ¼öÀÔ·ÂÀÔ´Ï´Ù.');
				return false;
			}
			if( expand_requ == "Y" && expand_type == "CHECKBOX" ){
				var check = "";
				$('#expand_group'+i+' input[type="checkbox"]:checked').each(function(){
					check += jQuery(this).val();
				});
				if( check == "" ){
					alert(jQuery("#expand_name"+i).val()+'Àº ÇÊ¼öÀÔ·ÂÀÔ´Ï´Ù.');
					return false;
				}
			}
			if( expand_requ == "Y" && expand_type == "RADIO" ){
				var check = "";
				$('#expand_group'+i+' input[type="radio"]:checked').each(function(){
					check += jQuery(this).val();
				});
				if( check == "" ){
					alert(jQuery("#expand_name"+i).val()+'Àº ÇÊ¼öÀÔ·ÂÀÔ´Ï´Ù.');
					return false;
				}
			}
			if( expand_requ == "Y" && expand_type == "SELECT" && jQuery('#expand_var'+i+' option:selected').val() == "" ){
				alert(jQuery("#expand_name"+i).val()+'Àº ÇÊ¼öÀÔ·ÂÀÔ´Ï´Ù.');
				return false;
			}
		}
	}
	var _content = editor.getContent();
	if( jQuery.trim(_content) == ""){
		alert('³»¿ëÀ» ÀÔ·ÂÇÏ½Å ÈÄ µî·ÏÇÏ½Ã±â ¹Ù¶ø´Ï´Ù.');
		return false;
	}

	return true;
}

//-----------------------------------------------------------------------------------------------------
// FormData Ã³¸®
//-----------------------------------------------------------------------------------------------------
//°Ô½Ã±Û ¼öÁ¤

var actionmode = 0;

function func_modify(){
	if( actionmode != 0 ) {
		alert("°Ô½Ã±Û ¼öÁ¤ÁßÀÔ´Ï´Ù.");
		return;
	}
	if(validForm(Editor) && setForm(Editor)){

		var queryString = "";
		if( jQuery("#query_string").val().length > 0 ) {
			queryString = "?"+jQuery("#query_string").val();
		}
		document.nf.action = jQuery("#page_control").val() + queryString;
		jQuery("#cmd").val("MS");
		document.nf.submit();
		actionmode = 1;
	}
}


//°Ô½ÃÆÇ ±Û µî·Ï
function func_write(){
	if( actionmode != 0 ) {
		alert("°Ô½Ã±Û µî·ÏÁßÀÔ´Ï´Ù.");
		return;
	}
	if(validForm(Editor) && setForm(Editor)){
		var queryString = "";
		if( jQuery("#query_string").val().length > 0 ) {
			queryString = "?"+jQuery("#query_string").val();
		}
		document.nf.action = jQuery("#page_control").val() + queryString;
		jQuery("#cmd").val("WS");
		document.nf.submit();
		actionmode = 1;
	}
}

function setForm(editor) {
	var _formGen = editor.getForm();
	var _content = editor.getContent();
	_formGen.createField(
		tx.textarea({
			/* º»¹® ³»¿ëÀ» ÇÊµå¸¦ »ý¼ºÇÏ¿© °ªÀ» ÇÒ´çÇÏ´Â ºÎºÐ */
			'name': "contents",
			'style': { 'display': "none" }
		},
		_content)
	);

	/* ¾Æ·¡ÀÇ ÄÚµå´Â Ã·ºÎµÈ µ¥ÀÌÅÍ¸¦ ÇÊµå¸¦ »ý¼ºÇÏ¿© °ªÀ» ÇÒ´çÇÏ´Â ºÎºÐÀ¸·Î »óÈ²¿¡ ¸Â°Ô ¼öÁ¤ÇÏ¿© »ç¿ëÇÑ´Ù.
	 Ã·ºÎµÈ µ¥ÀÌÅÍ Áß¿¡ ÁÖ¾îÁø Á¾·ù(image,file..)¿¡ ÇØ´çÇÏ´Â °Í¸¸ ¹è¿­·Î ³Ñ°ÜÁØ´Ù. */
	var _attachments = editor.getAttachments('image', true);
	for(var i=0,len=_attachments.length;i<len;i++) {
		/* existStage´Â ÇöÀç º»¹®¿¡ Á¸ÀçÇÏ´ÂÁö ¿©ºÎ */
		if (_attachments[i].existStage) {
			/* data´Â ÆË¾÷¿¡¼­ execAttach µîÀ» ÅëÇØ ³Ñ±ä µ¥ÀÌÅÍ */
			_formGen.createField(
				tx.input({
					'type': "hidden",
					'name': 'board_file_name'+i,
					'value': _attachments[i].data.filename /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
				})
			);
			_formGen.createField(
				tx.input({
					'type': "hidden",
					'name': 'board_file_size'+i,
					'value': _attachments[i].data.filesize /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
				})
			);
			_formGen.createField(
				tx.input({
					'type': "hidden",
					'name': 'board_file_type'+i,
					'value': _attachments[i].data.file_type /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
				})
			);
			_formGen.createField(
				tx.input({
					'type': "hidden",
					'name': 'board_file_mime'+i,
					'value': _attachments[i].data.filemime /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
				})
			);
			_formGen.createField(
				tx.input({
					'type': "hidden",
					'name': 'board_file_seq'+i,
					'value': _attachments[i].data.file_seq /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
				})

			);

		}
	}
	var image_lan = _attachments.length;
	_attachments = editor.getAttachments('file', true);


	for(var i=image_lan,len=_attachments.length + image_lan ;i<len;i++) {
		/* existStage´Â ÇöÀç º»¹®¿¡ Á¸ÀçÇÏ´ÂÁö ¿©ºÎ */

		/* data´Â ÆË¾÷¿¡¼­ execAttach µîÀ» ÅëÇØ ³Ñ±ä µ¥ÀÌÅÍ */

		_formGen.createField(
			tx.input({
				'type': "hidden",
				'name': 'board_file_name'+i,
				'value': _attachments[i-image_lan].data.filename /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
			})
		);
		_formGen.createField(
			tx.input({
				'type': "hidden",
				'name': 'board_file_size'+i,
				'value': _attachments[i-image_lan].data.filesize /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
			})
		);
		_formGen.createField(
			tx.input({
				'type': "hidden",
				'name': 'board_file_type'+i,
				'value': _attachments[i-image_lan].data.file_type /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
			})
		);
		_formGen.createField(
			tx.input({
				'type': "hidden",
				'name': 'board_file_mime'+i,
				'value': _attachments[i-image_lan].data.filemime /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
			})
		);
		_formGen.createField(
			tx.input({
				'type': "hidden",
				'name': 'board_file_seq'+i,
				'value': _attachments[i-image_lan].data.file_seq /* ¿¹¿¡¼­´Â ÀÌ¹ÌÁö°æ·Î¸¸ ¹Þ¾Æ¼­ »ç¿ë */
			})
		);

	}

	var file_lan = _attachments.length;
	if((image_lan + file_lan) > 0 ){
		_formGen.createField(
				tx.input({
					'type': "hidden",
					'name': 'board_file_add_size',
					'value': (image_lan + file_lan)+''
				})
		);
	}

	if(jQuery("#titbold_yn").attr("checked")){
		jQuery("#titbold_yn").val("Y");
	}
	if(jQuery("#notice_yn").attr("checked")){
		jQuery("#notice_yn").val("Y");
	}
	if(jQuery("#comment_yn").attr("checked")){
		jQuery("#comment_yn").val("Y");
	}

	if(jQuery("#secret_yn").attr("checked")){
		jQuery("#secret_yn").val("Y");
	}
	if(jQuery("#anonym_yn").attr("checked")){
		jQuery("#anonym_yn").val("Y");
	}
	if(jQuery("#counsel_yn").attr("checked")){
		jQuery("#counsel_yn").val("Y");
	}
	if(jQuery("#expand_size").val() != undefined ){
		var expand_size = jQuery("#expand_size").val();
		var expand_type = "";
		var expand_requ = "";
		for(var i = 0 ; i < expand_size; i++){
			expand_type = jQuery("#expand_type"+i).val();
			expand_requ = jQuery("#expand_requ"+i).val();
			if( expand_type == "INPUT" ){
				jQuery("#expand_val"+i).val(jQuery("#expand_var"+i).val());
			}
			if( expand_type == "TEXTAREA" ){
				jQuery("#expand_val"+i).val(jQuery("#expand_var"+i).val());
			}
			if(  expand_type == "CHECKBOX" ){
				var value = "";
				$('#expand_group'+i+' input[type="checkbox"]:checked').each(function(){
					value += jQuery(this).val()+"#";
				});
				jQuery("#expand_val"+i).val(value);
			}
			if( expand_type == "RADIO" ){
				var value = "";
				$('#expand_group'+i+' input[type="radio"]:checked').each(function(){
					value += jQuery(this).val()+"#";
				});
				jQuery("#expand_val"+i).val(value);
			}
			if( expand_type == "SELECT" ){
				jQuery("#expand_val"+i).val(jQuery('#expand_var'+i+' option:selected').val());
			}
		}
	}
	return true;
}

function cal_length(val)
{
	// ÀÔ·Â¹ÞÀº ¹®ÀÚ¿­À» escape() ¸¦ ÀÌ¿ëÇÏ¿© º¯È¯ÇÑ´Ù.
	// º¯È¯ÇÑ ¹®ÀÚ¿­ Áß À¯´ÏÄÚµå(ÇÑ±Û µî)´Â °øÅëÀûÀ¸·Î %uxxxx·Î º¯È¯µÈ´Ù.
	var temp_estr = escape(val);
	var s_index = 0;
	var e_index = 0;
	var temp_str = "";
	var cnt = 0;

	// ¹®ÀÚ¿­ Áß¿¡¼­ À¯´ÏÄÚµå¸¦ Ã£¾Æ Á¦°ÅÇÏ¸é¼­ °¹¼ö¸¦ ¼¾´Ù.
	while ((e_index = temp_estr.indexOf("%u", s_index)) >= 0) // Á¦°ÅÇÒ ¹®ÀÚ¿­ÀÌ Á¸ÀçÇÑ´Ù¸é
	{
		temp_str += temp_estr.substring(s_index, e_index);
		s_index = e_index + 6;
		cnt ++;
	}

	temp_str += temp_estr.substring(s_index);

	temp_str = unescape(temp_str); // ¿ø·¡ ¹®ÀÚ¿­·Î ¹Ù²Û´Ù.

	// À¯´ÏÄÚµå´Â 2¹ÙÀÌÆ® ¾¿ °è»êÇÏ°í ³ª¸ÓÁö´Â 1¹ÙÀÌÆ®¾¿ °è»êÇÑ´Ù.
	return ((cnt * 2) + temp_str.length) + "";
}

