Sending again since it seems the JSP was stripped by email filters.


-----Original Message-----
From: Nordmeyer, William, E (Serco NA) <william.nordme...@serco-na.com.INVALID> 
Sent: Monday, June 10, 2024 9:26 AM
To: Struts Users Mailing List <user@struts.apache.org>
Subject: RE: [EXTERNAL] Re: POP Up Data List Window Struts 6.4 (and 6.3) v 
6.1.2.1

[You don't often get email from william.nordme...@serco-na.com.invalid. Learn 
why this is important at https://aka.ms/LearnAboutSenderIdentification ]

Lukas,

Here are the files.

-----Original Message-----
From: Lukasz Lenart <lukaszlen...@apache.org>
Sent: Friday, June 7, 2024 11:45 AM
To: Struts Users Mailing List <user@struts.apache.org>
Subject: [EXTERNAL] Re: POP Up Data List Window Struts 6.4 (and 6.3) v 6.1.2.1

⚠️
WARNING
STOP: Do you recognize this sender?
This email originated from outside of the organization and should be treated 
with EXTREME CAUTION.
DO NOT click links or open attachments unless you are ABSOLUTELY CERTAIN the 
contents are safe.
Not sure? Forward this email to phish...@serco-na.com.
⚠️
WARNING

pt., 7 cze 2024 o 14:49 Nordmeyer, William, E (Serco NA) 
<william.nordme...@serco-na.com.invalid> napisał(a):
> We are looking to upgrade to Struts 6.4 and seeing issues with our PoP up 
> data list window.  They worked in 6.1.2.1 but in 6.4, the data appears to be 
> in the HTML but the screens are not rendering.
>
> The EmployeeID isn’t populating.  The RSUPER isn’t expanding to drill 
> down
>
> The data that appears is different.
> Double-clicking a Responsible Super with a + beside it does NOT 
> expand/drilldown in 6.4.0.

Could you share your JSP page and the rendered Html?


> See attached Screenshots.

It didn't pass through


Regards
--
Łukasz

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

This e-mail and any attachments are for the intended recipient(s) only and may 
contain proprietary, confidential material. If you are not the intended 
recipient, (even if the email address above is yours) do not use, retain, copy 
or disclose any part of this communication or any attachment as it is strictly 
prohibited and may be unlawful. If you believe that you have received this 
e-mail in error, please notify the sender immediately and permanently delete. 
This email may be a personal communication from the sender and as such does not 
represent the views of the company. Thank you.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
        
<%@ include file="/common/includes/taglibs.jsp" %>
        
<%@ page import="prg.fac.app.div.struts.security.forms.MultiSubListForm2"%>
<%@ page import="prg.fac.app.div.business.txndto.EmployeeLoginTxn" %>
<%@ page import="prg.fac.app.div.business.txndto.SubordinateEmployeeTxn" %>
<%@ page import="prg.fac.app.div.struts.security.forms.MultiSubListForm2" %>
<%@ page import="prg.fac.app.div.struts.security.forms.FilterEmployeeListForm2" 
%>
<%@ page import="prg.fac.app.div.struts.utils.TAACollectionUtils" %>
<%@ page import="prg.fac.app.div.struts.utils.TAAEmployeeUtils" %>
<%@ page import="prg.fac.app.div.struts.utils.TAADateTimeUtils" %>
<%@ page import="prg.fac.app.div.business.common.ManagerDTOFactory"%>
<%@ page import="prg.fac.app.div.business.manager.basemgr.BaseEmployeeManager"%>
<%@ page 
import="prg.fac.app.div.business.manager.interfaces.BaseEmployeeManagerIF"%>
<%@ page 
import="prg.fac.app.div.business.manager.interfaces.SubordinateEmployeeIF"%>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.util.Collections" %>

<%
        // show blank pop-up screen if session destroyed
        if (session.isNew()  || (null == 
session.getAttribute(GlobalConstants.USER_OBJECT)) )
    {   
        session.invalidate();           
%>
 
<html>                                                                          
                                                                                
                                        
        <head>
                <meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1" />
                <title><s:text name="EmployeeList.legend" /></title>            
                                                        
        </head>
        <body>
                <script type="text/javascript">
                        window.close();
                </script>
        </body>

<% 
                return;
        }//  if (session.isNew()  || (null == 
session.getAttribute(GlobalConstants.USER_OBJECT)) )

        MultiSubListForm2 listForm = (MultiSubListForm2) 
session.getAttribute("subordinateListLevelForm");

        String txnCode = (String) 
session.getAttribute(GlobalConstants.CURRENT_TRANSACTION_NUMBER);
                                
        ManagerDTOFactory managerDTOFactory = ManagerDTOFactory.getInstance();
        SubordinateEmployeeIF subMgr = 
managerDTOFactory.createSubordinateEmployeeManager(session);                    
 
                                
        EmployeeLoginTxn userObj = (EmployeeLoginTxn) 
session.getAttribute(GlobalConstants.USER_OBJECT);
        
        if (      (null != request.getAttribute("event") )
              &&  
(!request.getAttribute("event").toString().equalsIgnoreCase("Down One Level"))
              &&  
(!request.getAttribute("event").toString().equalsIgnoreCase("Up One Level"))
           )
        {
%>
                <head>
                        <meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1" />
                        <title>
                                <s:text name="EmployeeList.legend" />
                        </title>                                                
                                        
                </head>
                <body>
                        <script type="text/javascript">
                                window.close();
                        </script>
                </body>
<%
                
                return;
        }

        // Bypass if using filter
    if ( null == session.getAttribute("usingMultiSubListFilter"))
    {
       session.removeAttribute(GlobalConstants.FILTERED_SUBORDINATES);
       session.removeAttribute("filterEmployeeListForm");  
       
       if (    (null == request.getAttribute("event"))
           ||  (      (null !=  request.getAttribute("event"))
                   && (     
request.getAttribute("event").toString().equalsIgnoreCase("Up One Level")
                        ||  
request.getAttribute("event").toString().equalsIgnoreCase("Down One Level")
                      )
               )
         )
       { 
                        Map groupedSubs = null;

                        if ((null == request.getAttribute("event")) && (null == 
listForm))
                        {
                                groupedSubs = 
subMgr.getGroupedEmployeeSubordinatesMap(userObj.getEmployeeId());
                                groupedSubs = 
subMgr.getPagedGroupedEmployeeSubordinatesMap(userObj.getEmployeeId(),userObj.getEmployeeId()
  );
                        }
                        else
                        {
                                if (null != listForm)
                                {
                                        
                                    if ((null != 
listForm.getRsuperIDToGetLevelFor()) && 
(listForm.getRsuperIDToGetLevelFor().length() > 0) ) 
                                        {
                                                groupedSubs = 
subMgr.getPagedGroupedEmployeeSubordinatesMap(userObj.getEmployeeId(), 
listForm.getRsuperIDToGetLevelFor() );
                                        }
                                        else
                                        {
                                                groupedSubs = 
subMgr.getGroupedEmployeeSubordinatesMap(userObj.getEmployeeId());
                                        }
                                    
                                }
                        }
                        
                        if (null == groupedSubs)
                        {
                                groupedSubs = new HashMap();
                        }
                        
                        request.setAttribute("useforselected",groupedSubs);
                        ArrayList tempArrayList  =   null;
                        
                        if (null ==  request.getAttribute("event"))
                        {
                                tempArrayList  =   (ArrayList) 
groupedSubs.get(userObj.getEmployeeId());
                        }
                        else
                        {
                                if ((null != listForm) && (null != 
listForm.getRsuperIDToGetLevelFor()) && 
(listForm.getRsuperIDToGetLevelFor().length() > 0) ) 
                                {
                                        tempArrayList  =   (ArrayList) 
groupedSubs.get( listForm.getRsuperIDToGetLevelFor() );
                                }
                        }
                        
                        int delEmp = -1;
                        
                        if ((null != tempArrayList)  && (tempArrayList.size() > 
0) )
                        {
                                boolean found = false;
                                int position = 0;
                                
                                for (int i = 0; i < tempArrayList.size(); i++ )
                                {
                                        String employeeId = 
((SubordinateEmployeeTxn)tempArrayList.get(i)).getEmployeeId();
                                        
                                        if ( ( ((String) 
userObj.getEmployeeName()).compareTo(((SubordinateEmployeeTxn)tempArrayList.get(i)).getEmployeeName())
 > 0 ) )
                                        {
                                                        position = i+1;
                                        }
                                        
                                        if 
(employeeId.equalsIgnoreCase(userObj.getEmployeeId()))
                                        {
                                                delEmp = i;
                                                found = true;
                                                break;
                                        }
                                }
                                
                           if (found  &&  ( null != listForm && (null != 
listForm.getRsuperIDsHierarchyPath()) && 
(listForm.getRsuperIDsHierarchyPath().length > 0 
                                                  && 
(!listForm.getRsuperIDToGetLevelFor().equalsIgnoreCase(userObj.getEmployeeId()) 
)
                                                )))
                                {
                                        tempArrayList.remove(delEmp);
                                }

                                if (!found &&  ((null == listForm) || ((null == 
listForm.getRsuperIDsHierarchyPath()) || 
(listForm.getRsuperIDsHierarchyPath().length == 0 )) ) )
                                {
                                        SubordinateEmployeeTxn userSelf = 
managerDTOFactory.createSubordinateEmployeeDTO();
                                        
userSelf.setEmployeeId(userObj.getEmployeeId());
                                        
userSelf.setResponsibleSupervisorId(userObj.getEmployeeId());
                                        
userSelf.setEmployeeName(userObj.getEmployeeName());
                                        
                                        if (position > tempArrayList.size())
                                        {
                                                position = tempArrayList.size();
                                        }
                                        
                                        tempArrayList.add(position,userSelf);
                                }
                                
                        }
   
                        
session.setAttribute(GlobalConstants.FILTERED_SUBORDINATES,new 
HashMap(groupedSubs));
                        }
        }// if ( null == session.getAttribute("usingMultiSubListFilter"))
                
        String loggedInId = userObj.getEmployeeId();
        ArrayList selectedSupers = new ArrayList();
        String[] selected = null;
        
        if (null != listForm)
        {
                if (null ==  request.getAttribute("event"))
                {
                        selected = listForm.getEmployeeId();
                }
        }

        if (null != selected)
        {    
                Map subs = (Map) request.getAttribute("useforselected");
        }

        // 14.1.1 - Added the following code block to get rid of cross site 
