// Javascript file to define the functions needed to load and display Game Comments
//function GetComments(TopicGUID, ElggCommunityURL)
function GetTopicsPostsParameters()
{
	var	Parameters			= new Object;
//	var UserSessionID		= readCookie("TLC");
//	var UserUniqueID		= readCookie("BDUniq");
	var GetIDs				= true;
//	var SortOrder			= 'desc';
	var SortOrder			= 'asc';

	Parameters.TopicGUID	= TopicGUID;
	Parameters.ElggCommunityRootURL		= ElggCommunityURL;
	Parameters.SortOrder	=	SortOrder;
	if (GetIDs) {
		Parameters.GetIDs	= 1;
	}

	return Parameters;
}

function GetComments()
{
	var UserSessionID		= readCookie("TLC");
	if (TopicGUID==0) {
		$(".game_comment_box > .loading_comments").replaceWith("<p>No Comments found, for this game</p>") ;
		$(".game_comment_verbosity_div").css('display', 'none');
		return;
	} else {
		$(".game_comment_verbosity_div").css('display', 'block');
		if (UserSessionID.length>0) {
			$(".login_to_comment").css('display', 'none');
			$(".new_game_comment").css('display', 'block');
		} else {
			$(".login_to_comment").css('display', 'block');
			$(".new_game_comment").css('display', 'none');
		}
	}

	var WebServiceURL		= "/API/server/elgg/ElggServer.php";
	var RPCName				= "elgg.GetTopicPosts";		
	var Parameters			= GetTopicsPostsParameters();
	
	GetSimpleRPCData(DisplayComments,WebServiceURL,RPCName,Parameters);
}
/*
		NewComment 			= 	"<div class='game_comment' id='new_game_comment'>\n"+
								"	<form id='new_game_comment_form' action='' method='get' "+
										"name='new_game_comment' onsubmit='return "+
											"NewComment("+TopicGUID+", \""+ElggCommunityURL+"\")'>\n"+
								"		<textarea id='new_game_comment_textarea' class='textarea'></textarea>\n"+
								"		<input type=submit id='new_game_comment_button' class='button'/>\n"+
								"	</form>\n"+
								"</div>\n";
		$("#game_comment_box").prepend(NewComment);
*/
//function DisplayComments(xml,result)
//{
/*
	var	TopicTitle	=	$("scalar[id='title']",xml).text();
	var OwnerGUID	=	$("scalar[id='owner_guid']",xml).text();
	var Owner		=	$("scalar[id='owner_username']",xml).text();
	var AuthorID	=	$("scalar[id='author_userid']",xml).text();
	var Created		=	$("scalar[id='time_created']",xml).text();
	var Updated		=	$("scalar[id='time_updated']",xml).text();
	var	PostsCount	=	$("scalar[id='post_count']",xml).text();
*/
function DisplayComments(xml,result)
{
	var Posts		=	$("vector[id='post']",xml);
	//var Posts		=	$("vector[id='post'] > vector[type='struct']",xml);
	if (Posts.attr('type')=='array') {
		// its an array, so get the struct within
		Posts		=	$("vector[type='struct']",Posts);
	}
	
	for (i=0;i<Posts.length;i++) {
		AuthorGUID	=	$("scalar[id='author_guidid']",Posts[i]).text();
		Author		=	$("scalar[id='author_username']",Posts[i]).text();
		AuthorID	=	$("scalar[id='author_userid']",Posts[i]).text();
		Created		=	$("scalar[id='time_created']",Posts[i]).text();
		FriendlyTime=	$("scalar[id='friendly_time_created']",Posts[i]).text();
		ShortDesc	 =	$("scalar[id='shortdescription']",Posts[i]).text();
		Description =	$("scalar[id='description']",Posts[i]).text();

		NewDiv		=	"<div class='game_comment game_comment_"+i+"'>\n"+
						"<div class='game_comment_author'>\n"+
						"<p><b>"+Author+"</b><br /><small>"+FriendlyTime+"</small></p>\n"+
						"</div>\n"+
						"<div class='game_comment_body_full'>"+Description+"</div>\n"+
						"<div class='game_comment_body_short'>"+ShortDesc+"</div>\n"+
						"<br class='clearfloat'/>\n"+
						"</div>";

		//$("#game_comment_box").append(NewDiv);
		//$("#game_comment_box > br.clearfloat").before(NewDiv);
		$(".new_game_comment").after(NewDiv);
		//$("#game_comment_box").prepend(NewDiv);
		// .append to insert the boxes in date order, prepend to insert them most recent first

		// Possibly call here to update the profile icon
	}
	$(".game_comment_box > .loading_comments").remove();
    return;
}
/*
		var Parameters = new Object;
		var WebServiceURL		= "/API/server/elgg/ElggServer.php";
		var RPCName				= "elgg.GetElggUserInfo";		
		var ElggCommunityURL	= $("scalar[id='ElggCommunityRootURL']",xml).text();
	
		Parameters.UserGUID		= AuthorGUID;
		Parameters.ElggCommunityRootURL		= ElggCommunityURL;
		Parameters.ExtraParam	= "#game_comment_"+i+" > #game_comment_author";
		// Here we should call another function to asyncronously update the profile icons
//		GetSimpleRPCData(UpdateIcon,WebServiceURL,RPCName,Parameters);
	}
}
*/
//function NewComment(TopicGUID, ElggCommunityURL)
function NewComment()
{
	var	Parameters			= new Object;
	var WebServiceURL		= "/API/server/elgg/ElggServer.php";
	var RPCName				= "elgg.AddCommentToTopic";
	var UserSessionID		= readCookie("TLC");
//	var UserUniqueID		= readCookie("BDUniq");
//	var GetIDs				= true;
//	var SortOrder			= 'desc';

	Parameters.TopicGUID	= TopicGUID;
	Parameters.ElggCommunityRootURL		= ElggCommunityURL;
	Parameters.UserSessionID	= UserSessionID;

	try {
		NewCommentsTextArea	=	$('.new_game_comment_textarea');
		Comment 			=	NewCommentsTextArea.val();
		NewCommentsTextArea.val('');
	} catch (Error) {}

	Parameters.Message = Comment;

	LoadingDiv = "<div class='game_comment'><p class='loading_comments'>Loading...</p></div>";
	FirstComment = $(".new_game_comment");
	if (FirstComment.length=1)
	 	FirstComment.after(LoadingDiv);
	else
		$(".game_comment_box").prepend(LoadingDiv);

	GetSimpleRPCData(UpdateComments,WebServiceURL,RPCName,Parameters);
	//GetSimpleRPCData(DoNothing,WebServiceURL,RPCName,Parameters);

	return;
}
function UpdateComments()
{
	var WebServiceURL		= "/API/server/elgg/ElggServer.php";
	var RPCName				= "elgg.GetTopicPosts";		
	var Parameters			= GetTopicsPostsParameters();
	
	GetSimpleRPCData(ReDisplayComments,WebServiceURL,RPCName,Parameters);
}

function ReDisplayComments(xml,result)
{
    GameCommentBoxes=$("div.game_comment");
    for(n=0;n<GameCommentBoxes.length+1;n++) {
		$(".game_comment_"+n).remove();
    }
	LoadingDiv = $(".loading_comments").parent();
	LoadingDiv.remove();
    return DisplayComments(xml,result);
}
function FullShortComments()
{
	State=$(".game_comment_verbosity").is(":checked");
	if (State) {
		$("div.game_comment_body_full").css("display", "none");
		$("div.game_comment_body_short").css("display", "block");
	} else {
		$("div.game_comment_body_short").css("display", "none");
		$("div.game_comment_body_full").css("display", "block");
	}
}
