/*
 * collapser.js
 * @author kaikoga
 */

var ss_idsByKey = {};

function ss_register_collapse(id, keys) {
	var keyarray = keys.split("+");
	var c = keyarray.length;
	for (var i = 0; i < c; i++) {
		var key = keyarray[i];
		var a = ss_idsByKey[key];
		if (!a) {
			a = [];
			ss_idsByKey[key] = a;
		}
		a.push(id);
	}
}

var ss_keys;

var ss_timeoutId;

function ss_collapse(keys) {
	if (ss_timeoutId != null) {
		clearTimeout(ss_timeoutId);
	}
	if (ss_keys != "") {
		ss_keys = keys;
	}
	ss_timeoutId = setTimeout(ss_docollapse, 10);
}

function ss_nocollapse() {
	ss_collapse("");
}

function ss_docollapse() {
	var idarray = ss_idsByKey[ss_keys];
	if (!idarray) {
		return;
	}
	var newclass = "collapsed";
	var c = idarray.length;
	for (var i = 0; i < c; i++) {
		var elm = document.getElementById(idarray[i]);
		if (elm.className == "collapsed") {
			newclass = "text";
		}
	}
	for (var i = 0; i < c; i++) {
		var elm = document.getElementById(idarray[i]);
		elm.className = newclass;
	}
	ss_keys = null;
}
