﻿
var TalkHelper = {};

TalkHelper.defaultOptions = {
	'elm': '#talk-list-box',
	'r_elm': '#talk-reply-box-0',
	'page': '1',
	'limit': '15',
	'mode': 'TALK',
	'r_idx': '0',
	'p_idx': '0',
	'sc_tag': ''
};

TalkHelper.defaultReplyOptions = {
	'elm': '#talk-list-box',
	'r_elm': '#talk-reply-box-0',
	'page': '1',
	'limit': '15',
	'mode': 'TALK',
	'r_idx': '0',
	'p_idx': '0'
};

TalkHelper.loadTalkList = function(args) {

	var opt = TalkHelper.defaultOptions;

	if (args) {

		opt.elm = (args.elm) ? args.elm : opt.elm;
		opt.page = (args.page) ? args.page : opt.page;
		opt.limit = (args.limit) ? args.limit : opt.limit;
		opt.mode = (args.mode) ? args.mode : opt.mode;
		opt.r_idx = (args.r_idx) ? args.r_idx : opt.r_idx;
		opt.sc_tag = (args.sc_tag) ? args.sc_tag : opt.sc_tag;

	}

	opt.p_idx = '0';

	showLoadingImage(opt.elm);

	var p = { 'page': opt.page, 'limit': opt.limit, 'mode': opt.mode, 'r_idx': opt.r_idx, 'p_idx': opt.p_idx, 'sc_tag': opt.sc_tag };

	$j.post('/ajax/talk.aspx?op=ex-talk-list2', p, function(h) { $j(opt.elm).html(h); });

};

TalkHelper.loadTalkRoomList = function(args) {

	showLoadingImage(args.elm);

	var p = { 'page': args.page, 'limit': args.limit };

	$j.post('/ajax/talk/GetTalkRoomList.aspx', p, function(s) { $j(args.elm).html(s); });

}

TalkHelper.writeTalkContent = function(args) {

	var opt = TalkHelper.defaultOptions;

	if (args) {

		opt.mode = (args.mode) ? args.mode : opt.mode;
		opt.r_idx = (args.r_idx) ? args.r_idx : opt.r_idx;
		opt.p_idx = (args.p_idx) ? args.p_idx : opt.p_idx;

	}

	if (!args.content) {

		alert('내용을 입력하세요.');
		return false;

	}

	if (args.content.length > 300) {

		alert('내용의 최대 문자수는 300자를 넘을수 없습니다.');
		return false;

	}

	showLoadingImageFull();

	var p = {
		'mode': opt.mode,
		'r_idx': opt.r_idx,
		'p_idx': opt.p_idx,
		'content': args.content,
		'tag': args.tag
	};

	// $j(window).ajaxStart(function() { showLoadingImageFull(); });
	$j(window).ajaxComplete(function() { hideLoadingImageFull(); });

	$j.getJSON('/ajax/talk.aspx?op=input', p, args.callBack);

	return true;

}

TalkHelper.deleteTalkContent = function(args) {

	var opt = TalkHelper.defaultOptions;

	showLoadingImageFull();

	var p = { 'idx': args.idx };

	$j.getJSON('/ajax/talk.aspx?op=delete', p, function(xe) {

		if (xe.result == 0) {

			TalkHelper.loadTalkList({ 'page': '1', 'limit': opt.limit });

		} else if (xe.result == -1) {

			alert('삭제 권한이 없습니다.');

		} else if (xe.result == -9) {

			fwLoginPage();

		} else if (xe.result == -99) {

			alert('에러 : ' + xe.ex.Message);

		}

		hideLoadingImage();

	});

}

TalkHelper.loadTalkReplyList = function(args) {

	var opt = TalkHelper.defaultReplyOptions;

	if (args) {

		opt.r_elm = (args.r_elm) ? args.r_elm : opt.r_elm;
		opt.page = (args.page) ? args.page : opt.page;
		opt.limit = (args.limit) ? args.limit : opt.limit;
		opt.mode = (args.mode) ? args.mode : opt.mode;
		opt.r_idx = (args.r_idx) ? args.r_idx : opt.r_idx;
		opt.p_idx = (args.p_idx) ? args.p_idx : opt.p_idx;

	}

	// $j('.talk-reply-box>.reply-box').remove();

	if ($j(opt.r_elm + '>.reply-box').css('display') == 'block' && !args.isRefresh) {

		$j(opt.r_elm + '>.reply-box').remove();

	} else {

		$j(opt.r_elm + '>.reply-box').remove();

		$j(opt.r_elm).append('<div class="reply-box"></div>');

		showLoadingImage(opt.r_elm + '>.reply-box');

		var p = { 'page': opt.page, 'limit': opt.limit, 'mode': opt.mode, 'r_idx': opt.r_idx, 'p_idx': opt.p_idx };

		$j.post('/ajax/talk.aspx?op=ex-talk-reply-list', p, function(h) { $j(opt.r_elm + '>.reply-box').html(h); });

	}

}

TalkHelper.writeTalkReplyContent = function(args) {

	TalkHelper.writeTalkContent({
		'content': args.content, 'tag': (args.tag || ''), 'p_idx': args.p_idx,
		'callBack': function(xe) {

			if (xe.result == 0) {

				$j('#reply-content-' + args.p_idx).val('');
				TalkHelper.loadTalkReplyList({ 'r_elm': '#talk-reply-box-' + args.p_idx, 'p_idx': args.p_idx, 'page': '1', 'limit': '200', isRefresh: true });

			} else if (xe.result == -9) {

				fwLoginPage();

			} else if (xe.result == -99) {

				alert('에러 : ' + data.ex.Message);

			}

			hideLoadingImageFull();
		}
	});

}

TalkHelper.deleteTalkReplyContent = function() { }

TalkHelper.zoomTalkImage = function(idx) {

	if ($j('#talk-image-box-' + idx).css('display') == 'none') {

		$j('#talk-image-box-' + idx).css('display', 'inline');
		$j('#talk-thumb-box-' + idx).css('display', 'none');

	} else {

		$j('#talk-image-box-' + idx).css('display', 'none');
		$j('#talk-thumb-box-' + idx).css('display', 'inline');

	}

}

TalkHelper.setBravo = function(idx) {

	if (confirm('마음에 드는 수다글에 부라보를 날려주세요.\r\n이 수다글에 부라보를 날리시겠습니까?')) {

		$j(window).ajaxStart(function() { showLoadingImageFull(); });
		$j(window).ajaxComplete(function() { hideLoadingImageFull(); });

		$j.getJSON('/ajax/talk.aspx?op=set-bravo&idx=' + idx, function(xe) {

			if (xe.result == 0) {

				alert('부라보를 날렸습니다.');
				TalkHelper.loadTalkList();

			} else if (xe.result == -1) {

				alert('이 수다글에 대하여 예전에 이미 부라보를 날리셨습니다.');

			} else if (xe.result == -9) {

				fwLoginPage();

			} else if (xe.result == -99) {

				alert('에러 : ' + xe.ex.Message);

			}

		});

	}

}

TalkHelper.openReportLayer = function(idx) {

	

}

