<html><head>
<script type="text/javascript">
function cE (v) {
 return document.createElement(v)
}
function cTN (v) {
  return document.createTextNode(v)
}

function OSXBarIcon(elt) {
	this.element = elt; 
	this.labelNode = this.element.firstChild;
	this.labelNodeParent = this.element;
	this.labelNodeParent.removeChild(this.labelNode);
	
	this.contents = [];
	var kids = this.element.childNodes;
	for(var i=0; i<kids.length; i++) this.contents[this.contents.length] = this.element.removeChild(kids[i]); 
	this.popupSubmenu = new OSXBarSubmenu(this);
}

function OSXBarSubmenu(icon) {
	this.parentIcon = icon;
	this.create();
	this.addContent();
}
OSXBarSubmenu.prototype = {
	create : function() {
		var p = this.popupNode = document.createElement("div");
		var b = document.getElementsByTagName("body").item(0);
		if(b) b.appendChild(p);
		this.popupNode.style.display = "none";
                // Uncomment next line to fix the problem
//                var v = document.body.offsetWidth;
	}
};
OSXBarSubmenu.prototype.addContent = function() {

	// add popup label:
	var label = document.createElement("div");
		label.appendChild(document.createTextNode(this.parentIcon.label));
	this.popupNode.appendChild(label);
	
	// add <li> children to the popup:	
	var contents = this.parentIcon.contents;
	for(var i=0; i<contents.length; i++) {
		this.popupNode.appendChild(contents[i]);
		
	}
};

</script>

<script type="text/javascript">
function createControlPanel() {
	var bar = document.getElementById("navigation");
	var item = cE("li");
        item.appendChild(cTN("aaa"));
        var textfield = cE("input");
        textfield.value = 0;
        item.appendChild(textfield);
	bar.insertBefore(item, bar.firstChild);
}

window.addEventListener("load", createControlPanel);
</script>

<script type="text/javascript">
function ssload() {
  new OSXBarIcon(document.getElementById("navigation").childNodes[0]);
}
window.addEventListener("load",ssload);


</script>
</head>

<body>
<ul id="navigation"></ul>
</body></html>


