/**
 * @author Edo
 */

function NewsLoading()
{
	return "<p align=center><br /><br /><img src=\"./images/loading3.gif\"/></p>";
}

function OnNewsCommentClick(id)
{
	var commentDiv = $("#idComment_"+id);
	if(commentDiv.is(":hidden")) 
	{
		if(commentDiv.html() == "")
		{
			commentDiv.html(NewsLoading());
			var htmlResultComment = "";
			$.getJSON(baseLink + "comments.php?type=0&id=" + id + callbackAttr, 
			function(JSON)
			{	
				var count = -1;
				var oddEven = 1;	
				$.each(JSON.comments,
				function(j, comment)
				{
					htmlResultComment += "<div class=\"" + ((oddEven % 2) ? "odd" : "even") + "\"><br /><span>" + comment.text + "<br /></span><br /><span class=\"byline\">Posted by <a href=\"blog.html?u=" + comment.poster + "\">" + comment.poster + "</a> on " + comment.date;
					if(comment.d == 1)
						htmlResultComment += "<a href=\"\"><img onclick=\"return DeleteNewsComment(" + comment.id + ", " + comment.newsid + ", " + comment.posterid + ");\" class=\"deleteImg\" src=\"images/delete.png\"/></a>";	
					htmlResultComment += "</span><br /></div>";
					oddEven++;
					count = j;
				});
				if(count == -1)
				{
					commentDiv.empty();
					commentDiv.hide();
				}
				else
				{
					commentDiv.empty();
					commentDiv.html(htmlResultComment);
					commentDiv.slideDown("slow");
				}					
			});	
		}
		else
		{
			commentDiv.slideDown("slow");
		}
    }
	else
    	commentDiv.slideUp("slow");

    return false;
}

function GenerateNews(index, value, page)
{
	var contentDiv = $("#content");
	contentDiv.text("");
	
	var link = "";
	if(index == "page")
		link = "news.php?page=" + page;
	else if(index == "cat")
	{
		var gcat = $.jqURL.get("gcat");
		link = "news.php?page=" + page + "&" + index + "=" + value + "&gcat=" + gcat;
	}
	else
		link = "news.php?page=" + page + "&" + index + "=" + value;
		
	$.getJSON(baseLink + link + callbackAttr,
	function(JSON)
	{
		var htmlResult = "";
		htmlResult = "<div id=\"idSubmit\" class=\"submitNews\"></div>";
		var count = -1;
		contentDiv.empty();
		contentDiv.html(NewsLoading());
		//contentDiv.addClass("content_loading");
		$.each(JSON.results, 
		function(i, result)
		{
			if(count == -1)
				count = 0;
		    htmlResult += "<div class=\"post\">";
		    htmlResult += "<h2 class=\"title\"><a id=\"title\" href=\"index.html?nid=" + result.newsId + "\">" + result.title + "</a><span id=\"editNews_" + result.newsId + "\" class=\"editNews\"></span><span id=\"deleteNews_" + result.newsId + "\" class=\"deleteNews\"></span><span id=\"lang_" + result.newsId + "\" class=\"languages\"></span></h2>";
		    htmlResult += "  <div id=\"idContent_" + result.newsId + "\" class=\"entry\">";
		    htmlResult += "    <p>" + result.text + "</p>";
			htmlResult += "  </div>";
		    htmlResult += "  <p class=\"meta\"><span class=\"byline\">Posted by <a href=\"blog.html?u=" + result.poster + "\">" + result.poster + "</a> on " + result.date + "</span> <a href=\"\" class=\"comments\" onclick=\"return OnNewsCommentClick(" + result.newsId + ");\">" + result.commentCount + " comments</a><span id=\"submitNewsComment_" + result.newsId + "\" class=\"submitNewsComment\" style=\"float:right\"></span></p>";
		    htmlResult += "</div>";
			htmlResult += "<div id=\"idComment_" + result.newsId + "\" class=\"comment\">";
			htmlResult += "</div>";
			count++;
			if(count > 10)
				return false;
	  	});
		//contentDiv.removeClass("content_loading");
		if(count == -1)
		{
			contentDiv.empty();
			contentDiv.html("<div id=\"idSubmit\" class=\"submitNews\"></div>");
		}
		else
		{
			contentDiv.empty();
			htmlResult += "<div id=\"idPageing\" class=\"paging\"></div>";
			contentDiv.html(htmlResult);
			GenerateNewsPageing(index, value, page);
			LoadLanguages(0);			
		}
	});
}