scripting issue. 12/01/2016 - JRL
        String rsuperIDsHierarchyPath;
        if ((null != listForm) && (null != 
listForm.getRsuperIDsHierarchyPath()))
        {
                rsuperIDsHierarchyPath = 
TAACollectionUtils.toString(listForm.getRsuperIDsHierarchyPath(),",");
        }
        else
        {
                rsuperIDsHierarchyPath = "";
        }
        pageContext.setAttribute("rsuperIDsHierarchyPath", 
rsuperIDsHierarchyPath);
        // End of 14.1.1
                
%>
        <head>
                <meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1" />
                <title>
                        <s:text name="EmployeeList.legend" />
                </title>                                                        
                                        
                <link rel="stylesheet" type="text/css" href="<s:url 
value='/common/css/taa-global.css'/>" />

                <!-- 14.1.1 - Added the following hidden element to get rid of 
cross site scripting issue. 12/01/2016 - JRL -->
                <s:hidden name="rSuperPathList" id="rSuperPathList" 
value="%{#attr.rsuperIDsHierarchyPath}"/>
                <!-- End of 14.1.1 - JRL  -->           
        
                <script type="text/javascript">
                        var dblclickInd = false;
                        
                        String.prototype.trim=function(){return 
this.replace(/^\s+/,'').replace(/\s+$/,'');}
  
                        function clearWindow()
                        {
                                document.forms[0].innerHTML = "";
                                document.forms[1].innerHTML = "";
                                this.focus();
                        }

                        window.onload=function()
                        {
                                window.resizeTo(430,330);
        
                                try
                                {
                                        initEmpIdList();
                            }
                                catch(e){}
    
                                try
                                {  
                                        if 
((window.opener.makeMultiSubListSingleMode == undefined )  || 
window.opener.makeMultiSubListSingleMode)
                                        {
                                                
document.getElementById("employeeId").multiple = false;         //alert("LINE 
256");
                                        }
                                }
                            catch(e)
                            {
                                //alert("LINE 261 - catch");            // Gets 
here.
                            }
    
                                document.forms[0].onsubmit=function()
                                {
                                        try
                                        {
                                                if (!dblclickInd)
                                                {
                                                        setEmpId(this);
                                        
                                                        if (manyEmployees &&  
((window.opener.makeMultiSubListSingleMode == undefined)  || 
window.opener.makeMultiSubListSingleMode))
                                                        {
                                                                
document.getElementById("employeeId").multiple = false;
                                                                return false;
                                                        }
                                                }
                                    } 
                                    catch (e){}
            
                                    window.onunload=function()
                                        {
                                                try
                                                {   //v2010.01 - Robert Cruz - 
20101110
                                                        if (!dblclickInd)
                                                        {   if 
(window.opener.document.forms[0].elements["employeeId"].onchange)
                                                            {
                                                                        
window.opener.document.forms[0].elements["employeeId"].onchange(true);
                                                                }
                                                                if 
(window.opener.document.forms[0].elements["employeeId"].value == "")
                                                                {
                                                                        
window.opener.document.forms[0].elements["employeeId"].focus();
                                                                    
window.opener.document.forms[0].elements["employeeId"].select();
                                                                }
                                                                else
                                                                {
                                                                        if 
(window.opener.putFocusOnFieldAfterEmpIdLink)
                                                                    { 
                                                                           
window.opener.putFocusOnFieldAfterEmpIdLink();
                                                                        }
                                                                }
                                                                
                                                        }
                                                }
                                                catch(e){}
                                                return false;
                                        }
                                }//document.forms[0].onsubmit=function()

                                document.forms[1].onreset=function()
                                {
                                        var elms = this.elements;
                
                                        for (var i=1;i<elms.length;i++)
                                        {
                                                var type = new 
String(elms[i].getAttribute("type"));
                                                
                                                if 
(!type.toLowerCase().match("submit") && !type.toLowerCase().match("reset"))
                                                {
                                                        elms[i].value = "";
                                                }
                                        }
                                        return false;
                                }//document.forms[1].onreset=function()

                                this.focus();

                                var initCrumbs = new Array();   
                                <%-- 14.1.1 - Commented out the following line, 
and replaced it with the line after, to get rid of cross site scripting issue. 
12/01/2016 - JRL --%>
                                <%-- var rSuperPathList = "<%= ((null != 
listForm) && (null != listForm.getRsuperIDsHierarchyPath()))? 
TAACollectionUtils.toString(listForm.getRsuperIDsHierarchyPath(),","):"" %>" 
--%>
                                var rSuperPathList = 
document.getElementById("rSuperPathList").value;
                                
                                if (rSuperPathList != "")
                                {
                                        rSuperPathList = 
rSuperPathList.substring(0,rSuperPathList.lastIndexOf(","));
                                        rSuperPathList = "\"" + 
rSuperPathList.replace(/,/g,"\",\"")  +  "\"";
                                }

                                if  (rSuperPathList.length > 1)
                                {
                                        initCrumbs = rSuperPathList.split(","); 
                                }

                                if (initCrumbs.length>0)
                                {
                                        initDrillDown(initCrumbs);
                                        selectFromWhatIsLeft();
                                }
        
                                if ( (window.opener.makeMultiSubListSingleMode 
== undefined) ||  window.opener.makeMultiSubListSingleMode)
                                {
                                        if 
(document.getElementById("employeeId").multiple == true)
                                        {
                                                
//setTimeout('setToSelectOne()',1000);
                                                setToSelectOne();
                                        }
                                }
                                else 
                                {
                                        if 
(document.getElementById("employeeId").multiple == false)
                                        {
                                                
//setTimeout('setToSelectMultiple()',1000);
                                                setToSelectMultiple();
                                        }
                                }

                                
