/* * Copyright (c) 1999 Polzin GmbH, Duesseldorf. All Rights Reserved. * Author: Lutz Eymers * Download: http://www.polzin.com/inet/fset_inet.phtml?w=goodies * * Permission to use, copy, modify, and distribute this software * and its documentation for any purposes and without fee * is hereby granted provided that this copyright notice * appears in all copies. * * Of course, this software is provided "as is" without express or implied * warranty of any kind. * */ //window.onError=null; var idx=0 var treeId = new Array(); var treeP_id = new Array(); var treeIsOn = new Array(); var treeTyp = new Array(); var treeName = new Array(); var treeUrl = new Array(); var treeWasOn = new Array(); var treeDeep = new Array(); var treeLastY = new Array(); var treeIsShown = new Array(); function Note( id,p_id,name,url ) { treeId[ idx ] = id treeP_id[ idx ] = p_id treeIsOn[ idx ] = false treeTyp[ idx ] = 'f' treeName[ idx ] = name treeUrl[ idx ] = url treeWasOn[ idx ] = false treeDeep[ idx ] = 0 treeLastY[ idx ] = 0 treeIsShown[ idx ] = false idx++ } function initDiv ( ) { if ( isDOM || isDomIE ) { divPrefix=' ' ); onFocusTxt=' onFocus="if(this.blur) this.blur()"' if (activeVsBlurOnIE && isIE ) onFocusTxt='' for ( var i=1; i' + treeName[i] + '' else if (treeTyp[i]=='f' && clickOnFolderName) linkedName = '' + treeName[i] + '' else linkedName = treeName[i] // folder or bookmarks if ( treeTyp[i] == 'b' ) iconImg = '' else if (clickOnFolderIcon && treeUrl[i] != '' ) iconImg = '' else iconImg = '' folder_deep = treeDeep[ id2treeIndex[ treeId[i] ] ] folder_style = (folder_deep?'top':'sub') spacerX = folder_deep * deltaX + ((showFolderIcon==3||showFolderIcon==1)&&treeTyp[i]=='b'?deltaImg:0) tdSpacer='' if (spacerX) tdSpacer='' tdIcon='' tdIconWidth=0 if (treeTyp[i]=='f' && showFolderIcon) { tdIcon='' + iconImg + '' tdIconWidth=deltaImg } document.writeln( divPrefix + treeId[i] + '" CLASS="sitemap' + folder_style + '">' + (showFolderIcon!=1?tdSpacer+tdIcon:tdIcon+tdSpacer) + '
' + ' ' + linkedName + '

') } } function initStyles ( ) { document.writeln( '' ) } function sitemapClick( id ) { var i = id2treeIndex[ id ] var clinkedOnName = (sitemapClick.arguments.length == 2 ) if (resetPanelOnBookmarkClick && treeTyp[i]=='b' && (resetPanelOnBookmarkClick||resetPanelOnClick) ) { closeFolderOnPanel( id ) return } if (resetPanelOnClick && treeTyp[i]=='f' && clinkedOnName) { closeFolderOnPanel( id ) if ( !treeIsOn[ i ] ) return } if ( treeIsOn[ i ] ) // close directory { // mark node as invisible treeIsOn[ i ]=false // mark all sons as invisible actDeep = treeDeep[ i ] for( var j=i+1; j actDeep; j++ ) { if (rememberKnotStatus) treeWasOn[ j ] = treeIsOn[ j ] else { if (showFolderIcon && treeIsOn[j] ) gif_off( treeId[j] ) treeWasOn[ j ] = false } treeIsOn[ j ]=false } if (showFolderIcon) gif_off( id ) } else // open directory { treeIsOn[ i ]=true // remember and restore old status actDeep = treeDeep[ i ] for( var j=i+1; j actDeep; j++ ) { treeIsOn[ j ] = treeWasOn[ j ] } if (showFolderIcon) gif_on( id ) if ( onlyOneOpenFolderProPanel ) closeFolderOnPanel( id ) } showTree() } function knotDeep( id ) { var deep=0 while ( true ) if ( treeP_id[ id2treeIndex[id] ] == 0 ) return deep else { ++deep id = treeP_id[ id2treeIndex[id] ] } return deep } function closeFolderOnPanel( id ) { var i = id2treeIndex[id] var p_id = treeP_id[ i ] var deep=treeDeep[ i ] for( var j=i-1; j>0 && treeDeep[j]>=deep; j-- ) if ( treeP_id[ j ] == p_id && treeIsOn[ j ] ) sitemapClick( treeId[j] ) for( var j=i+1; j=deep; j++ ) if ( treeP_id[ j ] == p_id && treeIsOn[ j ] ) sitemapClick( treeId[j] ) } function showTree() { for( var i=1, y=y0, x=x0; i