function GenerateNewsPageing(index, value, page)
{
	var contentDiv = $("#idPageing");
	contentDiv.text("");
	
	var link = "";
	if(index == "page")
		link = "pageing.php?type=0&page=" + page;
	else
		link = "pageing.php?type=0&page=" + page + "&" + index + "=" + value;
		
	$.getJSON(baseLink + link + callbackAttr,
	function(JSON)
	{
		var htmlResult = "";
		var count = -1;
		contentDiv.empty();
		$.each(JSON.results, 
		function(i, result)
		{
			if(count == -1)
				count = 0;
			
			htmlResult = result.pageing;
			
			return false;
	  	});
		if(count == -1)
		{
			contentDiv.empty();
		}
		else
		{
			contentDiv.empty();
			contentDiv.html(htmlResult);
		}
	});	
}

function GenerateLastPosts()
{
	var contentDiv = $("#idLastPosts");
	contentDiv.text("");
		
	$.getJSON(baseLink + "lastposts.php" + callbackAttrS,
	function(JSON)
	{
		var htmlResult = "";
		var count = -1;
		contentDiv.empty();
		$.each(JSON.results, 
		function(i, result)
		{
			if(count == -1)
				count = 0;
			
			htmlResult += "<li><a href=\"blog.html?u=" + result.u + "&pid=" + result.id + "\" title=\"Post filed under " + result.name + "\">" + result.subject + "</a> Posted by <a href=\"blog.html?u=" + result.u + "\">" + result.u + " </a></li>";
	  	});
		if(count == -1)
		{
			contentDiv.empty();
		}
		else
		{
			contentDiv.empty();
			contentDiv.html(htmlResult);
		}
	});	
}

function OnNewsPageChange(page)
{
	var nid = $.jqURL.get("nid");
	var date = $.jqURL.get("date");
	var cat = $.jqURL.get("cat");	
	if(nid != undefined)
		GenerateNews("nid", nid, page);
	else if(date != undefined)
		GenerateNews("date", date, page);
	else if(cat != undefined)
		GenerateNews("cat", cat, page);		
	else
		GenerateNews("page", page, page);
	CheckLogin();
	return false;
}

function DeleteNewsPost(newsId)
{
	$.getJSON(baseLink + "news.php?delete=1&nid=" + newsId + callbackAttr, 
	function(JSON)
	{
		/*if(status == "success")
		{*/
			NewsOnPageLoad(this);
			CheckLogin();			
		/*}
		else
		{
		}*/
	});
	
	return false;	
}

function DeleteNewsComment(id, newsid, posterid)
{
	$.getJSON(baseLink + "comments.php?type=0&delete=1&id=" + id + "&nid=" + newsid + "&u=" + posterid + callbackAttr, 
	function(JSON)
	{
		/*if(status == "success")
		{*/
			OnNewsCommentClick(newsid);
		/*}
		else
		{
		}*/
	});
	
	return false;	
}

function NewsOnPageLoad(event)
{
	var page = $.jqURL.get("page");
	if(page == undefined)
		page = 1;
		
	var nid = $.jqURL.get("nid");
	var date = $.jqURL.get("date");
	if(nid != undefined)
		GenerateNews("nid", nid, page);
	else if(date != undefined)
		GenerateNews("date", date, page);
	else
		GenerateNews("page", page, page);
		
	GenerateLastPosts();
}