setTimeout("document.getElementById('theBody').style.display=''",0);

                        }// window.onload=function()

                        var manyEmployees;
                        var bCancel=false;

                        function setEmpId(f)
                        {
                                manyEmployees = false;
                                var empIdObj = f.elements["employeeId"];
                                var selArray = new Array();
                                var selEmpNameArray = new Array();
                                
                                for (i=0; i<empIdObj.options.length; i++) 
                                {
                                        
                                    if (empIdObj.options[i].selected) 
                                    {
                                                if (bCancel  || 
empIdObj.options[i].text.toLowerCase().match("up one level") ) 
                                                {
                                                        
empIdObj.options[i].selected=false;
                                                }
                                                else
                                                {
                                                        
selArray.push(empIdObj.options[i].value);
                                                        var name = new 
String(empIdObj.options[i].text.substring(2,empIdObj.options[i].text.lastIndexOf("-")
 - 1));
                                                        
selEmpNameArray.push(name.trim());
                                                }
                                    }
                                }
        
                                if (selArray.length>1)
                                {  
                                        if 
(window.opener.makeMultiSubListSingleMode)
                                        {
                                                manyEmployees = true;
                                                selEmpNameArray.length = 0;
                                                
                                                for (i=0; 
i<empIdObj.options.length; i++) 
                                                {
                                                if 
(empIdObj.options[i].selected) 
                                                {
                                                                
empIdObj.options[i].selected = "";                                      
                                                }
                                                }
                                                
                                                return;
                                        }
                                
                                        
window.opener.document.forms[0].elements["employeeId"].maxLength=10;
                                        
window.opener.document.forms[0].elements["employeeId"].readOnly=true;
                                        
window.opener.document.forms[0].elements["employeeId"].className="readonly";
                                        
window.opener.document.forms[0].elements["employeeId"].value="*MULTIPLE*";
                                        
                                        if 
(window.opener.document.forms[0].elements["employeeName"])
                                        {
                                                
window.opener.document.forms[0].elements["employeeName"].value="*MULTIPLE*";
                                        }
                                }
                                else
                                {
                                        
window.opener.document.forms[0].elements["employeeId"].maxLength=6;
                                        
window.opener.document.forms[0].elements["employeeId"].readOnly=false;
                                        
window.opener.document.forms[0].elements["employeeId"].className="";
                                        
window.opener.document.forms[0].elements["employeeId"].value=selArray;
                                        
                                        if 
(window.opener.document.forms[0].elements["employeeName"])
                                        {
                                                
window.opener.document.forms[0].elements["employeeName"].value=selEmpNameArray;
                                        }
                                }
                        }//function setEmpId(f)

                        var empIdList=document.createElement("SELECT");
                        
                        if ( (window.opener.makeMultiSubListSingleMode == 
undefined)  || window.opener.makeMultiSubListSingleMode)
                        {
                                empIdList.removeAttribute("multiple");
                                empIdList.setAttribute("multiple",false);
                        }
                        else
                        {
                                empIdList.setAttribute("multiple",true);
                        }

                        var crumbs=new Array();
                        var empIdFields= new Array("employeeId");
                        var selOpts;

                        function initEmpIdList()
                        {
                                var which = "";
                                
                                for (var i=0;empIdFields.length>i;i++)
                                {
                                        if 
(document.getElementById(empIdFields[i])&&(new 
String(document.getElementById(empIdFields[i]).tagName)).match("SELECT"))
                                        {
                                                which = empIdFields[i];
                                        }
                                }
                                
                                if (which.length<1 || 
!document.getElementById(which) || document.getElementById(which).size==1)
                                {
                                        return false;
                                }
                                
                                var empId=document.getElementById(which);
                                
                                selOpts= new String(" ");
                                var 
optGroups=empId.getElementsByTagName("OPTGROUP");
                                
                                while (0<optGroups.length)
                                {
                                        var options=new Array();
                                        var 
tempOpts=optGroups[0].getElementsByTagName("OPTION");
                                        
                                        for (i=0;i<tempOpts.length;i++)
                                        {
                                                
options[i]=tempOpts[i].cloneNode(true);
                                                
options[i].selected=tempOpts[i].selected;
                                                
                                                if (options[i].selected)
                                                {
                                                        
selOpts+=options[i].value+" ";
                                                }
                                        }
                                        
                                        while (optGroups[0].hasChildNodes())
                                        {
                                                
optGroups[0].removeChild(optGroups[0].firstChild);
                                        }
                                        
                                        for (i=0;i<options.length;i++)
                                        {
                                                
optGroups[0].appendChild(options[i]);
                                        }
                                        
                                        if (empIdList.length==0)
                                        {
                                                crumbs.push(optGroups[0].id);
                                        }
                                        
                                        empIdList.appendChild(optGroups[0]);
                                }
                                
                                
empId.appendChild(empIdList.firstChild.cloneNode(true));
                        
                                var 
newOpts=empId.getElementsByTagName("OPTION");
                                
                                for (var i=0;i<newOpts.length;i++)
                                {
                                        if (selOpts.indexOf(newOpts[i].value) > 
-1)
                                        {
                                                newOpts[i].selected=true;
                                        }
                                }
                                
                                empId.ondblclick=function()
                                {
                                        dblclickInd = true;
                                        
                                        var 
empId=document.getElementById(which);
                                        var title="";
                                        
                                        if (empId.selectedIndex>=0)
                                        {
                                                
title=empId.options[empId.selectedIndex].title;
                                        }
                                        
                                        if (title.trim() == "")
                                        {
                                                dblclickInd = false;
                                                return;
                                        }
                                        
                                        drillDown(this.value,which);
                                }
                                        
                                empId.onkeyup=function(event)
                                {
                                        var 
key=(window.event)?window.event.keyCode:event.which;
                                        
                                        if(key==32)                             
                                                                                
// Key of 32 = space
                                        {
                                                drillDown(this.value,which);
                                        }
                                        else
                                        {
                                                scanList(key);
                                        }
                                }
                        }// function initEmpIdList()

                        function initDrillDown(initCrumbs)
                        { 
                                try
                                {
                                        var 
empIdInit=document.getElementById(empIdFields[0]);
                                        crumbs = initCrumbs;
                                        
                                        while (empIdInit.hasChildNodes())
                                        {
                                                
empIdInit.removeChild(empIdInit.firstChild);
                                        }
                                
                                        if (crumbs.length>1)
                                        {
                                                var 
upLevelInit=document.createElement("OPTION");
                                        
                                                
upLevelInit.value=crumbs[crumbs.length-1];
                                                upLevelInit.title="Up One 
Level";
                                                upLevelInit.text="Up One Level";
                                                upLevelInit.innerText="Up One 
Level";
                                                
empIdInit.appendChild(upLevelInit);             
                                        }
                                        
                                        var 
optGroupsInit=empIdList.getElementsByTagName("OPTGROUP");
                                        var newGroupInit;
                                        
newGroupInit=optGroupsInit[0].cloneNode(true);
                                        empIdInit.appendChild(newGroupInit);
                                        
                                }
                                catch(e){}
                        }//function initDrillDown(initCrumbs)

                        // Is this a dead function?  See the identical function 
immediatley below.  14.1.1
                        
//*********************************************************************************************************************
                        //  COMMENT-OUT THIS FUNCTION DURING TESTING and see if 
it matters...                                           BJC 14.1.1 11/18/2016
                        
