--- webfm.js			2008-04-08 08:28:14.000000000 +0200
+++ webfm.js.contextmenu_opera	2008-04-18 14:55:12.000000000 +0200
@@ -168,10 +168,14 @@
  */
 Webfm.browserDetect = function() {
   this.isIE = false;
+  this.isOP = false;
   var b = navigator.userAgent.toLowerCase();
   if (b.indexOf("msie") >= 0) {
     this.isIE = true;
   }
+  if (b.indexOf("opera") >= 0) {
+    this.isOP = true;
+  }
 }
 
 /**
@@ -997,7 +1001,11 @@
     var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "mouseover", function() { dr.hover(dr.element, true); });
     var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "mouseout", function() { dr.hover(dr.element, false); });
   }
-  var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "contextmenu", function(e) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, dr);Webfm.stopEvent(e); });
+  if(Webfm.browser.isOP) {
+    var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "mouseup", function(e) { if( e && e.button == 0 && e.altKey == true ) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, dr);Webfm.stopEvent(e); }; });
+  } else {
+    var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "contextmenu", function(e) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, dr);Webfm.stopEvent(e); });
+  }
 
   parent.appendChild(elTr);
   this.c_dir ++;
@@ -1141,7 +1149,11 @@
     var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "mouseover", function() { fr.hover(fr.element, true); });
     var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "mouseout", function() { fr.hover(fr.element, false); });
   }
-  var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "contextmenu", function(e) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, fr);Webfm.stopEvent(e); });
+  if(Webfm.browser.isOP) {
+    var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "mouseup", function(e) { if( e && e.button == 0 && e.altKey == true ) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, fr);Webfm.stopEvent(e); }; });
+  } else {
+    var listener = Webfm.eventListenerAdd(eventListenerArr, this.element, "contextmenu", function(e) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, fr);Webfm.stopEvent(e); });
+  }
 
   parent.appendChild(elTr);
   this.c_fil++;
@@ -1534,7 +1546,11 @@
   } else {
     var listener = Webfm.eventListenerAdd(eventListenerArr, parent, "click", function(e) { Webfm.selectDir(tn.clickObj.title); Webfm.stopEvent(e); });
   }
-  var listener = Webfm.eventListenerAdd(eventListenerArr, parent, "contextmenu", function(e) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, tn);Webfm.stopEvent(e); });
+  if(Webfm.browser.isOP) {
+    var listener = Webfm.eventListenerAdd(eventListenerArr, parent, "mouseup", function(e) { if( e && e.button == 0 && e.altKey == true ) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, tn);Webfm.stopEvent(e); }; });
+  } else {
+    var listener = Webfm.eventListenerAdd(eventListenerArr, parent, "contextmenu", function(e) { if(Webfm.renameActive == false)Webfm.contextMenuObj.showContextMenu(e, tn);Webfm.stopEvent(e); });
+  }
 }
 
 Webfm.treeNode.prototype.select = function(event) {
@@ -3103,7 +3119,7 @@
 
   // Determine mouse button
   var rightclick = Webfm.rclick(event);
-  if(!rightclick)
+  if(!rightclick && event.altKey == false )
     this.dragStart(event);
 }
 
