var chatlist_data;
var currentPageNo = 0;

$(document).ready(function(){
	$('#sd_btn_ro').bind('click', function() {
		newMessage();
		
	});
	if (window.location.hash == "#support") {
		genLiveSupport();
		liveTimer = setInterval(genLiveSupport, totalWaitLiveTime);
	}
	
});

function start() {
	currentPageNo = 0;
	get_chat_content(0);
}

function prev() {
	
	var prevNo = currentPageNo - 1;
	
	if (prevNo < 0) {
		prevNo = 0;
	}
	currentPageNo = prevNo;
	get_chat_content(prevNo);
	
}

function next() {
	var nextNo = currentPageNo + 1;
	
	if (nextNo > chatlist_data.length - 1) {
		nextNo = chatlist_data.length - 1;
	}
	currentPageNo = nextNo;
	get_chat_content(nextNo);
	
}

function last() {
	currentPageNo = chatlist_data.length - 1;
	get_chat_content(chatlist_data.length - 1);
}

function show_post(i) {
	var getno = i-1;
	currentPageNo = getno;
	get_chat_content(getno);
}

function get_chat_content(i) {
	
	for(j=1;j<=chatlist_data.length;j++) {
		var ii = i+1;
		if (j == ii) {
			$('#page_'+j).html('<span class="page_no_ro">'+j+'</span>');
		} else {
			$('#page_'+j).html(j);
		}
	}
	$('#support_username').html(chatlist_data[i].username);
	$('#user_time_text').html(chatlist_data[i].postTime);
	if (chatlist_data[i].adminName != '') {
		$('#support_adminname').html(chatlist_data[i].adminName);
		$('#admin-name').html(chatlist_data[i].adminName+" 's chat");
	} else {
		$('#support_adminname').html('');
		$('#admin-name').html('');
	}
	if (chatlist_data[i].replayContent != '') {
		$('#admin_time_text').html(chatlist_data[i].replayTime);
		$('#answer').html(chatlist_data[i].replayContent);
	} else {
		$('#admin_time_text').html(chatlist_data[i].replayTime);
		$('#answer').html(chatlist_data[i].replayContent);
		$('#sd_btn_ro').css('display', 'none');
		$('#sd_btn').css('display', 'none');
	}
	if (chatlist_data[i].postContent != '') {
		$('#question').html(chatlist_data[i].postContent);
		$('#sd_btn').fadeOut(300);
	} else {
		$('#question').html('<textarea id="support_question"></textarea>');
		$('#sd_btn').fadeIn(300);
	}
}

function genLiveSupport() {
	$.getJSON('./json/gen_live_support.json.php', {action:'genMessage'}, function(data) {
		if (data.blnConnected) {
			addChatData(data.chat_data);
			if (currentPageNo == 0 && $('#support_question').val() === undefined) {
				if (data.postContent == "") {
					$('#question').html('<textarea id="support_question"></textarea>');
				}
				$('#support_username').html(data.username);
				$('#user_time_text').html(data.postTime);
				$('#question').html(data.postContent);
				$('.page_no').html(data.page_no);
				if (data.adminName != '') {
					$('#support_adminname').html(data.adminName);
					$('#admin-name').html(data.adminName+" 's chat");
				} else {
					$('#support_adminname').html('');
					$('#admin-name').html('');
				}
				if (data.replayContent == '') {
					$('#sd_btn_ro').css('display', 'none');
					$('#sd_btn').css('display', 'none');
				} else {
					$('#user_time_text').html('');
					$('#question').html('<textarea id="support_question"></textarea>');
					$('#admin_time_text').html('');
					$('#answer').html('');
					$('#sd_btn').css('display', 'block');
				}
			}
		} else {
			$('#support_username').html('');
			$('#user_time_text').html('');
			$('#question').html('<textarea id="support_question"></textarea>');
			$('#support_adminname').html('');
			$('#admin-name').html('');
			$('#admin_time_text').html('');
			$('#answer').html('');
			$('.page_no').html('&nbsp;');
			$('#sd_btn').css('display', 'block');
			clearInterval(liveTimer);
		}
	});
	
}

function addChatData(data) {
	chatlist_data = data;	
}


function newMessage() {
	
	if ($('#support_question').val() != '') {
		$.post('./json/new_live_support.json.php?action=newMessage', {
				content:$('#support_question').val()
			}, function(data) {
				if (data.blnSubmit) {
					$('#support_username').html(data.username);
					$('#user_time_text').html(data.postTime);
					$('#question').html(data.postContent);
					$('.page_no').html(data.page_no);
					$('#sd_btn_ro').fadeOut(300);
					$('#sd_btn').fadeOut(300);
					addChatData(data.chat_data);
					liveTimer = setInterval(genLiveSupport, totalWaitLiveTime);
				} else {
					if (data.blnMax) {
						$('#support_adminname').html('admin');
						$('#admin-name').html('admin \'s Chat');
						$('#support_username').html(data.username);
						$('#user_time_text').html(data.postTime);
						$('#question').html(data.postContent);
						$('#admin_time_text').html(data.postTime);
						$('#answer').html(data.answerMsg);
						$('#sd_btn_ro').fadeOut(300);
						$('#sd_btn').fadeOut(300);
					}
				}
				
			},
			"json"
		); 
	}

}
