var COLOR_CURRENTTAB_BACKGROUND         = '#B0BCBC';
var COLOR_CURRENTTAB_TEXT               = 'black';
var COLOR_MAINMENU_INACTIVE_BACKGROUND  = '#606A74';
var COLOR_MAINMENU_INACTIVE_TEXT        = 'white';
var COLOR_MAINMENU_ACTIVE_BACKGROUND    = '#798A8D';
var COLOR_MAINMENU_ACTIVE_TEXT          = 'white';
var COLOR_SUBMENU_INACTIVE_BACKGROUND   = 'white';
var COLOR_SUBMENU_INACTIVE_TEXT         = '#89939C';
var COLOR_SUBMENU_ACTIVE_BACKGROUND     = '#DDE5E7';
var COLOR_SUBMENU_ACTIVE_TEXT           = 'black';
var COLOR_SUBMENU_SPACER_BACKGROUND     = '#B0BCBC';
var COLOR_SUBMENU_BORDER                = '#B0BCBC';
var TIME_HIDE_MENU_DELAY_IN_MS          = 100;
var MENU_WIDTH                          = '136px';
var MENU_WIDTH2                         = '137px';
var BASE_URL = "http://www.goview.co.uk/goview/"
var aMainMenuItems  = [
[ 'home',        'index.jsp'        ],
[ 'about',       'aboutus.jsp'      ],
[ 'register',    'register.jsp'     ],
[ 'faq',         'faq.jsp'          ],
[ 'sample maps', 'samples.jsp'      ],
[ 'contact us',  'contact.jsp'      ]
];
var aSubMenuItems   = [
/*
[ 'media centre2',  'aboutus_media.jsp',    'media centre'  ],
[ 'media centre3',  'aboutus_media.jsp',    'media centre'  ],
[ 'media centre4',  'aboutus_media.jsp',    'media centre2' ],
*/
[ 'goview.co.uk',       'aboutus.jsp',              'about'     ],
[ 'corporate',          'aboutus_corporate.jsp',    'about'     ],
[ 'media centre',       'aboutus_media.jsp',        'about'     ]
/*
[ 'faq',                'faq.jsp',                  'support'   ],
[ 'user guide',         'userguide.jsp',            'support'   ]
*/
];
var sCursor             = is_ie ? 'hand' : 'pointer';
var sActiveMainMenuItem = null;
var iNetscapeXOffsetA   = 0;
var iNetscapeYOffsetA   = 0;
var iNetscapeXOffsetB   = 1;
var iNetscapeYOffsetB   = 1;
var iOffsetXA            = -2;
var iOffsetYA            = 0;
var iOffsetXB            = 0;
var iOffsetYB            = -1;
var aActiveMenus        = new Array();
var iHideMenusTimeout   = 0;
function showCurrentTab( oMenuItem )
{
with ( oMenuItem.style )
{
height      = '21px';
fontWeight  = 'bold';
width       = MENU_WIDTH;
background  = COLOR_CURRENTTAB_BACKGROUND;
color       = COLOR_CURRENTTAB_TEXT;
}
}
function showMenuOver( oMenuItem )
{
if ( !isCurrentTab(oMenuItem) )
{
with ( oMenuItem.style )
{
height      = '21px';
if ( isMainMenuItem(oMenuItem) )
{
width       = MENU_WIDTH;
background  = COLOR_MAINMENU_ACTIVE_BACKGROUND;
color       = COLOR_MAINMENU_ACTIVE_TEXT;
}
else
{
fontWeight  = 'normal';
width       = MENU_WIDTH2;
background  = COLOR_SUBMENU_ACTIVE_BACKGROUND;
color       = COLOR_SUBMENU_ACTIVE_TEXT;
}
}
}
}
function showMenuOff( oMenuItem )
{
if ( !isActiveMenu(oMenuItem) && !isCurrentTab(oMenuItem) )
{
with ( oMenuItem.style )
{
fontWeight  = 'normal';
height      = '21px';
if ( isMainMenuItem(oMenuItem) )
{
width       = MENU_WIDTH;
background  = COLOR_MAINMENU_INACTIVE_BACKGROUND;
color       = COLOR_MAINMENU_INACTIVE_TEXT;
}
else
{
width       = MENU_WIDTH2;
background  = COLOR_SUBMENU_INACTIVE_BACKGROUND;
color       = COLOR_SUBMENU_INACTIVE_TEXT;
}
}
}
}
function menuInit()
{
if ( typeof sCurrentTab != 'undefined' )
showCurrentTab( getMenuObjectFromContent(sCurrentTab) );
}
function doMenuClick( oMenuItem )
{
window.location.href    = getLink( oMenuItem );
}
function showSubMenu( oMenuItem )
{
window.clearTimeout( iHideMenusTimeout );
var iMenuLevel  = getMenuLevel( oMenuItem );
hideAllMenusBelowLevel( iMenuLevel );
aActiveMenus.length = iMenuLevel - 1;
aActiveMenus[aActiveMenus.length] = getMenuText( oMenuItem );
setActiveItemAtLevel( getMenuText(oMenuItem) );
if ( !hasSubMenu(oMenuItem) )
return false;
if ( document.getElementById('table_submenu'+iMenuLevel) == null )
{
createNewSubMenuTable( iMenuLevel );
}
var oSubMenuTable   = document.getElementById( 'table_submenu' + iMenuLevel );
var aThisMenuItems  = getSubMenuItems( oMenuItem );
var iThisLeft       = getLeft( oMenuItem );
var iThisTop        = getTop( oMenuItem );
var iThisHeight     = oMenuItem.offsetHeight;
var iThisWidth      = oMenuItem.offsetWidth;
var oSubMenuTbody   = oSubMenuTable.getElementsByTagName( 'TBODY' )[0];
while ( oSubMenuTbody.hasChildNodes() )
oSubMenuTbody.removeChild( oSubMenuTbody.childNodes[0] );
for ( var iRow = 0; iRow < aThisMenuItems.length; iRow++ )
{
var oNewTR      = document.createElement( 'TR' );
var oNewTD      = document.createElement( 'TD' );
var sNewTEXT    = aSubMenuItems[ aThisMenuItems[iRow] ][0];
var oNewTEXT    = document.createTextNode( sNewTEXT );
oNewTD.onmouseover      = new Function( 'showSubMenu(this); showMenuOver(this);' );
oNewTD.onmouseout       = new Function( 'startHideTimeout(); showMenuOff(this);' );
oNewTD.onclick          = new Function( 'doMenuClick(this)' );
with ( oNewTD.style )
{
width       = MENU_WIDTH2;
height      = '21px';
fontWeight  = 'normal';
cursor      = sCursor;
textAlign   = 'center';
background  = COLOR_SUBMENU_INACTIVE_BACKGROUND;
color       = COLOR_SUBMENU_INACTIVE_TEXT;
borderTop   = ( iRow > 0 ) ? '1px solid ' + COLOR_SUBMENU_SPACER_BACKGROUND : 'none';
}
oNewTD.appendChild( oNewTEXT );
oNewTR.appendChild( oNewTD );
oSubMenuTbody.appendChild( oNewTR );
}
with ( oSubMenuTable.style )
{
display = 'block';
if ( is_opera )
{
width   = '0px';
display = 'table';
}
if ( iMenuLevel == 1 )
{
top     = is_gecko ? (iThisTop+iThisHeight+iNetscapeYOffsetA+iOffsetYA) + 'px' : (iThisTop+iThisHeight+iOffsetYA) + 'px';
left    = is_gecko ? (iThisLeft+iNetscapeXOffsetA+iOffsetXA) + 'px' : (iThisLeft+iOffsetXA) + 'px';
}
else
{
top     = is_gecko ? (iThisTop+iNetscapeYOffsetB+iOffsetYB) + 'px' : (iThisTop+iOffsetYB) + 'px';
left    = is_gecko ? (iThisLeft+iThisWidth+iNetscapeXOffsetB+iOffsetXB) + 'px' : (iThisLeft+iThisWidth+iOffsetXB) + 'px';
}
}
}
function setActiveItemAtLevel( sMenuItem )
{
var oMenuItem   = getMenuObjectFromContent( sMenuItem );
var oThisTbody  = oMenuItem;
while ( oThisTbody.tagName != 'TBODY' )
{
oThisTbody  = oThisTbody.parentNode;
}
var aSameLevelMenus = oThisTbody.getElementsByTagName( 'TD' );
for ( var i = 0; i < aSameLevelMenus.length; i++ )
{
var oNextMenuItem   = aSameLevelMenus[i];
if ( !isSpacerCell(oNextMenuItem) && !isActiveMenu(oNextMenuItem) )
{
showMenuOff( oNextMenuItem );
}
}
}
function createNewSubMenuTable( iSubMenuLevel )
{
var oNewTABLE   = document.createElement( 'TABLE' );
var oNewTBODY   = document.createElement( 'TBODY' );
var oNewTR      = document.createElement( 'TR' );
var oNewTD      = document.createElement( 'TD' );
var oNewTEXT    = document.createTextNode( 'Flibble' );
with ( oNewTABLE )
{
id              = 'table_submenu' + iSubMenuLevel;
border          = '0';
cellSpacing     = '0';
cellPadding     = '0';
onselectstart   = returnFalse;
}
with ( oNewTABLE.style )
{
border      = '1px solid ' + COLOR_SUBMENU_BORDER;
position    = 'absolute';
left        = '0px';
top         = '0px';
display     = 'none';
}
oNewTD.appendChild( oNewTEXT );
oNewTR.appendChild( oNewTD );
oNewTBODY.appendChild( oNewTR );
oNewTABLE.appendChild( oNewTBODY );
document.body.appendChild( oNewTABLE );
}
function hideAllMenusBelowLevel( iLevel )
{
var oMenuTable  = document.getElementById( 'table_submenu' + iLevel );
while ( oMenuTable != null )
{
oMenuTable.style.display    = 'none';
oMenuTable  = document.getElementById( 'table_submenu' + ++iLevel );
}
}
function hideAllMenus()
{
aActiveMenus.length = new Array();
setActiveItemAtLevel( aMainMenuItems[0][0] );
hideAllMenusBelowLevel( 1 );
}
function startHideTimeout()
{
iHideMenusTimeout   = ( is_mac && is_ie ) ? window.setTimeout( 'hideAllMenus()', TIME_HIDE_MENU_DELAY_IN_MS ) : window.setTimeout( hideAllMenus, TIME_HIDE_MENU_DELAY_IN_MS );
}
function isActiveMenu( oMenuItem )
{
var bIsActive   = false;
for ( var i = 0; i < aActiveMenus.length; i++ )
{
if ( aActiveMenus[i] == getMenuText(oMenuItem) )
bIsActive   = true;
}
return bIsActive;
}
function isCurrentTab( oMenuItem )
{
var sMenuItem   = getMenuText( oMenuItem );
return ( typeof sCurrentTab != 'undefined' ) && ( sCurrentTab == sMenuItem );
}
function isSpacerCell( oCell )
{
return ( oCell.getElementsByTagName('IMG').length > 0 );
}
function getMenuObjectFromContent( sMenuItem )
{
var oMenuItem       = null;
var iMenuCheckLevel = 0;
while ( oMenuItem == null )
{
if ( iMenuCheckLevel == 0 )
{
var oMenuTable      = document.getElementById( 'table_mainmenu' );
var aMainMenuCells  = oMenuTable.getElementsByTagName( 'TD' );
for ( var iCell = 0; iCell < aMainMenuCells.length; iCell++ )
{
if ( getMenuText(aMainMenuCells[iCell]) == sMenuItem )
oMenuItem   = aMainMenuCells[iCell];
}
}
else
{
var oMenuTable      = document.getElementById( 'table_submenu' + iMenuCheckLevel );
var aMainMenuCells  = oMenuTable.getElementsByTagName( 'TD' );
for ( var iCell = 0; iCell < aMainMenuCells.length; iCell++ )
{
if ( getMenuText(aMainMenuCells[iCell]) == sMenuItem )
oMenuItem   = aMainMenuCells[iCell];
}
}
iMenuCheckLevel++;
}
return oMenuItem;
}
function hasSubMenu( oMenuItem )
{
var bHasSubMenu = false;
for ( var i = 0; i < aSubMenuItems.length; i++ )
{
if ( aSubMenuItems[i][2] == getMenuText(oMenuItem) )
bHasSubMenu = true;
}
return bHasSubMenu;
}
function getSubMenuItems( oMenuItem )
{
var aReturnArray    = new Array();
for ( var i = 0; i < aSubMenuItems.length; i++ )
{
if ( aSubMenuItems[i][2] == getMenuText(oMenuItem) )
aReturnArray[aReturnArray.length]   = i;
}
return aReturnArray;
}
function isMainMenuItem( sMenuItem )
{
sMenuItem           = getMenuText( sMenuItem );
var bMainMenuItem   = false;
for ( var i = 0; i < aMainMenuItems.length; i++ )
{
if ( aMainMenuItems[i][0] == sMenuItem )
bMainMenuItem   = true;
}
return bMainMenuItem;
}
function getMenuText( oSource )
{
var sMenuText   = oSource;
if ( typeof sMenuText != 'string' )
{
if ( oSource.childNodes[0].tagName == 'NOBR' )
{
sMenuText   = oSource.childNodes[0].childNodes[0].nodeValue;
}
else
{
sMenuText   = oSource.childNodes[0].nodeValue;
}
if ( typeof sMenuText != 'string' )
{
sMenuText   = '';
}
}
return sMenuText
}
function getParentMenuItemFromId( sMenuItem )
{
sMenuItem   = getMenuText( sMenuItem );
var sParent = '';
for ( i = 0; i < aSubMenuItems.length; i++ )
{
if ( aSubMenuItems[i][0] == sMenuItem )
sParent = aSubMenuItems[i][2];
}
return sParent;
}
function getMenuLevel( oMenuItem )
{
var iMenuLevel  = 1;
var sMenuItem   = getMenuText( oMenuItem );
while ( !isMainMenuItem(sMenuItem) )
{
sMenuItem   = getParentMenuItemFromId( sMenuItem );
iMenuLevel++;
}
return iMenuLevel;
}
function getLink( oMenuItem )
{
var sLinkURL    = '';
var sMenuItem   = getMenuText( oMenuItem );
for ( var i = 0; i < aMainMenuItems.length; i++ )
{
if ( aMainMenuItems[i][0] == sMenuItem )
sLinkURL    = BASE_URL + aMainMenuItems[i][1];
}
if ( sLinkURL == '' )
{
for ( var i = 0; i < aSubMenuItems.length; i++ )
{
if ( aSubMenuItems[i][0] == sMenuItem )
sLinkURL    = BASE_URL + aSubMenuItems[i][1];
}
}
return sLinkURL;
}