﻿// KGToolbar JScript File
var globalHelpID;
var KGButtonToolbar_SearchResultBackButtonClick = false;
var KGButtonToolbar_CurrentOwnerKey = -1;
var m_splitCookieExpiration = 8760; // cookie expiration date in hours from current time. 8760 = 1 year
var globalRetToMapView = "false"; // for knowing whether to show map full-screen after changing splitter mode
var m_buttonToolbar_knowdeShortcutSelect; // the knowde shortcut drop down list object

var KGButtonToolbar_previousHistoryItem;
var KGButtonToolbar_currentHistoryItem;
var LoadMapView_isBackButtonClick = false;
var globalAuthorOfCurrentKG = -1;
var waitForLoadMapCallback = true;
var globalUserKGPermission = false;

var globalCatClick = new Boolean(false);
var m_readyForResize = false;



var m_kgInMyHK = 0;


function KGButtonToolbar_GetKnowdeShortcutSelect_Wrapped(_id)
{
  return document.getElementById(_id);
}

// DocVersionSelect class
function KGButtonToolbar_KnowdeShortcutSelect()
{
  this.select = KGButtonToolbar_GetKnowdeShortcutSelect();
  this.KGID;
  
  this.Initialise = function()
  {
    // clear all entries in the droplist
    while (this.select.length > 0)
    {
      this.select.remove(this.select.length-1);
    }
  };
  
  // generates an element id for an option in the list
  this.CreateOptionId = function(_value)
  {
    if (_value == null)
      _value = "default";
    
    return this.select.id + "|" + _value;
  };
  
  // add an option to the select drop list
  // _text and _value inputs
  this.AddOption = function(_text, _value)
  {
    // create a new option object
    var shortcut = document.createElement('option');
    shortcut.text = _text;
    shortcut.value = _value;
    shortcut.id = this.CreateOptionId(_value);
    // add to the droplist
    
    try
    {
      this.select.add(shortcut, null); // standards compliant
    }
    catch(ex)
    {
      this.select.add(shortcut); // IE only
    }
 
    
    return shortcut;
  };
  
  // adds each entry in the _shortcuts array to the droplist
  this.Populate = function(_shortcuts)
  {
    // clear the drop list
    this.Initialise();
    
    // default text version
    this.AddOption("Original Entry Knowde", "default");
    
   
    if (_shortcuts != null)
    {
      // loop through _shortcuts array
      for (var shortcutIndex =0; shortcutIndex < _shortcuts.length; shortcutIndex++)
      {
        this.AddOption(_shortcuts[shortcutIndex].text, _shortcuts[shortcutIndex].knowdeID);
      }
    }
  };
 
  // select onchange event handler
  this.Changed = function(e)
  {
    var selectedValue = this.select.value;
    switch(selectedValue)
    {

      case "default":
        // reset the mapview by just saying we've selected a KG
        SetSessionProperty('DealWithMyHK_KGSelected', Active_KGID);
        SetSessionProperty('MapViewDisplayMode', 'KGMapView');
        MapViewControl1_CallbackTrigger();
        //KGTabbedWindowsControl_CallbackTrigger('KnowdeSelected');        
        break;
      default: // for all other selectedValues
        // Set the session and refresh in KGServer
        SetSessionProperty('SelectedKGID', selectedValue);
        SetSessionProperty('MapViewDisplayMode', 'KGMapView');
        MapViewControl1_CallbackTrigger();
        //KGTabbedWindowsControl_CallbackTrigger('KnowdeSelected');        
        break;
    }
  };
 
  
  return true;
}

function KnowdeShortcutSelectionChanged(_e)
{
  //debugger;
  var i = 0;

}


// shows and hides the buttons based on the JSON retMessage values
function KGButtonToolbar_UpdateToolbar_Wrapped(_retMessage, _addToMyHKBtnID, _removeFromMyHKBtnID, _editingBtnID, _removeKnowdeShortcutBtnID, _knowdePermBtnID)
{
  var addToMyHKBtn = document.getElementById(_addToMyHKBtnID);
  var removeFromMyHKBtn = document.getElementById(_removeFromMyHKBtnID);
  var startEditingBtn = document.getElementById(_editingBtnID);
  var knowdePermBtn = document.getElementById(_knowdePermBtnID);
  
  globalAuthorOfCurrentKG = KGButtonToolbar_currentHistoryItem.AuthorPersonID;
   
  var hideButtons = _retMessage.HideButtons
  var displayButtons = _retMessage.DisplayButtons
  
  // do we need to show the removeKnowdeShortcut or not?  it depends on what is selected...
  // only show it if we've currently got a shortcut selected
  if ( !m_buttonToolbar_knowdeShortcutSelect || ( m_buttonToolbar_knowdeShortcutSelect && m_buttonToolbar_knowdeShortcutSelect.select.value == "default" ) )
  {
    // don't show it
    hideButtons[hideButtons.length-1] = _removeKnowdeShortcutBtnID;    
  }
  else
  {
    // show it  
    displayButtons[displayButtons.length-1] = _removeKnowdeShortcutBtnID;    
  }
  
  for (var buttonID=0; buttonID < hideButtons.length; buttonID++)
  {
    var button = document.getElementById(hideButtons[buttonID]);
    if (button)
    {
      button.style.display = 'none';//.className = 'ButtonToolbar_Hidden';
    }
  }
  
  var checkbox = document.getElementById("CategoriesTreeCheckbox");
  var button = document.getElementById("KGButtonToolbar_KeyConceptBtn");
  if (checkbox != null && checkbox.checked)
  {
		if(button)
			button.style.display = 'inline';//.className = 'ButtonToolbar_Shown';
	}
	else
	{
		if(button)
			button.style.display = 'none';//.className = 'ButtonToolbar_Hidden';
	}
	
	
  for (var buttonID=0; buttonID < displayButtons.length; buttonID++)
  {
    var button = document.getElementById(displayButtons[buttonID]);
    if (button)
    {
      button.style.display = 'inline';//.className = 'ButtonToolbar_Shown';
      
    }
  }
  
  // whether we can show the startEditing button 
  // e.g. if you close the splitter and hide the button, then reopen the splitter
  //   - need to know whether the user is allowed to see the button
  if (startEditingBtn.style.display != 'none')
    startEditingBtn.isOkToShow = true;
  else
    startEditingBtn.isOkToShow = false;
    
    
  if (_retMessage.CurrentHistoryItem.KGID != "")
  {
    addToMyHKBtn.onclick = function(e){KGButtonToolbar_MyHKBtnOnClick('KnowledgeGene', _retMessage.CurrentHistoryItem.KGID, true, e)};
    removeFromMyHKBtn.onclick = function(e){KGButtonToolbar_MyHKBtnOnClick('KnowledgeGene', _retMessage.CurrentHistoryItem.KGID, false, e)};
    
    if(removeFromMyHKBtn.style.display != 'none')
    {
      m_kgInMyHK = 1;
    }
    else if(addToMyHKBtn.style.display != 'none')
    {
      m_kgInMyHK = 0;
    }
  }
  UpdateAddMyOwnWhatTooltip();
	
  // hide any buttons that shouldn't be showing when the map's closed
  var mapViewCollapsed = !globalMapPaneOpen; 
  if (mapViewCollapsed) // necessary incase the map was closed
    KGButtonToolbar_hideOrShowMapButtons(false);
      
  // show the preview full textview button if in edit mode and the popup help is not already open
  var helpBox = document.getElementById("KGHelpControlID1");
  if(m_bEditable == true && (helpBox != null && helpBox.className != "OverlayPosition"))
  {
    KGTextTabControl_HideOrShowPreviewFullTVButton(true);
  }else
    KGTextTabControl_HideOrShowPreviewFullTVButton(false);
  
    
  KGButtonToolbar_hideOrShowButtonDivider(); // this needs to go after updating the other buttons
  
}

