function trim(str)
{
	return str.replace(/^\s*|\s*$/g,"");
}
	
function ThreadTools_Show(TrackingID)
{ 
	document.getElementById("ThreadTools_" + TrackingID ).style.display="none";
	if (isLoggedOut())
	{
		document.getElementById("ThreadTools_" + TrackingID + "_Tools_Alt").style.display="";
		document.getElementById("ThreadTools_" + TrackingID + "_Tools_Alt").innerHTML="<DIV><FONT COLOR=#707070><SPAN CLASS='ToolsButton'>Ignore this board's member</SPAN>&nbsp;&nbsp;<SPAN CLASS='ToolsButton'>Report dead/bad link</SPAN>&nbsp;&nbsp;<SPAN CLASS='ToolsButton'>Add tags to this thread</SPAN></FONT></DIV><DIV STYLE='margin-top:5px'>Please <A HREF='/cgi-bin/login.pl'>Login</A> or <A HREF='/cgi-bin/signup.pl'>Signup</A> (free) to use these Thread Tools.</DIV>";
	}
	else
	{
		document.getElementById("ThreadTools_" + TrackingID + "_Tools_Select").style.display="";
	};
	
	document.getElementById("ThreadTools_" + TrackingID + "_Tools").style.display="";
}

function ThreadTools_Hide(TrackingID)
{ 
	ThreadTools_Reset(TrackingID);
	document.getElementById("ThreadTools_" + TrackingID ).style.display="";
	document.getElementById("ThreadTools_" + TrackingID + "_Tools").style.display="none";
}

function ThreadTools_Reset(TrackingID)
{ 
	if (!isLoggedOut()) 
	{
		document.getElementById("ThreadTools_" + TrackingID + "_Tools_Select").style.display=""
	};
	
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Deadlink").style.display="none";
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Deadlink_Result").style.display="none";
}






function AddTags(TrackingID)
{ 
	document.getElementById("TagsAdd_" + TrackingID).style.display="none";
	document.getElementById("TagsAdd_" + TrackingID + "_Tool").style.display="";
}

function AddTags_Reset(TrackingID)
{ 
	document.getElementById("TagsAdd_" + TrackingID + "_Tool").style.display="none";
	document.getElementById("TagsAdd_" + TrackingID + "_Tool_Result").style.display="none";
	document.getElementById("TagsAdd_" + TrackingID).style.display="";
}


var TagsSet_Array = new Array();
function AddTags_Execute(TrackingID)
{
	document.getElementById("TagsAdd_" + TrackingID + "_Tool").style.display="none";
	var Tags = document.getElementById("TagsAdd_"+TrackingID+"_Tool_Tags").value;

	document.getElementById("TagsAdd_" + TrackingID + "_Tool_Result").innerHTML="<FONT COLOR=GRAY>Adding tags<IMG SRC='/adm/inprog'></FONT>";
	document.getElementById("TagsAdd_" + TrackingID + "_Tool_Result").style.display="";

	var NewCell = TagsSet_Array.length;
	var TagsSet_New = new XMLHTTPPackage("TagsSet","/cgi-bin/tagsadd.pl?id="+TrackingID+"&tags="+Tags);
	TagsSet_New.TrackingID = TrackingID; 
	TagsSet_New.onLoad = function(Handler)
	{
		var Result = Handler.getText();
		Result = trim(Result);
		if ((Result.substr(0,5)).toLowerCase() == "error")
		{
			document.getElementById("Tags_" + Handler.TrackingID).innerHTML=Result;
		}
		else
		{
			if ((Result.length==0) || (Result.length>65535))
			{
				document.getElementById("Tags_" + Handler.TrackingID).innerHTML="Error: unexpected error in tags addition process";
			}
			else
			{
				document.getElementById("Tags_" + Handler.TrackingID).innerHTML=Result;
				document.getElementById("TagsAdd_" + Handler.TrackingID).innerHTML='<A HREF="javascript:AddTags(' + Handler.TrackingID + ')" STYLE="text-decoration:none">Add more Tags</A>';
				document.getElementById("TagsAdd_" + Handler.TrackingID + "_Tool_Result").innerHTML="";
				AddTags_Reset(Handler.TrackingID);
				//document.getElementById("TagsAdd_" + Handler.TrackingID + "_Tool_Result").innerHTML="Tags set successfully. <A HREF='javascript:AddTags_Reset("+Handler.TrackingID+")'>Back</A>";
				
			};
		};
	};
	
	TagsSet_Array[NewCell] = TagsSet_New;
	try
	{
		TagsSet_Array[NewCell].Execute();
	}
	catch (e)
	{//Probably busy
		document.getElementById("TagsAdd_"+TrackingID+"_Tool_Result").innerHTML="error setting Tags.";
	};
}







function Deadlink(TrackingID)
{ 
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Select").style.display="none";
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Deadlink_Result").style.display="none";
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Deadlink").style.display="";
}


var Deadlink_Array = new Array();
function Deadlink_Execute(TrackingID)
{
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Deadlink").style.display="none";
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Deadlink_Result").innerHTML="<FONT COLOR=GRAY>Reporting dead/bad link<IMG SRC='/adm/inprog'></FONT>";
	document.getElementById("ThreadTools_" + TrackingID + "_Tools_Deadlink_Result").style.display="";

	var NewCell = Deadlink_Array.length;
	var DeadlinkReport_New = new XMLHTTPPackage("DeadlinkReport","/cgi-bin/deadlink.pl?id="+TrackingID);
	DeadlinkReport_New.TrackingID = TrackingID; 
	DeadlinkReport_New.onLoad = function(Handler)
	{
		var Result = Handler.getText();
		Result = trim(Result);
		if ((Result.substr(0,5)).toLowerCase() == "error")
		{
			document.getElementById("ThreadTools_" + Handler.TrackingID + "_Tools_Deadlink_Result").innerHTML=Result;
		}
		else
		{
			if ((Result.length==0) || (Result.length>65535))
			{
				document.getElementById("ThreadTools_" + Handler.TrackingID + "_Tools_Deadlink_Result").innerHTML="Error: unexpected error in deadlink reporting";
			}
			else
			{
				document.getElementById("ThreadTools_" + Handler.TrackingID + "_Tools_Deadlink_Result").innerHTML=Result;		
			};
		};
	};
	
	Deadlink_Array[NewCell] = DeadlinkReport_New;
	try
	{
		Deadlink_Array[NewCell].Execute();
	}
	catch (e)
	{//Probably busy
		document.getElementById("ThreadTools_"+TrackingID+"_Tools_Deadlink_Result").innerHTML="error reporting deadlink.";
	};
}
