new function() {
	var hilited = false;
	var styleText = ".l-label{margin:0 0 3px -3px}.l-for-table{margin:3px 0 -1px 1px}.l-label span{font-size: 11px;font-weight: normal;font-family:\"Lucida Sans Unicode\";background-color:#99C;color:#fff;padding:0 3px;}.l-with-label{border:1px solid #99C;padding:0px 3px 3px 3px;margin: 1px}.l-generated{border: 1px solid #558}.l-for-generated span{background-color: #558}";
	var labels = [];
	var style = null;

	tilt.attachEvent(document, "keyup", function(node, e) {
		if (e.keyCode == 76 && (e.altKey || e.altLeft)) {
			if (!hilited) {
				hilited = true;
				var head = document.getElementsByTagName("head")[0];
				if (head) {
					if (document.createStyleSheet && document.createAttribute) {
						if (!style) {
							style = document.createStyleSheet();
						}
						style.cssText = styleText;
					}
					else {
						if (!style) {
							style = head.appendChild(document.createElement("style"));
						}
						style.innerHTML = styleText;
		
					}
				}
				foreach(map(document.getElementsByTagName("*"), function(node) {
					return node.className || node.id ? node : null;
				}), function(node) {
					if (node) {
						var label;
						if (node.tagName == "TABLE") {
							label = node.parentNode.insertBefore(document.createElement("div"), node);
							label.className = "l-label l-for-table";
						}
						else if (node.tagName == "TR") {
							// do nothing?
						}
						else if (node.tagName != "INPUT" && node.tagName != "A") {
							label = node.insertBefore(document.createElement("div"), node.firstChild);
							label.className = "l-label";
						}
						if (label) {
							labels.push({label: label, node: node});
							label.innerHTML = "<span class=\"l-text\">" + (node.tagName != "DIV" && node.tagName != "SPAN" ? node.tagName.toLowerCase() : "") + (node.id ? "#" + node.id : "") + (node.className ? " ." + node.className : "") + "</span>";
							if (node.className.indexOf("l-") >= 0) {
								label.className += " l-for-generated";
								node.className += " l-generated";
							}
							node.className += " l-with-label";
						}
					}
		
				});
			}
			else {
				if (style) {
					if (style.cssText) {
						style.cssText = "";
					}
					else {
						style.innerHTML = "";
					}
				}
				foreach(labels, function(item) {
					var label = item.label;
					var node = item.node;
					label.parentNode.removeChild(label);
					node.className = node.className.replace(" l-generated", "").replace(" l-with-label", "");
				});
				labels = [];
				hilited = false;
			}
		}
	});
};