function KGButtonToolbar_hideOrShowButton(_buttonID, _show)
{
  //if(_buttonID.indexOf('KnowdePerm') != -1)
    //debugger;
    
  var btn = document.getElementById(_buttonID);
  if(btn != null)
  {
    if(_show)
    {
      btn.style.display = 'inline';
    }
    else
    {
      btn.style.display = 'none';
    }
  }
}

function KGButtonToolbar_clearMapViewButtons()
{
  KGButtonToolbar_hideOrShowMapButtons();
}

// similar docs button click handler
function KGButtonToolbar_similarDocsBtnOnClick(_forDefaultKnowde)
{
  var args = 'Action=similarDocsClicked';
  if(m_bEditable == true || (_forDefaultKnowde != null && _forDefaultKnowde == true))
    args += '|ForDefaultKnowde=true';
  KGButtonToolbar_CallbackTrigger(args);
}

// _subscribe = true to add, false to remove
// _objectType = KnowledgeGene or IndexedDoc
// _objectId = KGID or DocumentID
function KGButtonToolbar_MyHKBtnOnClick(_objectType, _objectId, _subscribe, e)
{ 
  if (_subscribe == false)
  {
    var toolbarId = KGButtonToolbar_getToolbarId();
    KGMyKnowledgeControl_DislayRemoveKGMessage(toolbarId, e);
  }
  
  // Test if the current user has logged in 
  // YES: allow the operation to go ahead
  //  NO: Redirect User to the new sign in / sign up page
  if(isAuthenticated())
  {
    var args = 'Action=subscribeMyHKClicked|ObjectType=' + _objectType + '|ObjectId=' + _objectId + '|Subscribe=' + _subscribe;
    KGButtonToolbar_CallbackTrigger(args);
  }
  else
  {
    redirectToSignInSignUpPage('AddToMyHK', _objectId);  
  }
}

// any author click except for back
function KGButtonToolbar_AuthorSelected(_authorPersonId)
{
  //trigger callback on ButtonToolbar
  var args = "Action=AuthorSelected|AuthorPersonID=" + _authorPersonId;
  KGButtonToolbar_CallbackTrigger(args);
}

// load map view
function KGButtonToolbar_loadMapView()
{
  if(LoadMapView_isBackButtonClick)
  {
    LoadMapView_isBackButtonClick = false;
  }
  else
  {
    var args = "Action=LoadMapView"
    args += "|KGID=" + Active_KGID;
    if (m_bEditable == true)
      args += "|MapEditing=true";
    
    KGButtonToolbar_CallbackTrigger(args);
  }
}

function KGButtonToolbar_DocumentSelected()
{
  var args = "Action=DocumentSelected";
  KGButtonToolbar_CallbackTrigger(args);
}

//doc list loaded
function KGButtonToolbar_IndexedDocListLoaded(_clearHistory)
{
  var args = "Action=DocList";
  if ( window.Active_KGID !== undefined )
  {
		if ( Active_KGID != "" )
		{
		 args += "|KGID=";
		 args += Active_KGID;
		}
  }
  if (_clearHistory == true)
    args += "|ClearHistory=true"
  KGButtonToolbar_CallbackTrigger(args);
}

// view application button click handler
function KGButtonToolbar_AppSelected(_i)
{
  //KGTabbedWindowsControl_SelectTabById('AppTab' + _i)
  var args = "Action=AppSelected|AppID="+_i;
  KGButtonToolbar_CallbackTrigger(args);
}

//////////
// handle toolbar when when map editing starts
function KGButtonToolbar_StartEditing()
{

  if (waitForLoadMapCallback)
  {
    // if LoadMapCallback callback hasn't finished yet, delay this callback
    setTimeout("KGButtonToolbar_StartEditing()", 100);
  }
  else
  {

   // ensure the edit toolbar is in map view mode
      KGButtonToolbar_ChangeEditbarMode('MapView');

    // show the edit toolbar
    if(Map_TextEditOnly == 0)
      KGButtonToolbar_ShowHideEditBar(true);
    
    // show the docversion dropdown list
    if(Map_MultiVersionTextView == 1)
      m_buttonToolbar_docVersionSelect.Show();
    
    var args = "Action=StartEditing";
    KGButtonToolbar_CallbackTrigger(args);
    
    if(!PanesAreSplit())
		{
//			DoExpandMapViewPane("split");
			var splitterArrowDown = document.getElementById('SplitterArrowDown');
			if(splitterArrowDown != null)
				splitterArrowDown.className = 'arrowDown';
		}
    
    // show the change objective button if the currently selected knowde is not the objective
    var currentKnowdeID = returnKnowdeID(globalLastSelectedKnowde);
    if(originalCentreKnowdeID != "" && originalCentreKnowdeID != currentKnowdeID)
    {
      KGButtonToolbar_hideOrShowChangeObjButton(true);
      if (globalLastMapDirection == HOW_DIRECTION)
      {
        var howChain;
        if (currentMapViewType == MAP_TYPE_LCONNECTOR)
          howChain = globalLastSelectedConnector.parentNode;
        else
          howChain = globalLastSelectedKnowde.parentNode;
        if (howChain.numberOfItems != null && howChain.numberOfItems <= 1)
        {
          if (globalLastSelectedKnowde.getAttribute('CalcType') == "true")
            m_arithmeticConnectorMode = true;
          else
            m_arithmeticConnectorMode = false;
          KGButtonToolbar_switchConnTypeButton(m_arithmeticConnectorMode);
          KGButtonToolbar_hideOrShowConnTypeButton(true);
        }
      }
    }
  }
}

