function load(){
	var collapseTable = document.getElementById( "collapse_table" );
    //alert(collapseTable.firstChild.childNodes.length);
	for( var i = 0; i < collapseTable.firstChild.childNodes.length; i ++ ){
		if( collapseTable.firstChild.childNodes[ i ].className == "collapse_row" ){
            if(collapseTable.firstChild.childNodes[ i ].id != parent){
				toggleSub( collapseTable.firstChild.childNodes[ i ].firstChild.firstChild );
			}
		}
	}
	//loadSub();
	//describeTable();
}

function closeTable(){
	var parentBody = e.parentNode.parentNode.parentNode;
	var parentRow = e.parentNode.parentNode;

	for( var i = 0; i < parentRow.subRows.length; i ++ ){
		if( ( endIndex + i ) < parentBody.childNodes.length ) parentBody.insertBefore( parentRow.subRows[ i ], parentBody.childNodes[ endIndex + i ] );
		else parentBody.appendChild( parentRow.subRows[ i ] );
		e.removeChild( e.firstChild );
		e.appendChild( document.createTextNode( "[-]" ) );
	}
}

function describeTable(){
	var collapseTable = document.getElementById( "collapse_table" );
	for( var i = 0; i < collapseTable.childNodes.length; i ++ ){
		alert(collapseTable.childNodes[ i ].className);
	}
}


function toggleSub( e ){

	//alert('here');

	var parentBody = e.parentNode.parentNode.parentNode;
	var parentRow = e.parentNode.parentNode;
	var startIndex = 0;
	var endIndex = parentBody.childNodes.length;

    //alert(endIndex);
	for( var i = 0; i < parentBody.childNodes.length; i ++ )
	if( parentBody.childNodes[ i ] == parentRow )
	{
		startIndex = i;
		break;
	}
	for( var i = startIndex + 1; i < parentBody.childNodes.length; i ++ )
	//if(( parentBody.childNodes[ i ].className == "collapse_row" ) || ( parentBody.childNodes[ i ].className == "collapse_sub_row" )){
	if( parentBody.childNodes[ i ].className == "collapse_row" ){
		endIndex = i;
		break;
	}

	if( e.firstChild.nodeValue == "[-]" )
	{
		var subRows = new Array();
		for( var i = startIndex + 1; i < endIndex; i ++ )
		{
			subRows.push( parentBody.childNodes[ startIndex + 1 ] );
			parentBody.removeChild(  parentBody.childNodes[ startIndex + 1 ] );
		}
		parentRow.subRows = subRows;
		e.removeChild( e.firstChild );
		e.appendChild( document.createTextNode( "[+]" ) );
	}
	else if( e.firstChild.nodeValue == "[+]" )
	{
		//alert(parentRow.subRows.length);

		for( var i = 0; i < parentRow.subRows.length; i ++ ){

			if( ( endIndex + i ) < parentBody.childNodes.length ) {
				parentBody.insertBefore( parentRow.subRows[ i ], parentBody.childNodes[ endIndex + i ] );
			} else {
				parentBody.appendChild( parentRow.subRows[ i ] );
			}

			e.removeChild( e.firstChild );
			e.appendChild( document.createTextNode( "[-]" ) );
		}
	}
}

function toggleSubSub( e ){
	var parentBody = e.parentNode.parentNode.parentNode;
	var parentRow = e.parentNode.parentNode;
	var startIndex = 0;
	var endIndex = parentBody.childNodes.length;
	for( var i = 0; i < parentBody.childNodes.length; i ++ )
	if( parentBody.childNodes[ i ] == parentRow )
	{
		startIndex = i;
		break;
	}
	for( var i = startIndex + 1; i < parentBody.childNodes.length; i ++ )
	if(( parentBody.childNodes[ i ].className == "collapse_row" ) || ( parentBody.childNodes[ i ].className == "collapse_sub_row" )){
		//if( parentBody.childNodes[ i ].className == "collapse_sub_row" ){
		endIndex = i;
		break;
	}

	if( e.firstChild.nodeValue == "[-]" )
	{
		var subRows = new Array();
		for( var i = startIndex + 1; i < endIndex; i ++ )
		{
			subRows.push( parentBody.childNodes[ startIndex + 1 ] );
			parentBody.removeChild(  parentBody.childNodes[ startIndex + 1 ] );
		}
		parentRow.subRows = subRows;
		e.removeChild( e.firstChild );
		e.appendChild( document.createTextNode( "[+]" ) );
	}
	else if( e.firstChild.nodeValue == "[+]" )
	{

		//alert(parentRow.subRows.length);

		for( var i = 0; i < parentRow.subRows.length; i ++ )
		if( ( endIndex + i ) < parentBody.childNodes.length ) parentBody.insertBefore( parentRow.subRows[ i ], parentBody.childNodes[ endIndex + i ] );
		else parentBody.appendChild( parentRow.subRows[ i ] );
		e.removeChild( e.firstChild );
		e.appendChild( document.createTextNode( "[-]" ) );
	}
}

