diff --git a/etemplate/js/etemplate.js b/etemplate/js/etemplate.js
index fb5a1c43e2..f3e8ec4c72 100644
--- a/etemplate/js/etemplate.js
+++ b/etemplate/js/etemplate.js
@@ -298,3 +298,205 @@ function add_upload(upload)
newUpload.id += parent.childNodes.length;
parent.insertBefore(upload,newUpload);
}
+
+function dropdown_menu_hack(el)
+{
+ if(el.runtimeStyle)
+ {
+ if(el.runtimeStyle.behavior.toLowerCase()=="none"){return;}
+ el.runtimeStyle.behavior="none";
+
+ var ie5 = (document.namespaces==null);
+ el.ondblclick = function(e)
+ {
+ window.event.returnValue=false;
+ return false;
+ }
+
+ if(window.createPopup==null)
+ {
+ var fid = "dropdown_menu_hack_" + Date.parse(new Date());
+
+ window.createPopup = function()
+ {
+ if(window.createPopup.frameWindow==null)
+ {
+ el.insertAdjacentHTML("MyFrame","");
+ var f = document.frames[fid];
+ f.document.open();
+ f.document.write("
");
+ f.document.close();
+ f.fid = fid;
+
+
+ var fwin = document.getElementById(fid);
+ fwin.style.cssText="position:absolute;top:0;left:0;display:none;z-index:99999;";
+
+
+ f.show = function(px,py,pw,ph,baseElement)
+ {
+ py = py + baseElement.getBoundingClientRect().top + Math.max( document.body.scrollTop, document.documentElement.scrollTop) ;
+ px = px + baseElement.getBoundingClientRect().left + Math.max( document.body.scrollLeft, document.documentElement.scrollLeft) ;
+ fwin.style.width = pw + "px";
+ fwin.style.height = ph + "px";
+ fwin.style.posLeft =px ;
+ fwin.style.posTop = py ;
+ fwin.style.display="block";
+ }
+
+
+ f_hide = function(e)
+ {
+ if(window.event && window.event.srcElement && window.event.srcElement.tagName && window.event.srcElement.tagName.toLowerCase()=="select"){return true;}
+ fwin.style.display="none";
+ }
+ f.hide = f_hide;
+ document.attachEvent("onclick",f_hide);
+ document.attachEvent("onkeydown",f_hide);
+
+ }
+ return f;
+ }
+ }
+
+ function showMenu()
+ {
+
+ function selectMenu(obj)
+ {
+ var o = document.createElement("option");
+ o.value = obj.value;
+ //alert("val"+o.value)
+ o.innerHTML = obj.innerHTML;
+ while(el.options.length>0){el.options[0].removeNode(true);}
+ el.appendChild(o);
+ el.title = o.innerHTML;
+ el.contentIndex = obj.selectedIndex ;
+ el.menu.hide();
+ if(el.onchange)
+ {
+ el.onchange();
+ }
+ }
+
+
+ el.menu.show(0 , el.offsetHeight , 10, 10, el);
+ var mb = el.menu.document.body;
+
+ mb.style.cssText ="border:solid 1px black;margin:0;padding:0;overflow-y:auto;overflow-x:auto;background:white;font:12px Tahoma, sans-serif;";
+ var t = el.contentHTML;
+ //alert("1"+t);
+ t = t.replace(/