//////////
// handle toolbar when when map editing stops
function KGButtonToolbar_StopEditing()
{
	KGButtonToolbar_loadMapView();
  // hide the editing toolbar as long as textview is not in edit mode
  // now the edit mode apply to both mapview and text view
  //if (m_bTextViewWritable == false)
    KGButtonToolbar_ShowHideEditBar(false);
  
  // hide the docversion dropdown list
  m_buttonToolbar_docVersionSelect.Hide();
  
  var args = "Action=StopEditing|TextViewEditing=" + false;
  KGButtonToolbar_CallbackTrigger(args);
  
  // if the user was in full view before they started editing, put it back to full view
  //if (!WM_readCookie('SplitView'))
  //  SwitchToFullView();
}

//////////
// handle toolbar when when text editing starts
function KGButtonToolbar_StartTextViewEditing()
{
  // show the edit toolbar
  KGButtonToolbar_ShowHideEditBar(true);

  var args = "Action=StartTextViewEditing";
  KGButtonToolbar_CallbackTrigger(args);
}

//////////
// handle toolbar when when text editing stops
function KGButtonToolbar_StopTextViewEditing()
{
  // hide the editing toolbar as long as the mapview is not in edit mode
  if (m_bEditable == false)
    KGButtonToolbar_ShowHideEditBar(false);
  var args = "Action=StopTextViewEditing|MapEditing=" + m_bEditable;
  KGButtonToolbar_CallbackTrigger(args);
}

// callback trigger
function KGButtonToolbar_CallbackTrigger_Wrapped(args, _KGButtonToolbar_cbreference)
{
  if (m_bEditable == true)
    args += "|MapEditing=true";
  if (m_bTextViewWritable == true)
    args += "|TextViewEditing=true";
  var mapViewCollapsed = !globalMapPaneOpen;
  if (!mapViewCollapsed)
    args += "|ShowingMapPane=true";
  eval(_KGButtonToolbar_cbreference);
}

function KGButtonToolbar_ProcessCallBackError_Wrapped(_args, _context, _KGButtonToolbarClientID)
{
  var holder = document.getElementById(_KGButtonToolbarClientID);
  if (holder != null)
      holder.innerHTML = 'Exception occurred.';
}

function switchSubscribeButton_Wrapped(_subscribed, _addToMyHKBtnID, _removeFromMyHKBtnID)
{
  var addToMyHKBtn = document.getElementById(_addToMyHKBtnID);
  var removeFromMyHKBtn = document.getElementById(_removeFromMyHKBtnID);

  var mapViewCollapsed = !globalMapPaneOpen; 
    
  if (_subscribed == true || _subscribed == "true") // just subscribed
  {
    if (mapViewCollapsed) // both buttons are hidden, but tell it to show the remove button when it next shows them
    {
      m_hiddenMyHkBtnID = _removeFromMyHKBtnID;
    }
    else // showing the map and the map buttons, so show the remove button now
    {
      addToMyHKBtn.style.display = 'none';
      removeFromMyHKBtn.style.display = 'inline';
    }
  }
  else // just unsubscribed
  {
    if (mapViewCollapsed)
    {
      m_hiddenMyHkBtnID = _addToMyHKBtnID;
    }
    else
    {
      addToMyHKBtn.style.display = 'inline';
      removeFromMyHKBtn.style.display = 'none';
    }
  }
}

// hide the IconButton
function KGButtonToolbar_hideIconButton_Wrapped(_viewIconsButtonID)
{
  var iconButton = document.getElementById(_viewIconsButtonID);
  if (iconButton)
    iconButton.style.display = 'none';//.className = "ButtonToolbar_Hidden";
}

// show the IconButton
function KGButtonToolbar_showIconButton_Wrapped(_viewIconsButtonID)
{
  var iconButton = document.getElementById(_viewIconsButtonID);
  if (iconButton)
    iconButton.style.display = 'inline';//.className = "ButtonToolbar_Shown";
}

function KGButtonToolbar_ShowHideEditBar_Wrapped(_show, _editingToolbarClientID)
{
  var editingToolbar = document.getElementById(_editingToolbarClientID);
  if (editingToolbar != null)
  {
    if (_show == true && editingToolbar.className == "ButtonToolbar_Hidden")
      editingToolbar.className = "ButtonToolbar_editingToolbar";
    else if (_show == false && editingToolbar.className == "ButtonToolbar_editingToolbar")
      editingToolbar.className = "ButtonToolbar_Hidden";      
  }
  Splitter1.adjustSize(true);
}

// Called when the mouse floats over a toolbar button, making it highlighted
// _button: the button floated over
function KGEditingToolbar_ButtonOver(_button)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    // add the "button over" css class
    if (_button.className.indexOf("EditingToolbar_ButtonOver") == -1)
      _button.className = _button.className + " EditingToolbar_ButtonOver";
  }
}

// Called when the mouse floats out of toolbar button, removing the highlight
// _button: the button floated over
function KGEditingToolbar_ButtonOut(_button)
{
  // remove the "button over" css class
  _button.className = _button.className.replace(/ EditingToolbar_ButtonOver/g, "");
}

function KGEditingToolbar_SelectButton(_button)
{
  // add the "button selected" css class
  if (_button.className.indexOf("EditingToolbar_Selected") == -1)
    _button.className = _button.className + " EditingToolbar_Selected";
}

function KGEditingToolbar_DeSelectButton(_button)
{
  // remove the "button selected" css class
  _button.className = _button.className.replace(/ EditingToolbar_Selected/g, "");
}

function KGEditingToolbar_ToggleSelection(_button)
{
  if (_button.className.indexOf("EditingToolbar_Selected") == -1)
    KGEditingToolbar_SelectButton(_button);
  else
    KGEditingToolbar_DeSelectButton(_button);
}

function KGButtonToolbar_GreyOutButton(_button)
{
  _button.className = "EditingToolbar_Greyed";
}

function KGButtonToolbar_UnGreyButton(_button)
{
  _button.className = "EditingToolbar_Button";
}

function KGEditingToolbar_StyleChange(_styleDropList, _mode, _namePrefix)
{
  if (_mode == "TextView")
  {
    TextViewStyleChanges(_styleDropList);
    // update the undoredo buttons
    eval(_namePrefix + '_UpdateUndoRedoBtns()');
  }
}

