function CMenuItem( nObjectID, strTitle , strURL , objMenu ) { this.nObjectID = nObjectID; this.strTitle = strTitle; this.strURL = strURL; this.objParent = null; this.objChildren = new Array(); this.nLevel = null; this.objMenu = objMenu; } function CMenu( strClass , strClassOver , strMainStyle , strArrowStyle , nMenuPosY , nMenuPosX , nWidth , nHeight ) { this.objChildren = new Array(); this.strClass = strClass; this.strClassOver = strClassOver; this.strMainStyle = strMainStyle; this.strArrowStyle = strArrowStyle; this.nMenuPosY = nMenuPosY; this.nMenuPosX = nMenuPosX; this.nWidth = nWidth; this.nHeight = nHeight; this.objTimer = null; this.objItems = null; this.strParent = null; } var strDelimiter = "STOP"; var objLookupTable = new Array(); var strArrowChar = 4; var strIdent = "m"; var nTimeout = 500; var nMaxLevel = 0; var nObjectID = 0; var nX = 0; var nY = 0; var objLevelCounter = new Array(); var objMenuX = new CMenu( "menustyle" , "menustyleover" , "menuitem" , "arrow" , 220 , 20 , 169 , 22 ); var objMenuSource = false; function MouseOver() { var objElements = document.getElementsByTagName( "SELECT" ); for ( var i = 0 ; i < objElements.length ; i++ ) { objElements[ i ].style.visibility = "hidden"; } objElements = document.getElementsByTagName( "OBJECT" ); for ( var i = 0 ; i < objElements.length ; i++ ) { if( objElements[ i ].id == "LoadVar" ) { objElements[ i ].style.visibility = "hidden"; } } var objJItem = objLookupTable[ this.id ]; if( objJItem.objMenu.objTimer ) { clearTimeout( objJItem.objMenu.objTimer ); } //alert( this.className ); this.className += " " + objJItem.objMenu.strClassOver; /*with( this.style ) { backgroundColor = objJItem.objMenu.strBackgroundOver; color = objJItem.objMenu.strColorOver; }*/ var objChildren = objJItem.objParent.objChildren; for ( var i = 0 ; i < objChildren.length ; i++ ) { if ( objChildren[ i ] != objJItem ) { UnTouch( document.getElementById( objChildren[ i ].nObjectID ) ); } } objChildren = objJItem.objChildren; for ( var i = 0 ; i < objChildren.length ; i++ ) { document.getElementById( objChildren[ i ].nObjectID ).style.visibility = "visible"; } } function MouseOut() { var objJItem = objLookupTable[ this.id ]; if ( ! ( document.getElementById( objJItem.objMenu.strParent ).contains( window.event.toElement ) ) ) { objJItem.objMenu.objTimer = setTimeout( "HideAll('" + this.id + "')" , nTimeout ); } } function HideAll( strID ) { UnTouch( document.getElementById( strID ) ); UnShow( document.getElementById( strID ) ); var objElements = document.getElementsByTagName( "SELECT" ); for ( var i = 0 ; i < objElements.length ; i++ ) { objElements[ i ].style.visibility = "visible"; } objElements = document.getElementsByTagName( "OBJECT" ); for ( var i = 0 ; i < objElements.length ; i++ ) { if( objElements[ i ].id == "LoadVar" ) { objElements[ i ].style.visibility = "visible"; } } } function UnTouch( objItem ) { var objJItem = objLookupTable[ objItem.id ]; if ( ( "" + objItem.className ).indexOf( objJItem.objMenu.strClass ) != -1 ) { objItem.className = objItem.className.substring( 0 , objItem.className.indexOf(" " ) ); } /*with( objItem.style ) { backgroundColor = objJItem.objMenu.strBackground; color = objJItem.objMenu.strColor; }*/ if ( objJItem.strURL == "" ) { var objMenuChildren = objJItem.objChildren; for ( var i = 0 ; i < objMenuChildren.length ; i++ ) { var objChild = document.getElementById( objMenuChildren[ i ].nObjectID ); if ( objChild.style.visibility != "hidden" ) { objChild.style.visibility = "hidden"; } if ( objChild.style.color != objJItem.objMenu.strColor ) { UnTouch( objChild); } } } } function UnShow( objItem ) { var objJItem = objLookupTable[ objItem.id ]; if ( objJItem.nLevel != 1 ) { var objParent = objJItem.objParent; while ( objParent != null && objParent.objParent.nObjectID ) { UnTouch( document.getElementById( objParent.nObjectID ) ); objParent = objParent.objParent; } UnTouch( document.getElementById( objParent.nObjectID ) ); } } function MouseDown() { if ( objLookupTable[ this.id ].strURL.toLowerCase().indexOf("http") == 0 ) { document.location = objLookupTable[ this.id ].strURL; } else { var strLoc = objLookupTable[ this.id ].strURL.replace( /&/g, "&" ); var strCrumb1 = ""; var strCrumb2 = ""; var objElement = objLookupTable[ this.id ]; var objContent = new Array(); while ( objElement.objParent && objElement.objParent.strTitle ) { objContent[ objContent.length ] = objElement.objParent.strTitle; objElement = objElement.objParent; } for ( var i = objContent.length - 1; i > -1; i-- ) { strLoc += ( strLoc.indexOf("?") != -1 ? "&" : "?" ); strLoc += "c" + (objContent.length - i) + "=" + objContent[ i ]; } // external? if( strLoc.toLowerCase().indexOf( "http" ) == 0 || strLoc.toLowerCase().indexOf( "www." ) == 0 ) { strLoc = strLoc.toLowerCase().indexOf( "www." ) == 0 ? "http://" + strLoc : strLoc; window.open( strLoc, "_blank" ); } else { document.location = strLoc; } } } function OutputItem( objItem, nLevel, objMenu ) { nX = ( nLevel - 1 ) * objMenu.nWidth; nY = 0; if ( objMenu.objChildren.length > 1 || nLevel > 1 ) // If more than 1 subject in menu level 1 { for ( var i = 0 ; i < nLevel ; i++ ) { nY += eval("( ( objLevelCounter[" + ( i + 1 ) + "] " + ( i == 0 ? "-1" : "" ) + ") * objMenu.nHeight )" ); } nY -= objMenu.nHeight * ( nLevel - 1 ); } else { nY -= objMenu.nHeight; } var objSpan = document.createElement( "SPAN" ); with( objSpan ) { className = objMenu.strMainStyle; if ( objItem.strURL == "" ) { innerHTML = '' + strArrowChar + '' + objItem.strTitle; } else { innerHTML = objItem.strTitle; onmousedown = MouseDown; } objItem.nLevel = nLevel; id = objItem.nObjectID; style.top = nY + "px"; style.left = nX + "px"; onmouseover=MouseOver; onmouseout=MouseOut; } document.getElementById( objMenu.strParent ).appendChild( objSpan ); if ( nLevel == 1 ) { objSpan.style.visibility = "visible"; } objLevelCounter[ nLevel ]++; objLevelCounter[ nLevel + 1 ] = 0; nLevel++; for ( var j = 0 ; j < objItem.objChildren.length ; j++ ) { OutputItem( objItem.objChildren[ j ], nLevel , objMenu ); } } function OutputMenu( objMenu ) { var nLevel = 1; for ( var j = 0 ; j < objMenu.objChildren.length ; j++ ) { OutputItem( objMenu.objChildren[ j ] , nLevel ,objMenu); } objLevelCounter = new Array(); } function ParseMenu( objMenu ) { var i = 0; var objParents = new Array(); var nCurrentParent = 0; objParents[ 0 ] = objMenu; while( i < objMenu.objItems.length ) { while( objMenu.objItems[ i ] != strDelimiter ) { var objItem = new CMenuItem( strIdent + nObjectID, objMenu.objItems[ i ] , objMenu.objItems[ i + 1 ] , objMenu ); objLookupTable[ strIdent + nObjectID ] = objItem; nObjectID++; objParents[ nCurrentParent ].objChildren[ objParents[ nCurrentParent ].objChildren.length ] = objItem; objItem.objParent = objParents[ nCurrentParent ]; if ( objMenu.objItems[ i + 1 ] == "" ) { objParents[ objParents.length ] = objItem; } i += 2; nMaxLevel++; } nCurrentParent++; i += 2; } for ( var i = 0 ; i < nMaxLevel ; i++ ) { objLevelCounter[ objLevelCounter.length ] = 0; } var objDiv = document.createElement( "DIV" ); objMenu.strParent = strIdent + nObjectID++; objDiv.id = objMenu.strParent; with ( objDiv.style ) { position = "absolute"; top = objMenu.nMenuPosY + "px"; left = objMenu.nMenuPosX + "px"; } document.body.appendChild( objDiv ); } function CreateMenu() { if ( objMenuSource ) { objMenuX.objItems = objMenuSource; ParseMenu( objMenuX ); OutputMenu( objMenuX ); } } function OnSearch() { var objRadio = document.getElementsByName( "searchtype" ); var objForm = document.getElementById( "searchform" ); for( var i = 0; i < objRadio.length; i++ ) { if( objRadio[ i ].checked ) { if( objRadio[ i ].value == "employee" ) { objForm.action = "ns_find_employee.asp"; } else if( objRadio[ i ].value == "property" ) { objForm.action = "ns_find_property.asp"; } } } return true; } AttachToLoad( "CreateMenu()" );