function $id(id)
{
	return document.getElementById(id);
}
function $css(expression,parent)
{
	expression=expression||'';
	parent=parent||document;
	var results={
		contents:[],
		setall:function(attribute,value){
			for(var i in this.contents)
			{
				this.contents[i][attribute]=value;
			}
		}
	}
	var filter={tag:'',iegay:'',id:''},target='tag';
	for(var i=0,e=expression,l=expression.length;i<l;++i)
	{
		switch(e[i])
		{
			case '.':
				target='iegay';
				break;
			case '#':
				target='id';
				break;
			default:
				filter[target]+=e[i];
				break;
		}
	}
	if(filter.tag!='')
	{
		var temp=$tn(filter.tag),i=0;
		for(i in temp)
			if((filter.iegay=='' || temp[i].className==filter.iegay) && (filter.id=='' || temp[i].id==filter.id))
				results.contents.push(temp[i]);
	}
	else if(filter.iegay!='')
	{
		var temp=$cn(filter.iegay),i=0;
		for(i in temp)
			if(filter.id=='' || temp[i].id==filter.id)
				results.contents.push(temp[i]);
	}
	else if(filter.id!='')
		results.contents.push($d(filter.id));
	return results;
}

function $cn(t)
{
	if(typeof(document.getElementsByClassName)!='undefined')
		return document.getElementsByClassName(t);
	if(typeof(document.all)!='undefined')
	{
		var i=0,temp=document.all,result=[];
		for(i in temp)
			if(temp[i].className==t)
				result.push(temp[i]);
		return result;
	}
	return [];
}
function $tn(t)
{
	if(typeof(document.getElementsByTagName)!='undefined')
		return document.getElementsByTagName(t);
	if(typeof(document.all)!='undefined')
	{
		var i=0,temp=document.all,result=[];
		for(i in temp)
			if(temp[i].nodeName==t)
				result.push(temp[i]);
		return result;
	}
	return [];
}
