
function TabView(id, current){ 
    if(typeof(TabView.cnt) == "undefined"){ 
        TabView.init(); 
    } 
    current = (typeof(current) == "undefined") ? 0 : current; 
    this.newTab(id, current); 
} 
TabView.init = function(){ 
    TabView.cnt = 0; 
    TabView.arTabView = new Array(); 
} 
TabView.switchTab = function(TabViewIdx, TabIdx){ 
    TabView.arTabView[TabViewIdx].TabView.switchTab(TabIdx); 
}
TabView.prototype.newTab = function(id, current) {
    var  idx = 0, el = '', elTabs = '', elPages = '';
    var TabViewElem = document.getElementById(id);
   
    
    TabView.arTabView[TabView.cnt] = TabViewElem;
    this.TabElem = TabViewElem;
    this.TabElem.TabView = this;
    this.tabCnt = 0;
    this.arTab = new Array();
    // Loop throught the elements till the object with 
    // classname 'Tabs' is obtained 
    elTabs = TabViewElem.firstChild;
    while (elTabs.className != "Tabs") elTabs = elTabs.nextSibling;
    el = elTabs.firstChild;
    do {
        if (el.tagName == "DIV") {
            el2 = el.firstChild;
            do {
                if (el2.tagName == "A") {
                    el2.href = "javascript:TabView.switchTab(" + TabView.cnt + "," + idx + ");";
                    this.arTab[idx] = new Array(el, 0);
                    this.tabCnt = idx++;                    
                }
            } while (el2 = el2.nextSibling);
        }
    } while (el = el.nextSibling);

    // Loop throught the elements till the object with 
    // classname 'Pages' is obtained 
    elPages = TabViewElem.firstChild;
    while (elPages.className != "Pages") elPages = elPages.nextSibling;
    el = elPages.firstChild;
    idx = 0;
    do {
        if (el.className == "Page") {
            this.arTab[idx][1] = el;
            idx++;
        }
    } while (el = el.nextSibling);
    this.switchTab(current);
    // Update TabView Count 
    TabView.cnt++;
}
TabView.prototype.switchTab = function(TabIdx) {
    var Tab;
    if (this.TabIdx == TabIdx) return false;
    for (idx in this.arTab) {
        Tab = this.arTab[idx];
        if (idx == TabIdx) {
            Tab[0].className = "TabActive";
            Tab[1].style.display = "block";
            Tab[0].blur();
        } else {
            Tab[0].className = "TabInactive";
            Tab[1].style.display = "none";
        }
    }
    this.TabIdx = TabIdx;

} 
function init(){ 
    t1 = new TabView('TabView1'); 
    //t2 = new TabView('TabView2', 1); 
} 

