=== added file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/images/move_bottom.png'
Binary files dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/images/move_bottom.png	1970-01-01 00:00:00 +0000 and dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/images/move_bottom.png	2009-09-08 14:38:00 +0000 differ
=== added file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/images/move_top.png'
Binary files dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/images/move_top.png	1970-01-01 00:00:00 +0000 and dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/images/move_top.png	2009-09-08 14:38:00 +0000 differ
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/GetDataElementAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/GetDataElementAction.java	2009-08-20 08:17:49 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/GetDataElementAction.java	2009-09-08 14:38:00 +0000
@@ -27,11 +27,18 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.hisp.dhis.dataelement.DataElement;
+import org.hisp.dhis.dataelement.DataElementGroup;
 import org.hisp.dhis.dataelement.DataElementService;
+import org.hisp.dhis.dataelement.comparator.DataElementGroupNameComparator;
 
 import com.opensymphony.xwork2.ActionSupport;
 
+import edu.emory.mathcs.backport.java.util.Collections;
+
 /**
  * @author Torgeir Lorange Ostby
  * @version $Id: GetDataElementAction.java 5789 2008-10-02 09:47:04Z larshelg $
@@ -49,7 +56,7 @@
     {
         this.dataElementService = dataElementService;
     }
-    
+
     // -------------------------------------------------------------------------
     // Input/output
     // -------------------------------------------------------------------------
@@ -66,16 +73,28 @@
     public DataElement getDataElement()
     {
         return dataElement;
-    }   
-   
+    }
+
+    private List<DataElementGroup> dataElementGroups;
+
+    public List<DataElementGroup> getDataElementGroups()
+    {
+        return dataElementGroups;
+    }
+
     // -------------------------------------------------------------------------
     // Action implementation
     // -------------------------------------------------------------------------
 
     public String execute()
     {
-        dataElement = dataElementService.getDataElement( id );       
+        dataElement = dataElementService.getDataElement( id );
+
+        dataElementGroups = new ArrayList<DataElementGroup>( dataElementService
+            .getGroupsContainingDataElement( dataElement ) );
         
+        Collections.sort( dataElementGroups, new DataElementGroupNameComparator() );
+
         return SUCCESS;
     }
 }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/dataElement.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/dataElement.vm	2009-05-20 14:15:54 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/dataElement.vm	2009-09-08 14:38:00 +0000
@@ -81,21 +81,24 @@
 			</table>
 
 		</td>
-		<td style="width:20em; padding-left:2em; vertical-align:top">
+		<td style="width:300px; vertical-align:top">
 
-			<div id="detailsArea" style="display:none">
+			<div id="detailsArea" style="display:none;">
 				<div style="float:right">
 					<a href="javascript:hideDetails()" title="$i18n.getString( "hide_details" )"><img src="../images/close.png" alt="$i18n.getString( "hide_details" )"></a>
 				</div>
-				<p><label>$i18n.getString( "name" ):</label><br><span id="nameField"></span></p>
-				<p><label>$i18n.getString( "short_name" ):</label><br><span id="shortNameField"></span></p>
-				<p><label>$i18n.getString( "alternative_name" ):</label><br><span id="alternativeNameField"></span></p>
-				<p><label>$i18n.getString( "description" ):</label><br><span id="descriptionField"></span></p>
-				<p><label>$i18n.getString( "active" ):</label><br><span id="activeField"></span></p>
-				<p><label>$i18n.getString( "type" ):</label><br><span id="typeField"></span></p>
-				<p><label>$i18n.getString( "aggregation_operator" ):</label><br><span id="aggregationOperatorField"></span></p>                
-				<p><label>$i18n.getString( "category_combination" ):</label><br><span id="categoryComboField"></span></p>
-				<p><label>$i18n.getString( "url" ):</label><br><span id="urlField"></span></p>
+				<div style="overflow:auto;height:400px;margin-top:20px">
+					<p><label>$i18n.getString( "name" ):</label><br><span id="nameField"></span></p>
+					<p><label>$i18n.getString( "short_name" ):</label><br><span id="shortNameField"></span></p>
+					<p><label>$i18n.getString( "alternative_name" ):</label><br><span id="alternativeNameField"></span></p>
+					<p><label>$i18n.getString( "description" ):</label><br><span id="descriptionField"></span></p>
+					<p><label>$i18n.getString( "active" ):</label><br><span id="activeField"></span></p>
+					<p><label>$i18n.getString( "type" ):</label><br><span id="typeField"></span></p>
+					<p><label>$i18n.getString( "aggregation_operator" ):</label><br><span id="aggregationOperatorField"></span></p>                
+					<p><label>$i18n.getString( "category_combination" ):</label><br><span id="categoryComboField"></span></p>
+					<p><label>$i18n.getString( "url" ):</label><br><span id="urlField"></span></p>
+					<p><label>$i18n.getString( "data_element_group" ):</label><br><span id="dataElementGroups"></span></p>
+				</div>	
 			</div>
 
             <div id="warningArea" style="display:none">

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/indicatorGroupEditor.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/indicatorGroupEditor.vm	2009-09-03 19:24:33 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/indicatorGroupEditor.vm	2009-09-08 14:38:00 +0000
@@ -64,7 +64,7 @@
 		<td></td>
 		<td>
 			<a href="javascript:sortList( 'availableIndicators', 'ASC' );"><img align="absmiddle" src="images/sort_ascending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>
-			<a href="javascript:sortList( 'availableIndicators', 'DES' );"><img align="absmiddle" src="images/sort_descending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>			
+			<a href="javascript:sortList( 'availableIndicators', 'DES' );"><img align="absmiddle" src="images/sort_descending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>						
 		</td>
 		
 		

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/javascript/dataElement.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/javascript/dataElement.js	2009-05-28 11:18:43 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/javascript/dataElement.js	2009-09-08 14:38:00 +0000
@@ -59,7 +59,13 @@
     
     var url = getElementValue( dataElementElement, 'url' );
     setFieldValue( 'urlField', url ? '<a href="' + url + '">' + url + '</a>' : '[' + i18n_none + ']' );
-    
+	
+	var dataElementGroupList = "";
+	var dataElementGroups = dataElementElement.getElementsByTagName('dataElementGroups')[0].getElementsByTagName('dataElementGroup');
+	for(var i=0;i<dataElementGroups.length;i++){
+		dataElementGroupList += (i + 1) + "-" + dataElementGroups.item(i).firstChild.nodeValue + "<br>";
+	}    
+	setFieldValue('dataElementGroups', dataElementGroupList);
     showDetails();
 }
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/sortDataElementForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/sortDataElementForm.vm	2009-09-08 07:07:49 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/sortDataElementForm.vm	2009-09-08 14:38:00 +0000
@@ -15,21 +15,30 @@
 				<option value="$element.id">$element.name</option>
 				#end
 			</select>
+			<br>
+			<a href="javascript:sortList( 'sourceSataElements', 'ASC' );"><img align="absmiddle" src="images/sort_ascending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>
+			<a href="javascript:sortList( 'sourceSataElements', 'DES' );"><img align="absmiddle" src="images/sort_descending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>			
 		</td>
-		<td>
+		<td align="center">
 			<input type="button" value=">" onclick="moveSelectedById('sourceSataElements','targetDataElements');"/><br>
 			<input type="button" value="<" onclick="moveSelectedById('targetDataElements' , 'sourceSataElements' );"/><br>
 			<input type="button" value=">>" onclick="moveAllById('sourceSataElements' , 'targetDataElements' );"/><br>
 			<input type="button" value="<<" onclick="moveAllById('targetDataElements' , 'sourceSataElements' );"/>
 		</td>
 		<td>
-			<select multiple id="targetDataElements" name="dataElements" size="25" style="min-width:400px;" ondblclick="moveSelectedById('targetDataElements' , 'sourceSataElements' );">
-				
-			</select>
+			<select multiple id="targetDataElements" name="dataElements" size="25" style="min-width:400px;" ondblclick="moveSelectedById('targetDataElements' , 'sourceSataElements' );">		</select>
+			<br>
+			<a href="javascript:sortList( 'targetDataElements', 'ASC' );"><img align="absmiddle" src="images/sort_ascending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>
+			<a href="javascript:sortList( 'targetDataElements', 'DES' );"><img align="absmiddle" src="images/sort_descending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>			
 		</td>
 	</tr>
 </table>
-
+<div style="position:fixed;top:200px;right:10px;background-color:#D9F674">
+	<a href="javascript:moveSelectedOptionToTop( 'targetDataElements' );"><img align="absmiddle" src="../images/move_top.png" style="cursor:pointer;width:20px;"></a><br><br>			
+	<a href="javascript:moveUpSelectedOption( 'targetDataElements' );"><img align="absmiddle" src="../images/move_up.png" style="cursor:pointer;width:20px;"></a><br><br>		
+	<a href="javascript:moveDownSelectedOption( 'targetDataElements' );"><img align="absmiddle" src="../images/move_down.png" style="cursor:pointer;width:20px;"></a><br><br>		
+	<a href="javascript:moveSelectedOptionToBottom( 'targetDataElements' );"><img align="absmiddle" src="../images/move_bottom.png" style="cursor:pointer;width:20px;"></a>			
+</div>
 
 <p>
 <input type="button" value="$i18n.getString( 'save' )" style="width:130px" onclick="submitForm()"><input 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/sortIndicatorForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/sortIndicatorForm.vm	2009-03-31 20:02:45 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/sortIndicatorForm.vm	2009-09-08 14:38:00 +0000
@@ -2,22 +2,45 @@
 <h3>$i18n.getString( "indicator_sort_order" )</h3>
 
 <form id="sortOrderForm" action="saveIndicatorSortOrder.action" method="post">
-	
-<p>
-<input type="button" value="$i18n.getString( 'move_up' )" style="width:130px" onclick="moveUpSelectedOption( 'indicators' )"><input 
-type="button" value="$i18n.getString( 'move_down' )" style="width:130px" onclick="moveDownSelectedOption( 'indicators' )"><input
-type="button" value="$i18n.getString( 'move_to_top' )" style="width:130px" onclick="moveSelectedOptionToTop( 'indicators' )"><input
-type="button" value="$i18n.getString( 'move_to_bottom' )" style="width:130px" onclick="moveSelectedOptionToBottom( 'indicators' )">
-</p>
-
-<p>
-<select multiple id="indicators" name="indicators" size="25" style="width:680px">
-#foreach ( $indicator in $indicators )
-	<option value="$indicator.id">$indicator.name</option>
-#end
-</select>
-</p>
-
+
+<table>
+	<tr>
+		<th>$i18n.getString( "indicator" )</th>
+		<th></th>
+		<th>$i18n.getString( "indicator_sort_order" )</th>
+	</tr>
+	<tr>
+		<td>
+			<select multiple id="sourceIndicators" size="25" ondblclick="moveSelectedById('sourceIndicators','indicators');" style="min-width:400px;">
+				#foreach ( $indicator in $indicators )
+					<option value="$indicator.id">$indicator.name</option>
+				#end
+			</select>
+			<br>
+			<a href="javascript:sortList( 'sourceIndicators', 'ASC' );"><img align="absmiddle" src="images/sort_ascending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>
+			<a href="javascript:sortList( 'sourceIndicators', 'DES' );"><img align="absmiddle" src="images/sort_descending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>			
+			
+		</td>
+		<td align="center">
+			<input type="button" value=">" onclick="moveSelectedById('sourceIndicators','indicators');"/><br>
+			<input type="button" value="<" onclick="moveSelectedById('indicators' , 'sourceIndicators' );"/><br>
+			<input type="button" value=">>" onclick="moveAllById('sourceIndicators' , 'indicators' );"/><br>
+			<input type="button" value="<<" onclick="moveAllById('indicators' , 'sourceIndicators' );"/>
+		</td>
+		<td>
+			<select multiple id="indicators" name="indicators" size="25" style="min-width:400px;" ondblclick="moveSelectedById('indicators' , 'sourceIndicators' );"></select>			
+			<br>
+			<a href="javascript:sortList( 'indicators', 'ASC' );"><img align="absmiddle" src="images/sort_ascending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>
+			<a href="javascript:sortList( 'indicators', 'DES' );"><img align="absmiddle" src="images/sort_descending.png" style="border:#666666 thin solid;cursor:pointer;width:20px;"></a>						
+		</td>		
+	</tr>
+</table>
+	<div style="position:fixed;top:200px;right:10px;background-color:#D9F674">
+		<a href="javascript:moveSelectedOptionToTop( 'indicators' );"><img align="absmiddle" src="../images/move_top.png" style="cursor:pointer;width:20px;"></a><br><br>			
+		<a href="javascript:moveUpSelectedOption( 'indicators' );"><img align="absmiddle" src="../images/move_up.png" style="cursor:pointer;width:20px;"></a><br><br>		
+		<a href="javascript:moveDownSelectedOption( 'indicators' );"><img align="absmiddle" src="../images/move_down.png" style="cursor:pointer;width:20px;"></a><br><br>		
+		<a href="javascript:moveSelectedOptionToBottom( 'indicators' );"><img align="absmiddle" src="../images/move_bottom.png" style="cursor:pointer;width:20px;"></a>			
+	</div>	
 <p>
 <input type="button" value="$i18n.getString( 'save' )" style="width:130px" onclick="submitForm()"><input 
 type="button" value="$i18n.getString( 'cancel' )" style="width:130px" onclick="window.location.href='indicator.action'">
@@ -28,6 +51,7 @@
 <script type="text/javascript">
     function submitForm()
     {
+		moveAllById('sourceIndicators' , 'indicators' );
         selectAllById( "indicators" );
         document.getElementById( "sortOrderForm" ).submit();
     }

=== modified file 'local/vn/dhis-web-vn-report/src/main/webapp/dhis-web-vn-report/reportItems.vm'
--- local/vn/dhis-web-vn-report/src/main/webapp/dhis-web-vn-report/reportItems.vm	2009-09-07 16:54:40 +0000
+++ local/vn/dhis-web-vn-report/src/main/webapp/dhis-web-vn-report/reportItems.vm	2009-09-08 06:42:19 +0000
@@ -128,6 +128,8 @@
 </div>
 </form>
 
+
+
 <!-- This form use for  Calculation -->
 
 <div id="calculation" style="position:fixed;display:none;width:800px;z-index:10002;background-color: white;border: medium solid silver;height:300px;padding:20px;">

