	// This file should be included in the head of any active frames/ page
	// to make work. It assumes that all the layer ids passed are in the
	// same frame as this file! Got that!?
	
	// Set up static global variables
	
	// TOP LEVEL MENU NAMES
	FINANCE_MENU 		= 'FinanceMenu';
	REAL_ESTATE_MENU 	= 'RealEstateMenu';
	MEDIA_MENU 			= 'MediaMenu';
	AUTOMOTIVE_MENU 	= 'AutomotiveMenu';
	
	// SUB MENU NAMES
	MENU_FINANCE_HOME			=	'FinanceHomeMenu';
	MENU_FINANCE_CONSULT		=	'FinanceConsultMenu';
	MENU_FINANCE_IF				=	'FinanceIFMenu';
	MENU_FINANCE_GUIDE			=	'FinanceGuideMenu';
	MENU_FINANCE_FUNDING		=	'FinanceFundingMenu';
	MENU_FINANCE_RESEARCH		=	'FinanceResearchMenu';
	MENU_FINANCE_SOUK			=	'FinanceSoukMenu';
	
	MENU_RE_HOME				=	'RealEstateHomeMenu';
	MENU_RE_RESEARCH			=	'RealEstateResearchMenu';
	MENU_RE_TRAD_HIST			=	'RealEstateTradHistMenu';
	MENU_RE_SHARES				=	'RealEstateSharesMenu';
	
	MENU_MEDIA_HOME				=	'MediaHomeMenu';
	MENU_MEDIA_WORDS			=	'MediaWordsMenu';
	MENU_MEDIA_IMAGES			=	'MediaImagesMenu';
	
	MENU_AUTO_HOME				=	'AutomotiveHomeMenu';
	
	// BOTTOM NAVIGATION BUTTON NAMES
	CONTACT_BUTTON				=	'ContactButton';
	FSA_LEGAL_BUTTON			=	'FSALegalButton';
	FS_LEGAL_BUTTON				=	'FSLegalButton';
	FS_CLOSE_BUTTON				=	'FSCloseButton';
	FSF_LEGAL_BUTTON			=	'FSFLegalButton';
	FSF_SIGNUP_BUTTON			=	"FSFSignUpButton";
	FSRE_LEGAL_BUTTON			=	'FSRELegalButton';
	FSRE_LOGIN_BUTTON			=	'FSRELogin';
	FSFS_REGISTER_BUTTON		=	'FSFSoukRegister';
	FSM_LEGAL_BUTTON			=	'FSMLegalButton';
	FSFR_CLOSE_BUTTON			=	"FSFRCloseButton";
	FSFRINFO_CLOSE_BUTTON		=	"FSFRInfoCloseButton";
	FSFR_BACK_BUTTON			=	"FSFRBackButton";
	FSFR_SUBMIT_BUTTON			=	"FSFRSubmitButton";
	FSFR_NEXT_BUTTON			=	"FSFRNextButton";
	
	// MENU IMAGE IDs
	IMG_HOME_STD				=	'../res/menu/std/home.gif';
	IMG_HOME_ACT				=	'../res/menu/act/home.gif';
	IMG_CONSULT_STD				=	'../res/menu/std/consult.gif';
	IMG_CONSULT_ACT				=	'../res/menu/act/consult.gif';
	IMG_IF_STD					=	'../res/menu/std/if.gif';
	IMG_IF_ACT					=	'../res/menu/act/if.gif';
	IMG_GUIDE_STD				=	'../res/menu/std/guide.gif';
	IMG_GUIDE_ACT				=	'../res/menu/act/guide.gif';
	IMG_FUNDING_STD				=	'../res/menu/std/funding.gif';
	IMG_FUNDING_ACT				=	'../res/menu/act/funding.gif';
	IMG_SOUK_STD				=	'../res/menu/std/souk.gif';
	IMG_SOUK_ACT				=	'../res/menu/act/souk.gif';
	IMG_F_RESEARCH_STD			=	'../res/menu/std/f_research.gif';
	IMG_F_RESEARCH_ACT			=	'../res/menu/act/f_research.gif';
	IMG_RESEARCH_STD			=	'../res/menu/std/research.gif';
	IMG_RESEARCH_ACT			=	'../res/menu/act/research.gif';
	IMG_TRAD_HIST_STD			=	'../res/menu/std/trad_hist.gif';
	IMG_TRAD_HIST_ACT			=	'../res/menu/act/trad_hist.gif';
	IMG_SHARES_STD				=	'../res/menu/std/shares.gif';
	IMG_SHARES_ACT				=	'../res/menu/act/shares.gif';
	IMG_WORDS_STD				=	'../res/menu/std/words.gif';
	IMG_WORDS_ACT				=	'../res/menu/act/words.gif';
	IMG_IMAGES_STD				=	'../res/menu/std/images.gif';
	IMG_IMAGES_ACT				=	'../res/menu/act/images.gif';
	
	// BUTTON IMAGE IDs
	IMG_CONTACT_STD				=	'../res/nav/std/contact.gif';
	IMG_CONTACT_ACT				=	'../res/nav/act/contact.gif';
	IMG_FSA_LEGAL_STD			=	'../res/nav/std/fsa_legal.gif';
	IMG_FSA_LEGAL_ACT			=	'../res/nav/act/fsa_legal.gif';
	IMG_FS_LEGAL_STD			=	'../res/nav/std/fs_legal.gif';
	IMG_FS_LEGAL_ACT			=	'../res/nav/act/fs_legal.gif';
	IMG_FS_CLOSE_STD			=	'../res/nav/std/close.gif';
	IMG_FS_CLOSE_ACT			=	'../res/nav/act/close.gif';
	IMG_FSF_LEGAL_STD			=	'../res/nav/std/fsf_legal.gif';
	IMG_FSF_LEGAL_ACT			=	'../res/nav/act/fsf_legal.gif';
	IMG_FSF_SIGNUP_STD			=	'../res/nav/std/signup.gif';
	IMG_FSF_SIGNUP_ACT			=	'../res/nav/act/signup.gif';
	IMG_FSRE_LEGAL_STD			=	'../res/nav/std/fsre_legal.gif';
	IMG_FSRE_LEGAL_ACT			=	'../res/nav/act/fsre_legal.gif';
	IMG_FSRE_LOGIN_STD			=	'../res/nav/std/login.gif';
	IMG_FSRE_LOGIN_ACT			=	'../res/nav/act/login.gif';
	IMG_FSFS_REGISTER_STD		=	'../res/nav/std/register.gif';
	IMG_FSFS_REGISTER_ACT		=	'../res/nav/act/register.gif';
	IMG_FSM_LEGAL_STD			=	'../res/nav/std/fsm_legal.gif';
	IMG_FSM_LEGAL_ACT			=	'../res/nav/act/fsm_legal.gif';
	IMG_LEFT_ARROW				=	'../../../res/nav/left_arrow.gif';
	IMG_RIGHT_ARROW				=	'../../../res/nav/right_arrow.gif';
	IMG_CIRCLE					=	'../../../res/nav/circle.gif';
	IMG_LEFT_OVER_ARROW			=	'../../../res/nav/left_over_arrow.gif';
	IMG_RIGHT_OVER_ARROW		=	'../../../res/nav/right_over_arrow.gif';
	IMG_OVER_END				=	'../../../res/nav/over_end.gif';
	IMG_FSFR_CLOSE_STD			=	'../../../res/nav/std/close.gif';
	IMG_FSFR_CLOSE_ACT			=	'../../../res/nav/act/close.gif';
	IMG_FSFRINFO_CLOSE_STD		=	'../../res/nav/std/close.gif';
	IMG_FSFRINFO_CLOSE_ACT		=	'../../res/nav/act/close.gif';
	IMG_FSFR_BACK_STD			=	'../../../res/nav/std/back.gif';
	IMG_FSFR_BACK_ACT			=	'../../../res/nav/act/back.gif';
	IMG_FSFR_SUBMIT_STD			=	'../../../res/nav/std/submit.gif';
	IMG_FSFR_SUBMIT_ACT			=	'../../../res/nav/act/submit.gif';
	IMG_FSFR_NEXT_STD			=	'../../../res/nav/std/next.gif';
	IMG_FSFR_NEXT_ACT			=	'../../../res/nav/act/next.gif';
	
	// MEDIA GALLERY NAVIGATION LAYERS
	MEDIA_IMG_NAV_LEFT			=	'ImageNavLeft';
	MEDIA_IMG_NAV_RIGHT			=	'ImageNavRight';
	MEDIA_IMG_DISP_LEFT			=	'ImageDispLeft';
	MEDIA_IMG_DISP_RIGHT		=	'ImageDispRight';
	
	// MEDIA GALLERY THUMBNAIL IMAGE NAMES
	MEDIA_MOV_LEFT				=	'MediaMovLeft';
	MEDIA_MOV_RIGHT				=	'MediaMovRight';
	MEDIA_THUMB_LOC_1			=	'MediaThumbOne';
	MEDIA_THUMB_LOC_2			=	'MediaThumbTwo';
	MEDIA_THUMB_LOC_3			=	'MediaThumbThree';
	MEDIA_THUMB_LOC_4			=	'MediaThumbFour';
	MEDIA_IMAGE_LOCATION		=	'MediaImage';
	MEDIA_IMAGE_NAV_LEFT		=	'MediaImageNavLeft';
	MEDIA_IMAGE_NAV_RIGHT		=	'MediaImageNavRight';
	
	// MEDIA GALLERY PATHS (ACTUALLY LOCAL PATHS)
	T_IMG_ROOT_PATH				=	'./thumbs/';
	IMG_ROOT_PATH				=	'./images/';
	IMG_SUFFIX					=	'.jpg';
	
	// Variable for the number of Media Gallery images per page
	IMAGES_PER_PAGE				=	4;

	// Set up the variables that tell us if we are in NS or IE
	// These work simply by examining the global objects available	
	
	// Only NS uses the layers obj to access CSS layers
	ns = (document.layers) ? true:false;
	// and only IE has the all obj to access CSS layers (amongst other things)
	ie = (document.all) ? true:false;
	
	// Set up variables that control the menu being hidden away
	_openMenu = null;
	_theTimer = null;
	
	function openAssetWindow(url_)
	{
		window.open(url_, "", "width=1000,height=560");
	}
	
	function openGalleryWindow(url_)
	{
		window.open(url_, "FSMI", "width=1000,height=560");
	}
	
	function openImageWindow(url_)
	{
		window.open(url_, "", "width=1024,height=768");
	}
	
	function openInfoWindow(url_)
	{
		window.open(url_, "", "width=400,height=295");
	}
	
	function openSurveyWindow(url_)
	{
		window.open(url_, "", "width=820, height=740,scrollbars=1,resizable=1");
	}
	
	function openLargeInfoWindow(url_)
	{
		window.open(url_, "", "width=820, height=740,scrollbars=1,resizable=1");
	}
	
	function openSoukWindow(url_)
	{
		window.open(url_, "", "width=820, height=768,scrollbars=1,resizable=1");
	}
	
	function onLoadHeader()
	{
		doPreload();
	}
	
	function noOp()
	{
		// Do Nothing!
	}
	
	function doPreload()
	{
		var the_images = new Array('../res/menu/std/home.gif', '../res/menu/act/home.gif', '../res/menu/std/consult.gif', '../res/menu/act/consult.gif', '../res/menu/std/if.gif', '../res/menu/act/if.gif', '../res/menu/std/guide.gif', '../res/menu/act/guide.gif', '../res/menu/std/funding.gif', '../res/menu/act/funding.gif', '../res/menu/std/research.gif', '../res/menu/act/research.gif', '../res/menu/std/trad_hist.gif', '../res/menu/std/shares.gif', '../res/menu/act/shares.gif', '../res/nav/std/contact.gif', '../res/nav/act/contact.gif', '../res/nav/std/fsa_legal.gif', '../res/nav/act/fsa_legal.gif');
		preloadImages(the_images);
	}

	function preloadImages(the_images_array)
	{

		for(var imgNo = 0; imgNo < the_images_array.length; imgNo++)
		{
 			var an_image = new Image();
			an_image.src = the_images_array[imgNo];
		}
	}
	
	function imgSwap(element_, image_)
	{
		if (ie)
			{document.all[element_].src = image_;}
		else if (ns)
			{document.layers[element_].src = image_;}
		else
			{document.getElementsByName(element_)[0].src = image_;}
	}

	function hideLayer(id_)
	{
		if (ie)
			{document.all[id_].style.visibility = 'hidden';}
		else if (ns)
			{document.layers[id_].visibility = 'hide';}
		else
			{document.getElementById(id_).style.visibility = 'hidden';}
	}

	function showLayer(id_)
	{
		if (ie) 
			{document.all[id_].style.visibility = 'visible';}
		else if (ns)
			{document.layers[id_].visibility = 'show';}
		else
			{document.getElementById(id_).style.visibility = 'visible';}
	}
	
	function closeAllOpenMenus()
	{
		hideLayer(FINANCE_MENU);
		hideLayer(REAL_ESTATE_MENU);
		hideLayer(MEDIA_MENU);
		hideLayer(AUTOMOTIVE_MENU);
	}
	
	function showMenu(name_)
	{
		// Hide all existing menu's first
		closeAllOpenMenus();
		
		// Cancel any existing timer
		clearTimeout(_theTimer);
		
		// Show the one needed and set it up so that it closes correctly later
		_openMenu = name_;
		showLayer(name_);
	}
	
	function keepMenuOpen(name_)
	{
		// Check its the same one we want to keep open, otherwise just let it close
		if (name_ == _openMenu)
		{
			clearTimeout(_theTimer);
		}
	}
	
	function closeMenu(name_)
	{
		if (name_ != _openMenu)
		{
			// Better close that menu too just in case and do it now
			if (null != _openMenu)
			{
				hideLayer(_openMenu);
			}
		}
		
		// Make sure we will actually close the menu we do have open
		_openMenu = name_;
		
		// Don't actually close it, just set up a timer that will close in after a short period of time
		_theTimer = setTimeout('timerCloseMenu();', 500);
	}
	
	function timerCloseMenu()
	{
		hideLayer(_openMenu);
	}
	
	function initialiseThumbPage(totalImages_)
	{
		// Set up the page index
		_pageIndex = 1;
		_imageIndex = 1;
		_totalImages = totalImages_;
		
		// Load the next set of thumbs
		preloadNextThumbs(1 + IMAGES_PER_PAGE);
	}
	
	function preloadNextThumbs()
	{
		// Assign the next set of images
		var imgIndex = _pageIndex + IMAGES_PER_PAGE;
		var imageOne = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		var imageTwo = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		var imageThree = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		var imageFour = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		
		var image_array = new Array (imageOne, imageTwo, imageThree, imageFour);
		preloadImages(image_array);
	}
	
	function loadNextImage()
	{
		// If we are already at the end then just do nothing
		if (_imageIndex >= _totalImages)
		{
			return;
		}
		
		// Increment the image index and load the next image
		_imageIndex++;
		showImageFromIndex(_imageIndex);
		
		// Enable the previous button
		imgSwap(MEDIA_IMAGE_NAV_LEFT, IMG_LEFT_OVER_ARROW);
		
		// Now check if we have hit the last in the series
		if (_imageIndex >= _totalImages)
		{
			imgSwap(MEDIA_IMAGE_NAV_RIGHT, IMG_OVER_END);
		}
		
		// and check if we've moved off the last thumb on this page and need to
		// load the next lot of thumbs too
		if (_imageIndex >= _pageIndex + IMAGES_PER_PAGE)
		{
			loadNextThumbs();
		}
	}
	
	function loadPrevImage()
	{
		if (1 >= _imageIndex)
		{
			return;
		}
		
		_imageIndex--;
		showImageFromIndex(_imageIndex);
		
		// Enable the Next button
		imgSwap(MEDIA_IMAGE_NAV_RIGHT, IMG_RIGHT_OVER_ARROW);
		
		// Check if we have hit the first pic and stop
		if (1 >= _imageIndex)
		{
			imgSwap(MEDIA_IMAGE_NAV_LEFT, IMG_OVER_END);
		}
		
		if (_imageIndex < _pageIndex)
		{
			loadPrevThumbs();
		}
	}
	
	function loadNextThumbs()
	{
		// Check first if we have got to the end
		if ((_pageIndex + IMAGES_PER_PAGE) >= _totalImages)
		{
			return;
		}
		
		// Assign the next set of images
		var imgIndex = _pageIndex + IMAGES_PER_PAGE;
		imageOne = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		imageTwo = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		imageThree = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		imageFour = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		
		// swap in the images
		imgSwap(MEDIA_THUMB_LOC_1, imageOne);
		imgSwap(MEDIA_THUMB_LOC_2, imageTwo);
		imgSwap(MEDIA_THUMB_LOC_3, imageThree);
		imgSwap(MEDIA_THUMB_LOC_4, imageFour);
		
		// Increment the pageIndex number
		_pageIndex = _pageIndex + IMAGES_PER_PAGE;
		
		// Enable the loadPrevThumbs again
		imgSwap(MEDIA_MOV_LEFT, IMG_LEFT_ARROW);
		
		// Check to see if we are at the end and disable the movement
		if ((_pageIndex + IMAGES_PER_PAGE) >= _totalImages)
		{
			imgSwap(MEDIA_MOV_RIGHT, IMG_CIRCLE);
		}
	}
	
	function loadPrevThumbs()
	{
		// Check first if we are on the first page
		if (1 >= _pageIndex)
		{
			return;
		}
		
		// Assign the next set of images
		var imgIndex = _pageIndex - IMAGES_PER_PAGE;
		imageOne = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		imageTwo = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		imageThree = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		imgIndex++;
		imageFour = T_IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		
		// swap in the images
		imgSwap(MEDIA_THUMB_LOC_1, imageOne);
		imgSwap(MEDIA_THUMB_LOC_2, imageTwo);
		imgSwap(MEDIA_THUMB_LOC_3, imageThree);
		imgSwap(MEDIA_THUMB_LOC_4, imageFour);
		
		// Decrement the pageIndex number
		_pageIndex = _pageIndex - IMAGES_PER_PAGE;
		
		// Enable the next page load
		imgSwap(MEDIA_MOV_RIGHT, IMG_RIGHT_ARROW);
		
		if (1 >= _pageIndex)
		{
			imgSwap(MEDIA_MOV_LEFT, IMG_CIRCLE);
		}
	}
	
	function showImageFromThumb(thumbIndex_)
	{
		var imgIndex = _pageIndex + thumbIndex_ - 1;
		var imageLoc = IMG_ROOT_PATH + imgIndex + IMG_SUFFIX;
		
		imgSwap(MEDIA_IMAGE_LOCATION, imageLoc);
		
		// Update the imageIndex also
		_imageIndex = imgIndex;
		
		// Check if we have hit the first pic and stop
		if (1 >= _imageIndex)
		{
			imgSwap(MEDIA_IMAGE_NAV_LEFT, IMG_OVER_END);
		}
		else
		{
			imgSwap(MEDIA_IMAGE_NAV_LEFT, IMG_LEFT_OVER_ARROW);
		}
		
		// Now check if we have hit the last in the series
		if (_imageIndex >= _totalImages)
		{
			imgSwap(MEDIA_IMAGE_NAV_RIGHT, IMG_OVER_END);
		}
		else
		{
			imgSwap(MEDIA_IMAGE_NAV_RIGHT, IMG_RIGHT_OVER_ARROW);
		}
	}
	
	function showImageFromIndex(index_)
	{
		var imageLoc = IMG_ROOT_PATH + index_ + IMG_SUFFIX;
		imgSwap(MEDIA_IMAGE_LOCATION, imageLoc);
	}
	
	function showImageNavLeft()
	{
		showLayer(MEDIA_IMG_DISP_LEFT);
	}
	
	function hideImageNavLeft()
	{
		hideLayer(MEDIA_IMG_DISP_LEFT);
	}
	
	function showImageNavRight()
	{
		showLayer(MEDIA_IMG_DISP_RIGHT);
	}
	
	function hideImageNavRight()
	{
		hideLayer(MEDIA_IMG_DISP_RIGHT);
	}
