<!--

   var purpleTabsSetHeight = -1;

   var savedPurpleTabFooter;

   var tabCornerCache = Array();

   function getTabContainerHeight( purpleTabContainer ) {
      if( purpleTabsSetHeight > 35 ) {
         return purpleTabsSetHeight - 35; }
      else if( purpleTabContainer.parentNode.getAttribute( 'customHeight' ) ) {
         return purpleTabContainer.parentNode.getAttribute( 'customHeight' ); }

//      purpleTabs   = purpleTabContainer.getElementsByTagName( "li" );
      purpleTabs = getElementsByClassName( purpleTabContainer, "li", "pmItem" );

      maxTabHeight = 0;

      for( var i = 0; i < purpleTabs.length; i++ ) {
         thisTabTitleHeight = findHeight( purpleTabs[ i ].getElementsByTagName( "h3" )[ 0 ] );
         thisTabHeight      = findHeight( purpleTabs[ i ] ) - thisTabTitleHeight;

         if( thisTabHeight > maxTabHeight ) { maxTabHeight = thisTabHeight; } }

      return maxTabHeight; }

   function rebuildTabs() {
      var purpleTabContainers = new Array();

      tabId = 0;

      purpleTabContainerParents = getElementsByClassName( document, "div", "purpleTabs" );

      for( var i = 0; i < purpleTabContainerParents.length; i++ ) {
         try {
            purpleTabContainers[ i ] = purpleTabContainerParents[ i ].getElementsByTagName( "ul" )[ 0 ];

            // Add footer bar to tab container:
            purpleTabFooter           = document.createElement( "div" );
            purpleTabFooter.className = 'purpleTabFooter';

            purpleTabContainers[ i ].appendChild( purpleTabFooter );

            savedPurpleTabFooter = purpleTabFooter;

            tabPaneHeight                           = getTabContainerHeight( purpleTabContainers[ i ] );
            tabPaneWidth                            = findWidth( purpleTabContainers[ i ] );
            purpleTabContainers[ i ].style.height   = tabPaneHeight + 16;
            purpleTabContainers[ i ].style.overflow = 'hidden'; }
         catch( err ) { /* Do nothing, ignore error */ }

//         purpleTabs = purpleTabContainers[ i ].getElementsByTagName( "li" );
         purpleTabs = getElementsByClassName( purpleTabContainers[ i ], "li", "pmItem" );

         for( var j = 0; j < purpleTabs.length; j++ ) {
            purpleTabs[ j ].style.height = tabPaneHeight;
            purpleTab                    = purpleTabs[ j ].getElementsByTagName( "h3" )[ 0 ];
            purpleTabTitle               = purpleTab.innerHTML;

            if( j == 0 ) {
               // Create new table elements to hold tabs:
               newTabTable  = document.createElement( "table" );
               newTableBody = document.createElement( "tbody" );
               newTableRow  = document.createElement( "tr"    );

               // Format table to fit tab container:
               newTabTable.style.width = tabPaneWidth;
               newTabTable.className   = 'purpleTabContainer';

               // Create reference to tab container for adding more tabs:
               tabContainer = newTableRow;

               // Attach new elements to page:
               newTableBody.appendChild( newTableRow );
               newTabTable.appendChild( newTableBody );

               purpleTabContainerParents[ i ].insertBefore( newTabTable, purpleTabContainers[ i ] ); }

            newTab               = document.createElement( "td" );
            newTab.className     = 'purpleTab';
            newTabLink           = document.createElement( "a" );
            newTabLink.className = 'purpleTabLink';
            newTabLink.id        = 'tab_' + tabId++;
            newTabLink.href      = '#';
            newTabTitle          = document.createTextNode( purpleTabTitle );

            newTabLink.appendChild( newTabTitle );
            newTab.appendChild( newTabLink );
            tabContainer.appendChild( newTab );

            purpleTab.parentNode.removeChild( purpleTab ); } } }

   function addRoundedTabCorners() {
/*
      Nifty( 'div.purpleTabs', 'small all transparent' );
*/
   }

   function openFirstTabs() {
      var purpleTabContainers = new Array();

      purpleTabContainerParents = getElementsByClassName( document, "div", "purpleTabs" );

      for( var i = 0; i < purpleTabContainerParents.length; i++ ) {;
         purpleTabs = purpleTabContainerParents[ i ].getElementsByTagName( "table" )[ 0 ].getElementsByTagName( "td" );

         for( var j = 0; j < purpleTabs.length; j++ ) {
            purpleTabs[ j ].getElementsByTagName( "a" )[ 0 ].className = 'purpleTab';

            if( j == 0 ) {
               purpleTabs[ j ].getElementsByTagName( "a" )[ 0 ].className = 'purpleTab_selected'; } }

         purpleTabContainer = purpleTabContainerParents[ i ].getElementsByTagName( "ul" )[ 0 ];
//         purpleTabPanes     = purpleTabContainer.getElementsByTagName( "li" );
         purpleTabPanes     = getElementsByClassName( purpleTabContainer, "li", "pmItem" );

         for( var k = 1; k < purpleTabPanes.length; k++ ) {
            purpleTabPanes[ k ].style.visibility = 'hidden';
            purpleTabPanes[ k ].style.display    = 'none'; } }
/*
      Nifty( 'a.purpleTab_selected', 'small top transparent' );

      tabCornerCache[ purpleTabs[ 0 ].getElementsByTagName( "a" )[ 0 ].id ] = niftyCornerCache[ niftyCornerCache.length - 1 ];
*/
   }

   function openPurpleTabById( purpleTabsTitleId ) {
      purpleTabsTitle = document.getElementById( purpleTabsTitleId );

      menuTitleX = findPosX( purpleTabsTitle );
      menuTitleY = findPosY( purpleTabsTitle );

      if( ( mouseX >= menuTitleX ) && ( mouseY >= menuTitleY ) &&
          ( mouseX <= menuTitleX + findWidth( purpleTabsTitle ) ) &&
          ( mouseY <= menuTitleY + findHeight( purpleTabsTitle ) ) ) {
             openPurpleTab( purpleTabsTitle ); } }

   function openPurpleTab( purpleTab ) {
      purpleTab.blur();

      if( purpleTab.className == 'purpleTab_selected' ) { return; }

      purpleTabContainer = getElementsByClassName( document, "div", "purpleTabs" )[ purpleTab.getAttribute( 'tab_container' ) ].getElementsByTagName( "ul" )[ 0 ];
      purpleTabPanes     = purpleTabContainer.getElementsByTagName( "li" );
      purpleTabPanes     = getElementsByClassName( purpleTabContainer, "li", "pmItem" );
      purpleTabs         = purpleTab.parentNode.parentNode.getElementsByTagName( "a" );
      thisTabPane        = purpleTab.getAttribute( 'tab_pane' );
      tabPaneHeight      = getTabContainerHeight( purpleTabContainers[ i ] );

      savedPurpleTabFooterLeft = findPosX( savedPurpleTabFooter );
      savedPurpleTabFooterTop  = findPosY( savedPurpleTabFooter );

      for( var i = 0; i < purpleTabs.length; i++ ) {
         if( i != thisTabPane ) {
            purpleTabs[ i ].className    = 'purpleTab';
            purpleTabs[ i ].style.zIndex = 0; } }

      purpleTab.className = 'purpleTab_selected';

      for( var i = 0; i < purpleTabPanes.length; i++ ) {
         if( i != thisTabPane ) {
            purpleTabPanes[ i ].style.display    = 'none';
            purpleTabPanes[ i ].style.visibility = 'hidden'; } }

      purpleTabPanes[ thisTabPane ].style.display    = '';
      purpleTabPanes[ thisTabPane ].style.visibility = 'visible';
/*
      if( !tabCornerCache[ purpleTab.id ] ) {
         Nifty( 'a.purpleTab_selected', 'small top transparent' );

         tabCornerCache[ purpleTab.id ] = niftyCornerCache[ niftyCornerCache.length - 1 ]; }
*/
      // This is necessary for Netscape or the footer will randomly "fall off":
      savedPurpleTabFooter.style.left    = savedPurpleTabFooterLeft;
      savedPurpleTabFooter.style.top     = savedPurpleTabFooterTop;
      savedPurpleTabFooter.style.display = '';

      return false; }

   function addTabEvents() {
      purpleTabContainers = getElementsByClassName( document, "table", "purpleTabContainer" );

      for( var i = 0; i < purpleTabContainers.length; i++ ) {
         purpleTabs = purpleTabContainers[ i ].getElementsByTagName( "a" );

         for( var j = 0; j < purpleTabs.length; j++ ) {
            purpleTab = purpleTabs[ j ];

            if( !purpleTab.id ) { purpleTab.id = 'purpleTab_' + i.toString() + '_' + j.toString(); }

            purpleTabId = purpleTab.id;

            purpleTab.setAttribute( 'tab_container', i.toString() );
            purpleTab.setAttribute( 'tab_pane',      j.toString() );

            try {
               eval( "purpleTab.attachEvent( 'onclick', function() { openPurpleTab( document.getElementById( '" + purpleTabId + "' ) ); return false; } );" ); }
            catch( err ) {
               purpleTab.setAttribute( 'onClick', "openPurpleTab( this ); return false;" ); } } } }

   function fixTabs() {
      purpleTabContainers = getElementsByClassName( document, "table", "purpleTabContainer" );

      for( var i = 0; i < purpleTabContainers.length; i++ ) {
         purpleTabContainers.className = purpleTabContainers.className;

         purpleTabs = purpleTabContainers[ i ].getElementsByTagName( "a" );

         for( var k = 0; k < purpleTabs.length; k++ ) {
            savedTabClassName = purpleTabs[ k ].className;

            if( savedTabClassName.indexOf( 'purpleTab' ) > -1 ) {
               savedTabWidth             = findWidth( purpleTabs[ k ] );
               purpleTabs[ k ].className = 'purpleTab';

               if( savedTabClassName > '' ) { purpleTabs[ k ].className = savedTabClassName; }

               purpleTabs[ k ].style.width = savedTabWidth; } } }

      return true; }

   function initializePurpleTabs() {
      for( var i = 0; i < purpleTabContainers.length; i++ ) {
         purpleTabContainers.className = purpleTabContainers.className;

         purpleTabs = purpleTabContainers[ i ].getElementsByTagName( "a" );

         for( var j = ( purpleTabs.length - 1 ); j > -1; j-- ) {
            openPurpleTab( purpleTabs[ j ] ); } } }

   function initPurpleTabs() {
//      addRoundedTabCorners();
      rebuildTabs();
      openFirstTabs();
      addTabEvents();
//      fixTabs();
      initializePurpleTabs();

      return true; }

//-->