//*********************************************************************************************************************
                        function drillDown(id,empIdField)
                        {
                                try
                                {
                                        if 
(!document.getElementById(empIdField))
                                        {
                                                return false;
                                        }
                                        
                                        var 
empId=document.getElementById(empIdField);
                                        var title="";
                                        
                                        if (empId.selectedIndex>=0)
                                        {
                                                
title=empId.options[empId.selectedIndex].title;
                                        }
                                        
                                        if (title.length<1)
                                        {
                                                return null;
                                        }
                                        
                                        if (title.toLowerCase().match("up"))
                                        {
                                                crumbs.pop();
                                                id=crumbs[crumbs.length-1];
                                        }
                                        else
                                        {
                                                crumbs.push(id);
                                        }
                                        
                                        while (empId.hasChildNodes())
                                        {
                                                
empId.removeChild(empId.firstChild);
                                        }
                                        
                                        if (crumbs.length>1)
                                        {
                                                var 
upLevel=document.createElement("OPTION");
                                                
upLevel.value=crumbs[crumbs.length-1];
                                                upLevel.title="Up One Level";
                                                upLevel.text="Up One Level";
                                                upLevel.innerText="Up One 
Level";
                                                empId.appendChild(upLevel);
                                        }
                                        
                                        var 
optGroups=empIdList.getElementsByTagName("OPTGROUP");
                                        var newGroup;
                                          
                                        for (i=0;i<optGroups.length;i++)
                                        {
                                                if (optGroups[i].id==id)
                                                {
                                                        
newGroup=optGroups[i].cloneNode(true);
                                                }
                                        }
                                                
                                        empId.appendChild(newGroup);
                                }
                                catch(e){}   
                        }
                        
                        function drillDown(id,empIdField)
                        {
                                try
                                {
                                        if 
(!document.getElementById(empIdField))
                                        {
                                                return false;
                                        }
                                        
                                        var 
empId=document.getElementById(empIdField);
                                        var title="";
                                        
                                        if (empId.selectedIndex>=0)
                                        {
                                                
title=empId.options[empId.selectedIndex].title;
                                        }
                                        
                                        if (title.length<1)
                                        {
                                                return null;
                                        }
                        
                                        if (title.toLowerCase().match("up"))
                                        {
                                                
document.getElementById("upOneLevel").click();
                                        }
                                        else
                                        {
                                                
document.getElementById("rsuperIDToGetLevelFor").value = id;                    
                        
                                                
document.getElementById("downOneLevel").click();
                                        }
                                }catch(e){}   
                        }
                        
                        function selectFromWhatIsLeft()
                        {
                                var manyEmployeesCount = 0;
                                var inputs;
                                try
                                {
                                        
inputs=document.getElementById("employeeId").options;
                        
                                        for(var i=0;i<inputs.length;i++)
                                        {
                                                        try
                                                        {
                                                                var isValue = 
new String(inputs[i].value);
                                                                var isSelected 
=  ((selOpts.indexOf(isValue) != -1)? true : false);
                                                                if (isSelected)
                                                                { 
                                                                        
manyEmployeesCount++;
                                                                        
inputs[i].selected = true;
                                                                }
                                                        }catch(e){}
                                        }
                                }catch(e){}
                                        
                                        
                                if ((manyEmployeesCount > 1) && ( 
(window.opener.makeMultiSubListSingleMode == undefined) ||   
window.opener.makeMultiSubListSingleMode))
                                {
                                        for (var i=0;i<inputs.length;i++)
                                        {
                                                if(inputs[i].selected)
                                                {
                                                        
inputs[i].selected=false; 
                                                }
                                        }
                                }               
                                else
                                {
                                        setTimeout('scroll()',1000);
                                }               
                        }

                        function checkForMultipleSelections()
                        {
                        
                                var manyEmployeesCount = 0;
                                var inputs;
                                try
                                {
                                        
inputs=document.getElementById("employeeId").options;
                        
                                        for(var i=0;i<inputs.length;i++)
                                        {
                                                if (inputs[i].selected && 
(inputs[i].selected == true))
                                                { 
                                                        manyEmployeesCount++;
                                                }
                                        }
                                }catch(e){}
                                
                                // clear all options 
                                if (manyEmployeesCount > 1)
                                {
                                        for(var i=0;i<inputs.length;i++)
                                        {
                                                if (inputs[i].selected && 
(inputs[i].selected == true))
                                                { 
                                                        inputs[i].selected = "";
                                                }
                                        }
                                }
                        }

                        function setToSelectOne()
                        {
                                
document.getElementById("employeeId").multiple=false;
                                document.getElementById("employeeId").onchange 
= checkForMultipleSelections;
                        }

                        function setToSelectMultiple()
                        {
                                
document.getElementById("employeeId").multiple=true;
                        }

                        function scroll()
                        {
                                try
                                {
                                        var 
opt=document.getElementById("employeeId").options;
                                        
                                        for (var i=0;i<opt.length;i++)
                                        {
                                                if(opt[i].selected)
                                                {
                                                        opt[i].selected=true; 
                                                        return;
                                                }
                                        }
                                }catch(e){}
                        }

                        var search=new String("");

                        function scanList(keyCode)
                        {
                                var key = String.fromCharCode(keyCode);
                                var reg=/[\w\d]/;
                                
                                if (reg.test(key) && keyCode != 13)
                                {
                                        search+=key;
                                        var list = 
document.getElementsByTagName("SELECT")[0];
                                        var found = false;
                                        var repeat = false;
                                        
                                        for (var i=0; i < list.options.length; 
i++)
                                        {
                                                var label = new 
String(list.options[i].text);
                                                
                                                while 
(!reg.test(label.charAt(0)))
                                                {
                                                        label = 
label.substring(1);
                                                }
                                                
                                                if 
(label.substring(0,search.length) == search && !found)
                                                {
                                                        manyEmployeesCount++;
                                                        
list.options[i].selected = "selected";
                                                        found = true;
                                                }
                                                else
                                                {
                                                        
list.options[i].selected = "";
                                                }
                                                
                                                if (i == list.options.length-1 
&& !found && !repeat)
                                                {
                                                        search = key;
                                                        i=0;
                                                        repeat=true;
                                                }
                                        }
                                }
                                else if (keyCode == 13)
                                {
                                        setEmpId(document.forms[0]);
                                }
                                else
                                {
                                        search = "";
                                }
                        }
                        
                        
                        // This function gets called when the cancel button 
gets clicked.  Adding this function for release 14.1.1
                        function cancelButtonClicked()
                        {
                                <%-- TDR-14.1.2-0244. Variable was bcancel 
instead of bCancel, so Cancel didn't work. 6/13/2017 - JRL. --%>
                                bCancel = true;
                        }
                </script>
        </head>
        
        <body id="theBody" style="display:none;"> 
                <s:if test="#session.FILTERED_SUBORDINATES != null" >
                        <%
                                HashMap groupedSubs = (HashMap) 
session.getAttribute(GlobalConstants.FILTERED_SUBORDINATES);
                        groupedSubs = (HashMap) groupedSubs.clone();
                        ArrayList direct = (ArrayList) 
groupedSubs.get(loggedInId);
                        groupedSubs.remove(loggedInId);
                        pageContext.setAttribute("loggedInId",loggedInId);
                        pageContext.setAttribute("direct",direct);
                        pageContext.setAttribute("groupedSubs",groupedSubs);
                        
                        %>
                        
                        <div class="center">  
                                <s:form action="/SubordinateListLevel2" > 
                                        <fieldset>
                                                <legend><s:text 
name="EmployeeList.legend" /></legend>
                                                <div class="left">
                                                        <label 
for="employeeIds"></label> 
                                                        <s:submit name="submit" 
id="upOneLevel" value="Up One Level" tabindex="1" />
                                                        <select 
name="employeeId" id="employeeId" size="8" tabindex="1">
                                                        
                                                        <s:if 
test="#session.FILTERED_SUBORDINATES.size < 1" >
                                                        <optgroup 
label='<s:text name="TemporaryAssignment.error.noSupervisors" />'>
                                                        </optgroup>
                                                    </s:if>
                                                                
                                                        <s:if 
test="#session.FILTERED_SUBORDINATES.size > 0" >
                                         
                                                                <%
                                        
                                                                
FilterEmployeeListForm2 felf = (FilterEmployeeListForm2) 
session.getAttribute("filterEmployeeListForm");
                                                                
                                                                if (null != 
felf && (null != felf.getSupervisor())  && felf.getSupervisor().trim().length() 
> 0)
                                                                {
                                                                        
loggedInId = felf.getSupervisor();
                                                                }               
                                                
                                                                
                                                                %>
                                                                
                                                                        <s:if 
test="#attr.direct.size > 0" >
                                                                        
                                                                                
<optgroup id="<s:property value='%{#attr.loggedInId}' />" 
                                                                                
                  label="<s:property value='%{#attr.loggedInId}' />">
                                                                                
<s:iterator var="hzEmployee" value="%{#attr.direct}" >
                                                                                
        <s:if test="#hzEmployee.parent == true" >
                                                                                
                                                
                                                                                
                <%-- All transactions EXCEPT 'W08' --%>
                                                                                
                <s:if test="null != #session.CURRENT_TRANSACTION_NUMBER && 
                                                                                
                                        
!#session.CURRENT_TRANSACTION_NUMBER.equalsIgnoreCase('W08') " >
                                                                                
                        <option value="<s:property 
value='%{#hzEmployee.employeeId}'/>" 
                                                                                
                                        title="Show Subordinates">              
                                                                                
                                                                                
                        + <s:property value="#hzEmployee.employeeName" /> -
                                                                                
                          <s:property value="#hzEmployee.employeeId" />
                                                                                
                </option>
                                                                                
        </s:if>
                                                                                
        
                                                                                
                <s:else> <%--  This is the Labor Verify (W08) transaction here. 
--%>
                                                                                
                
                                                                                
                        <%--  This logic excludes the Logged In employee, but 
includes all others. --%>
                                                                                
                        <s:if 
test="!#session.USER_OBJECT.employeeId.equalsIgnoreCase(#hzEmployee.employeeId)">
                                                                                
                                        <option value="<s:property 
value='%{#hzEmployee.employeeId}'/>" 
                                                                                
                                                        class="" title="Show 
Subordinates">
                                                                                
                                                + <s:property 
value="#hzEmployee.employeeName" /> - 
                                                                                
                                                  <s:property 
