function changeFilter( dropdown )
{
	var val = dropdown.options[dropdown.selectedIndex].value;
	if ( val && val.length > 0 )
	{
		dropdown.form.submit( );
	}
}

function toggleFilterChildren( elID )
{
	var el = document.getElementById( elID );

	if ( el )
	{
		el.style.display = (el.style.display=="block")?"none":"block";
		if ( el.style.display=="block" && el.scrollIntoView )
		{
			var temp = document.body.scrollTop;
			el.parentNode.scrollIntoView( );
			document.body.scrollTop = temp;
		}
	}

	var control = document.getElementById( elID + "control" );
	if ( control )
	{
		control.innerHTML = (el.style.display=="block")?"<img border=0 src='images/minus.gif'>":"<img border=0 src='images/plus.gif'>";
	}
	if ( window.focus ) window.focus( );
}

function fnOnKey( el )
{
	var editEvent = event;

	// catch keypress events
	if (editEvent && editEvent.keyCode)
	{
		var ord       = editEvent.keyCode;    // ascii order of key pressed
		var ctrlKey   = editEvent.ctrlKey;
		var altKey    = editEvent.altKey;
		var shiftKey  = editEvent.shiftKey;
	}

	switch ( ord )
	{
		case 27:
			window.close( );
		break;

		default:
			// do nothing for now...
		break;
	}
	return true;
}

function rollOver( el, out )
{
	for( var i=0,children = el.childNodes; children && i<children.length; i++ )
	{
		var img = children[i];
		if ( img && img.tagName == "IMG" )
		{
			var ext = ".gif";
			var pos = img.src.indexOf( ext );
			
			if ( pos == -1 ) 
			{
				ext = ".jpg";
				pos = img.src.indexOf( ext );
			}
			
			for( pos--;pos>0 && img.src.charAt(pos)=='O';pos--);

			var src = img.src.substr( 0, pos+1 );
			img.src = src + (out?ext:("O"+ext));
		}
		else if ( img && (img.tagName == "DIV"||img.tagName == "div") )
		{
			rollOver( img, out );
		}
	}
}

var menuDelay = 500;
var openedMenu = null;
var menuTimer = null;

function tabOver( el, out )
{
	var childMenu = document.getElementById( el.id + "children" );

	if ( !out )
	{
		clearTimeout( menuTimer );
		menuTimer = null;
		if ( openedMenu && openedMenu != childMenu )
		{
			// close any other opened menu and clear any timeout...
			openedMenu.style.display = "none";
			openedMenu = null;
		}
		if ( childMenu )
		{
			childMenu.style.display = "block";
			openedMenu = childMenu;
		}
	}
	else
	{
		menuTimer = setTimeout( "closeOpenedMenu( )", menuDelay );
	}
}

function childOver( el, out )
{
	if ( !out )
	{
		clearTimeout( menuTimer );
		menuTimer = null;
		//var parentId = el.id.substring( 0, el.id.indexOf( "children" ) );
		//alert( parentId );
		//rollOver( document.getElementById( parentId ) );
	}
	else
	{
		menuTimer = setTimeout( "closeOpenedMenu( )", menuDelay );
	}
}

function closeOpenedMenu( )
{
	if ( openedMenu )
	{
		openedMenu.style.display = "none";
		openedMenu = null;
	}
	menuTimer = null;

	resetMenu( );
}

var doneTableMove = false;

function resetMenu( )
{
	if ( window.hasSelectedChild )
	{
		var el = document.getElementById( hasSelectedChild+"children" );

		if ( el )
		{
			el.style.display = "block";
			openedMenu = el;

			if ( !doneTableMove )
			{
				var documentHolder = document.getElementById( "documentHolder" );

				documentHolder.style.top = (documentHolder.offsetTop + el.offsetHeight) + "px";
				doneTableMove = true;
			}
		}

		tabOver( document.getElementById( hasSelectedChild ) )
	}
	else
	{
		// do nothing....
	}
}

