
function subNavInit()
{
	period = setInterval( "subNavTimer( 'check' )", subNav[ 'interval' ] );
}


function getID( id )
{
	var div;
	if ( document.all )
	{
		div = document.all[ id ];
	} else {
		div = document.getElementById( id );
	}
	return div;
}


function subNavDisplay( mode, id )
{
	var state;
	if ( mode == 'hide' )
	{
		state = 'hidden';
	} else {
		state = 'visible';
	}
	var div = getID( 'subNav_' + id );
	div.style.visibility = state;
}


function subNavImg( id, status )
{
	// document.images[ 'img_subNav_' + id ].src = 'media/images/subnav/' + id + '_' + status + '.gif';
	var img = document.getElementById( 'img_subNav_' + id );
	img.src = 'media/images/subnav/' + id + '_' + status + '.gif';
}


function subNavStyle( mode, id )
{
	var style;
	if ( mode == 'hide' )
	{
		style = 'n';
	} else {
		style = 'a';
	}
	// document.getElementById( 'nav_' + id ).className = id + '_' + style;
	var img = document.getElementById( 'nav_' + id );
	// alert( mode + " = " + id );
	img.src = 'media/images/nav/' + id + '_' + style + '.gif';
}


function subNavControl( mode, id )
{
	switch ( mode )
	{
		case 'display':

			// hide active if set
			if ( subNav[ 'active' ] != '' )
			{
				subNavDisplay( 'hide', subNav[ 'active' ] );

				// active is not persistent
				if ( subNav[ 'active' ] != subNav[ 'persist' ] )
				{
					subNavStyle( 'hide', subNav[ 'active' ] );
				}
			}

			// id has subNav
			if ( id != '' )
			{
				subNavStyle( 'display', id );
				subNavDisplay( 'display', id );
				subNav[ 'mode' ] = 'display';

			// id has no subNav
			} else {

				// subNavStyle( 'display', id );
				subNav[ 'mode' ] = 'display';
			}
			subNav[ 'active' ] = id;
			break;

		case 'hide':

			// id set
			if ( id != '' )
			{
				// alert( subNav[ 'mode' ] );
				// initiating hide on id
				switch( subNav[ 'mode' ] )
				{
					case 'display':
						subNav[ 'mode' ] = 'hide';
						break;

					case 'revert':
						subNavDisplay( 'hide', id );
						subNavStyle( 'hide', id );
						subNav[ 'active' ] = subNav[ 'persist' ];					
						break;

					case 'hide':
						if ( subNav[ 'active' ] == subNav[ 'persist' ] )
						{
							subNav[ 'mode' ] = 'display';
						} else {
							subNavDisplay( 'hide', id );
							subNavStyle( 'hide', id );

							if ( subNav[ 'persist' ] != '' )
							{
								subNavTimer( 'reset' );
								subNav[ 'mode' ] = 'revert';
							} else {
								subNav[ 'mode' ] = 'display';
							}
							break;
						}
				}

			// id has no subNav
			} else {

				// revert to persistent if set
				if ( subNav[ 'persist' ] != '' )
				{
					subNav[ 'mode' ] = 'revert';
				}
			}
			break;
	}
}


function subNavTimer( mode )
{
	// alert( 'hi' );
	switch ( mode )
	{ 
		case 'reset':

			subNav[ 'timeout' ] = 0;
			break;

		case 'check':

			if ( subNav[ 'mode' ] != 'display' )
			{
				var limit = 1500;
				if ( subNav[ 'mode' ] == 'revert' )
				{
					limit = 500;
				}

				if ( subNav[ 'timeout' ] >= limit )
				{
					switch( subNav[ 'mode' ] )
					{
						case 'revert':
							subNavControl( 'display', subNav[ 'persist' ] );
							subNav[ 'mode' ] = 'display';
							break;

						case 'hide':
							subNavControl( 'hide', subNav[ 'active' ] );
							break;
					}
					subNavTimer( 'reset' );

				} else {

					subNav[ 'timeout' ] += subNav[ 'interval' ];
				}
			}
			break;
	}
}


function checkImage()
{
	var form = document.forms[ 'area' ];
	if ( form )
	{
		var elem = form.elements[ 'image' ].value;
		if ( elem != '' )
		{
			expandImage( 'detail', elem ); 
		}
	}
}


var preloaded = new Array();
function expandImage( target, url )
{
	if ( target == 'content' )
	{
		window.frames[ 'bodyFrame' ].document.images[ 'expandImage' ].src = url;
		window.frames[ 'bodyFrame' ].document.getElementById( 'bodyCopy' ).style.visibility = 'hidden';
	} else {
		var img = top.document.getElementById( 'expandImage' );

		// checks for string - this will be deprecated when collection images are displayed from index.php 
		if ( url.length > 2 )
		{
			img.src = 'media/images/' + url;
		} else {
			img.src = preloaded[ url ].src;
		}
	}
}


function preloadImages( arr )
{
	// check for array
	if ( arr )
	{
		var max = arr.length;
		for ( var i = 0; i < max; i++ )
		{
			preloaded[ i ] = new Image();
			preloaded[ i ].src = arr[ i ];
		}
	}
}


function switchPage( page )
{
	// alert( page );
	var elem = document.forms[ 'gallery' ].elements[ 'active' ]; 
	var page_new = 'detailPage_' + page;
	var page_old = 'detailPage_' + elem.value;
	var button_new = 'pageButton_' + page;	
	var button_old = 'pageButton_' + elem.value;

	if ( page != elem.value )
	{
		if ( document.all )
		{
			page_new = document.all( page_new );
			page_old = document.all( page_old );
			button_new = document.all( button_new );
			button_old = document.all( button_old );
		} else {
			page_new = document.getElementById( page_new );
			page_old = document.getElementById( page_old );
			button_new = document.getElementById( button_new );
			button_old = document.getElementById( button_old );
		}

		// change style
		button_new.className = 'active';
		button_old.className = '';

		// toggle divs
		page_old.style.display = 'none';
		page_new.style.display = 'block'; 

		// set form
		elem.value = page;
	}
	return true;
}



