function getImage(type)
{
	var ret = '';
	var img = {
		"object":"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAB7UExURf////bu2OPu+P3s/XCBl1yb2OGqFYwujYFjDQE0mZ55D9Jm05nN/9tx3Pqt+vPWbX206fLLUeLe98iYGPqY+/HLUfXhhe/ANe61HvXghUR0ye++MO21HvHLUDZktfTWbNht2fThhvDANe21HbI9s/XhhvDANu62HfTXbGClrDAAAAABdFJOUwBA5thmAAAAh0lEQVR42lzO2RKCMAxA0aRJC9QFQRZ3VHD5/y80bUGpeejMuTOZFEAGDcJ80DRbjHzral9o9D4v2lOKQAvyfuTFs/deu2Kad33fBVerhADtuT2mzHwNlh37sggMNAS7IhdYbiTldBd8gFKr32ckKL08qFkQb3T2LcyxZdQltpQ/S3HPR4ABAG/qBVd9PPFxAAAAAElFTkSuQmCC",
		"method":"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACNUExURf///9tx3PqY+6M/pPfwq9Jm04wujdXVrKlGqqA9oZs5nKy1ray0ruqL69pv26I/o/Tb9NNo1JikrsHErNhu2fqm++zc7Pqt+unlq4qZruXQ5fqx+uXiq+uQ7NVt1pk3mv7s/v3g/v7j/v7l/szOrP7u/txy2P3U/fez+LW7rZynrvex+O7G79y+yPao9qaVMr8AAAABdFJOUwBA5thmAAAAdElEQVR42mJgwANUGRVR+AqM4oxKyAKM0qJMjMoQNgs7jySDnCwTExMHkgpWRl4mZmawvAS7MLcQgyCfGjMzJ1xenVGPVYSZiw1qhowu0AptVn42MRQrNOSlSLKCEdkKBgYdFCtUNLUYBJCtAAMBiBUAAQYAD94Gm1IqpsMAAAAASUVORK5CYII=",
		"property":"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAF3UExURf///6KvxP/9+0dPVX6d3//rb/b////taaykj05QVXFiTMHI0nFiS0xQU8HI0ejw/Pbbavnhc4BuXPnjgPbhg8LJ001QU+np4nR2fdy9Ve3HTN7p+vTXaEKeM+/0+1E+QkxPUvz+/vL2/ZWEVGZXUNLi+JadpM3Iv9Xq/4FyXa6YWfq6I9apL+q7Muz5/05SV9DIwsiZHuyoElJnQbiso2hhU6ytsHNdQs7KwrnJ5aTF/9Di//LPVy8iA6CWgfrrsFSsQrWmgd7BYomSp5y4mUxMT9+yM/n7/6OXgf/QIPric01RVMS4leXk38STFipnHeLNe9bl/wsIEePt/4yQUYtzUjQoFuHw/1A7MYXMhae+pFx5WsjP2fPSWaq62mFdXu3DQY5jFfz+//j7/tzp/0CXKvj6/RwRDJOFdNLq/8ve/abBrpmPe8DH0ebu+4FsWP3+/u3r5zOMGdPZ493Z1Imcav7///fda1pOWKaiYLfK8YR2X+XThhmAKpMAAAABdFJOUwBA5thmAAAAy0lEQVR42mJgwAZMfEocPexyMjTVXbLBAgb2QqysrF4ykqGlkWCBwnx2LVbBchsp7UoHBhYWljgOYWX2CIHYBF2jEFkGFitLDhGuAFN2eTdDv0TjVAaWKo4aLmcepwrPsCBblegiBj4G8WpfBgsenfR4NQaGKH+gABMTA4OimXlxMDPYhlyQQEGyEj9/CkRAlIGRsYwRBAIhAtxAFUlpcnnSqtYwAUZGd7CKLIhADFAFGxubXrhGJkRAwpWTk1Pfm1eMV4EZq88BAgwAFcQfGtde6HwAAAAASUVORK5CYII="
	}
	switch(type)
	{
		case "object":
			ret = "<img src=\"data:image/png;base64," + img.object + "\" />";
		break;
		case "function":
			ret = "<img src=\"data:image/png;base64," + img.method + "\" />";
		break;
		
		case "string":
		case "boolean":
		case "number":
			ret = "<img src=\"data:image/png;base64," + img.property + "\" />";
		break;
	}
	return ret;
}
function reflector(obj,limit,level)
{
	if(obj) return '<ul style="list-style-type: none">'+reflect(obj,limit,level)+'</ul>';
	else return 'Object is empty';
}
function reflect(obj,limit,level)
{
	if(!level) level = 1;
	if(!limit) limit = 10;
	
	var ret = "";
	for(var item in obj)
	{
		var type = typeof obj[item];
		var image = getImage(type);
		console.log(item + " ("+type+")");

		if( type == 'object' )
		{
			
			if(level <= limit) {
				
				ret += "<li>" + image + "<b>" +item + "</b>";
				ret += "<ul>";
				var lvl = ++level;
				ret += reflect(obj[item],limit,lvl);
				//ret += "XZ";
				ret += "</ul>";
				ret += "</li>";
			} else {
				ret += "<li>" + +image + "<b>" +item + "</b>"+"</li>";
			}
			
		}
		else {
			if( type == 'function' ) {
				ret += "<li>" + image + " " +item+"()</li>";
			} else {
				ret += "<li>" + image + " " +item+" <small><i>("+type+")</i></small></li>";
			}
		}
		 
	}
	return ret;
}
