function addClass(e,c) {
	if(!e.className)
		e.className=c;
	else
		if(!hasClass(e,c))
			e.className+=' '+c;
}

function delClass(e,c) {
	if(e.className)
	{
		if(e.className.split(' ').length>1)
			e.className=e.className.replace(new RegExp(' '+c+'\\b'),'');
		else
			e.className=e.className.replace(new RegExp(c+'\\b'),'');
	}
}

function hasClass(e,c) {
	if(e.className)
	{
		cs = e.className.split(' ');
		for(var i=0;i<cs.length;i++)
			if(cs[i]==c) return true;
	}
	return false;
}

function getVagueClass(e,c) {
	if(e.className)
	{
		cs = e.className.split(' ');
		for(var i=0;i<cs.length;i++)
			if(cs[i].substring(0,c.length)==c) return cs[i].substring(c.length);
	}
	return false;
}


function toggleClass(e,c) {
	if(hasClass(e,c))
		delClass(e,c);
	else
		addClass(e,c);
}

function getElementsByTagNames(s,r) {
	if (!r) var r = document;
	
	var e = new Array();
	var a = s.split(' ');
	
	for(var i=0;i<a.length;i++)
	{
		var t = r.getElementsByTagName(a[i]);
		var n = t.length;
		
		for(var j=0;j<n;j++)
			e.push(t[j]);
	}
	
	return e;
}

function addEventSimple(o,e,f) {
	if (o.addEventListener)
		o.addEventListener(e,f,false);
	else if (o.attachEvent)
		o.attachEvent('on'+e,f);
}

function getTarget(e) {
	var f=e||window.event;
	return f.target||f.srcElement;
}