value="#hzEmployee.employeeId" />
                                                                                
                                </option>
                                                                                
                                </s:if>
                                                                                
                </s:else>
                                                                                
        
                                                                                
        </s:if> <%-- parent = true --%>
                                                                                
        <s:else><%-- parent = false --%> 
                                
                                                                                
                <%-- All transactions EXCEPT 'W08' --%>
                                                                                
                <s:if test="null != #session.CURRENT_TRANSACTION_NUMBER && 
                                                                                
                                        
!#session.CURRENT_TRANSACTION_NUMBER.equalsIgnoreCase('W08') " >
                                                                                
                        <option value="<s:property 
value='%{#hzEmployee.employeeId}'/>" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                <s:property value="#hzEmployee.employeeName" /> 
- 
                                                                                
                                <s:property value="#hzEmployee.employeeId" />
                                                                                
                </option>
                                                                                
                </s:if>
                                                                                
                
                                                                                
                <s:else> <%--  This is the Labor Verify (W08) transaction here. 
--%>
                                                                                
                
                                                                                
                        <%--  This logic excludes the Logged In employee, but 
includes all others. --%>
                                                                                
                        <s:if 
test="!#session.USER_OBJECT.employeeId.equalsIgnoreCase(#hzEmployee.employeeId)">
                                                                                
                                <option value="<s:property 
value='%{#hzEmployee.employeeId}'/>" >
                                                                                
                                        &nbsp;&nbsp; 
                                                                                
                                        <s:property 
value="#hzEmployee.employeeName" /> - 
                                                                                
                                        <s:property 
value="#hzEmployee.employeeId" />
                                                                                
                        </option>
                                                                                
                        </s:if>
                                                                                
                        
                                                                                
                </s:else>
                                                                                
                
                                                                                
        </s:else>
                                                                          
                                                                        
</s:iterator>   
                                                                                
                                                                                
</optgroup>
                                                                                
                                                                         
</s:if>        
                                                                         
                                                                         
<s:else>  <%-- direct size < 1 --%>
                                                                        
                                                                                
<s:if test="#attr.groupedSubs.size > 0" >
                                
                                                                                
        <s:iterator var="subEmployees" value="%{#attr.groupedSubs}">    
                                                                                
                                                                
                                                                                
                <optgroup id="<s:property value='%{#subEmployees.key}'/>" 
                                                                                
                                  label="<s:property 
value='%{#subEmployees.key}'/>">
                                
                                                                                
                        <s:iterator var="subEmployee" 
value="%{#subEmployees.value}">   
                                                                                
                        
                                                                                
                                <s:if test="#subEmployee.parent == true">
                                
                                                                                
                                                <s:if test="null != 
#session.CURRENT_TRANSACTION_NUMBER && 
                                                                                
                                                          
!#session.CURRENT_TRANSACTION_NUMBER.equalsIgnoreCase('W08')">
                                                                                
                                                          
                                                                                
                                                        <%-- All transactions 
EXCEPT 'W08' --%> 
                                                                                
                                                        <option 
value="<s:property value='%{#subEmployee.employeeId}'/>" 
                                                                                
                                                                        
class="" title="Show Subordinates">
                                                                                
                                                                + <s:property 
value="#subEmployee.employeeName" /> - 
                                                                                
                                                                  <s:property 
value="#subEmployee.employeeId" />
                                                                                
                                                </option>
                                                                                
                                        </s:if>
                                                                                
                                        
                                                                                
                                        <s:else><%--  This is the Labor Verify 
(W08) transaction here. --%>
                                                                                
                                        
                                                                                
                                                <s:if 
test="!#session.USER_OBJECT.employeeId.equalsIgnoreCase(
                                                                                
                                                                    
#subEmployee.employeeId)">
                                                                                
                                                                        
                                                                                
                                                        <option 
value="<s:property value='%{#subEmployee.employeeId}'/>" 
                                                                                
                                                                class="" 
title="Show Subordinates">
                                                                                
                                                        + <s:property 
value="#subEmployee.employeeName" /> - 
                                                                                
                                                          <s:property 
value="#subEmployee.employeeId" />
                                                                                
                                        </option>
                                                                                
                                        
                                                                                
                                                </s:if>
                                                                                
                                        </s:else>
                                                                                
                                        
                                                                                
                                </s:if> 
                                                                                
                                <s:else><%-- parent == false --%>
                                        
                                                                                
                                        <s:if test="null != 
#session.CURRENT_TRANSACTION_NUMBER && 
                                                                                
                                                                
!#session.CURRENT_TRANSACTION_NUMBER.equalsIgnoreCase('W08')">
                                                                                
                                           <%-- All transactions EXCEPT 'W08' 
--%>                                                                            
             
                                                                                
                                                <option value="<s:property 
value='%{#subEmployee.employeeId}'/>">
                                                                                
                                                        &nbsp;&nbsp; 
                                                                                
                                                        <s:property 
value="#subEmployee.employeeName" /> - 
                                                                                
                                                <s:property 
value="#subEmployee.employeeId" />
                                                                                
                                        </option>
                                                                                
                                        </s:if>
                                                                                
                                        
                                                                                
                                        <s:else><%--  This is the Labor Verify 
(W08) transaction here. --%>
                                                                                
                                                <s:if 
test="!#session.USER_OBJECT.employeeId.equalsIgnoreCase(
                                                                                
                                                                        
#subEmployee.employeeId)">
                                                                                
                                                        <option 
value="<s:property value='%{#subEmployee.employeeId}'/>">
                                                                                
                                                        &nbsp;&nbsp; 
                                                                                
                                                        <s:property 
value="#subEmployee.employeeName" /> - 
                                                                                
                                                <s:property 
value="#subEmployee.employeeId" />
                                                                                
                                        </option>
                                                                                
                                                </s:if>
                                                                                
                                                
                                                                                
                                        </s:else>
                                                                                
                                        
                                                                                
                                </s:else> 
                                                                                
                                
                                                                                
                </s:iterator>  <%-- subEmployee --%>    
                                                                                
                        
                                                                                
                </optgroup>                     
                                                                                
                
                                                                                
        </s:iterator>             <%-- subEmployees --%>
                                                                                
                        
                                                                                
</s:if>
                                                                                
        
                                                                         
</s:else>
                                                                         
                                                                </s:if>         
                                                                
                                                         </select>      
                                                </div>
                                                
                                                <div class="right smallcolumn 
center">
                                                        <span 
id="downOneLevelDiv"  style="display:none; position:absolute">
                                                                <s:hidden 
name="rsuperIDToGetLevelFor" id="rsuperIDToGetLevelFor" 
                                                                                
  value="%{#session.subordinateListLevelForm.rsuperIDToGetLevelFor}" />         
                                                                <s:submit 
name="submit" id="downOneLevel" value="Down One Level" tabindex="6" />
                                                        </span>
                                                        <br/><br/>
                                                        
                                                        <s:submit name="submit" 
id="submit" value="Submit" tabindex="6" />
                                                        <br/><br/>
                                                        <s:submit name="submit" 
id="cancel" value="Cancel" tabindex="7" onclick="cancelButtonClicked()" />
                                                </div>
                                                
                                        </fieldset>
                                </s:form>       

                                <s:form 
action="/FilterSubordinateEmployeeListLevel2" >
                                        <fieldset>
                                                <legend>Optional - Filter 
Employee List By:</legend>
                                                <div class="left em7">
                                                        <label 
for="supervisor">Supervisor ID</label>                           
                                                        <s:if test="null != 
#session.FilterEmployeeListLevel_RSuper" >
                                                                <s:textfield 
name="supervisor" id="supervisor" size="8" maxlength="6" tabindex="2" 
                                                                                
         value="%{#session.FilterEmployeeListLevel_RSuper}"/>
                                                        </s:if>
                                                        <s:else>
                                                                <s:textfield 
name="supervisor" id="supervisor" size="8" maxlength="6" tabindex="2" />
                                                        </s:else>
                                                        <br />
                                
                                                        <label 
for="rcc">RCC</label>
                                                        <s:if test="null != 
#session.FilterEmployeeListLevel_RCC" >
                                                                <s:textfield 
name="rcc" id="rcc" size="8" maxlength="5" tabindex="3" 
                                                                                
         value="%{#session.FilterEmployeeListLevel_RCC}" />
                                                        </s:if>
                                                        <s:else>
                                                                <s:textfield 
name="rcc" id="rcc" size="8" maxlength="5" tabindex="3" />
                                                        </s:else>
                                                        <br />
                                        
                                                        <label 
for="shift">Shift</label>
                                                        <select name="shift" 
id="shift" size="1" tabindex="4" >
                                                                <option 