function KGEditingToolbar_Bold(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewBold();
      KGEditingToolbar_ToggleSelection(_button);
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_Italic(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewItalic();
      KGEditingToolbar_ToggleSelection(_button);
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_Underline(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewUnderline();
      KGEditingToolbar_ToggleSelection(_button);
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_DecIndent(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewDecIndent();
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_IncIndent(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewIncIndent();
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_Olist(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewOList();
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_Ulist(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewUList();
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_InsertImage(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
      TextViewInsertImage();
  }
}

function KGEditingToolbar_InsertFile(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
      TextViewInsertFile();
  }
}

function KGEditingToolbar_InsertLink(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      TextViewInsertLink();
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
  }
}

function KGEditingToolbar_Cut(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      if (TextViewCut())
      {
        // update the cut copy and paste buttons
        eval(_namePrefix + '_UpdateCutCopyPasteBtns()');
        // update the undoredo buttons
        eval(_namePrefix + '_UpdateUndoRedoBtns()');
      }
    }
    else if (_mode == "MapView")
    {
      CutKnowde();
    }
  }
}

function KGEditingToolbar_Copy(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      if (TextViewCopy())
      {
        // update the cut copy and paste buttons
        eval(_namePrefix + '_UpdateCutCopyPasteBtns()');
        // update the undoredo buttons
        eval(_namePrefix + '_UpdateUndoRedoBtns()');
      }
    }
    else if (_mode == "MapView")
    {
      CopyKnowde();
    }
  }
}

function KGEditingToolbar_Paste(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      if(TextViewPaste())
      {
        // update the cut copy and paste buttons
        eval(_namePrefix + '_UpdateCutCopyPasteBtns()');
        // update the undoredo buttons
        eval(_namePrefix + '_UpdateUndoRedoBtns()');
      }
    }
    else if (_mode == "MapView")
    {
      PasteKnowde();
    }
  }
}

function KGEditingToolbar_Move(_button)
{
	PasteOntoNewKnowdeFromEditMenu("toolbarButton", null, "Top")
}

function KGEditingToolbar_Delete(_button)
{
	DeleteCurrentKnowde();
}

function SetTitle(_element, _mode, _namePrefix)
{
  var isIE;
  if (navigator.appName == "Microsoft Internet Explorer")
    isIE = true;
  else
    isIE = false;
        
  if (!isIE && _mode == "TextView" && _element.title.indexOf("not permit") == -1)
  {
    if(_element.id.indexOf('_Copy') != -1) 
        _element.title = "This browser does not permit access to the clipboard.  Please use the browser menu or Ctrl+C for Copy.";
    else if(_element.id.indexOf('_Cut') != -1) 
        _element.title = "This browser does not permit access to the clipboard.  Please use the browser menu or Ctrl+X for Cut.";
    else if(_element.id.indexOf('_Paste') != -1) 
        _element.title = "This browser does not permit access to the clipboard.  Please use the browser menu or Ctrl+V for Paste.";
  }
  else if (_mode == "MapView" && _element.title.indexOf("not permit") != -1)
  {
    if(_element.id.indexOf('_Copy') != -1) 
        _element.title = "Copy";
    else if(_element.id.indexOf('_Cut') != -1) 
        _element.title = "Cut";
    else if(_element.id.indexOf('_Paste') != -1) 
        _element.title = "Paste";
  }
}
function KGEditingToolbar_Undo(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      // call the TextView function
      TextViewUndo();
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
    else if (_mode == "MapView")
    {
      Undo();
    }
  }
}

function KGEditingToolbar_Redo(_button, _mode, _namePrefix)
{
  // ensure the button is active
  if (_button.className.indexOf("EditingToolbar_Greyed") == -1)
  {
    if (_mode == "TextView")
    {
      // call the TextView function
      TextViewRedo();
      // update the undoredo buttons
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
    }
    else if (_mode == "MapView")
    {
      Redo();
    }
  }
}

// set the selection in the style drop list
function KGTextViewEditingToolbar_UpdateStyleSelector()
{
  var selection = m_EditFrame.contentWindow.document.queryCommandValue("formatblock");
  switch (selection)
  {
  case "Normal":
    document.getElementById("KGTextViewEditingToolbar_Normal").selected = true;
    break;
  case "Heading 1":
    document.getElementById("KGTextViewEditingToolbar_Heading1").selected = true;
    break;
  case "Heading 2":
    document.getElementById("KGTextViewEditingToolbar_Heading2").selected = true;
    break;
  case "Heading 3":
    document.getElementById("KGTextViewEditingToolbar_Heading3").selected = true;
    break;
  }
}

// set the selection on the bold, italic and underline buttons
function KGEditingToolbar_UpdateTextFormatBtns_Wrapped(_boldBtnClientID, _italicBtnClientID, _underlineBtnClientID)
{
  var boldBtn = document.getElementById(_boldBtnClientID);
  var italicBtn = document.getElementById(_italicBtnClientID);
  var underlineBtn = document.getElementById(_underlineBtnClientID);
  
  var selectboldBtn = m_EditFrame.contentWindow.document.queryCommandState("Bold");
  var selectitalicBtn = m_EditFrame.contentWindow.document.queryCommandState("Italic");
  var selectunderlineBtn = m_EditFrame.contentWindow.document.queryCommandState("Underline");
  
  if (selectboldBtn)
    KGEditingToolbar_SelectButton(boldBtn);
  else
    KGEditingToolbar_DeSelectButton(boldBtn);
  
  if (selectitalicBtn)
    KGEditingToolbar_SelectButton(italicBtn);
  else
    KGEditingToolbar_DeSelectButton(italicBtn);
  
  if (selectunderlineBtn)
    KGEditingToolbar_SelectButton(underlineBtn);
  else
    KGEditingToolbar_DeSelectButton(underlineBtn);
}

// activate the cut, copy and paste buttons when the commands are available
function KGEditingToolbar_UpdateCutCopyPasteBtns_Wrapped(_cutBtnClientID, _copyBtnClientID, _pasteBtnClientID)
{
  var cutButton = document.getElementById(_cutBtnClientID);
  var copyButton = document.getElementById(_copyBtnClientID);
  var pasteButton = document.getElementById(_pasteBtnClientID);
  
  var enableCutButton;
  var enableCopyButton;
  var enablePasteButton;

  if (navigator.appName == "Microsoft Internet Explorer")
  {
    enableCutButton = m_EditFrame.contentWindow.document.queryCommandEnabled("Cut");
    enableCopyButton = m_EditFrame.contentWindow.document.queryCommandEnabled("Copy");
    enablePasteButton = m_EditFrame.contentWindow.document.queryCommandEnabled("Paste");
  }
  else //disable the cut copy paste buttons for non IE browsers
  {
    enableCutButton = false;
    enableCopyButton = false;
    enablePasteButton = false;
  }
  
  if (enableCutButton)
    KGButtonToolbar_UnGreyButton(cutButton);
  else
    KGButtonToolbar_GreyOutButton(cutButton);

  if (enableCopyButton)
    KGButtonToolbar_UnGreyButton(copyButton);
  else
    KGButtonToolbar_GreyOutButton(copyButton);

  if (enablePasteButton)
    KGButtonToolbar_UnGreyButton(pasteButton);
  else
    KGButtonToolbar_GreyOutButton(pasteButton);
}

