anchor.diff:  				<html:text styleClass="formFieldSized10"  maxlength="50"  size="30" styleId="barcodes" property="<%=barKey%>" disabled="false"/>
   			</td>
   			<td class="formField" nowrap>
  -				<html:select property="<%=containerKey%>" styleClass="formFieldSized5" styleId="<%=containerStyleId%>" size="1" onchange="<%=onChangeContainerId%>">
  -					<html:option value="-1"><%=Constants.SELECT_OPTION%></html:option>
  -					<%
  -						//Populating the container identifiers before loading the page
  -						for(int count=0;count<containerId.length;count++)
  -						{
  -					%>
  -							<html:option value="<%=containerId[count].toString()%>"><%=containerId[count].toString()%></html:option>
  -					<%
  -						}
  -					%>
  -				</html:select>
  -					&nbsp;
  -				<html:select property="<%=pos1Key%>" styleClass="formFieldSized5" styleId="<%=pos1StyleId%>" size="1" onchange="<%=onChangeXDimension%>">
  -					<html:option value="-1"><%=Constants.SELECT_OPTION%></html:option>
  -				<%
  -					for(int count=0;count<xDimId.length;count++)
  -					{
  -				%>
  -						<html:option value="<%=xDimId[count].toString()%>"><%=xDimId[count].toString()%></html:option>
  -				<%
  -					}
  -				%>
  -				</html:select>
  -					&nbsp;
  -				<html:select property="<%=pos2Key%>" styleClass="formFieldSized5" styleId="<%=pos2StyleId%>" size="1">
  -					<html:option value="-1"><%=Constants.SELECT_OPTION%></html:option>
  -				<%
  -					for(int count=0;count<yDimId.length;count++)
  -					{
  -				%>
  -						<html:option value="<%=yDimId[count].toString()%>"><%=yDimId[count].toString()%></html:option>
  -				<%
  -					}
  -				%>
  -				</html:select>
  -					&nbsp;
  -				<html:button styleClass="actionButton" property="mapButton" onclick="">
  -					<bean:message key="buttons.map"/>
  -				</html:button>
  +				<ncombo:containermap dataMap="<%=dataMap%>" 
  +											attributeNames="<%=attrNames%>" 
  +											initialValues="<%=initValues%>"  
  +											styleClass = "<%=styClass%>" 
  +											tdStyleClass = "<%=tdStyleClass%>" 
  +											labelNames="<%=labelNames%>" 
  +											rowNumber="<%=rowNumber%>" 
  +											onChange = "<%=onChange%>"
  +											noOfEmptyCombos = "<%=noOfEmptyCombos%>"
  +											
  +											buttonName="mapButton" 
  +											value="Map"
  +											buttonOnClick = "<%=buttonOnClicked%>"
  +											formLabelStyle="formLabelBorderless"
  +											buttonStyleClass="actionButton" />
   			</td>
  +			
   		</tr>
   	<%
   		} //For
  
