    function tabbedContent(baseID)
    {
        var tabbedContent = this;
        tabbedContent.baseID = baseID;
        tabbedContent.tabCount = 0;
        tabbedContent.tabs = new Object();
        tabbedContent.panelCount = 0;
        tabbedContent.panels = new Object();
        tabbedContent.panelClass = new Object();
        tabbedContent.initialise();
        tabbedContent.selectedTab = 0; 
    }
    
    tabbedContent.prototype =
    {
        initialise: function()
        {
            var tabbedContent = this, div, a, inpSelected = document.getElementById(tabbedContent.baseID + "_SelectedTab");
            var tab = 1;
            
            if (inpSelected && inpSelected.value != "")
                tab = inpSelected.value;
            
            var i = 0;
            while (div = document.getElementById(tabbedContent.baseID + "_Tab" + (i + 1)))
            {
                
                tabbedContent.tabs[tabbedContent.tabCount] = div;
                tabbedContent.tabCount++;
                
                if (i == (tab - 1)) div.parentNode.className = "TabIn";
                else div.parentNode.className = "Tab";
                
                if (div.childNodes.length > 0)
                {
                    a = div.childNodes[0];
                    a.href = "javascript:tabbedcontentmanager.showTab(\"" + tabbedContent.baseID + "\", " + i + ");";  
                }
                
                div = document.getElementById(tabbedContent.baseID + "_Content" + (i + 1));
                if (div)
                {               
                    tabbedContent.panels[tabbedContent.panelCount] = div;
                    tabbedContent.panelClass[tabbedContent.panelCount] = div.parentNode.className;
                    tabbedContent.panelCount++;
                    if (i != (tab - 1))
                        div.parentNode.style.display = "none";
                }
                i++;
            }
			document.getElementById(tabbedContent.baseID + "_Tab" + i).parentNode.className = "TabEnd";
			
        },
        
        showTab: function(tabNo)
        {
            var tabbedContent = this, inpSelected = document.getElementById(tabbedContent.baseID + "_SelectedTab");
            for (var i = 0; i < tabbedContent.tabCount; i++)
            {
				/*alert('i: ' + i);
				alert('tabNo: ' + tabNo);
				alert('tabbedContent.tabCount-1: ' + (tabbedContent.tabCount-1));*/
                if (i == tabNo){
                    
					if (i == (tabbedContent.tabCount-1) )
					{
						tabbedContent.tabs[i].parentNode.className = "TabInEnd";
					}else{
						tabbedContent.tabs[i].parentNode.className = "TabIn";
					}
						
				}
                else{
					if (i == (tabbedContent.tabCount-1) )
					{
					tabbedContent.tabs[i].parentNode.className = "TabEnd";
					}else{
                    tabbedContent.tabs[i].parentNode.className = "Tab";
					}
				}
            }
            for (var i = 0; i < tabbedContent.panelCount; i++)
            {
                if (i == tabNo)
                    tabbedContent.panels[i].parentNode.style.display = "";
                else
                    tabbedContent.panels[i].parentNode.style.display = "none";
            }
            
            if (inpSelected) inpSelected.value = tabNo + 1;
            tabbedContent.selectedTab = tabNo;
        }
    };
    
    function tabbedContentManager()
    {
        var tabbedContentManager = this;
        tabbedContentManager.tabbedContentCount = 0;
        tabbedContentManager.tabbedContent = new Object();
    }
    
    tabbedContentManager.prototype =
    {
        create: function(baseID)
        {
            var tabbedContentManager = this, tc = new tabbedContent(baseID);
            tabbedContentManager.tabbedContent[tabbedContentManager.tabbedContentCount] = tc;
            tabbedContentManager.tabbedContentCount++;
            return tc;
        },
        
        getByBaseID: function(baseID)
        {
            var tabbedContentManager = this;
            for (var i = 0; i < tabbedContentManager.tabbedContentCount; i++)
            {
                if (tabbedContentManager.tabbedContent[i].baseID == baseID)
                    return tabbedContentManager.tabbedContent[i];
            }
        },
        
        showTab: function(baseID, tabNo)
        {
       
            var tabbedContentManager = this, tc = tabbedContentManager.getByBaseID(baseID);
            if (tc) tc.showTab(tabNo);
        }
    };
    
    var tabbedcontentmanager = new tabbedContentManager();