// activate the undo and redo buttons when the commands are available
function KGEditingToolbar_UpdateUndoRedoBtns_Wrapped(_mode, _undoBtnClientID, _redoBtnClientID, _enableUndoBtn, _enableRedoBtn)
{
  //debugger;
  var undoButton = document.getElementById(_undoBtnClientID);
  var redoButton = document.getElementById(_redoBtnClientID);
  var enableUndoBtn;
  var enableRedoBtn;
  if (_mode == "TextView")
  {
    enableUndoBtn = m_EditFrame.contentWindow.document.queryCommandEnabled("Undo");
    enableRedoBtn = m_EditFrame.contentWindow.document.queryCommandEnabled("Redo");
  }
  else if (_mode == "MapView")
  {
    enableUndoBtn = _enableUndoBtn;
    enableRedoBtn = _enableRedoBtn;
  }
  
  if (enableUndoBtn)
    KGButtonToolbar_UnGreyButton(undoButton);
  else
    KGButtonToolbar_GreyOutButton(undoButton);
  
  if (enableRedoBtn)
    KGButtonToolbar_UnGreyButton(redoButton);
  else
    KGButtonToolbar_GreyOutButton(redoButton);
}

var m_KGButtonToolbar_EditbarMode;
var m_KGTextViewButtonToolbar_EditbarMode;

function KGButtonToolbar_ChangeEditbarMode(_mode)
{
  KGEditingToolbar_ChangeEditbarMode(_mode);
}

// Switch edit toolbar mode
function KGButtonToolbar_ChangeEditbarMode_Wrapped(_mode, _styleSelectorClientID, _editBtn_boldClientID, _editBtn_italicClientID, _editBtn_underlineClientID, _editBtn_decIndentClientID, _editBtn_incIndentClientID, _editBtn_OlistClientID, _editBtn_UlistClientID, _editBtn_imageClientID, _editBtn_fileClientID, _editBtn_linkClientID, _editBtn_cutClientID, _editBtn_copyClientID, _editBtn_pasteClientID, _editBtn_moveClientID, _editBtn_deleteClientID, _editBtn_undoClientID, _editBtn_redoClientID, _editBtn_setTextClientID, _namePrefix)
{
  //debugger;
  //if ((_mode == 'MapView' && _mode != m_KGButtonToolbar_EditbarMode) || ((_mode == 'TextView' && _mode != m_KGTextViewButtonToolbar_EditbarMode)))
  //{
    var styleSelector = null;
    if(_styleSelectorClientID != null && _styleSelectorClientID != '')
      styleSelector = document.getElementById(_styleSelectorClientID);
    var boldButton = null;
    if(_editBtn_boldClientID != null && _editBtn_boldClientID != '')
      boldButton = document.getElementById(_editBtn_boldClientID);
    var italicButton = null;
    if(_editBtn_italicClientID != null && _editBtn_italicClientID != '')
      italicButton = document.getElementById(_editBtn_italicClientID);
    var underlineButton = null;
    if(_editBtn_underlineClientID != null && _editBtn_underlineClientID != '')
      underlineButton = document.getElementById(_editBtn_underlineClientID);
    var decIndentButton = null;
    if(_editBtn_decIndentClientID != null && _editBtn_decIndentClientID != '')
      decIndentButton = document.getElementById(_editBtn_decIndentClientID);
    var incIndentButton = null;
    if(_editBtn_incIndentClientID != null && _editBtn_incIndentClientID != '')
      incIndentButton = document.getElementById(_editBtn_incIndentClientID);
    var oListButton = null;
    if(_editBtn_OlistClientID != null && _editBtn_OlistClientID != '')
      oListButton = document.getElementById(_editBtn_OlistClientID);
    var uListButton = null;
    if(_editBtn_UlistClientID != null && _editBtn_UlistClientID != '')
      uListButton = document.getElementById(_editBtn_UlistClientID);
    var insertImageButton = null;
    if(_editBtn_imageClientID != null && _editBtn_imageClientID != '')
      insertImageButton = document.getElementById(_editBtn_imageClientID);
    var insertFileButton = null;
    if(_editBtn_fileClientID != null && _editBtn_fileClientID != '')
      insertFileButton = document.getElementById(_editBtn_fileClientID);
    var insertLinkButton = null;
    if(_editBtn_linkClientID != null && _editBtn_linkClientID != '')
      insertLinkButton = document.getElementById(_editBtn_linkClientID);
    var cutButton = document.getElementById(_editBtn_cutClientID);
    var copyButton = document.getElementById(_editBtn_copyClientID);
    var pasteButton = document.getElementById(_editBtn_pasteClientID);
    if(_editBtn_moveClientID != null && _editBtn_moveClientID != '')
			var moveButton = document.getElementById(_editBtn_moveClientID);
    if(_editBtn_deleteClientID != null && _editBtn_deleteClientID != '')
      var deleteButton = document.getElementById(_editBtn_deleteClientID);
    var undoButton = document.getElementById(_editBtn_undoClientID);
    var redoButton = document.getElementById(_editBtn_redoClientID);
    var setTickerTextButton = null;
    if(_editBtn_setTextClientID != null && _editBtn_setTextClientID != '')
      setTickerTextButton = document.getElementById(_editBtn_setTextClientID);
    
    switch(_mode)
    {
    case "TextView":
//      if (m_buttonToolbar_docVersionSelect != null)
//        m_buttonToolbar_docVersionSelect.select.disabled = false;
      styleSelector.disabled = false;
      KGButtonToolbar_UnGreyButton(boldButton);
      KGButtonToolbar_UnGreyButton(italicButton);
      KGButtonToolbar_UnGreyButton(underlineButton);
      KGButtonToolbar_UnGreyButton(decIndentButton);
      KGButtonToolbar_UnGreyButton(incIndentButton);
      KGButtonToolbar_UnGreyButton(oListButton);
      KGButtonToolbar_UnGreyButton(uListButton);
      KGButtonToolbar_UnGreyButton(insertImageButton);
      KGButtonToolbar_UnGreyButton(insertFileButton);
      KGButtonToolbar_UnGreyButton(insertLinkButton);
      eval(_namePrefix + '_UpdateCutCopyPasteBtns()');
      eval(_namePrefix + '_UpdateUndoRedoBtns()');
      break;
    case "MapView":
//      if (m_buttonToolbar_docVersionSelect != null)
//        m_buttonToolbar_docVersionSelect.select.disabled = true;
      if (m_bEditable == true && Map_TextEditOnly == 0)
      {
      /*styleSelector.disabled = true;
      KGButtonToolbar_GreyOutButton(boldButton);
      KGButtonToolbar_GreyOutButton(italicButton);
      KGButtonToolbar_GreyOutButton(underlineButton);
      KGButtonToolbar_GreyOutButton(decIndentButton);
      KGButtonToolbar_GreyOutButton(incIndentButton);
      KGButtonToolbar_GreyOutButton(oListButton);
      KGButtonToolbar_GreyOutButton(uListButton);
      KGButtonToolbar_GreyOutButton(insertImageButton);
      KGButtonToolbar_GreyOutButton(insertFileButton);
      KGButtonToolbar_GreyOutButton(insertLinkButton);*/
      KGButtonToolbar_UnGreyButton(cutButton);
      KGButtonToolbar_UnGreyButton(copyButton);
      KGButtonToolbar_UnGreyButton(pasteButton);
      KGButtonToolbar_UnGreyButton(moveButton);
      KGButtonToolbar_UnGreyButton(deleteButton);
      KGButtonToolbar_GreyOutButton(undoButton);
      KGButtonToolbar_GreyOutButton(redoButton);
      }
      if (setTickerTextButton.className == "ButtonToolbar_TextButtonDivActive")
        setTickerTextButton.className = "ButtonToolbar_TextButtonDivInactive";
      break;
    case "TextViewReset":
//      if (m_buttonToolbar_docVersionSelect != null)
//        m_buttonToolbar_docVersionSelect.select.disabled = true;
      styleSelector.disabled = false;
      KGButtonToolbar_UnGreyButton(boldButton);
      KGButtonToolbar_UnGreyButton(italicButton);
      KGButtonToolbar_UnGreyButton(underlineButton);
      KGButtonToolbar_UnGreyButton(decIndentButton);
      KGButtonToolbar_UnGreyButton(incIndentButton);
      KGButtonToolbar_UnGreyButton(oListButton);
      KGButtonToolbar_UnGreyButton(uListButton);
      KGButtonToolbar_UnGreyButton(insertImageButton);
      KGButtonToolbar_UnGreyButton(insertFileButton);
      KGButtonToolbar_UnGreyButton(insertLinkButton);
      // deselect buttons
      KGEditingToolbar_DeSelectButton(boldButton);
      KGEditingToolbar_DeSelectButton(italicButton);
      KGEditingToolbar_DeSelectButton(underlineButton);
      KGButtonToolbar_GreyOutButton(undoButton);
      KGButtonToolbar_GreyOutButton(redoButton);
      KGButtonToolbar_GreyOutButton(cutButton);
      KGButtonToolbar_GreyOutButton(copyButton);
      KGButtonToolbar_GreyOutButton(pasteButton);
      break;
    }
    
    // update the global var
    if(_mode == 'MapView')
      m_KGButtonToolbar_EditbarMode = _mode;
    else if(_mode == 'TextView')
      m_KGTextViewButtonToolbar_EditbarMode = _mode;
  //}
}


