
var tabMenuPanePrefix = 'pane_';

//ie sucks!
function getSourceElement(event)
{ 
    if (document.all) { 
        return event.srcElement; 
    } 
    else { 
        return event.target; 
    }
}

function tabMenuGetRoot() {
  return document.getElementById('tab_menu');
}

function tabMenuGetElements() {
  var root = tabMenuGetRoot();
  if (root) {
    return root.getElementsByTagName('div');
  } else {
    return null;
  }
}

function tabMenuHighlightElement(elem) {
  var menuElements = tabMenuGetElements();

  for (var i = 0; i < menuElements.length; i++) {
    //menuElements[i].style.backgroundColor = '#ff0000';
    menuElements[i].className = "tab_menu_item";
    
  }
  //elem.style.backgroundColor = '#00FF00';
  elem.className = 'tab_menu_item_active';
}

function tabMenuHighlight(event) {
  tabMenuHighlightElement(getSourceElement(event));
}

function tabMenuShowPaneElement(elem) {
  var menuElements = tabMenuGetElements();
  var paneElement;
  var activePaneElement;
  
  for (var i = 0; i < menuElements.length; i++) {
    //menuElements[i].style.backgroundColor = '#FFFFFF;';
    paneElement = 
      document.getElementById(tabMenuPanePrefix + menuElements[i].id);
    if (paneElement) {
      paneElement.style.display = 'none';
    }
  }
  activePaneElement = 
    document.getElementById(tabMenuPanePrefix + elem.id);
    
  if (activePaneElement) {
    activePaneElement.style.display = '';
  }
}

function tabMenuShowPane(event) {

  tabMenuShowPaneElement(getSourceElement(event));

}

function tabMenuSetEventHandlers() {
  var menuElements = tabMenuGetElements();
  
  for (var i = 0; i < menuElements.length; i++) {
    //ie sucks
    if (document.all) {
      menuElements[i].attachEvent('onclick', tabMenuHighlight);
    } else {
      menuElements[i].onclick = tabMenuHighlight;
    }
  }
  
}

function init() {
 var menuElements = tabMenuGetElements();
 if (menuElements && menuElements.length > 0) {
   tabMenuHighlightElement( menuElements[0] );
   tabMenuShowPaneElement( menuElements[0] );
   tabMenuSetEventHandlers();
 }
}
