// jq_blog.js

//------------------------------------------------------------------------
$.fn.blog = function(o)
	{
	var blog = $(this).addClass("blog");
	if (o.type_id) blog.attr("type_id",o.type_id);
	var bloginbox = $(_div).addClass("bloginbox").appendTo(blog);
	var blogoutbox = $(_div).addClass("blogoutbox").appendTo(blog);
	var blogin = $(_textarea).addClass("blogin")
		.bind("keyup", function(e){
			if (e.keyCode == 13) 
				{
				if (!isBlank($(this).attr("value"))) blog.blog_add();
				}
			e.stopPropagation();
		})
		.appendTo(bloginbox);
	var blogout = $(_div).addClass("blogout").appendTo(blogoutbox);
	$(_button).attr({value:"ENTER"}).addClass("blogEnter")
	.bind("click", function(){blog.blog_add();})
	.appendTo(bloginbox);
	blog.blog_redraw();
	return blog;
	}
	
//------------------------------------------------------------------------
$.fn.blog_redraw = function()
	{
	var blog = $(this);
	var showIP = blog.attr("showIP");
	var div = blog.find(".blogout").empty();
	$.post("blog.php", {data: $.toJSON({command:"get",
						rowLimit:100,
						type_id: blog.attr("type_id")})}, function(res){
		var o = $.evalJSON(res);
		if (o.recs)
			{
			var recs = $.evalJSON(o.recs);
			for (var i=0; i<recs.length; ++i)
				{
				var r = recs[i];
				var tim = "<a class='blogtime'>"+r.timestamp+":</a>";
				if (showIP) tim += " <"+r.ip+"> ";
				$(_a).html(tim+nbsp(2)+unescape(r.text)+"<br>")
				.addClass("blogEntry")
				.attr("blog_id", r.id)
				.hover(function(){
					$(this).css({color:"yellow"});
				},
				function(){
					$(this).css({color:"#bbbbbb"});
				})
				.bind("click", function()
					{
					if (inAdminMode()) 
						{
						$(this).addClass("blogHilite");
						var yes = confirm("Do you wish to delete this blog entry?");
						$(this).removeClass("blogHilite");
						if (yes)
							{
							$.post("blog.php", {data: $.toJSON({command:"del"
														,blog_id:$(this).attr("blog_id")
											})}, function(res){
												blog.blog_redraw();
											});
								
							}
						}
						})
				.appendTo(div);	
				}
			}
	});
	return $(this);
	}

//------------------------------------------------------------------------
$.fn.blog_add = function()
	{
	var blog = $(this);
	var blogin = blog.find(".blogin");
	
	var txt = rtrim(blogin.attr("value"));
	if (!isBlank(txt))
		{
		blog.find(".blogout").empty();
		$.post("blog.php", 
			{data: $.toJSON({command:"add",text: escape(txt),type_id:blog.attr("type_id")
							})}, function(res){
			var o = $.evalJSON(res);
			blog.blog_redraw();
			blogin.attr("value","");
			if (o.blog_cmd)
				{
				switch(o.blog_cmd)
					{
					case "admin":
						$(".topRtBox").html("Admin");
						gBoss = true;
						break;
					case "noadmin":
						$(".topRtBox").html("Visitor");
						gBoss = false;
						break;
					case "showips":
						blog.attr("showIP", true).blog_redraw();
						break;
					case "hideips":
						blog.removeAttr("showIP").blog_redraw();
						break;
					case "killratings":
						bowers_killRatings();
						break;
					}
				}
		});
		}
	return $(this);
	}

//------------------------------------------------------------------------
$.fn.blog_delAll = function()
	{
	var blog = $(this);
	var blogin = blog.find(".blogin");
	
	$.post("blog.php", 
		{data: $.toJSON({command:"del_all",
						type_id: _type_shuffleboard
						})}, function(res){
		$(this).find(".blogout").empty();
	});
	return $(this);
	}