Index: samigo-app/src/webapp/js/samigotree.js
===================================================================
--- samigo-app/src/webapp/js/samigotree.js	(revision 308414)
+++ samigo-app/src/webapp/js/samigotree.js	(working copy)
@@ -686,3 +686,28 @@
 		checkChildrenCheckboxesDisable(allCheckboxes.get(i));
 	}
 }
+
+function disableButtons() {
+    
+    // Get the buttons
+    var elements = $(":submit");
+    for (i = 0; i < elements.length; i++) {
+        
+        // Hide the original
+        var button = elements[i];
+        button.style.display = "none";
+
+        // Clone and disable the original
+        var newButton = document.createElement("input");
+        newButton.setAttribute("type", "button" );
+        newButton.setAttribute("id", button.getAttribute("id") + "Disabled");
+        newButton.setAttribute("name", button.getAttribute("name") + "Disabled");
+        newButton.setAttribute("value", button.getAttribute("value"));
+        newButton.setAttribute("className", button.getAttribute("className"));
+        newButton.setAttribute("disabled", "true");
+
+        // Add the clone where the original is in the DOM
+        var parent = button.parentNode;
+        parent.insertBefore(newButton, button);
+    }
+}
Index: samigo-app/src/webapp/jsf/questionpool/transferPool.jsp
===================================================================
--- samigo-app/src/webapp/jsf/questionpool/transferPool.jsp	(revision 0)
+++ samigo-app/src/webapp/jsf/questionpool/transferPool.jsp	(working copy)
@@ -0,0 +1,57 @@
+<!-- $Id: transferPool.jsp 2012-11-10 wang58@iupui.edu -->
+
+<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" language="java" %>
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://www.sakaiproject.org/samigo" prefix="samigo" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<f:view>
+    <html xmlns="http://www.w3.org/1999/xhtml">
+        <head><%= request.getAttribute("html.head") %>
+            <title>
+                <h:outputText value="#{questionPoolMessages.transfer_pool}" />
+            </title>
+
+            <!-- stylesheet and script widgets -->
+            <script language="javascript" type="text/JavaScript">
+                <%@ include file="/js/samigotree.js" %>
+            </script>
+
+            <script type="text/javascript" src="/library/js/jquery/jquery-1.9.1.min.js"></script>
+        </head>
+    <body onload="checkSaveButton(); disableCheckboxes();<%= request.getAttribute("html.body.onload") %>">
+
+            <!-- content... -->
+            <div class="portletBody">
+                <h:form id="transferPool">
+                    <h:messages infoClass="validation" warnClass="validation" errorClass="validation" fatalClass="validation"/>
+
+                    <h3>
+                        <h:outputText value="#{questionPoolMessages.transfer_pool_ownership}"/>
+                    </h3>
+                    <h:inputHidden id="checkAll" value="" />
+                    <h:inputHidden id="disabledCheckboxes" value="" />
+
+                    <br/>
+                    <div class="tier4">
+                        <h:selectBooleanCheckbox id="checkAllCheckbox" onclick="checkAllCheckboxes(this); checkSaveButton();" value="#{questionpool.checkAll}" />
+                        <h:outputText value="#{questionPoolMessages.transfer_pool_select_all}" />
+                    </div>
+
+                    <div class="longtext tier2">
+                            <%@ include file="/jsf/questionpool/transferPoolTree.jsp" %>
+                    </div>
+
+                    <p class="act">
+                        <h:commandButton accesskey="#{questionPoolMessages.a_transfer}" id="transferpoolSubmit" immediate="true" 
+                            value="#{questionPoolMessages.tranfer_pool_continue}" action="#{questionpool.transferPoolContinue}" styleClass="active" 
+                            onclick="disableButtons(); passSelectedPoolIds(); getDisabledCheckbox();" />
+                        <h:commandButton accesskey="#{questionPoolMessages.a_cancel}" id="transferpoolCancel" value="#{questionPoolMessages.transfer_pool_cancel}" 
+                            action="#{questionpool.cancelTransferPool}" immediate="true" onclick="disableButtons();" />
+                    </p>
+                </h:form>
+            </div>
+        </body>
+    </html>
+</f:view>
Index: samigo-app/src/webapp/jsf/questionpool/transferPoolConfirm.jsp
===================================================================
--- samigo-app/src/webapp/jsf/questionpool/transferPoolConfirm.jsp	(revision 0)
+++ samigo-app/src/webapp/jsf/questionpool/transferPoolConfirm.jsp	(working copy)
@@ -0,0 +1,111 @@
+<!-- $Id: transferPoolConfirm.jsp 2012-11-10 wang58@iupui.edu -->
+
+<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" language="java" %>
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://www.sakaiproject.org/samigo" prefix="samigo" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<f:view>
+    <html xmlns="http://www.w3.org/1999/xhtml">
+        <head>
+            <%= request.getAttribute("html.head") %>
+            <title><h:outputText value="#{questionPoolMessages.transfer_pool_confirmation}" /></title>
+            
+            <script language="javascript" type="text/JavaScript">
+                <%@ include file="/js/samigotree.js" %>
+            </script>
+
+            <samigo:script path="/js/jquery-1.3.2.min.js" />
+
+            <samigo:stylesheet path="/css/tool_sam.css" />
+        </head>
+        <body onload="<%= request.getAttribute("html.body.onload") %>">
+            <div class="portletBody">
+                <h:form id="transferPoolConfirm">
+                    <h:messages infoClass="validation" warnClass="validation" errorClass="validation" fatalClass="validation" />
+
+                    <h3>
+                        <h:outputText value="#{questionPoolMessages.transfer_pool_ownership}"/>
+                    </h3>
+                    <p></p>
+                    <div>
+                        <h:outputText value="#{questionpool.confirmMessage}" />
+                    </div>
+                    <p></p>
+
+                    <h:dataTable id="TreeTable" value="#{questionpool.transferSelectedQpools}"
+                        var="pool" cellpadding="0" cellspacing="0" styleClass="listHier" >
+
+                        <h:column id="col1">
+                            <f:facet name="header">
+                                <h:panelGroup>      
+                                    <h:outputText  value="#{questionPoolMessages.p_name}" />
+                                </h:panelGroup>
+                            </f:facet>
+                            <h:panelGroup styleClass="tier#{questionpool.tree.currentLevel}"  id="firstcolumn">
+                                <h:inputHidden id="rowid" value="#{questionpool.tree.currentObjectHTMLId}" />
+                                <h:outputText id="poolnametext" value="#{pool.displayName}" escape="false" />
+                            </h:panelGroup>
+                        </h:column>
+
+                        <h:column id="col2">
+                            <f:facet name="header">
+                                <h:panelGroup>      
+                                    <h:outputText  value="#{questionPoolMessages.creator}" />
+                                </h:panelGroup>
+                            </f:facet>
+                            <h:panelGroup id="secondcolumn">
+                                <h:outputText value="#{pool.ownerDisplayName}" />
+                            </h:panelGroup>
+                        </h:column>
+
+                        <h:column id="col3">
+                            <f:facet name="header">
+                                <h:panelGroup>
+                                    <h:outputText value="#{questionPoolMessages.last_mod}" />
+                                </h:panelGroup>
+                            </f:facet>
+                            <h:panelGroup id="thirdcolumn">
+                                <h:outputText value="#{pool.lastModified}">
+                                    <f:convertDateTime pattern="#{generalMessages.output_date_picker}" />
+                                </h:outputText>
+                            </h:panelGroup>
+                        </h:column>
+
+                        <h:column id="col4">
+                            <f:facet name="header">
+                                <h:panelGroup>
+                                    <h:outputText value="#{questionPoolMessages.qs}" />
+                                </h:panelGroup>
+                            </f:facet>
+                            <h:panelGroup id="fourthcolumn" >
+                                <h:outputText value="#{pool.data.questionPoolItemSize}" />
+                            </h:panelGroup>
+                        </h:column>
+
+                        <h:column id="col5">
+                            <f:facet name="header">
+                                <h:panelGroup>
+                                    <h:outputText value="#{questionPoolMessages.subps}" />
+                                </h:panelGroup>
+                            </f:facet>
+                            <h:panelGroup id="fifthcolumn">
+                                <h:outputText value="#{pool.subPoolSize}" />
+                            </h:panelGroup>
+                        </h:column>
+                    </h:dataTable>
+
+                    <p class="act">
+                        <h:commandButton accesskey="#{questionPoolMessages.a_transfer}" id="transferpoolSubmit" immediate="true" onclick="disableButtons();" 
+                            value="#{questionPoolMessages.transfer_pool_ownership}" action="#{questionpool.transferPoolOwnership}" styleClass="active" />
+                        <h:commandButton accesskey="#{questionPoolMessages.a_transfer_back}" id="transferpoolSubmit2" immediate="true" onclick="disableButtons();" 
+                            value="#{questionPoolMessages.transfer_pool_back}" action="#{questionpool.transferPoolConfirmBack}" styleClass="active" />
+                        <h:commandButton accesskey="#{questionPoolMessages.a_cancel}" id="transferpoolCancel" value="#{questionPoolMessages.transfer_pool_cancel}" 
+                            action="#{questionpool.cancelTransferPool}" immediate="true" onclick="disableButtons();" />
+                    </p>
+                </h:form>
+            </div>
+        </body>
+    </html>
+</f:view>
Index: samigo-app/src/webapp/jsf/questionpool/transferPoolInputUser.jsp
===================================================================
--- samigo-app/src/webapp/jsf/questionpool/transferPoolInputUser.jsp	(revision 0)
+++ samigo-app/src/webapp/jsf/questionpool/transferPoolInputUser.jsp	(working copy)
@@ -0,0 +1,50 @@
+<!-- $Id: transferPoolInputUser.jsp 2012-11-10 wang58@iupui.edu -->
+
+<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" language="java" %>
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://www.sakaiproject.org/samigo" prefix="samigo" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<f:view>
+    <html xmlns="http://www.w3.org/1999/xhtml">
+        <head>
+            <%= request.getAttribute("html.head") %>
+            <title><h:outputText value="#{questionPoolMessages.transfer_pool_user}"/></title>
+            
+            <script language="javascript" type="text/JavaScript">
+                <%@ include file="/js/samigotree.js" %>
+            </script>
+
+            <samigo:script path="/js/jquery-1.3.2.min.js" />
+        </head>
+        <body onload="<%= request.getAttribute("html.body.onload") %>">
+            <div class="portletBody">
+                <h:form id="transferPoolInputUser">
+                    <h:messages infoClass="validation" warnClass="validation" errorClass="validation" fatalClass="validation"/>
+
+                    <h3>
+                        <h:outputText value="#{questionPoolMessages.transfer_pool_ownership}" />
+                    </h3>
+                    <p></p>
+                    <div class="tier2">
+                        <h:outputText value="#{questionPoolMessages.transfer_pool_input_user}" />
+                    </div>
+                    <p></p>
+                    <div class="tier3">
+                        <h:inputText id="owneruserId" value="#{questionpool.ownerId}" />
+                    </div>
+
+                    <p class="act">
+                        <h:commandButton accesskey="#{questionPoolMessages.a_transfer}" id="transferpoolSubmit" immediate="true" onclick="disableButtons();" 
+                            value="#{questionPoolMessages.tranfer_pool_continue}" action="#{questionpool.transferPoolInputUserContinue}" styleClass="active" />
+                        <h:commandButton accesskey="#{questionPoolMessages.a_transfer_back}" id="transferpoolSubmit2" immediate="true" onclick="disableButtons();" 
+                            value="#{questionPoolMessages.transfer_pool_back}" action="#{questionpool.transferPoolInputUserBack}" styleClass="active" />
+                        <h:commandButton accesskey="#{questionPoolMessages.a_cancel}" id="transferpoolCancel" value="#{questionPoolMessages.transfer_pool_cancel}" 
+                            action="#{questionpool.cancelTransferPool}" immediate="true" onclick="disableButtons();" />
+                    </p>
+                </h:form>
+            </div>
+        </body>
+    </html>
+</f:view>
Index: samigo-app/src/webapp/jsf/questionpool/transferPoolTree.jsp
===================================================================
--- samigo-app/src/webapp/jsf/questionpool/transferPoolTree.jsp	(revision 0)
+++ samigo-app/src/webapp/jsf/questionpool/transferPoolTree.jsp	(working copy)
@@ -0,0 +1,83 @@
+<!-- $Id: transferPoolTree.jsp 2012-11-10 wang58@iupui.edu -->
+
+<h:inputHidden id="transferPoolIds" value=""/>
+<h:dataTable id="TreeTable" value="#{questionpool.transferQpools}" var="pool" cellpadding="0" cellspacing="0" styleClass="listHier" >
+    <h:column id="col1">
+        <f:facet name="header">
+            <h:panelGroup>
+                <h:commandLink title="#{questionPoolMessages.t_sortTitle}" immediate="true" 
+                    rendered="#{questionpool.sortTransferPoolProperty == 'title' && questionpool.sortTransferPoolAscending}" 
+                    action="#{questionpool.sortTransferPoolByColumnHeader}">
+                    <h:outputText  value="#{questionPoolMessages.p_name}" styleClass="currentSort" rendered="#{questionpool.sortTransferPoolProperty == 'title'}" />
+                    <f:param name="transferPoolOrderBy" value="title" />
+                    <f:param name="transferPoolAscending" value="false" />
+                    <h:graphicImage alt="#{questionPoolMessages.alt_sortTitleDescending}" rendered="#{questionpool.sortTransferPoolAscending}" 
+                        url="/images/sortascending.gif" />
+                </h:commandLink>
+                <h:commandLink title="#{questionPoolMessages.t_sortTitle}" immediate="true" 
+                    rendered="#{questionpool.sortTransferPoolProperty == 'title' && !questionpool.sortTransferPoolAscending}" 
+                    action="#{questionpool.sortTransferPoolByColumnHeader}">
+                    <h:outputText  value="#{questionPoolMessages.p_name}" styleClass="currentSort" rendered="#{questionpool.sortTransferPoolProperty == 'title'}" />
+                    <f:param name="transferPoolOrderBy" value="title"/>
+                    <f:param name="transferPoolAscending" value="true" />
+                    <h:graphicImage alt="#{questionPoolMessages.alt_sortTitleAscending}" rendered="#{!questionpool.sortTransferPoolAscending}" 
+                        url="/images/sortdescending.gif"/>
+                </h:commandLink>
+            </h:panelGroup>
+        </f:facet>
+        <h:panelGroup id="firstcolumn">
+            <h:inputHidden id="rowid" value="#{questionpool.tree.currentObjectHTMLId}"/>
+            <h:selectManyCheckbox onclick="checkChildrenCheckboxes(this); checkSaveButton();" id="radiobtn"
+                value="#{questionpool.transferPools}" styleClass="tier#{questionpool.tree.currentLevel}" disabled="false">
+                <f:selectItem itemValue="#{pool.questionPoolId}" itemLabel="#{pool.displayName}" />
+            </h:selectManyCheckbox>
+        </h:panelGroup>
+    </h:column>
+
+    <h:column id="col2">
+        <f:facet name="header">
+            <h:panelGroup>      
+                <h:outputText  value="#{questionPoolMessages.creator}" />
+            </h:panelGroup>
+        </f:facet>
+        <h:panelGroup id="secondcolumn">
+            <h:outputText value="#{pool.ownerDisplayName}" />
+        </h:panelGroup>
+    </h:column>
+
+    <h:column id="col3">
+        <f:facet name="header">
+            <h:panelGroup>
+                <h:outputText value="#{questionPoolMessages.last_mod}" />
+            </h:panelGroup>
+        </f:facet>
+        <h:panelGroup id="thirdcolumn">
+            <h:outputText value="#{pool.lastModified}">
+                <f:convertDateTime pattern="#{generalMessages.output_date_picker}" />
+            </h:outputText>
+        </h:panelGroup>
+    </h:column>
+
+    <h:column id="col4">
+        <f:facet name="header">
+            <h:panelGroup>
+                <h:outputText value="#{questionPoolMessages.qs}" />
+            </h:panelGroup>
+        </f:facet>
+        <h:panelGroup id="fourthcolumn" >
+            <h:outputText value="#{pool.data.questionPoolItemSize}" />
+        </h:panelGroup>
+    </h:column>
+
+
+    <h:column id="col5">
+        <f:facet name="header">
+            <h:panelGroup>
+                <h:outputText value="#{questionPoolMessages.subps}" />
+            </h:panelGroup>
+        </f:facet>
+        <h:panelGroup id="fifthcolumn">
+            <h:outputText value="#{pool.subPoolSize}" />
+        </h:panelGroup>
+    </h:column>
+</h:dataTable>
