/* 에이빌더 전용 jquery 프로그램 */

$(function() {

	// 로딩중표시기
	$('<img style="display:none;position:absolute;left:50%;top:50%;z-index:10000" id="loading_img" src="/designer/thema/type_1/images/loading_front.gif" border="0" align="absmiddle" />').appendTo('body');

	// 마우스 좌표 얻음
	__mouse_xy = new Array();
	$(this).bind('mousemove',function(e){
		__mouse_xy[0] = e.pageX;
		__mouse_xy[1] = e.pageY;
		__mouse_xy[2] = e.screenX;
		__mouse_xy[3] = e.screenY;
	});

	// 날짜 선택박스 호출 처리
	// AB_datepicker 클래스에 캘린더 배정
	// numberOfMonths:3
	// minDate:-20, maxDate:"+1M +10D"
	// showOn:"button", buttonImage:"/tools/calendar/form_input_type/cal.gif", buttonImageOnly:true
	
	var now = new Date();
	var AB_datepicker = $(".AB_datepicker");
	AB_datepicker.datepicker({showOtherMonths:true, selectOtherMonths:true});	
	$("img.ui-datepicker-trigger").attr({ 'style' : 'margin:0 0 4px 2px;' });									// 버튼 여백 조정
	$(".ui-datepicker").attr({ 'style' : 'width: 17em; padding: .2em .2em 0; font-size:75%;' });

	AB_datepicker.each(function(index) {							// 모든 datepicker 만큼 반목
		var date_saved_value = $(this).val();						// 기본 값 저장
		if ($(this).hasClass("AB_datepicker_time")) {		// 입력용 추가클래스(AB_datepicker_time) 지정된 경우
			if (date_saved_value != '') {			
				var split_date = date_saved_value.split(' ');
				if (split_date[1] != '') $(this).datepicker('option', 'dateFormat' , 'yy-mm-dd ' + split_date[1]);
				else $(this).datepicker('option', 'dateFormat' , 'yy-mm-dd ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds());
			} else {
				$(this).datepicker('option', 'dateFormat' , 'yy-mm-dd ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds());
			}
		} else {
			$(this).datepicker('option', 'dateFormat' , 'yy-mm-dd');
		}
		if ($(this).hasClass("AB_datepicker_btn")) {		// 입력용 추가클래스(AB_datepicker_time) 지정된 경우
			$(this).datepicker('option', 'showOn' , 'button');
			$(this).datepicker('option', 'buttonImage' , '/designer/thema/type_1/images/cal.gif');
			$(this).datepicker('option', 'buttonImageOnly' , 'true');
			$(this).datepicker('option', 'buttonText' , 'calendar');
		}
		$(this).val(date_saved_value);
	});

	//var AB_datepicker = $(".AB_datepicker");
	//AB_datepicker.datepicker({dateFormat:'yy-mm-dd', showOtherMonths:true, selectOtherMonths:true,changeMonth: true,changeYear: true});
	/*$.datepicker.setDefaults( $.datepicker.regional[ "" ]);
	AB_datepicker.datepicker( $.datepicker.regional[ "ko" ] );
	$( "#locale" ).change(function() {
		AB_datepicker.datepicker( "option", $.datepicker.regional[ $( this ).val() ] );
	});
	$.datepicker.regional['ko'] = {
		closeText: '닫기',
		prevText: '이전달',
		nextText: '다음달',
		currentText: '오늘',
		monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
		'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
		monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
		'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
		dayNames: ['일','월','화','수','목','금','토'],
		dayNamesShort: ['일','월','화','수','목','금','토'],
		dayNamesMin: ['일','월','화','수','목','금','토'],
		weekHeader: 'Wk',
		dateFormat: 'yy-mm-dd',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: '년'};
	$.datepicker.setDefaults($.datepicker.regional['ko']);*/

	// 드래그객체
	$( ".draggable" ).draggable({ scroll: true });

	// 에이빌더 게시판용
	var cmt_modify_idx = '';
	var cmt_reply_idx = '';
	var cmt_delete_idx = '';

	// 버튼 커서모양 변경
	$('img[id*=_btn_],p[id*=_btn_]').live('mouseover',
		function() {
			$(this).css('cursor', 'pointer');
		}
	);

	// 정렬 버튼 클릭시 실행
	$('a[id^=AB_sort_]').live('click',
		function() {
			$('#loading_img').css('display', '');
			$('#loading_img').css('top', __mouse_xy[1]);
			var sort_link = $(this).attr('href');
			//document.location.href = sort_link;
			//return;
			$.get(sort_link, {}, function(data) {
				var alert_msg = get_alert_msg_in_result(data);
				if (alert_msg == 'null') {
					var exp_sort_1 = sort_link.split('&');
					for (i=0; i<exp_sort_1.length; i++) {
						var exp_sort_2 = exp_sort_1[i].split('=');
						if (exp_sort_2[0] == 'serial_num') var serial_num = exp_sort_2[1];
					}
					var link_tail = '';
					if (location.search.indexOf('article_num=') < 0) link_tail = '&article_num=' + serial_num;
					$('#AB_contents').load('insiter.php' + location.search + link_tail + '&AJAX=Y', function(){
						$('#loading_img').css('display', 'none');
					});
				} else {
					eval(alert_msg);
					$('#loading_img').css('display', 'none');
				}
			});
			return false;
		}
	);

	// 코멘트 상자 노출용 토글 버튼
	$('p[id*=btn]').live('click',
		function() {
			var cmt_box_toggle_idx = $(this).attr('id').substr(Number($(this).attr('id').lastIndexOf('_')) + 1);
			$('#AB_board_comment_set_' + cmt_box_toggle_idx).toggle();
		}
	);

	// 코멘트 저장 버튼 클릭시 article_comment.php 실행
	$('input[id^=AB_cmt_btn_submit_COMMENT_]').live('click',
		function() {
			var form = $(this).parents('form');
			var submit_action = form.attr('action');
			var submit_function = form.attr('onsubmit');
			form.removeAttr('action', 'onsubmit');
			var T_submit_function = submit_function.substring(7);
			if (eval(T_submit_function)) {
				$.post("/board/article_comment.php", form.serialize(), function(data) {
					//alert(data);
					var alert_msg = get_alert_msg_in_result(data);

					if (location.search == '') link_str = '?';
					else link_str = '&';
					if (alert_msg == 'null') $('#AB_contents').load('insiter.php' + location.search + link_str + 'AJAX=Y');
					else eval(alert_msg);
				});
			}
			submit_is_ing = 'N';
			form.attr('action', submit_action);
			form.attr('onsubmit', submit_function);
			return false;
		}
	);

	// 코멘트 수정 버튼 클릭시
	$('img[id^=AB_cmt_btn_modify_]').live('click',
		function() {
			if (cmt_reply_idx != '') {																																																		// 열려 있는 답글 입력상자 제거
				$('#AB_cmt_reply_form_' + cmt_reply_idx).remove();
				cmt_reply_idx = '';
			}
			if (cmt_modify_idx == '') {
				cmt_modify_idx = $(this).attr('id').substr(Number($(this).attr('id').lastIndexOf('_')) + 1);
				cmt_comment_1 = $('#AB_cmt_comment_1_' + cmt_modify_idx).html();
				$('#AB_cmt_comment_1_' + cmt_modify_idx).load('insiter.php?design_file=comment_m.php&article_num=' + cmt_modify_idx + '&AJAX=Y', function(){
					var cnt_line_array = $("#AB_cmt_input_box_comment_1_" + cmt_modify_idx).val().split('\n');
					var cnt_line = cnt_line_array.length;
					if (cnt_line < 3) {
						cnt_line = 100;
					} else {
						cnt_line = cnt_line * 17;
					}
					$("#AB_cmt_input_box_comment_1_" + cmt_modify_idx).css('width', '100%').css('height', cnt_line);
				});
			} else {
				$('#AB_cmt_comment_1_' + cmt_modify_idx).html(cmt_comment_1);
				cmt_modify_idx = '';
			}
		}
	);

	// 코멘트 수정저장 버튼 클릭시 실행
	$('input[id^=AB_cmt_btn_submit_MODIFY_]').live('click',
		function() {
			cmt_modify_idx = $(this).attr('id').substr(Number($(this).attr('id').lastIndexOf('_')) + 1);
			var form = $('form:has(#AB_cmt_btn_submit_MODIFY_' + cmt_modify_idx + ')');
			var submit_action = form.attr('action');
			var submit_function = form.attr('onsubmit');
			form.removeAttr('action', 'onsubmit');
			var T_submit_function = submit_function.substring(7);
			if (eval(T_submit_function)) {
				$.post("/board/article_modify.php", form.serialize(), function(data) {
					//alert(data);
					var alert_msg = get_alert_msg_in_result(data);
					if (location.search == '') link_str = '?';
					else link_str = '&';
					if (alert_msg == 'null') $('#AB_contents').load('insiter.php' + location.search + link_str + 'AJAX=Y', function (){});
					else eval(alert_msg);
					cmt_modify_idx = '';
				});
			}
			submit_is_ing = 'N';
			form.attr('action', submit_action);
			form.attr('onsubmit', submit_function);
			return false;
		}
	);

	// 코멘트 답글 버튼 클릭시 노출되는 코멘트 답글쓰기 폼
	$('img[id^=AB_cmt_btn_reply_]').live('click',
		function() {
			if (cmt_modify_idx != '') {																																																	// 열려 있는 수정입력 상자 제거
				$('#AB_cmt_comment_1_' + cmt_modify_idx).html(cmt_comment_1);
				cmt_modify_idx = '';
			}
			if (cmt_reply_idx == '') {
				cmt_reply_idx = $(this).attr('id').substr(Number($(this).attr('id').lastIndexOf('_')) + 1);
				$.get('insiter.php?design_file=comment_r.php&article_num=' + cmt_reply_idx, {}, function(data) {
					//alert(data);
					$('#AB_cmt_list_' + cmt_reply_idx).after(data);
					$('#AB_cmt_reply_form_' + cmt_reply_idx).addClass($('img[id^=AB_cmt_btn_reply_' + cmt_reply_idx + ']').attr('AB_thread'));		// 답글 아이콘 표시
					$('#AB_cmt_input_box_comment_1_' + cmt_reply_idx).val('');																																			// 입력상자 기본값 제거
				});
			} else {
				$('#AB_cmt_list_' + cmt_reply_idx).next().remove();
				cmt_reply_idx = '';
			}
		}
	);

	// 코멘트 답글저장 버튼 클릭시 실행
	$('input[id^=AB_cmt_btn_submit_REPLY_]').live('click',
		function() {
			cmt_reply_idx = $(this).attr('id').substr(Number($(this).attr('id').lastIndexOf('_')) + 1);
			var form = $('form:has(#AB_cmt_btn_submit_REPLY_' + cmt_reply_idx + ')');
			var submit_action = form.attr('action');
			var submit_function = form.attr('onsubmit');
			form.removeAttr('action', 'onsubmit');
			var T_submit_function = submit_function.substring(7);
			if (eval(T_submit_function)) {
				$.post("/board/article_reply.php", form.serialize(), function(data) {
					//alert(data);
					var alert_msg = get_alert_msg_in_result(data);

					if (location.search == '') link_str = '?';
					else link_str = '&';
					if (alert_msg == 'null') $('#AB_contents').load('insiter.php' + location.search + link_str + 'AJAX=Y');
					else eval(alert_msg);
					cmt_reply_idx = '';
				});
			}
			submit_is_ing = 'N';
			form.attr('action', submit_action);
			form.attr('onsubmit', submit_function);
			return false;
		}
	);

	// 코멘트 삭제 버튼 클릭시
	$('img[id^=AB_cmt_btn_delete_]').live('click',
		function() {
			if (cmt_reply_idx != '') {																																																		// 열려 있는 답글 입력상자 제거
				$('#AB_cmt_reply_form_' + cmt_reply_idx).remove();
				cmt_reply_idx = '';
			}
			if (cmt_modify_idx != '') {																																																	// 열려 있는 수정입력 상자 제거
				$('#AB_cmt_comment_1_' + cmt_modify_idx).html(cmt_comment_1);
				cmt_modify_idx = '';
			}
			if (confirm('삭제하시겠습니까?')) {
				cmt_delete_idx = $(this).attr('id').substr(Number($(this).attr('id').lastIndexOf('_')) + 1);
				var T_pu_host = location.href.replace('http://', '');
				T_pu_host = T_pu_host.replace('https://', '');
				T_pu_host = T_pu_host.replace('www.', '');
				pu_host = T_pu_host.split('/');
				$.post("/board/article_delete.php", {article_num:cmt_delete_idx, board:'comment', flag:pu_host[0]}, function(data){
					//alert(data);
					var alert_msg = get_alert_msg_in_result(data);
					
					if (location.search == '') link_str = '?';
					else link_str = '&';
					if (alert_msg == 'null') $('#AB_contents').load('insiter.php' + location.search + link_str + 'AJAX=Y');
					else eval(alert_msg);
				});
			}
		}
	);

	// textarea 크기조절
	// AB_btn_textarea_resize_늘어날사이즈_늘어날textareaID
	$('img[id^=AB_btn_textarea_resize_]').live('click',
		function() {
			var target_id = $(this).attr('id').substr(23);
			var target_id_array = target_id.split('_');
			var add_height = parseInt(target_id_array[0]);
			target_id_array.shift();
			target_id = target_id_array.join('_');
			var target_textarea = $('#' + target_id);
			target_textarea.height(target_textarea.height() + add_height);
		}
	);

	// submit 버튼 클릭시 실행되는 함수
	$('*[id^=AB_btn_submit_]').live('click', 
		function() {
			var submit_idx_array = $(this).attr('id').split('_');
			var submit_idx = submit_idx_array[submit_idx_array.length-1];
			var form = $('form:has(#AB_btn_submit_' + submit_idx + ')');
			var submit_action = form.attr('action');
			var submit_function = form.attr('onsubmit');
			var after_db_script = form.children('input[name=after_db_script]').val();
			form.removeAttr('action', 'onsubmit');
			var T_submit_function = submit_function.substring(7);
			if (eval(T_submit_function)) {
				//alert(form.serialize());
				$.post(submit_action, form.serialize(), function(data) {
					//alert(data);
					var alert_msg = get_alert_msg_in_result(data);													// 경고 메시지 있으면 출력
					if (alert_msg != 'null') eval(alert_msg);
					if (after_db_script == '%SELF%') {
						var move_url = 'insiter.php' + location.search;													// 현재페이지						
					} else {
						var move_url = get_move_url_in_result(data);													// 이동할 url
					}
					//alert(move_url);
					$('#AB_contents').load(move_url + '&AJAX=Y', function(){
						$('#global_dialog').dialog('close');
					});
					submit_idx = '';					
				});
			}
			submit_is_ing = 'N';
			form.attr('action', submit_action);
			form.attr('onsubmit', submit_function);
			return false;
		}
	);

	// 페이지 링크
	$('#global_dialog a[class^=LF_page_link]').live('click',
		function() {
			$('#global_dialog').load($(this).attr('href') + '&AJAX=Y');
			$(this).attr('href', '#;');
			return false;
		}
	);

	// 다이얼로그 닫기
	$('.close_dialog').live('click',
		function() {
			$('#global_dialog').dialog('close');
		}
	);

});

// 게시물 이동 기능에서 게시판과 분류 선택상자에 필요한 함수
function category_load_article_move(obj, next_category_sch_url) {
	var board_name = $("#AB_MOD_board_list").attr("value");		// 게시판목록 select의 선택 값
	var select_box_name = obj.name;															// 이벤트가 발생한 select box 의 이름
	var select_value = obj.value;																		// 이벤트가 발생한 select box 의 선택 값
	$(obj).nextAll().remove("[class^=category_select]");						// object의 다음 엘리먼트들 줄 class가 'categorySelect' 로 시작하는 엘리먼트 모두 삭제
	if (select_value != '') {																						//  object의 값이 있을 때만 ajax실행
		$.get(																													//  테이블명과 카테고리를 get로 넘겨서 셀렉션을 받아온는 ajax
			next_category_sch_url,
			{"board_name":board_name, "select_box_name":select_box_name, "select_value":select_value},
			function(data){
				$(data).appendTo("#AB_board_list_span");							// 받은 select를 class가 'selects'인 엘리먼트의 자식엘리먼트들 마지막에 삽입
			}
		);
	}
}

// 게시물 등록,수정,삭제등의 처리 후 출력되는 문자열을 처리하는 함수
function get_article_num_in_result(data) {
	var result_msg = data.split('=');
	T_msg = result_msg[result_msg.length-1];
	return T_msg.substring(0, T_msg.length-2);
}

// ajax 피드백 data에서 alert 메시지를 찾는 함수
function get_alert_msg_in_result(data) {
	var pattern = /alert\('.+'\)/g;
	var alert_msg = pattern.exec(data);
	if (alert_msg == null) {
		return 'null';
	} else {
		return alert_msg.toString();
	}
}

// ajax 피드백 data에서  meta url 을 찾는 함수
function get_move_url_in_result(data) {
	var pattern = /;url=.+'>/g;
	var T_move_url = pattern.exec(data);
	if (T_move_url == null) {
		return 'null';
	} else {
		var move_url = T_move_url.toString();
		move_url = move_url.substring(5, move_url.length-2);
		move_url = move_url.replace('../', '');
		move_url = move_url.replace('./', '');
		return move_url;
	}
}

// 이미지 사이즈 조절
function img_resize_all(width) {
	$('.ABA-article-contents img').each(function(index) {
		if ($(this).attr('width') > width) {
			$(this).attr('width', width);
			$(this).removeAttr('height');
		}
	});
}

	/*$('div.addthis_toolbox').live('change',		보관용
		function() {
			alert('sdfsdf');
		}
	);

	// 코멘트 수정저장 버튼 클릭시 실행
	$('input[id^=AB_cmt_btn_submit_MODIFY_]').live('click',
		function() {
			cmt_modify_idx = $(this).attr('id').substr(Number($(this).attr('id').lastIndexOf('_')) + 1);
			var form = $('form:has(#AB_cmt_btn_submit_MODIFY_' + cmt_modify_idx + ')');
			var submit_function = form.attr('onsubmit');
			form.removeAttr('action', 'onsubmit');
			submit_function = submit_function.substr(7);
			if (eval(submit_function)) {
				$.post("/board/article_modify.php", form.serialize(), function(data) {
					//alert(data);
					var alert_msg = get_alert_msg_in_result(data);
					if (alert_msg == 'null') {
						$.ajax({
							url: 'insiter.php' + location.search + '&AJAX=Y',
							async: false,
							dataType: 'html',
							processData: true,
							data: 'html',
							success: function(data) {
								var ttt = document.getElementById('AB_contents');

								//$('#').html(data);
								$.getScript('http://s7.addthis.com/js/250/addthis_widget.js#username=xa-4d0f0ba860ac188a', function(ata) {
										ttt.innerHTML = data;
									}
								);
							}
						});
					} else {
						eval(alert_msg);
					}
					cmt_modify_idx = '';
				});
			}
			submit_is_ing = 'N';
			return false;
		}
	);*/