value="">&nbsp;</option>
                                                                                
                
                                                                <s:if 
test="null != #session.FilterEmployeeListLevel_Shift && 
                                                                                
        #session.FilterEmployeeListLevel_Shift.equalsIgnoreCase('1')" >
                                                                        <option 
value="1" selected >1</option>
                                                                </s:if>
                                                                <s:else>
                                                                        <option 
value="1">1</option>
                                                                </s:else>
                        
                                                                <s:if 
test="null != #session.FilterEmployeeListLevel_Shift && 
                                                                                
        #session.FilterEmployeeListLevel_Shift.equalsIgnoreCase('2')" >
                                                                        <option 
value="2" selected >2</option>
                                                                </s:if>
                                                                <s:else>
                                                                        <option 
value="2">2</option>
                                                                </s:else>
                        
                                                                <s:if 
test="null != #session.FilterEmployeeListLevel_Shift && 
                                                                                
   #session.FilterEmployeeListLevel_Shift.equalsIgnoreCase('3')" >
                                                                        <option 
value="3" selected >3</option>
                                                                </s:if>
                                                                <s:else>
                                                                        <option 
value="3">3</option>
                                                                </s:else>
                                                        </select>
                                                </div>
                                
                                                <div class="right smallcolumn 
center">
                                                        <s:submit name="submit" 
value=" Filter " tabindex="5" />
                                                        <br /><br />
                                                        <s:submit name="submit" 
value=" Clear " tabindex="6" />
                                                </div>
                                        </fieldset>
                                </s:form>
                        </div>
                </s:if>
                                        
                <s:if test="#session.FILTERED_SUBORDINATES == null" >
                        <h3><s:text name="EmployeeList.error.noEmployees" 
/></h3>
                </s:if>

                <script type="text/javascript">
                        document.getElementById("upOneLevel").style.display = 
"none";
                        
document.getElementById("downOneLevelDiv").style.display = "none";
                </script>
        </body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
        







                <!-- Struts 2.5 upgrade.  2/4/2020 - BCasey -->
        



















        <head>
                <meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1" />
                <title>
                        Select an Employee
                </title>                                                        
                                        
                <link rel="stylesheet" type="text/css" 
href="/taa/common/css/taa-global.css" />

                <!-- 14.1.1 - Added the following hidden element to get rid of 
cross site scripting issue. 12/01/2016 - JRL -->
                <input type="hidden" name="rSuperPathList" value="" 
id="rSuperPathList"/>
                <!-- End of 14.1.1 - JRL  -->           
        
                <script type="text/javascript">
                        var dblclickInd = false;
                        
                        String.prototype.trim=function(){return 
this.replace(/^\s+/,'').replace(/\s+$/,'');}
  
                        function clearWindow()
                        {
                                document.forms[0].innerHTML = "";
                                document.forms[1].innerHTML = "";
                                this.focus();
                        }

                        window.onload=function()
                        {
                                window.resizeTo(430,330);
        
                                try
                                {
                                        initEmpIdList();
                            }
                                catch(e){}
    
                                try
                                {  
                                        if 
((window.opener.makeMultiSubListSingleMode == undefined )  || 
window.opener.makeMultiSubListSingleMode)
                                        {
                                                
document.getElementById("employeeId").multiple = false;         //alert("LINE 
256");
                                        }
                                }
                            catch(e)
                            {
                                //alert("LINE 261 - catch");            // Gets 
here.
                            }
    
                                document.forms[0].onsubmit=function()
                                {
                                        try
                                        {
                                                if (!dblclickInd)
                                                {
                                                        setEmpId(this);
                                        
                                                        if (manyEmployees &&  
((window.opener.makeMultiSubListSingleMode == undefined)  || 
window.opener.makeMultiSubListSingleMode))
                                                        {
                                                                
document.getElementById("employeeId").multiple = false;
                                                                return false;
                                                        }
                                                }
                                    } 
                                    catch (e){}
            
                                    window.onunload=function()
                                        {
                                                try
                                                {   //v2010.01 - Robert Cruz - 
20101110
                                                        if (!dblclickInd)
                                                        {   if 
(window.opener.document.forms[0].elements["employeeId"].onchange)
                                                            {
                                                                        
window.opener.document.forms[0].elements["employeeId"].onchange(true);
                                                                }
                                                                if 
(window.opener.document.forms[0].elements["employeeId"].value == "")
                                                                {
                                                                        
window.opener.document.forms[0].elements["employeeId"].focus();
                                                                    
window.opener.document.forms[0].elements["employeeId"].select();
                                                                }
                                                                else
                                                                {
                                                                        if 
(window.opener.putFocusOnFieldAfterEmpIdLink)
                                                                    { 
                                                                           
window.opener.putFocusOnFieldAfterEmpIdLink();
                                                                        }
                                                                }
                                                                
                                                        }
                                                }
                                                catch(e){}
                                                return false;
                                        }
                                }//document.forms[0].onsubmit=function()

                                document.forms[1].onreset=function()
                                {
                                        var elms = this.elements;
                
                                        for (var i=1;i<elms.length;i++)
                                        {
                                                var type = new 
String(elms[i].getAttribute("type"));
                                                
                                                if 
(!type.toLowerCase().match("submit") && !type.toLowerCase().match("reset"))
                                                {
                                                        elms[i].value = "";
                                                }
                                        }
                                        return false;
                                }//document.forms[1].onreset=function()

                                this.focus();

                                var initCrumbs = new Array();   
                                
                                
                                var rSuperPathList = 
document.getElementById("rSuperPathList").value;
                                
                                if (rSuperPathList != "")
                                {
                                        rSuperPathList = 
rSuperPathList.substring(0,rSuperPathList.lastIndexOf(","));
                                        rSuperPathList = "\"" + 
rSuperPathList.replace(/,/g,"\",\"")  +  "\"";
                                }

                                if  (rSuperPathList.length > 1)
                                {
                                        initCrumbs = rSuperPathList.split(","); 
                                }

                                if (initCrumbs.length>0)
                                {
                                        initDrillDown(initCrumbs);
                                        selectFromWhatIsLeft();
                                }
        
                                if ( (window.opener.makeMultiSubListSingleMode 
== undefined) ||  window.opener.makeMultiSubListSingleMode)
                                {
                                        if 
(document.getElementById("employeeId").multiple == true)
                                        {
                                                
//setTimeout('setToSelectOne()',1000);
                                                setToSelectOne();
                                        }
                                }
                                else 
                                {
                                        if 
(document.getElementById("employeeId").multiple == false)
                                        {
                                                
//setTimeout('setToSelectMultiple()',1000);
                                                setToSelectMultiple();
                                        }
                                }

                                
setTimeout("document.getElementById('theBody').style.display=''",0);

                        }// window.onload=function()

                        var manyEmployees;
                        var bCancel=false;

                        function setEmpId(f)
                        {
                                manyEmployees = false;
                                var empIdObj = f.elements["employeeId"];
                                var selArray = new Array();
                                var selEmpNameArray = new Array();
                                
                                for (i=0; i<empIdObj.options.length; i++) 
                                {
                                        
                                    if (empIdObj.options[i].selected) 
                                    {
                                                if (bCancel  || 
empIdObj.options[i].text.toLowerCase().match("up one level") ) 
                                                {
                                                        
empIdObj.options[i].selected=false;
                                                }
                                                else
                                                {
                                                        
selArray.push(empIdObj.options[i].value);
                                                        var name = new 
String(empIdObj.options[i].text.substring(2,empIdObj.options[i].text.lastIndexOf("-")
 - 1));
                                                        
selEmpNameArray.push(name.trim());
                                                }
                                    }
                                }
        
                                if (selArray.length>1)
                                {  
                                        if 
(window.opener.makeMultiSubListSingleMode)
                                        {
                                                manyEmployees = true;
                                                selEmpNameArray.length = 0;
                                                
                                                for (i=0; 
i<empIdObj.options.length; i++) 
                                                {
                                                if 
(empIdObj.options[i].selected) 
                                                {
                                                                
empIdObj.options[i].selected = "";                                      
                                                }
                                                }
                                                
                                                return;
                                        }
                                
                                        
window.opener.document.forms[0].elements["employeeId"].maxLength=10;
                                        
window.opener.document.forms[0].elements["employeeId"].readOnly=true;
                                        
window.opener.document.forms[0].elements["employeeId"].className="readonly";
                                        
window.opener.document.forms[0].elements["employeeId"].value="*MULTIPLE*";
                                        
                                        if 
(window.opener.document.forms[0].elements["employeeName"])
                                        {
                                                
window.opener.document.forms[0].elements["employeeName"].value="*MULTIPLE*";
                                        }
                                }
                                else
                                {
                                        
window.opener.document.forms[0].elements["employeeId"].maxLength=6;
                                        
window.opener.document.forms[0].elements["employeeId"].readOnly=false;
                                        
window.opener.document.forms[0].elements["employeeId"].className="";
                                        
window.opener.document.forms[0].elements["employeeId"].value=selArray;
                                        
                                        if 
(window.opener.document.forms[0].elements["employeeName"])
                                        {
                                                
window.opener.document.forms[0].elements["employeeName"].value=selEmpNameArray;
                                        }
                                }
                        }//function setEmpId(f)

                        var empIdList=document.createElement("SELECT");
                        
                        if ( (window.opener.makeMultiSubListSingleMode == 
undefined)  || window.opener.makeMultiSubListSingleMode)
                        {
                                empIdList.removeAttribute("multiple");
                                empIdList.setAttribute("multiple",false);
                        }
                        else
                        {
                                empIdList.setAttribute("multiple",true);
                        }

                        var crumbs=new Array();
                        var empIdFields= new Array("employeeId");
                        var selOpts;

                        function initEmpIdList()
                        {
                                var which = "";
                                
                                for (var i=0;empIdFields.length>i;i++)
                                {
                                        if 
(document.getElementById(empIdFields[i])&&(new 
String(document.getElementById(empIdFields[i]).tagName)).match("SELECT"))
                                        {
                                                which = empIdFields[i];
                                        }
                                }
                                
                                if (which.length<1 || 
!document.getElementById(which) || document.getElementById(which).size==1)
                                {
                                        return false;
                                }
                                
                                var empId=document.getElementById(which);
                                
                                selOpts= new String(" ");
                                var 
optGroups=empId.getElementsByTagName("OPTGROUP");
                                
                                while (0<optGroups.length)
                                {
                                        var options=new Array();
                                        var 
tempOpts=optGroups[0].getElementsByTagName("OPTION");
                                        
                                        for (i=0;i<tempOpts.length;i++)
                                        {
                                                
options[i]=tempOpts[i].cloneNode(true);
                                                
options[i].selected=tempOpts[i].selected;
                                                
                                                if (options[i].selected)
                                                {
                                                        
selOpts+=options[i].value+" ";
                                                }
                                        }
                                        
                                        while (optGroups[0].hasChildNodes())
                                        {
                                                
optGroups[0].removeChild(optGroups[0].firstChild);
                                        }
                                        
                                        for (i=0;i<options.length;i++)
                                        {
                                                
optGroups[0].appendChild(options[i]);
                                        }
                                        
                                        if (empIdList.length==0)
                                        {
                                                crumbs.push(optGroups[0].id);
                                        }
                                        
                                        empIdList.appendChild(optGroups[0]);
                                }
                                
                                
empId.appendChild(empIdList.firstChild.cloneNode(true));
                        
                                var 
newOpts=empId.getElementsByTagName("OPTION");
                                
                                for (var i=0;i<newOpts.length;i++)
                                {
                                        if (selOpts.indexOf(newOpts[i].value) > 
-1)
                                        {
                                                newOpts[i].selected=true;
                                        }
                                }
                                
                                empId.ondblclick=function()
                                {
                                        dblclickInd = true;
                                        
                                        var 
empId=document.getElementById(which);
                                        var title="";
                                        
                                        if (empId.selectedIndex>=0)
                                        {
                                                
title=empId.options[empId.selectedIndex].title;
                                        }
                                        
                                        if (title.trim() == "")
                                        {
                                                dblclickInd = false;
                                                return;
                                        }
                                        
                                        drillDown(this.value,which);
                                }
                                        
                                empId.onkeyup=function(event)
                                {
                                        var 
key=(window.event)?window.event.keyCode:event.which;
                                        
                                        if(key==32)                             
                                                                                
// Key of 32 = space
                                        {
                                                drillDown(this.value,which);
                                        }
                                        else
                                        {
                                                scanList(key);
                                        }
                                }
                        }// function initEmpIdList()

                        function initDrillDown(initCrumbs)
                        { 
                                try
                                {
                                        var 
empIdInit=document.getElementById(empIdFields[0]);
                                        crumbs = initCrumbs;
                                        
                                        while (empIdInit.hasChildNodes())
                                        {
                                                
empIdInit.removeChild(empIdInit.firstChild);
                                        }
                                
                                        if (crumbs.length>1)
                                        {
                                                var 
upLevelInit=document.createElement("OPTION");
                                        
                                                
upLevelInit.value=crumbs[crumbs.length-1];
                                                upLevelInit.title="Up One 
Level";
                                                upLevelInit.text="Up One Level";
                                                upLevelInit.innerText="Up One 
Level";
                                                
empIdInit.appendChild(upLevelInit);             
                                        }
                                        
                                        var 
optGroupsInit=empIdList.getElementsByTagName("OPTGROUP");
                                        var newGroupInit;
                                        
newGroupInit=optGroupsInit[0].cloneNode(true);
                                        empIdInit.appendChild(newGroupInit);
                                        
                                }
                                catch(e){}
                        }//function initDrillDown(initCrumbs)

                        // Is this a dead function?  See the identical function 
