function tabs() {
	this.getActiveTab=getActiveTab;
	this.setActiveTab=setActiveTab;
    this.getFirstNotEmpty=getFirstNotEmpty;
    this.setFirstNotEmpty=setFirstNotEmpty;
    this.setTabContent=setTabContent;
    this.getTabContent=getTabContent;
}

function getActiveTab(tabarea) {
	return eval("this." + tabarea);
}

function setActiveTab(tabarea, tabname) {
	eval("this." + tabarea + "='" + tabname + "'");
}

function setFirstNotEmpty(tabarea, tabname) {
    eval("this." + tabarea + "FirstNotEmpty='" + tabname + "'");
}

function getFirstNotEmpty(tabarea) {
    return eval("this." + tabarea + "FirstNotEmpty");
}

function setTabContent(tabarea, tabname, content) {
    eval("this." + tabarea + "Content" + tabname + "=\"" + escape(content) + "\"");
}

function getTabContent(tabarea, tabname) {
    return unescape(eval("this." + tabarea + "Content" + tabname));
}

var tabs = new tabs();

function activate_tab(tabarea, tabname) {
    activate_tab_base(tabarea, tabname, 'non-drp');
}

function activate_tab_base(tabarea, tabname, mode) {
	var active_tab = tabs.getActiveTab(tabarea);
	if(tabname != active_tab) {
		var aTab;
		var bTab;
					
		aTab = document.getElementById("tab_" + tabarea + "_" + tabname);
        if(mode == 'non-drp') {
		    //aTab.style.display = 'block';
		    //if(aTab.style.display == 'none') {
		   // 	aTab.style.display = 'block';
		    //} else if(aTab.style.visibility == 'hidden') {
		       aTab.className = aTab.className + ' tab_content_selected';
		    //}
		} else {
            aTab.innerHTML = tabs.getTabContent(tabarea, tabname);
        }
        aTabLink = document.getElementById("tab_" + tabarea + "_" + tabname + "_li");
		aTabLink.className = 'tab_current';
					
		bTab = document.getElementById("tab_" + tabarea + "_" + active_tab);
        if(bTab) {
		    if(mode == 'non-drp') {
                //bTab.style.display = 'none';
	    		bTab.className = bTab.className.replace(' tab_content_selected','');
		    } else {
                bTab.innerHTML = '';
            }
        }

        bTabLink = document.getElementById("tab_" + tabarea + "_" + active_tab + "_li");
		if(bTabLink) {
            bTabLink.className = '';
        }
		tabs.setActiveTab(tabarea, tabname);			
	}
    
}

function empty_tab(tabarea, tabname) {
	var tab = document.getElementById("tab_" + tabarea + "_" + tabname);
	if(tab) {
	  return tab.innerHTML.match(/^\s*$/);
	} else {
	  return false;
	}
}


function hide_tab(tabarea, tabname) {
	var tab_div = document.getElementById("tab_" + tabarea + "_" + tabname);
	//tab_div.style.display = 'none';
	tab_div.className = 'tab_hidden';
	tab_li = document.getElementById("tab_" + tabarea + "_" + tabname + "_li");
	//tab_li.style.display = 'none';
	if(tab_li) {
	  tab_li.className = 'tab_hidden';
	}
}

//drp specific functions

function activate_tab_drp(tabarea, tabname) {
    activate_tab_base(tabarea, tabname, 'drp');
}

function empty_tab_drp(tabarea, tabname) {
    return !tabs.getTabContent(tabarea, tabname) || tabs.getTabContent(tabarea, tabname).match(/^\s*$/);
}