// get the write text view button
function KGButtonToolbar_getEditingButton_Wrapped(_editingButtonID)
{
  var btn = document.getElementById(_editingButtonID);
  return btn;
}


// delay loading images until they're needed http://developer.yahoo.com/yui/imageloader/
// when the images are loaded they don't have src
var editingToolbarGrp;
var editingToolbarLoadImages;
var texteditingToolbarGrp;
var texteditingToolbarLoadImages;
function setUpImagesEditingToolbar(_editingToolbarId)
{
  var startEditingButtonId = KGMapToolbar.clientIDs.edit;

  // means all the images in the group will load when click _startEditingButtonId
  editingToolbarGrp = new YAHOO.util.ImageLoader.group(startEditingButtonId, 'click'); 
  
  // add a custom event - means can load images with editingToolbarLoadImages.fire();
  // trigger it from drawInitialMap if edit mode automatically
  editingToolbarLoadImages = new YAHOO.util.CustomEvent();
  editingToolbarGrp.addCustomTrigger(editingToolbarLoadImages);
  // it won't load the images up more than once because it's clever
  
  // add all the images in the toolbar to the group
  var editingToolbar = document.getElementById(_editingToolbarId);
  var images = editingToolbar.getElementsByTagName("img");
  var img;
  var src;
  // new attribute srcToLoad added at server to avoid hard-coding anything here, it's the image url
  for (var j=0; j<images.length; j++)
  {
    img = images[j];
    src = img.getAttribute('srcToLoad');
    if (src)
      editingToolbarGrp.registerSrcImage(img.id, src);
  }
  
  // register textview editing toolbar images
  var rowt = document.getElementById('TextViewControlContent');
  if(rowt != null)
  {
    for(var ci=0; ci < rowt.childNodes.length; ci++)
    {
      if(rowt.childNodes[ci].id.indexOf('TextViewEditingToolbar') != -1)
      {
        setUpTextViewImagesEditingToolbar(rowt.childNodes[ci].id, startEditingButtonId);
        break;
      }else if(rowt.childNodes[ci].id.indexOf('TextViewEditingToolbarContainer') != -1)
      {
        setUpTextViewImagesEditingToolbar(rowt.childNodes[ci].childNodes[0].id, startEditingButtonId);
        break;
      }
    }
  }
}

function setUpTextViewImagesEditingToolbar(_editingToolbarId,_startEditingButtonId)
{
  texteditingToolbarGrp = new YAHOO.util.ImageLoader.group('TextViewEditSwitch', 'click'); // also attach to the text tab strip start editing button
  
  // add a custom event - means can load images with editingToolbarLoadImages.fire();
  // trigger it from drawInitialMap if edit mode automatically
  texteditingToolbarLoadImages = new YAHOO.util.CustomEvent();
  texteditingToolbarGrp.addCustomTrigger(texteditingToolbarLoadImages);
  // it won't load the images up more than once because it's clever
  
  var editingToolbar = document.getElementById(_editingToolbarId);
  if(editingToolbarGrp != null && editingToolbar != null)
  {
    // add all the images in the toolbar to the group
    var images = editingToolbar.getElementsByTagName("img");
    var img;
    var src;
    // new attribute srcToLoad added at server to avoid hard-coding anything here, it's the image url
    for (var j=0; j<images.length; j++)
    {
      img = images[j];
      src = img.getAttribute('srcToLoad');
      if (src)
      {
        editingToolbarGrp.registerSrcImage(img.id, src.replace('../',''));
        if(texteditingToolbarGrp != null)
          texteditingToolbarGrp.registerSrcImage(img.id, src.replace('../',''));
      }
    }
  }
  
}

