function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (var i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
function subMenuControl(id,dir) {
	var e = document.getElementById('submenu-'+id);
	if(e) {
		if(dir) {
			clearTimeout(e.tid);
			e.style.display = 'block';
		} else {
			e.style.display = 'none';
		}
	}
}
function subjMenuControl(id) {
	var e = document.getElementById('subj_mnu_'+id);
	if(e) {
		e.style.display = e.style.display=='block' ? 'none' : 'block';
	}
}
function subMenuInit() {
	var items = getElementsByClass('submenu-control',document,'A');
	for(i in items) {
		var id = items[i].id.replace('submenu-id-','');
		items[i].onmouseover = function() { subMenuControl(id,1); }
		items[i].onmouseout = function() { document.getElementById('submenu-'+id).tid = setTimeout( function() { subMenuControl(id,0); }, 200 ); }
		var e = document.getElementById('submenu-'+id);
		if(e) {
			e.onmouseover = function() { subMenuControl(id,1); }
			e.onmouseout = function() { document.getElementById('submenu-'+id).tid = setTimeout( function() { subMenuControl(id,0); }, 200 ); }
		}
	}
}
function subjMenuInit() {
	var s = document.getElementById('subjects');
	var mi = s.getElementsByTagName('A');
	for(i in mi) {
		var id = mi[i].id ? mi[i].id.split('_') : '';
		if(id[2] && document.getElementById('subj_mnu_'+id[2])) {
			eval('mi[i].onclick = function(){subjMenuControl('+id[2]+');return false;};');
			mi[i].parentNode.className += ' sub_exists';
		}
	}
}

function allInit() {
	subMenuInit();
	subjMenuInit();
}
window.onload = allInit;