immediatley below.  14.1.1
                        
//*********************************************************************************************************************
                        //  COMMENT-OUT THIS FUNCTION DURING TESTING and see if 
it matters...                                           BJC 14.1.1 11/18/2016
                        
//*********************************************************************************************************************
                        function drillDown(id,empIdField)
                        {
                                try
                                {
                                        if 
(!document.getElementById(empIdField))
                                        {
                                                return false;
                                        }
                                        
                                        var 
empId=document.getElementById(empIdField);
                                        var title="";
                                        
                                        if (empId.selectedIndex>=0)
                                        {
                                                
title=empId.options[empId.selectedIndex].title;
                                        }
                                        
                                        if (title.length<1)
                                        {
                                                return null;
                                        }
                                        
                                        if (title.toLowerCase().match("up"))
                                        {
                                                crumbs.pop();
                                                id=crumbs[crumbs.length-1];
                                        }
                                        else
                                        {
                                                crumbs.push(id);
                                        }
                                        
                                        while (empId.hasChildNodes())
                                        {
                                                
empId.removeChild(empId.firstChild);
                                        }
                                        
                                        if (crumbs.length>1)
                                        {
                                                var 
upLevel=document.createElement("OPTION");
                                                
upLevel.value=crumbs[crumbs.length-1];
                                                upLevel.title="Up One Level";
                                                upLevel.text="Up One Level";
                                                upLevel.innerText="Up One 
Level";
                                                empId.appendChild(upLevel);
                                        }
                                        
                                        var 
optGroups=empIdList.getElementsByTagName("OPTGROUP");
                                        var newGroup;
                                          
                                        for (i=0;i<optGroups.length;i++)
                                        {
                                                if (optGroups[i].id==id)
                                                {
                                                        
newGroup=optGroups[i].cloneNode(true);
                                                }
                                        }
                                                
                                        empId.appendChild(newGroup);
                                }
                                catch(e){}   
                        }
                        
                        function drillDown(id,empIdField)
                        {
                                try
                                {
                                        if 
(!document.getElementById(empIdField))
                                        {
                                                return false;
                                        }
                                        
                                        var 
empId=document.getElementById(empIdField);
                                        var title="";
                                        
                                        if (empId.selectedIndex>=0)
                                        {
                                                
title=empId.options[empId.selectedIndex].title;
                                        }
                                        
                                        if (title.length<1)
                                        {
                                                return null;
                                        }
                        
                                        if (title.toLowerCase().match("up"))
                                        {
                                                
document.getElementById("upOneLevel").click();
                                        }
                                        else
                                        {
                                                
document.getElementById("rsuperIDToGetLevelFor").value = id;                    
                        
                                                
document.getElementById("downOneLevel").click();
                                        }
                                }catch(e){}   
                        }
                        
                        function selectFromWhatIsLeft()
                        {
                                var manyEmployeesCount = 0;
                                var inputs;
                                try
                                {
                                        
inputs=document.getElementById("employeeId").options;
                        
                                        for(var i=0;i<inputs.length;i++)
                                        {
                                                        try
                                                        {
                                                                var isValue = 
new String(inputs[i].value);
                                                                var isSelected 
=  ((selOpts.indexOf(isValue) != -1)? true : false);
                                                                if (isSelected)
                                                                { 
                                                                        
manyEmployeesCount++;
                                                                        
inputs[i].selected = true;
                                                                }
                                                        }catch(e){}
                                        }
                                }catch(e){}
                                        
                                        
                                if ((manyEmployeesCount > 1) && ( 
(window.opener.makeMultiSubListSingleMode == undefined) ||   
window.opener.makeMultiSubListSingleMode))
                                {
                                        for (var i=0;i<inputs.length;i++)
                                        {
                                                if(inputs[i].selected)
                                                {
                                                        
inputs[i].selected=false; 
                                                }
                                        }
                                }               
                                else
                                {
                                        setTimeout('scroll()',1000);
                                }               
                        }

                        function checkForMultipleSelections()
                        {
                        
                                var manyEmployeesCount = 0;
                                var inputs;
                                try
                                {
                                        
inputs=document.getElementById("employeeId").options;
                        
                                        for(var i=0;i<inputs.length;i++)
                                        {
                                                if (inputs[i].selected && 
(inputs[i].selected == true))
                                                { 
                                                        manyEmployeesCount++;
                                                }
                                        }
                                }catch(e){}
                                
                                // clear all options 
                                if (manyEmployeesCount > 1)
                                {
                                        for(var i=0;i<inputs.length;i++)
                                        {
                                                if (inputs[i].selected && 
(inputs[i].selected == true))
                                                { 
                                                        inputs[i].selected = "";
                                                }
                                        }
                                }
                        }

                        function setToSelectOne()
                        {
                                
document.getElementById("employeeId").multiple=false;
                                document.getElementById("employeeId").onchange 
= checkForMultipleSelections;
                        }

                        function setToSelectMultiple()
                        {
                                
document.getElementById("employeeId").multiple=true;
                        }

                        function scroll()
                        {
                                try
                                {
                                        var 
opt=document.getElementById("employeeId").options;
                                        
                                        for (var i=0;i<opt.length;i++)
                                        {
                                                if(opt[i].selected)
                                                {
                                                        opt[i].selected=true; 
                                                        return;
                                                }
                                        }
                                }catch(e){}
                        }

                        var search=new String("");

                        function scanList(keyCode)
                        {
                                var key = String.fromCharCode(keyCode);
                                var reg=/[\w\d]/;
                                
                                if (reg.test(key) && keyCode != 13)
                                {
                                        search+=key;
                                        var list = 
document.getElementsByTagName("SELECT")[0];
                                        var found = false;
                                        var repeat = false;
                                        
                                        for (var i=0; i < list.options.length; 
i++)
                                        {
                                                var label = new 
String(list.options[i].text);
                                                
                                                while 
(!reg.test(label.charAt(0)))
                                                {
                                                        label = 
label.substring(1);
                                                }
                                                
                                                if 
(label.substring(0,search.length) == search && !found)
                                                {
                                                        manyEmployeesCount++;
                                                        
list.options[i].selected = "selected";
                                                        found = true;
                                                }
                                                else
                                                {
                                                        
list.options[i].selected = "";
                                                }
                                                
                                                if (i == list.options.length-1 
&& !found && !repeat)
                                                {
                                                        search = key;
                                                        i=0;
                                                        repeat=true;
                                                }
                                        }
                                }
                                else if (keyCode == 13)
                                {
                                        setEmpId(document.forms[0]);
                                }
                                else
                                {
                                        search = "";
                                }
                        }
                        
                        
                        // This function gets called when the cancel button 
