////////Tree stuff

var nodes =new Array();
var folder_open_id=0;
var selected_tree_id=0;
function CTreeNode(id, parent_id, name)
{
	this.id=id;
	this.parent_id=parent_id;
	this.name=name;
	this.open_closed=0;
	this.sub_nodes=0;
	this.drawn=0;
}
function CloseTree(site_id, tree_id)
{
	$('#FOLDER_'+tree_id).html('<A HREF="javascript:OpenTree('+site_id+', '+tree_id+');"><IMG SRC=/images/tree/closed.png BORDER=0 WIDTH=14 HEIGHT=20 CLASS=IE6BAD></A>');
	$('#NODE_'+tree_id).html('');
}
function OpenTree(site_id, tree_id)
{
	$('#FOLDER_'+tree_id).html('<A HREF="javascript:CloseTree('+site_id+', '+tree_id+');"><IMG SRC=/images/tree/open.png BORDER=0 WIDTH=14 HEIGHT=20 CLASS=IE6BAD></A>');
	$.get('/static_tree/'+site_id+'/tree_'+tree_id+'.txt',function(data)	
	{
		var nodes = eval('(' + data + ')');
		var out_crap='';
		for ( node_id in nodes ) //Hash the nodes with a key.
		{
			out_crap+=AssembleNode(site_id, nodes[node_id]);
		}
		$('#NODE_'+tree_id).html(out_crap);
	});
}
function AssembleNode(site_id, node)
{
	var out_crap='';
	var node_url=URLEncode(node.label);
	if(node.children==0)
	{
		out_crap+='<TABLE CELLPADDING=0 CELLSPACING=0><TR><TD><A HREF="javascript:NodeClick('+node.tree_id+');"><IMG SRC=/images/tree/no_sub_nodes.png BORDER=0 WIDTH=14 HEIGHT=20 CLASS=IE6BAD></A></TD><TD><IMG SRC=/images/tree/not_selected_icon.png></TD><TD CLASS=NODE_TEXT><A HREF="javascript:NodeClick(\''+node_url+'\', '+node.tree_id+');">'+node.label+'</A></TD></TR></TABLE>';
	}
	else
	{
		out_crap+='<TABLE CELLPADDING=0 CELLSPACING=0><TR><TD ID=FOLDER_'+node.tree_id+'><A HREF="javascript:OpenTree('+site_id+', '+node.tree_id+');"><IMG SRC=/images/tree/closed.png BORDER=0 WIDTH=14 HEIGHT=20 CLASS=IE6BAD></A></TD><TD><IMG SRC=/images/tree/not_selected_icon.png></TD><TD CLASS=NODE_TEXT><A HREF="javascript:NodeClick(\''+node_url+'\', '+node.tree_id+');">'+node.label+'</A></TD></TR></TABLE><DIV ID=NODE_'+node.tree_id+' CLASS=TREE_NODE></DIV>';
	}
	return out_crap;
}
function DrawNodes(site_id)
{
	var out_crap='';
	for ( node_id in root_nodes ) //Hash the nodes with a key.
	{
		out_crap+=AssembleNode(site_id, root_nodes[node_id]);
	}
	$('#ROOT_NODES').html(out_crap);
}
function URLEncode (name)
{
	if(name)
	{
		name=name.replace(/\./g, ' ');
		name=name.replace(/\*/g, ' ');
		name=name.replace(/%/g, ' ');
		name=name.replace(/#/g, ' ');
		name=name.replace(/'/g, ' ');
	  	name=name.replace(/\&/g, ' ');
		name=name.replace(/\;/g, ' ');
		name=name.replace(/\//g, ' ');
		name=name.replace(/\?/g, ' ');
		name=name.replace(/\@/g, ' ');
		name=name.replace(/\=/g, ' ');
		name=name.replace(/\+/g, ' ');
		name=name.replace(/\$/g, ' ');
		name=name.replace(/\,/g, ' ');
		name=name.replace(/\|/g, ' ');
	}
	return name;
}

function LinkClick(node_id)
{
	var node=nodes[node_id];
	var sub_node_area = document.getElementById("SUB_NODE_"+node_id);
	var open_close_graphic = document.getElementById("OPEN_CLOSE_"+node_id);
	if(node.open_closed==0)
	{
		node.open_closed=1;
		SetCookie("FOLDER_"+node.id, "OPEN");
		if(sub_node_area)
		{
			var x=sub_node_area.innerHTML;
			if(sub_node_area.innerHTML==''){sub_node_area.innerHTML=DrawTree(node_id);}//This allows sub nodes to stay as they are.
			if(sub_node_area.innerHTML!=''){sub_node_area.style.display='block';}
		}
		if(open_close_graphic){open_close_graphic.src='/images/tree/open.png';}
	}
	else
	{
		SetCookie("FOLDER_"+node.id, "CLOSED");
		node.open_closed=0;
		sub_node_area.style.display='none';
		if(open_close_graphic){open_close_graphic.src='/images/tree/closed.png';}
	}
	if(open_close_graphic){if(node.sub_nodes==0){open_close_graphic.src='/images/tree/blank.gif';}}
}
function trim(str){str = str.replace(/^\s+/, "").replace(/\s+$/, "");return str;}
function NodeClick(name, folder_node_id)
{
	$('#FOLDER_ICON_'+folder_node_id).html('<IMG SRC=/images/tree/selected_icon.png>');
	folder_open_id=folder_node_id;
	name=name.replace(/\&/g, ' and ');
	name=name.replace(/\//g, ' ');
	name=name.replace(/:/g, '-');
	name=name.replace(/ /g, '-');
	name=name.replace(/%20/g, '-');
	name+='-'+folder_node_id+'.html';
	name=name.replace(/--/g, '-');//Repeats not a mistake
	name=name.replace(/--/g, '-');
	name=name.replace(/--/g, '-');
	document.location='/'+name;
}
function AddNode2(node_id)
{
	var node_panel = document.getElementById("NODE_PANEL");
	var fade_screen=document.getElementById('FADESCREEN');
	fade_screen.style.visibility='visible';
	form_data='<CENTER>';
	form_data+='<BR><BR>';
	form_data+='<FONT STYLE="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#000099"><B>Add New Node</B></FONT><BR><BR>';
	form_data+='<FORM ACTION="index.php" METHOD=POST>';
	form_data+='<INPUT TYPE=HIDDEN NAME=SUBMIT VALUE="ADD_NODE">';
	form_data+='<INPUT TYPE=HIDDEN NAME=PARENT_ID VALUE="'+node_id+'">';
	form_data+='<INPUT TYPE=TEXT NAME=NODE_NAME VALUE=""><BR><BR>';
	form_data+='<A HREF="javascript:HideNodePanel();"><IMG SRC="/button/buttons/Cancel.png" BORDER=0></A>';
	form_data+='<INPUT TYPE=IMAGE SRC="/button/buttons/Create%20Node.png">';
	form_data+='</FORM>';
	form_data+='</CENTER>';
	node_panel.innerHTML=form_data;
	node_panel.style.visibility='visible';
}
function AddNode(node_id)
{
	$('#NODE_PANEL').css('left', $(document).width()/2-$('#NODE_PANEL').width()/2);
	$('#NODE_PANEL').html('<IFRAME src ="/panels/tree/edit_node.php?TREE='+node_id+'&ADD=NODE" WIDTH="100%" HEIGHT="100%" SCROLLING=NO frameborder=0 STYLE="width:480px;height:300px;"></IFRAME>');
	$('#NODE_PANEL').css('display', 'block');
}
function RenameNode(node_id)
{
	$('#NODE_PANEL').css('left', $(document).width()/2-$('#NODE_PANEL').width()/2);
	$('#NODE_PANEL').html('<IFRAME src ="/panels/tree/edit_node.php?TREE='+node_id+'" WIDTH="100%" HEIGHT="100%" SCROLLING=NO frameborder=0 STYLE="width:480px;height:300px;"></IFRAME>');
	$('#NODE_PANEL').css('display', 'block');
}
function HideNodePanel()
{
	$('#NODE_PANEL').fadeOut(500);
	//$('#NODE_PANEL').html('');
}
function DeleteNode(node_id, tree_name)
{
	var answer=confirm('Are you sure that you would like to delete the node '+tree_name);
	if(answer)
	{
		$.post('/panels/tree/delete_node.php', {NODE_DELETE:node_id}, function(data)
		{
			if(data!='FAILED')
			{
				document.location='/index.php?TREE='+data;
			}
			else{alert('Node failed to be deleted');}
		});
	}
}