function HideSelectedKnowdeHalo_delayed()
{
   HideSelectedKnowdeHalo(globalLastSelectedKnowde, globalLastMapDirection); 
}

function SwitchToSplitView(_sessionSkip, _cookieSkip, _collapsedMapViewPane)
{
	// set session property if not in callback
	if(_sessionSkip != 'skip')
	{
	  if(_sessionSkip != 'skipSetSession')
		  SetSessionProperty('SplitView', "true");
		  
		if (!_cookieSkip)
		  WM_setCookie('SplitView', 'true', m_splitCookieExpiration);
		// check current single view state... is it map?
		if(!PaneBStatus())
			globalRetToMapView = "true";
		else
			globalRetToMapView = "false";
	    
	  if(_collapsedMapViewPane == null || _collapsedMapViewPane != true)
	  {
		  // split view 50/50
//		  DoExpandMapViewPane("split");
		}
		
	}
	// show splitter bar
	var splitterPaneMap = Splitter1.Panes[0];
	var splitterBar = splitterPaneMap.element.parentNode.nextSibling;
  if(_collapsedMapViewPane == null || _collapsedMapViewPane != true)
	{
	  splitterBar.className = 'VerticalSplitterBar';
	}
	// change toolbar visibility
	//document.getElementById("KGButtonToolbar_SplitView").style.display = "none";
	//document.getElementById("KGButtonToolbar_FullView").style.display = "block";
	// show the splitter arrows
	var splitterArrowDown = document.getElementById('SplitterArrowDown');
	if(_collapsedMapViewPane == null || _collapsedMapViewPane != true)
	{
	  splitterArrowDown.className = 'arrowDown'; //arrowDown
	}
	var splitterArrowUp = document.getElementById('SplitterArrowUp');
	splitterArrowUp.className = 'arrowUp'; //arrowUp
	// update global variable for splitter handler js
	globalSplitterSetting = "split";
	if(window.Active_KGID)
		if(Active_KGID != "")
	    updateHandlersAfterSwitch('split');
				
	if(m_globalFullDocked == true)
  {
    m_globalFullDocked = false;
    
    // close it
    CloseDockedKGHelpControl('HelpFrame', null, true);
  }
}

function SwitchToFullView(_sessionSkip, _expandMap)
{
//debugger;
	// clear session property if not in callback
	if(_sessionSkip != 'skip')
	{
		SetSessionProperty('SplitView', "false");
		WM_killCookie('SplitView');
		// check global to know whether to show map or docs
		if (globalRetToMapView == "true")
			SetMapPaneStatus("map");
		else
			DoCollapseMapViewPane();
	}
	/*if (_expandMap && _expandMap.toLowerCase() == "true")
	  setTimeout('DoExpandMapViewPane("fully")',10);*/
	if(globalCatClick == true)
	{
		// make sure cat control loads full index docs after edit mode
		setTimeout('DoCollapseMapViewPane()',10);
		globalCatClick = false;
	}

	// hide the splitter bar & arrows...
	if(_expandMap != null)
	{
		if(_expandMap.toLowerCase() == "true")
		{
			// hide splitter bar
			var splitterBottomPane = Splitter1.Panes[0];
			if(splitterBottomPane.Height > 0)
			{
				// splitter has been opened before this call... so dont hide arrows
			}
			else
			{
				var splitterPaneMap = Splitter1.Panes[0];
				var splitterBar = splitterPaneMap.element.parentNode.nextSibling;
				splitterBar.className = 'HiddenSplitterBar';
				var splitterArrowDown = document.getElementById('SplitterArrowDown');
				splitterArrowDown.className = 'HiddenArrowDown'; //arrowDown
				var splitterArrowUp = document.getElementById('SplitterArrowUp');
				splitterArrowUp.className = 'HiddenArrowUp'; //arrowUp
			}
		}
	}
	// update global variable for splitter handler js
	//globalSplitterSetting = "single";
	if(window.Active_KGID)
		if(Active_KGID != "")
	    updateHandlersAfterSwitch('single');
}

var m_hiddenMyHkBtnID;
function KGButtonToolbar_hideOrShowMapButtons_Wrapped(_show, _addToMyHKBtnID, _removeFromMyHKBtnID, _resetMapViewBtnID, _knowdePermBtnID, _pdfExporterBtnID, _printMapBtnID, _wordExporterBtnID)
{
  // this function hides or shows buttons relating to the map
  // probably because the splitter hid/showed the map, maybe without causing a callback
  // so if you add a button to the 'hide' code here, you probably need to add it to the 'show' part here as well
  //    e.g. close the splitter to hide the map, reopen it - there's no callback, all the buttons that got hidden need to come back
  var knowdePermBtn = document.getElementById(_knowdePermBtnID);
  var resetMapViewBtn = document.getElementById(_resetMapViewBtnID);
  var pdfExporterBtn = document.getElementById(_pdfExporterBtnID);
  var printMapBtn = document.getElementById(_printMapBtnID);
  var wordExporterBtn = document.getElementById(_wordExporterBtnID);
  var editBtn = KGButtonToolbar_getEditingButton();
 
  if (_show)
  {
    if (!Active_KGID)
      return;
      
    if (editBtn != null && editBtn.isOkToShow) 
    {
      editBtn.style.display = "inline";
    }
    
    if (!m_bEditable)
    { // these buttons are only visible in non-edit mode
      if (m_hiddenMyHkBtnID)
      {
        //show either the add to / remove from my hk button
        var myHkBtn = document.getElementById(m_hiddenMyHkBtnID);
        myHkBtn.style.display = 'inline';
        m_hiddenMyHkBtnID = null; // don't want to reuse it
      }
    }    
    resetMapViewBtn.style.display = 'inline';
    pdfExporterBtn.style.display = 'inline';
    printMapBtn.style.display = 'inline';
    if (wordExporterBtn)
      wordExporterBtn.style.display = 'inline';
    //we will only be here if we've already loaded the map, and we're reopening the splitter
    //  so it should be ok to just show the ones we had before
    //if the map gets reloaded, then a callback will be triggered in loading the map, 
    //  so the buttons will get refreshed there instead
  }
  else // hide
  {
    if (editBtn != null) 
    {
      editBtn.style.display = "none";
    }
    
    var addToMyHKBtn = document.getElementById(_addToMyHKBtnID);
    var removeFromMyHKBtn = document.getElementById(_removeFromMyHKBtnID);
    if (addToMyHKBtn.style.display != 'none')
    {
      m_hiddenMyHkBtnID = _addToMyHKBtnID;
      addToMyHKBtn.style.display = 'none';
    }
    else if (removeFromMyHKBtn.style.display != 'none')
    {
      m_hiddenMyHkBtnID = _removeFromMyHKBtnID;
      removeFromMyHKBtn.style.display = 'none';
    }
    
    if(knowdePermBtn != null)
			knowdePermBtn.style.display = 'none';
    resetMapViewBtn.style.display = 'none';
    pdfExporterBtn.style.display = 'none';
    printMapBtn.style.display = 'none';
    if (wordExporterBtn)
      wordExporterBtn.style.display = 'none';
  }
  
  KGButtonToolbar_hideOrShowButtonDivider(); // needs to be at the end
}

