//	display = "menu=xxxx;news=xxxx;showmenu=xx,xx,xx,xx;hidenews=xx,xx,xx,xx"
//
//	This code reads the cookie called "display" and sets these variables:
//	bDisplayMenu	will be TRUE if the menu block should be displayed, FALSE if it should be hidden.
//	bDisplayNews	will be TRUE if the news block should be displayed, FALSE if ot should be hidden.
//	sDisplayMenu	will be a comma-separated list of submenu items that should be expanded.
//	sDisplayNews	will be a comma-separated list of news articles that should be hidden.
//
var	bDisplayMenu = true;
var bDisplayNews = true;
var sDisplayMenu = '';
var sDisplayNews = '';
//
//
//
//
//
//	Future:
//	[x]	When one of our display functions tries to manipulate one of the HTML code blocks
//		by performing either ".getElementById()" or ".getElementsByName()" (note the plural
//		when getting by name), we should ensure that we actually do HAVE the object before
//		we try to do anything with it.
//		This is especially true of the functions that work with the NEWS-BLOCK, since we
//		might not have that block on all pages.

function GetDisplayCookie() {
//	alert('GetDisplayCookie: Entry');
	var c0 = GetCookie('display');
	var hadit;
	if ( ! c0 ) {
		c0 = 'menu=show;news=show;showmenu=;hidenews=';
		hadit = false;
	}
	else {
		hadit = true;
	}
	
	var a0 = c0.split(';');
	var l0 = a0.length;
	var i0;
	
	bDisplayMenu = true;
	bDisplayNews = true;
	sDisplayMenu = '';
	sDisplayNews = '';
	
	for ( i0=0; i0<l0; i0++ ) {
		var a1 = a0[i0].split('=');
		switch( a1[0] ) {
			case 'menu':	bDisplayMenu = ( a1[1] == 'show' );	break;
			case 'news':	bDisplayNews = ( a1[1] == 'show' ); break;
			case 'showmenu':	sDisplayMenu = a1[1];	break;
			case 'hidenews':	sDisplayNews = a1[1];	break;
		}
	}
	
//	alert('GetDisplayCookie: Exit.  hadit=('+hadit+')');
	return hadit;
}


//	(Re-) Constructing the display cookie:
//
//	display = "menu=xxxx;news=xxxx;showmenu=xx,xx,xx,xx;hidenews=xx,xx,xx,xx"
//
//	This code requires these variables:
//	bDisplayMenu	Boolean value that indicates whether the menu block is displayed
//	bDisplayNews	Boolean value that indicates whether the news block is displayed
//	sDisplayMenu	String containing comma-separated list of expanded submenus
//	sDisplayNews	String containing comma-separated list of hidden news articles
//
function SetDisplayCookie() {
	var sDisplayCookie;
//	alert('SetDisplayCookie: Entry');
	sDisplayCookie  = 'menu=';
	sDisplayCookie += bDisplayMenu ? 'show;' : 'hide;';
	sDisplayCookie += 'news=';
	sDisplayCookie += bDisplayNews ? 'show;' : 'hide;';
	sDisplayCookie += 'showmenu=' + sDisplayMenu + ';';
	sDisplayCookie += 'hidenews=' + sDisplayNews;
	SetCookie( 'display', sDisplayCookie, null, '/' );
//	alert('SetDisplayCookie: Exit.  sDisplayCookie="'+sDisplayCookie+'"');
}


function toggle_menu( ) {
	var o1 = document.getElementById('menustrip');
	var o2 = document.getElementById('menubttn');
	
	if (  ( ! o1 )  ||  ( ! o2 )  ) {
		alert( 'Error: Attempt to toggle menu with missing objects.');
		return;
	}
	
	var c1 = o1.className;
	var c2 = o2.innerText;
	
	if ( c1 != 'menu-show' ) {
		o1.className = 'menu-show';
		o2.innerText = 'Hide Menu';
		bDisplayMenu = true;
		SetDisplayCookie();
	}
	else {
		o1.className = 'menu-hide';
		o2.innerText = 'Show Menu';
		bDisplayMenu = false;
		SetDisplayCookie();
	}
	return false;
}
function init_menu( ) {
	var o1 = document.getElementById('menustrip');
	var o2 = document.getElementById('menubttn');
	
	if (  ( ! o1 )  ||  ( ! o2 )  ) {
		alert( 'Error: Attempt to initialize menu with missing objects.');
		return;
	}
	
	if ( bDisplayMenu ) {
		o1.className = 'menu-show';
		o2.innerText = 'Hide Menu';
		bDisplayMenu = true;
		SetDisplayCookie();
	}
	else {
		o1.className = 'menu-hide';
		o2.innerText = 'Show Menu';
		bDisplayMenu = false;
		SetDisplayCookie();
	}
}

