rem: if (!obj) return false; var type = false; if (obj instanceof Function) type = 'function'; else if (obj.nodeName){ if (obj.nodeType == 3 && !/\S/.test(obj.nodeValue)) type = 'textnode'; else if (obj.nodeType == 1) type = 'element'; 
add: if (obj === null || obj === undefined) return false; var type = typeof obj; if (type == 'object'){ if (obj.htmlElement) return 'element'; if (obj.push) return 'array'; if (obj.nodeName){ switch (obj.nodeType){ case 1: return 'element'; case 3: return obj.nodeValue.test(/\S/) ? 'textnode' : 'whitespace'; } } 
context: function $type(obj){	if (!obj) return false;	var type = false;	if (obj instanceof Function) type = 'function';	else if (obj.nodeName){		if (obj.nodeType == 3 && !/\S/.test(obj.nodeValue)) type = 'textnode';		else if (obj.nodeType == 1) type = 'element';	}	else if (obj instanceof Array) type = 'array';	else if (typeof obj == 'object') type = 'object';	else if (typeof obj == 'string') type = 'string';	else if (typeof obj == 'number' && isFinite(obj)) type = 'number';	return type;};
meta: 3891	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3891/03c9c00aa7fdb2f2d8571e7665048da8759cf30a/mootools-uncompressed.js/buggy/includes/js/mootools-uncompressed.js