<!--

function tab_chooser(identifier) {
	
	this.identifier = identifier;
	this.default_div = false;
	this.visible_pane_num = false;
	this.tab_data = new Array();
	this.num_tabs = 0;
	
	this.hide_current = function() {
		// hide current div
		if (this.visible_pane_num !== false) {
			this.set_pane_visibility(this.visible_pane_num, false);
		}
		// if current pane is ajax then clear ajax content.
	}
	
	this.show_pane = function(pane_num) {
		if (pane_num != this.visible_pane_num) {
			// hide current div
			this.hide_current();
			this.set_pane_visibility(pane_num, true);
			// record visible div ID
			this.visible_pane_num = pane_num;
		}
	}
	
	this.set_pane_visibility = function(pane_num, visibility) {
		div_id = this.tab_data[pane_num][0]
		the_div = document.getElementById(div_id);
		// display requested div
		if (visibility == true) {
			css_display = 'block';
			active_operator = '-sel';
		} else {
			css_display = 'none';
			active_operator = '';
		}
		the_div.style.display = css_display;
		
		// set tab to appear active
		// this should probably be untaken by another method and executed as a callback
		// called on_show() / on_hide()
		tab_id = this.tab_data[pane_num][1]
		the_tab = document.getElementById(tab_id);
		img_url = this.image_url + "/" + this.image_basename + "_f" + active_operator + ".gif";
		the_tab.style.backgroundImage="url(" + img_url + ")";
		
		// correct tab endings
		if (pane_num == 0) {
			image_id = this.identifier + '_tab_l';
			the_img = document.getElementById(image_id);
			img_url = this.image_url + '/' + this.image_basename + '_l' + active_operator + '.gif';
			the_img.src = img_url;
		}
		
		if (pane_num == this.num_tabs-1) {
			image_id = this.identifier + '_tab_r';
			the_img = document.getElementById(image_id);
			img_url = this.image_url + '/' + this.image_basename + '_r' + active_operator + '.gif';
			the_img.src = img_url;
		}
		
		// record visible div ID
		this.visible_pane_num = pane_num;
	}
	
	this.add_pane = function(pane_num, div_id, tab_id, is_default) {
		if (is_default) {
			this.visible_pane_num = pane_num;
		}
		this.tab_data[pane_num] = new Array();
		this.tab_data[pane_num][0] = div_id;
		this.tab_data[pane_num][1] = tab_id;
		this.num_tabs++;
	}
	
	this.set_image_url = function(url) {
		this.image_url = url;
	}
	
	this.set_image_basename = function(basename) {
		this.image_basename = basename;
	}
	
}


//-->