var curdiv = null;
var curmnu = null;

// Try to determine browser.
var isMinNS4 = document.layers;
var ie = document.all && navigator.userAgent.indexOf( "Opera" ) == -1;
var dom = document.getElementById && !ie && navigator.userAgent.indexOf( "Opera" ) == -1

function getObject( obj ) {
	var strObj = null;
	if ( dom ) {
		strObj = document.getElementById( obj );
	}
	if( ie ) {
		strObj = document.all.item( obj );
	}
	return strObj;
}

function cssOpacity( layer, perc ) {
	try {
		if( perc != null ) {
			perc = perc > 100 ? 100 : perc;
		}
		if( dom ) {
			if( perc != null ) getObject( layer ).style.MozOpacity = perc / 100;
			return getObject( layer ).style.MozOpacity * 100;
		}
		if( ie ) {
			if( perc != null ) getObject( layer ).filters.alpha.opacity = perc;
			return getObject( layer ).filters.alpha.opacity;
		}
	}
	catch( e ) {}
}

function cssBackgroundImage( layer, url ) {
	try { 	if( url != null ) getObject( layer ).style.backgroundImage = "url(" + url + ")"; return getObject( layer ).style.backgroundImage; }
	catch( e ) {}
}

function cssBackgroundPosition( layer, pos ) {
	try { 	if( pos != null ) getObject( layer ).style.backgroundPosition = pos; return getObject( layer ).style.backgroundPosition; }
	catch( e ) {}
}

function hideLayer( layer ) {
	try { 	getObject( layer ).style.display = 'none'; }
	catch( e ) {}
}

function showLayer( layer ) {
	try { 	getObject( layer ).style.display = 'block'; }
	catch( e ) {}
}

function stateLayer( layer ) {
	try { 	return getObject( layer ).style.display; }
	catch( e ) {}
}

function Show( s, n, f ) {
	if( curdiv ) {
		hideLayer( curdiv );
		cssBackgroundImage( curmnu, "images/menu/bullet.png" );
		cssBackgroundPosition( curmnu, "10px 4px" );
	}
	if( n != curdiv || f == true ) {
		showLayer( n );
		cssBackgroundImage( s, "images/menu/bullet2.png" );
		cssBackgroundPosition( s, "8px 6px" );
		curdiv = n;
		curmnu = s;
	} else {
		curdiv = null;
		curmnu = null;
	}
}

var wait, goIn, intRightNow = 1, inUse = ''; 

function swapNav( intNavSpan ) {
	if( getObject( 'id' + intNavSpan ).style.display == 'block' ) return;
	if( intNavSpan != intRightNow ) {
		if( typeof wait != 'undefined' ) { clearTimeout( wait ); }
		if( typeof goIn != 'undefined' ) { clearTimeout( goIn ); }
		intRightNow = intNavSpan;
		inUse = '';
		swapNav( intNavSpan );
		return;
	}
	if( inUse != '' ) {
		wait = setTimeout( 'swapNav( ' + intNavSpan + ' )', 20 );
		return;
	}
	var maxInt = 4;
	for( var i = 1; i <= maxInt; i++ ) {
		hideLayer( "id" + i );
		cssOpacity( "id" + i, 0 );
	}
	showLayer( "id" + intNavSpan );
	fader( 'id' + intNavSpan, 'in' );
}

function fader( objID, dir ) {
	var fade_index;
	if( inUse != '' && inUse != dir ) { return; }
	if( ie || dom ) {
		inUse = dir;
		fade_index = cssOpacity( objID );
		fade_index = dir == 'in' ? fade_index + 5 : fade_index - 5;
		index_limit = dir == 'in' ? 95 : 0;
		cssOpacity( objID, fade_index );
		goIn = setTimeout( 'fader( "' + objID + '", "' + dir + '" )', 30 );
		if( ( dir == 'in' && fade_index >= index_limit ) || ( dir == 'out' && fade_index <= index_limit ) ) {
			cssOpacity( objID, 99.99 );
			clearTimeout( goIn );
			inUse = '';
		}
	}
}


function but1() { if( intRightNow != 1 ) swapNav( 1 ); }
function but2() { if( intRightNow != 2 ) swapNav( 2 ); }
function but3() { if( intRightNow != 3 ) swapNav( 3 ); }
function but4() { if( intRightNow != 4 ) swapNav( 4 ); }

function navtourl( t, u, d, f ) {
	switch( t ) {
		case 1:
			if( intRightNow != 1 ) swapNav( 1 );
			break;
		case 2:
			if( intRightNow != 2 ) swapNav( 2 );
			break;
		case 3:
			if( intRightNow != 3 ) swapNav( 3 );
			break;
		case 4:
			if( intRightNow != 4 ) swapNav( 4 );
			break;
	}
	top.frmain.location = u;
	if( d != '' && f != '' ) {
		Show( d, f, true );
	}
}