function KGButtonToolbar_hideOrShowStandardToolbar_Wrapped(_show, _toolbarID)
{
  var toolbar = document.getElementById(_toolbarID);
  if (_show)
  {
    toolbar.style.display = '';
  }
  else // hide
  {
    toolbar.style.display = 'none';
  }
}

function updateHandlersAfterSwitch(_switch, _kgid)
{
	/*try
	{
	  var kgid;
	  if (_kgid)
	    kgid = _kgid;
	  else if (window.Active_KGID)
	    kgid = Active_KGID;
	  else
	    return;
	    
		var Handler = document.getElementById(kgid);
		var kgNameHandler = document.getElementById('KGName_' + kgid);
		if(_switch == 'split')
		{
			Handler.href = Handler.href.replace("function temp(){ SwitchPaneView('map');return;","");
			Handler.href = Handler.href.replace("function%20temp(){%20SwitchPaneView('map');return;","");
			Handler.href = Handler.href.replace("} temp();","");
			Handler.href = Handler.href.replace("}%20temp();","");
			Handler.href = Handler.href.replace(', false, true)',', false, false)');
			Handler.href = Handler.href.replace(',%20false,%20true)',', false, false)');
			Handler.href = Handler.href.replace('KGTabbedWindowsControl_MyHK_KGSelected', 'ShowTextView');
			Handler.href = Handler.href.replace('KGTabbedWindowsControl_KGSelected', 'ShowTextView');
			if (kgNameHandler && kgNameHandler.href) // KGExecuteMapControl - kgNameHandler has onclick not href
			  kgNameHandler.href = Handler.href;
			Handler.className = "doc_UrlSelected";
			Handler.innerHTML = 'Now showing the Knowledge Gene<sup>&#174;</sup>, click here to view the document';
		}
		else
		{
			Handler.href = Handler.href.replace("function temp(){ SwitchPaneView('map');return;","");
			Handler.href = Handler.href.replace("function%20temp(){%20SwitchPaneView('map');return;","");
			Handler.href = Handler.href.replace("} temp();","");
			Handler.href = Handler.href.replace("}%20temp();","");
			Handler.href = Handler.href.replace(', false, true)',', false, false)');
			Handler.href = Handler.href.replace(',%20false,%20true)',', false, false)');
			Handler.href = Handler.href.replace('ShowTextView','KGTabbedWindowsControl_MyHK_KGSelected');
			if (kgNameHandler && kgNameHandler.href) // KGExecuteMapControl - kgNameHandler has onclick not href
			  kgNameHandler.href = Handler.href;
			Handler.className = "doc_UrlSelected";
			Handler.innerHTML = 'Click here to view the Knowledge Gene<sup>&#174;</sup>';
		}
	}
	catch(Exception)
	{
	}*/
}

function SwitchPaneView(_showPane)
{
    // Start by making sure that start editing isn't visible.  If it's supposed to be, it will be shown later on.
    var editBtn = KGButtonToolbar_getEditingButton();
    if (editBtn != null) 
    {
      editBtn.style.display = "none";
    }
    
	if(_showPane == 'map')
	{
//		DoExpandMapViewPane('fully');
	}
	else
	{
		DoCollapseMapViewPane();
	}
}

function KGButtonToolbar_hideOrShowButtonDivider_Wrapped(_btnDividerId)
{
  // if any of the buttons after the divider are visible, show the divider, otherwise hide it
  // assuming there's always a button before the divider - either split view or single view is always shown
  // call this after updating the other buttons
  var btnDivider = document.getElementById(_btnDividerId);
  var sib = btnDivider.nextSibling;
  
  //while (sib)
  do
  {
    if (sib.nodeType != 3 && sib.style.display != 'none' && sib.style.display != '' && sib.className != 'ButtonToolbar_Hidden')
    {
      btnDivider.style.display = 'inline';
      return;
    }
    //sib = sib.nextSibling;
  }while(sib = sib.nextSibling)
  
  btnDivider.style.display = 'none';
}

function ButtonToolbar_handlePdfExporterBtn_onmouseout()
{
  PDFExporterControl_HideMenuTimer = setTimeout("PDFExporterControl_HideMenu()", PDFExporterControl_HideMenuTimerLength);
}

function ButtonToolbar_handlePrintMapBtn_onmouseout()
{
  PDFExporterControl_HideMenuTimer = setTimeout("PDFExporterControl_HideMenu()", PDFExporterControl_HideMenuTimerLength);
}

function KGButtonToolbar_CategoryHomePage()
{
  // hide the standardToolbar
  KGButtonToolbar_hideOrShowStandardToolbar(false);
  // show the ViewHKMaps button
  KGButtonToolbar_hideOrShowViewHKMapsButton(true);
}

function KGButtonToolbar_ViewHyperknowledgeMaps()
{
  // hide the ViewHKMaps button
  KGButtonToolbar_hideOrShowViewHKMapsButton(false);
  // show the standardToolbar
  KGButtonToolbar_hideOrShowStandardToolbar(true);
  // load the indexed docs tab
  //KGTabbedWindowsControl_CallbackTrigger('TabSelected, Indexed Documents');
}

function KGButtonToolbar_switchConnTypeButton_Wrapped(_btnId, _arithType)
{
  var btn = document.getElementById(_btnId);
  if (_arithType)
  {
    btn.className = "ButtonToolbar_ConnTypeLogic";
  }
  else
  {
    btn.className = "ButtonToolbar_ConnTypeArith";
  }
}
