/**********************************************
/**********************************************/


var DB_button = {
	DB_groups: new Array(),
	DB_types: new Array(),
	
	addButton: function (id,gr,tp,openAction,closeAction,overActive,overAction,outAction) {
		e = document.getElementById(id);
		if (this.DB_groups[gr]==undefined) this.DB_groups[gr] = new Array();
		this.DB_groups[gr].push(e);
		e.className = this.DB_types[tp].baseClass;
		e.DB_tp = tp;
		e.DB_gr = gr;
		e.overActive = (overActive==undefined)? false: overActive;
		e.openAction = (openAction==undefined)? '': openAction;
		e.closeAction = (closeAction==undefined)? '': closeAction;
		e.overAction = (overAction==undefined)? '': overAction;
		e.outAction = (outAction==undefined)? '': outAction;
		e.onmouseover = function () {
			this.className = DB_button.DB_types[this.DB_tp].overClass;
			if (this.overActive) 
				this.onclick();
			eval(this.overAction);
			}
		e.onmouseout = function () {
			if (this.DB_active==undefined)
				this.className = DB_button.DB_types[this.DB_tp].baseClass;
			else 
				this.className = (this.DB_active)? DB_button.DB_types[this.DB_tp].activeClass : DB_button.DB_types[this.DB_tp].inactiveClass;
			eval(this.outAction);
			}
		e.onclick = function () {
			for (i in DB_button.DB_groups[this.DB_gr]) {
				theElement = DB_button.DB_groups[this.DB_gr][i];
				if (theElement.DB_tp!=undefined) {
					theElement.DB_active = false;
					theElement.className = DB_button.DB_types[theElement.DB_tp].inactiveClass; 
				}
				eval(theElement.closeAction);
				}
			this.DB_active = true;
			this.className = DB_button.DB_types[this.DB_tp].activeClass;
			eval(this.openAction);
			}
		},
		
	newType: function (tp,base,over,inactive,active) {
		inactive = (inactive==undefined)? base : inactive;
		active = (active==undefined)? over : active;
		this.DB_types[tp] = {baseClass: base,overClass: over,inactiveClass: inactive,activeClass: active};
		},
	
	resetGroup: function (gr) {
		for (i in DB_button.DB_groups[gr]) {
			if (DB_button.DB_groups[gr][i].DB_tp!=undefined&&DB_button.DB_types[DB_button.DB_groups[gr][i].DB_tp].baseClass!=undefined) {
				DB_button.DB_groups[gr][i].DB_active=undefined;
				DB_button.DB_groups[gr][i].className = DB_button.DB_types[DB_button.DB_groups[gr][i].DB_tp].baseClass;
				}
			}
		}
	}



