Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1501)
+++ branches/2.8.x/CHANGELOG	(revision 1502)
@@ -12,6 +12,8 @@
 
 =============================== FEATURES FREEZE ================================
 ----------------------------------- Fixes 2.8.2 --------------------------------
+11 Aug-2011 Build 1502 Werner v.d.Decken(DarkViper)
+# fixed c&p mistake
 11 Aug-2011 Build 1501 Werner v.d.Decken(DarkViper)
 - removed stoneaged code from 2.4
 11 Aug-2011 Build 1500 Werner v.d.Decken(DarkViper)
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1501)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1502)
@@ -52,4 +52,4 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) define('VERSION', '2.8.2');
-if(!defined('REVISION')) define('REVISION', '1501');
+if(!defined('REVISION')) define('REVISION', '1502');
Index: branches/2.8.x/wb/framework/class.order.php
===================================================================
--- branches/2.8.x/wb/framework/class.order.php	(revision 1501)
+++ branches/2.8.x/wb/framework/class.order.php	(revision 1502)
@@ -63,6 +63,7 @@
 		$retval = false;
 		$sql  = 'SELECT `'.$this->_FieldOrder.'` `order`, `'.$this->_FieldGroup.'` `group` ';
 		$sql .= 'FROM `'.$this->_Table.'` WHERE `'.$this->_FieldId.'`=\''.$id.'\'';
+		// get Position and Group for Element to move
 		if(($res1 = $this->_DB->query($sql))) {
 			if(($rec1 = $res1->fetchRow())) {
 				$sql  = 'SELECT `'.$this->_FieldId.'` `id`, `'.$this->_FieldOrder.'` `order` ';
@@ -69,21 +70,26 @@
 				$sql .= 'FROM `'.$this->_Table.'` ';
 				$sql .= 'WHERE `'.$this->_FieldGroup.'`=\''.$rec1['group'].'\' ';
 				if($direction == self::MOVE_UP) {
+					// search for Element with next lower Position
+					$sql .=     'AND `'.$this->_FieldOrder.'`<\''.$rec1['order'].'\' ';
+					$sql .= 'ORDER BY `'.$this->_FieldOrder.'` DESC';
+				}else {
+					// search for Element with next higher Position
 					$sql .=     'AND `'.$this->_FieldOrder.'`>\''.$rec1['order'].'\' ';
 					$sql .= 'ORDER BY `'.$this->_FieldOrder.'` ASC';
-				}else {
-					$sql .=     'AND `'.$this->_FieldOrder.'`<\''.$rec1['order'].'\' ';
-					$sql .= 'ORDER BY `'.$this->_FieldOrder.'` DESC';
 				}
+				// get Id and Position of the Element to change with
 				if(($res2 = $this->_DB->query($sql))) {
 					if(($rec2 = $res2->fetchRow())) {
 						$sql  = 'UPDATE `'.$this->_Table.'` ';
 						$sql .= 'SET `'.$this->_FieldOrder.'`=\''.$rec1['order'].'\' ';
 						$sql .= 'WHERE `'.$this->_FieldId.'`=\''.$rec2['id'].'\'';
+						// update Position number of target
 						if($this->_DB->query($sql)) {
 							$sql  = 'UPDATE `'.$this->_Table.'` ';
 							$sql .= 'SET `'.$this->_FieldOrder.'`=\''.$rec2['order'].'\' ';
 							$sql .= 'WHERE `'.$this->_FieldId.'`=\''.$id.'\'';
+							// update Position number source
 							$retval = $this->_DB->query($sql);
 						}
 					}