gets clicked.  Adding this function for release 14.1.1
                        function cancelButtonClicked()
                        {
                                
                                bCancel = true;
                        }
                </script>
        </head>
        
        <body id="theBody" style="display:none;"> 
                
                        
                        
                        <div class="center">  
                                <form id="SubordinateListLevel2" 
name="SubordinateListLevel2" action="/taa/SubordinateListLevel2" method="post"> 
                                        <fieldset>
                                                <legend>Select an 
Employee</legend>
                                                <div class="left">
                                                        <label 
for="employeeIds"></label> 
                                                        <input type="submit" 
value="Up One Level" id="upOneLevel" name="submit" tabindex="1"/>

                                                        <select 
name="employeeId" id="employeeId" size="8" tabindex="1">
                                                        
                                                        
                                                                
                                                        
                                         
                                                                
                                                                
                                                                        
                                                                        
                                                                                
<optgroup id="BK0020" 
                                                                                
                  label="BK0020">
                                                                                
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0160" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                21 TESTING - 
                                                                                
                                BK0160
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
        
                                                                                
                                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="AF0001" 
                                                                                
                                        title="Show Subordinates">              
                                                                                
                                                                                
                        + A -
                                                                                
                          AF0001
                                                                                
                </option>
                                                                                
        
                                                                                
        
                                                                                
                
                                                                                
        
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0300" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                CONTACTED EDUCATOR - 
                                                                                
                                BK0300
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0270" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                FOREIGN NATL - 
                                                                                
                                BK0270
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0090" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                INTERMITTENT FT - 
                                                                                
                                BK0090
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0080" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                LABOR REL TEMP B - 
                                                                                
                                BK0080
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0390" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                PART TIME PD TEMPA - 
                                                                                
                                BK0390
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0260" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                PHYSICIAN MILOFFICR - 
                                                                                
                                BK0260
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                        
                                                                                
                
                                                                                
         
                                
                                                                                
                
                                                                                
                
                                                                                
                        <option value="BK0020" >
                                                                                
                                &nbsp;&nbsp; 
                                                                                
                                SUPVR2ND GS         - 
                                                                                
                                BK0020
                                                                                
                </option>
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
                
                                                                                
        
                                                                          
                                                                                
                                                                                
                                                                                
</optgroup>
                                                                                
                                                                                
                                                                         
                                                                         
                                                                         
                                                                                
                                                                
                                                         </select>      
                                                </div>
                                                
                                                <div class="right smallcolumn 
center">
                                                        <span 
id="downOneLevelDiv"  style="display:none; position:absolute">
                                                                <input 
type="hidden" name="rsuperIDToGetLevelFor" value="" 
id="rsuperIDToGetLevelFor"/>         
                                                                <input 
type="submit" value="Down One Level" id="downOneLevel" name="submit" 
tabindex="6"/>

                                                        </span>
                                                        <br/><br/>
                                                        
                                                        <input type="submit" 
value="Submit" id="submit" name="submit" tabindex="6"/>

                                                        <br/><br/>
                                                        <input type="submit" 
value="Cancel" id="cancel" name="submit" tabindex="7" 
onclick="cancelButtonClicked()"/>

                                                </div>
                                                
                                        </fieldset>
                                </form>


        

                                <form id="FilterSubordinateEmployeeListLevel2" 
name="FilterSubordinateEmployeeListLevel2" 
action="/taa/FilterSubordinateEmployeeListLevel2" method="post">
                                        <fieldset>
                                                <legend>Optional - Filter 
Employee List By:</legend>
                                                <div class="left em7">
                                                        <label 
for="supervisor">Supervisor ID</label>                           
                                                        
                                                        
                                                                <input 
type="text" name="supervisor" size="8" maxlength="6" value="" tabindex="2" 
id="supervisor"/>
                                                        
                                                        <br />
                                
                                                        <label 
for="rcc">RCC</label>
                                                        
                                                        
                                                                <input 
type="text" name="rcc" size="8" maxlength="5" value="" tabindex="3" id="rcc"/>
                                                        
                                                        <br />
                                        
                                                        <label 
for="shift">Shift</label>
                                                        <select name="shift" 
id="shift" size="1" tabindex="4" >
                                                                <option 
value="">&nbsp;</option>
                                                                                
                
                                                                
                                                                
                                                                        <option 
value="1">1</option>
                                                                
                        
                                                                
                                                                
                                                                        <option 
value="2">2</option>
                                                                
                        
                                                                
                                                                
                                                                        <option 
value="3">3</option>
                                                                
                                                        </select>
                                                </div>
                                
                                                <div class="right smallcolumn 
center">
                                                        <input type="submit" 
value=" Filter " id="FilterSubordinateEmployeeListLevel2_submit" name="submit" 
tabindex="5"/>

                                                        <br /><br />
                                                        <input type="submit" 
value=" Clear " id="FilterSubordinateEmployeeListLevel2_submit" name="submit" 
tabindex="6"/>

                                                </div>
                                        </fieldset>
                                </form>



                        </div>
                
                                        
                

                <script type="text/javascript">
                        document.getElementById("upOneLevel").style.display = 
"none";
                        
document.getElementById("downOneLevelDiv").style.display = "none";
                </script>
        </body>
</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to