/*=====================================================================*\
|| ################################################################### ||
|| # vB3 Inline Moderation 1.2.1
|| # --------------------------------------------------------------- # ||
|| # ©2003 - 2004 Iris Studios, Inc. | http://www.iris-studios.com   # ||
|| ################################################################### ||
\*=====================================================================*/

var count = 0;

// ###################################################################
// Initialize inline moderation by checking needed boxes
function inline_init(activeid, type)
{
	if (fetch_cookie("bbinlineid") == type + "_" + activeid)
	{
		var tocheck = fetch_cookie("bbinlinemod");
		if (tocheck && tocheck != null)
		{
			tocheck = tocheck.split("|");
			for (i in tocheck)
			{
				if (tocheck[i] != "" && tocheck[i] != null && tocheck[i])
				{
					count++;
					if (obj = fetch_object("inlinemod_" + tocheck[i]))
					{
						obj.checked = true;
					}
				}
			}
		}
	}
	else
	{
		delete_cookie("bbinlinemod");
		delete_cookie("bbinlineid");
	}
	write_button(count);
	set_cookie("bbinlineid", type + "_" + activeid, getDate());
}

// ###################################################################
// Select a post or thread
function select_item(itemid, e)
{
	var selected = "|";
	
	var prevpage = fetch_cookie("bbinlinemod");
	if (prevpage && prevpage != null)
	{
		selected = prevpage;
	}	
	
	// Check
	if (e.checked)
	{
		selected = selected + itemid + "|";
		count++;
	}
	// Uncheck
	else
	{
		selected = remove_value(selected, itemid + "|");
		count--;
	}
	
	// Set the cookie
	write_button(count);
	set_cookie("bbinlinemod", selected, getDate());
}

// ###################################################################
// Removes one value in an array (PHP's unset() function)
function remove_value(subject, remove)
{
	return subject.replace(remove, "");
}

// ###################################################################
// Return cookie shelf life (1 hr)
function getDate()
{
	life = new Date();
	life.setTime(life.getTime() + 216000);
	return life;
}

// ###################################################################
// Set the name of the go button
function write_button(avalue)
{
	if (thebutton = fetch_object("inline_go"))
	{
		thebutton.value = "Go (" + avalue + ")";
	}
}

// ###################################################################
// Remove all selected inline topics
function inline_reset()
{
	var tocheck = fetch_cookie("bbinlinemod");
	count = 0;
	if (tocheck && tocheck != null)
	{
		tocheck = tocheck.split("|");
		for (i in tocheck)
		{
			if (tocheck[i] != "" && tocheck[i] != null && tocheck[i])
			{
				if (obj = fetch_object("inlinemod_" + tocheck[i]))
				{
					obj.checked = false;
				}
			}
		}
	}
	write_button(count);
	delete_cookie("bbinlinemod");
}