/*
* Distill
* a extremely fast event handling solution
* version: 1.0
* written by:
* Gabor de Mooij
* Robert Cabri
*/


$.distill = function(evType,obj)
{
	
	var dispatcher = function(ev,et,handler)
	{
			try{
				var classes = [];
				var clsStr = $(ev.target || ev.srcElement).attr("class");
				if (clsStr.indexOf(" ")>-1) {
					classes = clsStr.split(" ")
				} else {
					classes = [clsStr];
				}
				
				for (var j in classes)
				{
					var hname = classes[j].replace(/com_/,'');
					
					if (handler[hname])
					{
						if (handler[hname][et])
						{
							handler[hname][et](ev,et);
						}
					}
				}
			}catch(e){}
	}
	
	var evTypes;
	
	if (evType.indexOf(",") > -1)
	{
		evTypes = evType.split(",");
	}
	else
	{
		evTypes = [evType];
	}
		
	for(var j in evTypes)
	{
		
		$("body")[evTypes[j]]((function(evt){
			return function(e){
				dispatcher(e,evt,obj);
			}
		})(evTypes[j]));	
	}
}