   function DoAdd (frombox,tobox) {
   // this function will move one from the from_dept list to the to_dept list
    var MyElement ;
    var NewValue ;
    var NewText ;
    var AddPos ;
    var i ;
    if (frombox.options.length > 1) {
     for (i = 0; i < (frombox.options.length - 1); i++) {
      if (frombox.options[i].selected) {
       AddPos = tobox.options.length ;
       NewValue = frombox[i].value ;
       NewText = frombox[i].text ;    
       MyElement = new Option (NewText, NewValue) ;
	   tobox.options[AddPos] = MyElement ;
       frombox.options[i] = null ;
       i--
      }
     }
     sorttobox(tobox) ; 
	 frombox.focus() ;
    }
   }

   function DoRemove (frombox,tobox) {
   // this function will move one back to the from_dept list from the to_dept list
    var MyElement ;
    var NewValue ;
    var NewText ;
    var AddPos ;
    var i ;

    if (tobox.options.length > 1) {
     for (i = 0; i < (tobox.options.length - 1); i++) {
      if (tobox.options[i].selected) {
       AddPos = frombox.options.length 
       NewValue = tobox[i].value ;
       NewText = tobox[i].text ;    
       MyElement = new Option (NewText, NewValue) ;
       frombox.options[AddPos] = MyElement ;
       tobox.options[i] = null ;
       i--
      }
     }
     sortfrombox(frombox) ;
     tobox.focus() ;
    }
   }

   function sorttobox (tobox) {
    var Counter ;
    var LastSwap ;     
    var IdxLimit ;
    var Idx ;
    var TmpTxt ;
    var TmpVal ;
    var TmpPtr ;
    var VArray  = new Array(tobox);
    var TArray = new Array(tobox);
    var PArray = new Array(tobox);
    var NumEntries ;
    var MyElement ;
  
    NumEntries = tobox.options.length ;
    if (NumEntries > 1) {
     for (Counter = 0; Counter < NumEntries ; Counter++) {
      PArray[Counter] = Counter ;
      VArray[Counter] = tobox.options[Counter].value ;
      TArray[Counter] = tobox.options[Counter].text ;
     }
     LastSwap = NumEntries - 1 ;
     while (LastSwap > 0) {
       IdxLimit = LastSwap ;  
       LastSwap = 0 ;
       for (Idx = 0; Idx < IdxLimit; Idx++) {
         if (TArray[PArray[Idx]] > TArray[PArray[Idx + 1]]) {
           TmpPtr = PArray[Idx] ;
           PArray[Idx] = PArray[Idx + 1] ;
           PArray[Idx + 1] = TmpPtr ;
           LastSwap = Idx ;
         }
       }
     } 
     for (Counter = 0; Counter < NumEntries ; Counter++) {
       MyElement = new Option (TArray[PArray[Counter]], VArray[PArray[Counter]]) ;
       tobox.options[Counter] = MyElement ;
     }
    }
   }

   function sortfrombox (frombox) {
    var Counter ;
    var LastSwap ;     
    var IdxLimit ;
    var Idx ;
    var TmpTxt ;
    var TmpVal ;
    var TmpPtr ;
    var VArray  = new Array(frombox);
    var TArray = new Array(frombox);
    var PArray = new Array(frombox);
    var NumEntries ;
    var MyElement ;
  
    NumEntries = frombox.options.length ;
    if (NumEntries > 1) {
     for (Counter = 0; Counter < NumEntries ; Counter++) {
      PArray[Counter] = Counter ;
      VArray[Counter] = frombox.options[Counter].value ;
      TArray[Counter] = frombox.options[Counter].text ;
     }
     LastSwap = NumEntries - 1 ;
     while (LastSwap > 0) {
       IdxLimit = LastSwap ;  
       LastSwap = 0 ;
       for (Idx = 0; Idx < IdxLimit; Idx++) {
         if (TArray[PArray[Idx]] > TArray[PArray[Idx + 1]]) {
           TmpPtr = PArray[Idx] ;
           PArray[Idx] = PArray[Idx + 1] ;
           PArray[Idx + 1] = TmpPtr ;
           LastSwap = Idx ;
         }
       }
     } 
     for (Counter = 0; Counter < NumEntries ; Counter++) {
       MyElement = new Option (TArray[PArray[Counter]], VArray[PArray[Counter]]) ;
       frombox.options[Counter] = MyElement ;
     }
    }
   }

   function DoDeselectBlankLine (inSelect) {
   // this function will not allow the blank spacer line to be selected

    inSelect.options[inSelect.options.length - 1].selected = false ;
   } 

   function DoPopulate (tobox,selectedbox) {
   // when the submit button is hit, this function will take all from 
   // the PICKED list and put them into the selected variable
    var i ;
  
    selectedbox.value = "" 
    for (i = 0; i < (tobox.options.length -1); i++) {
     selectedbox.value = selectedbox.value + tobox.options[i].value + "," ;
    }
    if (selectedbox.value == "") {
     selectedbox.value = "" ;
    }
   }
   


