﻿function dyntable( node )
{
	this.dyntable		= this;
	this.node			= node;
	this.init			= dyntableInit;
	this.mehr			= dyntableMehr;
	this.weniger		= dyntableWeniger;
	this.open			= dyntableOpen;
	this.jump			= dyntableJump;
	
	this.init( node );
}

function dyntableInit( node )
{
	var nodes = node.getElementsByTagName("div");
	
	for( i = 0; i < nodes.length; i++ )
	{
		if( i == 0 )
		{
			var mehr = document.createElement( "mehr" );
			var img = document.createElement( "img" );
			img.src = "/img/mehr.png";
			img.style.cursor = "help";
			img.setAttribute( "align", "right" );
			mehr.dyntable = this.dyntable;
			mehr.onclick = this.mehr;
		
			mehr.appendChild( img );
			nodes[i].appendChild( mehr );
			nodes[i].style.display = "block";
		}
		else
		{
			if( i == nodes.length - 1 )
			{
				var mehr = document.createElement( "mehr" );
				var img = document.createElement( "img" );
				img.src = "/img/weniger.png";
				img.style.cursor = "n-resize";
				img.setAttribute( "align", "right" );
				mehr.dyntable = this.dyntable;
				mehr.onclick = this.weniger;
			
				mehr.appendChild( img );
				nodes[i].appendChild( mehr );
			}
			
			nodes[i].style.display = "none";
		}
	}
}

function dyntableMehr()
{
	var nodes = this.dyntable.node.getElementsByTagName("div");
	
	for( i = 0; i < nodes.length; i++ )
	{
		if( i == 0 )
		{
			nodes[i].getElementsByTagName( "mehr" )[0].style.display = "none";
		}
		else
		{
			if( i == nodes.length - 1 )
				nodes[i].getElementsByTagName( "mehr" )[0].style.display = "block";
			
			nodes[i].style.display = "block";
		}
	}
}

function dyntableWeniger()
{
	var nodes = this.dyntable.node.getElementsByTagName("div");

	for( i = 0; i < nodes.length; i++ )
	{
		if( i == 0 )
		{
			nodes[i].getElementsByTagName( "mehr" )[0].style.display = "block";
		}
		else
		{
			if( i == nodes.length - 1 )
				nodes[i].getElementsByTagName( "mehr" )[0].style.display = "none";
			
			nodes[i].style.display = "none";
		}
	}

	this.dyntable.jump( this.dyntable.node.parentNode.parentNode );
}

function dyntableOpen()
{
	this.dyntable.mehr();
	this.dyntable.jump( this.dyntable.node.parentNode.parentNode );
}

function dyntableJump( node )
{
	var pos = getNodePos( node );
	scrollPos = getScrollPos();
	window.scrollTo( scrollPos.x, pos.y - 0 );
}
