/* ------------------------------------------------------ load comments ----------------- */
function queryComments(nOffset, nLimit){
	var thisUrl = document.location.href;
	sURL  = thisUrl + '?action=comments_from_user&sort=post_time&sort_dir=desc';
	sURL += '&limit=' + nLimit;
	sURL += '&offset=' + nOffset;
	jQuery.getJSON(sURL, function(oData) {
		if (oData.results == null) {
			return;
		}
		var sComment = '';
		for(var i = 0; i < oData.results.length; i++) {	
			oResult = oData.results[i];
			sComment += '<li>';
			sComment += '<span class="content">' + oResult.content + '</span>';
			sComment += '<span class="post_time">' + oResult.post_time + '</span>';
			sComment += '</li>';
		}
		jQuery('#comment-box').append(sComment);
		if (oData.total > jQuery('#comment-box>li').length) {
			jQuery('#comment-more-link').show();
		} else {
			jQuery('#comment-more-link').hide();
		}
	});
}
/* ------------------------------------------------------ load comments into profile ---- */
function queryProfileComments(sThread){
	var thisUrl = document.location.href;
	var sURL = thisUrl + '?action=comments_to_user';
	if (sThread != null) {
		sURL += '&parent_uuid=' + sThread;
		sID = '#comment-replies-' + sThread;
		jQuery(sID).slideToggle('normal');
	} else {
		sURL += '&parent_uuid='
		sID = '#profile-comments-box';
	}
	jQuery.getJSON(sURL,function(oData) {
		var sComment = '';
		if (oData.results == null) {
			return;
		}
	
		for(var i = 0; i < oData.results.length; i++) {	
			oResult = oData.results[i];
			oUser = oData.users[oResult.user_uuid];
	
			sComment += '<li>';
			if (oUser.avatar) {
				sComment += '<img width="25" class="avatar" alt="Avatar" src="'+oUser.avatar+'" />';
			} else {
				sComment += '<div class="ghost">?</div>';
			}
			
			sComment += '<span class="screenname">' + oUser.screenname + '</span>';
			sComment += '<span class="post-count">' + oUser.post_count + '</span>';
			sComment += '<span class="post-time">' + oResult.post_time + '</span>';
			sComment += '<span class="content">&quot;' + oResult.content + '&quot;</span>';
	
			sComment += '<span class="reply">';
			sComment += '<a href="javascript:void(jQuery(\'#form-' + oResult.uuid +'\').slideToggle(\'slow\'));">Reply</a>';
			sComment += '<form style="display: none" id="form-' + oResult.uuid + '" ';
			sComment += 'method="post" onSubmit="tncms_post_comment(\'form-' + oResult.uuid + '\'); return false;">';
			sComment += '<input type="hidden" name="parent_uuid" value="' + oResult.uuid +'">';
			sComment += '<textarea name="comment"></textarea>';
			sComment += '<input type="submit" value="Post" class="submit" />';
			sComment += '</form>';
			sComment += '</span>';
	
			sComment += '<span class="replies">';
			sComment += '<a href="javascript:void(queryProfileComments(\'' + oResult.uuid + '\'));">Show Replies</a>';
			sComment += '<ul id="comment-replies-"' + oResult.uuid + '">';
			sComment += '</ul>';
			sComment += '</span>';
	
			sComment += '</li>';
		}
		jQuery(sID).append(sComment);
	});
}
/* ------------------------------------------------------ comment posting --------------- */
function tncms_post_comment(formid){
	var thisUrl = document.location.href;
	oPostData = {};
	oPostData.subject_id = 'cms.user.uuid | jsquote';
	oPostData.subject_type = 'user';
	oPostData.content = jQuery('#' + formid + '>textarea[name=comment]').val();
	jQuery('#' + formid + '>input').each(function() {
		oPostData[jQuery(this).attr('name')] = jQuery(this).val();
	});
	jQuery.post(thisUrl, oPostData, function(data) {
		alert('Post Status: ' + data);
	});
}
        
jQuery(document).ready(function() {
/* -------------------------------------------------------- create tabs ----------------- */
	jQuery("#tabBox > ul").tabs();
	jQuery("#tabBox").css('display','block');
/* -------------------------------------------------------- detect logged in status ----- */
	if (jQuery.cookie('tncms-screenname') == 'cms.user.screen_name | jsquote') {
		jQuery('.edit').show();
	}
	queryComments(0,10);
	queryProfileComments(null);
/* -------------------------------------------------------- adjust avatar size ---------- */
	if ($('.avatarImage').width() > 300){
		$('.avatarImage').attr('width', 300);
	}
});