function ToggleVisibility( ev ) {
	var source;

	if( ev.srcElement )
		source = ev.srcElement;
	else
		source = ev.target;

	var outerContainer = source.parentNode.parentNode;
	var divToToggle;

	for( var i = 0; i < outerContainer.childNodes.length; ++i )
		if( outerContainer.childNodes[ i ].className == "padder" ||
				outerContainer.childNodes[ i ].className == "padderHidden" ) {
			divToToggle = outerContainer.childNodes[ i ];
			break;
		}

	if( divToToggle.className == "padder" ) {
		divToToggle.className = "padderHidden";
		source.parentNode.innerHTML = "<span>+</span>";
	}
	else{
		divToToggle.className = "padder";
		source.parentNode.innerHTML = "<span>&nbsp;-&nbsp;</span>";
	}
}

function InsertCollapser( div ){
	var toggle = document.createElement( "span" );
	toggle.innerHTML = "<span>+</span>";
	toggle.className = "collapser";
	AddEventListener( toggle, "click", ToggleVisibility );
	div.insertBefore(toggle, div.firstChild);
}

function InsertCollapsers( div, doSubs )
{
	for( var i = 0; i < div.childNodes.length; ++i )
	{
		if( div.childNodes[i].nodeName != "DIV" )
		{
			continue;
		}
		else
		{
			if( doSubs )
			{
				var subDiv = div.childNodes[i];

				for( var j = 0; j < subDiv.childNodes.length; ++j )
				{
					if( subDiv.childNodes[j].nodeName != "DIV" )
					{
						continue;
					}
					else
					{
						InsertCollapsers( subDiv.childNodes[j], false );
					}
				}
			}
			InsertCollapser( div.childNodes[i] );
		}
	}
}

function OnLoad() {
	var div = document.getElementById("m_NewList");

	InsertCollapsers( div, true );
}