positive.code: <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
  <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
  <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
  <%@ page import="edu.wustl.catissuecore.util.global.Constants"%>
  <%@ page import="edu.wustl.catissuecore.util.global.Utility"%>
  <%@ page import="edu.wustl.catissuecore.actionForm.AliquotForm"%>
  <%@ page import="java.util.*"%>
  
  <%
  	/* Retrieving a map of available containers */
  	Map containerMap = (Map)request.getAttribute(Constants.AVAILABLE_CONTAINER_MAP);
  	Object [] containerId = containerMap.keySet().toArray();
  %>
  
  <head>
  	<script src="jss/Hashtable.js" type="text/javascript"></script>
  	
  	<script language="JavaScript">
  		//Converting container map in JavaScript hashtable
  		var availableContainerTable = new Hashtable();
  		var availableDimX;
  		var availableDimY;
  		<%
  			for(int i=0;i<containerId.length;i++)
  			{
  				Map dimXMap = (Map)containerMap.get(Integer.valueOf(containerId[i].toString()));
  				Object [] dimX = dimXMap.keySet().toArray();
  		%>
  		
  			//Recreating a hashtable of available X dimensions (Rows) vs. Y dimensions (Columns) in each iteration
  			availableDimX = new Hashtable();
  			
  		<%
  				for(int j=0;j<dimX.length;j++)
  				{
  					List dimYList = (List)dimXMap.get(Integer.valueOf(dimX[j].toString()));
  		%>
  					//Recreating an array of available Y dimensions (Columns)
  					availableDimY = new Array();
  		<%
  					for(int k=0;k<dimYList.size();k++)
  					{
  						Integer iObj = (Integer)dimYList.get(k);
  		%>
  						availableDimY[<%=k%>] = "<%=String.valueOf(iObj)%>";
  		<%
  					} //For Loop K
  		%>
  					availableDimX.put("<%=dimX[j].toString()%>",availableDimY);
  		<%
  				} //For Loop J
  		%>
  				availableContainerTable.put("<%=containerId[i].toString()%>",availableDimX);
  		<%
  			} //For Loop I
  		%>
  		
  		//This function populates the combo box for dimension X
  		function onChangeContainerId(containerId,styleIdX,styleIdY)
  		{
  			var xCombo = document.getElementById(styleIdX);
  			var yCombo = document.getElementById(styleIdY);
  			
  			//To clear the combo box of dimension X
  			xCombo.options.length = 0;
  			xCombo.options[0] = new Option("<%=Constants.SELECT_OPTION%>","-1");
  			
  			//To clear the combo box of dimension Y
  			yCombo.options.length = 0;
  			yCombo.options[0] = new Option("<%=Constants.SELECT_OPTION%>","-1");
  			
  			var identifier = containerId.options[containerId.selectedIndex].value;
  			
  			if(identifier != -1)
  			{
  				var xTable = availableContainerTable.get(identifier);
  				var xTableKey = xTable.keys();
  				
  				for(var i=0;i<xTableKey.length;i++)
  				{
  					xCombo.options[i+1] = new Option(xTableKey[i],xTableKey[i]);
  				}
  			}
  		}
  		
  		//This function populates the combo box for dimension Y
  		function onChangeXDimension(containerStyleId,xDimList,styleIdY)
  		{
  			var yDimList = document.getElementById(styleIdY);
  			
  			//To clear the combo box of dimension Y
  			yDimList.options.length = 0;
  			yDimList.options[0] = new Option("<%=Constants.SELECT_OPTION%>","-1");
  			
  			
  			var containerIdList = document.getElementById(containerStyleId);
  			var containerId = containerIdList.options[containerIdList.selectedIndex].value;
  			var xDim = xDimList.options[xDimList.selectedIndex].value;
  			
  			if(containerId != -1 && xDim != -1)
  			{
  				//Retrieving table of X-Y dimensions for given containerId
  				var xTable = availableContainerTable.get(containerId);
  				var yDimArray = xTable.get(xDim);
  				
  				for(var i=0;i<yDimArray.length;i++)
  				{
  					yDimList.options[i+1] = new Option(yDimArray[i],yDimArray[i]);
  				}
  			}
  		}
  	</script>
  	
  	<script language="JavaScript">
  		function onCreate()
  		{
  			var action = '<%=Constants.CREATE_ALIQUOT_ACTION%>';
  			action = action + "?pageOf=" + '<%=Constants.PAGEOF_CREATE_ALIQUOT%>' + "&menuSelected=15";
  			
  			document.forms[0].action = action;
  			document.forms[0].submit();
  
negative.code: 
  <html:form action="<%=Constants.ALIQUOT_ACTION%>">
  
  <table summary="" cellpadding="0" cellspacing="0" border="0" class="contentPage" width="660">
  <tr>
  <td>
  	<table summary="" cellpadding="3" cellspacing="0" border="0" width="660">
  	<tr>
  		<td class="formMessage" colspan="3">* indicates a required field</td>
  	</tr>
  