function toggle_news( ) {
	var o1 = document.getElementById('news-block');
	var o2 = document.getElementById('newsbttn');
	
	if (  ( ! o1 )  ||  ( ! o2 )  ) {
		alert( 'Error: Attempt to toggle news with missing objects.');
		return;
	}
	
	var c1 = o1.className;
	var c2 = o2.innerText;
	
	if ( c1 != 'newsshow' ) {
		o1.className = 'newsshow';
		o2.innerText = 'Hide News';
		bDisplayNews = true;
		SetDisplayCookie();
	}
	else {
		o1.className = 'newshide';
		o2.innerText = 'Show News';
		bDisplayNews = false;
		SetDisplayCookie();
	}
	return false;
}
function init_news( ) {
	var o1 = document.getElementById('news-block');
	var o2 = document.getElementById('newsbttn');
	
	if (  ( ! o1 )  ||  ( ! o2 )  ) {
		alert( 'Error: Attempt to initialize news with missing objects.');
		return;
	}
	
	if ( bDisplayNews ) {
		o1.className = 'newsshow';
		o2.innerText = 'Hide News';
		bDisplayNews = true;
		SetDisplayCookie();
	}
	else {
		o1.className = 'newshide';
		o2.innerText = 'Show News';
		bDisplayNews = false;
		SetDisplayCookie();
	}
}

function toggle_news_art( sel ) {
	var o1 = document.getElementById('news-div-'+sel);
	var o2 = document.getElementById('news-bttn-'+sel);
	var o3 = document.getElementById('news-body-'+sel);
	
	if (  ( ! o1 )  ||  ( ! o2 )  ||  ( ! o3 )  ) {
		alert( 'Error: attempt to toggle news article with missing objects.' );
		return;
	}
	
	var c3 = o3.className;
	if ( c3 != 'newsartshow' ) {
		o3.className = 'newsartshow';
		o2.innerText = 'Hide';
		if ( sDisplayNews.indexOf(sel) != -1 ) {
			sDisplayNews = sDisplayNews.replace( new RegExp(sel), '' );
			sDisplayNews = sDisplayNews.replace( /^,|,$/, '' );
			sDisplayNews = sDisplayNews.replace( /,,/g, ',' );
			SetDisplayCookie();
		}
	}
	else {
		o3.className = 'newsarthide';
		o2.innerText = 'Show';
		if ( sDisplayNews.indexOf(sel) == -1 ) {
			sDisplayNews += ( sDisplayNews.length ? ',' : '' ) + sel;
			SetDisplayCookie();
		}
	}
	
}
function init_newsart(  ) {
	if ( ! sDisplayNews ) { return; }
	var a0 = sDisplayNews.split(',');
	var i0;
	var s0;
	var o1;
	var o2;
	for ( i0=0; i0<a0.length; i0++ ) {
		s0 = a0[i0];
		if ( s0 ) {
			o1 = document.getElementById('news-bttn-'+s0);
			o2 = document.getElementById('news-body-'+s0);
			if ( o1 ) { o1.innerText = 'Show'; }
			if ( o2 ) { o2.className = 'newsarthide'; }
		}
	}
}

function toggle_submenu( sel ) {
	var o1 = document.getElementById('menu-'+sel);
	var o2 = document.getElementById('submenu-'+sel);
	
	if (  ( ! o1 )  ||  ( ! o2 )  ) {
		alert( 'Error: attempt to toggle submenu with missing objects.' );
		return true;;
	}
	
	var c2 = o2.className;
	
//	alert( 'Toggle_Submenu:  Sel="'+sel+'", sDisplayMenu="'+sDisplayMenu+'".' );
	
	if ( c2 != 'submenu-show' ) {
		o2.className = 'submenu-show';
		o1.className = 'menuitem-exp';
		if ( sDisplayMenu.indexOf(sel) == -1 ) {
			sDisplayMenu += ( sDisplayMenu.length ? ',' : '' ) + sel;
			SetDisplayCookie();
		}
	}
	else {
		o2.className = 'submenu-hide';
		o1.className = 'menuitem-col';
		if ( sDisplayMenu.indexOf(sel) != -1 ) {
			sDisplayMenu = sDisplayMenu.replace( new RegExp(sel), '' );
			sDisplayMenu = sDisplayMenu.replace( /^,|,$/, '' );
			sDisplayMenu = sDisplayMenu.replace( /,,/g, ',' );
			SetDisplayCookie();
		}
	}
	return false;
}
function init_submenu(  ) {
//	alert('init_submenu: Entry.  sDisplayMenu=('+sDisplayMenu+')');
	if ( ! sDisplayMenu ) { return; }
	var a0 = sDisplayMenu.split(',');
	var i0;
	var s0;
	var o1;
	var o2;
	for ( i0=0; i0<a0.length; i0++ ) {
		s0 = a0[i0];
		if ( s0 ) {
			o1 = document.getElementById('menu-'+s0);
			o2 = document.getElementById('submenu-'+s0);
			if ( o1 ) { o1.className = 'menuitem-exp'; }
			if ( o2 ) { o2.className = 'submenu-show'; }
		}
	}
//	alert('init_submenu: Exit.');
}
