﻿var tabContainer = function() {
    // private
    var tab_visible_div = '';
    var currentTab = '';

    var linkIdPrefix = "tab_tab_";

    function _showLayer(linkId) {
        var link = document.getElementById(linkId);
        setSelected(link);
        var div_id = linkId.substr(linkId.indexOf('_') + 1);
        showTab(div_id);
    }
    
    function clearStyles(link) {
      //Move up to the tr, then get the first child and reset the class
      var tr = link.parentNode.parentNode.parentNode;
      var td = tr.firstChild;
      while (td) {
        td.className = '';
        td = td.nextSibling;
      }
    }

    function setSelected(link) {
      clearStyles(link);
      link.parentNode.parentNode.className = 'selected';
    }

    function showTab(divname) {
      //hide the currently visible div
      var visible_div = document.getElementById(tab_visible_div);
      if (visible_div) {
        visible_div.style.display = 'none';
		    }
      //show the selected div
      var show_div = document.getElementById(divname);
      if (show_div) {
        show_div.style.display = 'block';
		    }
    			
      tab_visible_div = divname;
    }
    
    function showFirstLayer() {
        var tabContainer = document.getElementById('tab_container');
        if(tabContainer) {
            var firstLi = tabContainer.getElementsByTagName("li")[0];
            _showLayer(firstLi.firstChild.firstChild.id);
        }
    }

    return {
      init : function() {
        var url = new String(window.location);
        var tabIndex = url.indexOf("#_tab_");

        if (tabIndex > -1) {
          var tabName = url.substr(tabIndex + 6);
          this.showLayer(linkIdPrefix + tabName);
        } else {
          showFirstLayer();  
        }
      },
      showLayer : function(linkId) {
        _showLayer(linkId);  
      }
    }
}();


