////////////////////////
// KeySnif FUNCTIONS  //
////////////////////////

function RxKey(lv) { // access-key :: called by onfocus event : used by a few functions
  if (browser.isMozilla || browser.isFirefox) {		
      lv.blur(); // remove focus.
  }  

  if (browser.isIE) {
    e = window.event;		
    if (e.altKey) {
      lv.blur(); // remove focus. 
      lv.click(); // activate link..
    }  
  }
}

// register called by window.onload - often initiated in Session.php
function register(e) {
  if (!e)
    e = window.event;
    if (browser.isOpera && gKeyContext == 'Login' && e['keyCode']==13) {
      e.cancelBubble = true;
      e.returnValue = false;
      e.preventDefault();
    }
    // alert(e['keyCode']);
    if (e['keyCode'] < 66 || e['keyCode'] > 106)
      HandleKeyBoardEvents(gKeyContext,e['ctrlKey'],e['shiftKey'],e['altKey'],e['keyCode']); // gKeyContext=global context-variable..

}

function checkKey(e) { // used by Mozilla
  if (e.altKey || e.keyCode == 27 || (e.keyCode >=112 &&  e.keyCode <=122)) { // all functionkeys are trapped ... by Mozilla..	
  //  if (e.ctrlKey && (e.keyCode == 88 || e.keyCode == 67 || e.keyCode == 86 || e.keyCode == 90)) {
  //    alert('hebheb');
  //    return true;
      e.preventDefault();
      e.cancelBubble = true;
      // e.returnValue = customKeyHandler(key);
      // return false;
  }  
}

function AppeaseKey() {
  if (browser.isIE) {	
    event.keyCode = 0;
    event.cancelBubble = true; 
    event.returnValue = false; 
    return false;	
  }
  if (browser.isMozilla) {
    // probably handled ok BY checkKey (driven by KEYPRESS...)		
  }  
  
  if (browser.isOpera) {	
    event.ErrorcharCode = '';
    event.returnValue = false;   	
  	// return false;
    // alert('hebheb');
  }  
}	
	
function HandleKeyBoardEvents(lKeyContext,ctrl,shift,alt,k) { 
 if (k == 112) { // F1 == help - not IE..
   doHelp(lKeyContext);	
 }
 else {	 
  switch(lKeyContext) {
   case 'Authority' : 
     if (k == 13) {
       document.fAuth.submit();
       AppeaseKey();
       break;
     }    
     if (k == 33) {  // [PGUP]  
       document.fBrowse.qe.value = gListPosBegin;
       document.fBrowse.ScanPos.value = 25; 
       document.fReposition.qe.value = document.fBrowse.qe.value;           
       document.fBrowse.submit();
       break;     	       	
     }
     if (k == 34) {  // [PGDWN] 
       document.fBrowse.qe.value = gListPosEnd;
       document.fBrowse.ScanPos.value = 1; 
       document.fReposition.qe.value = document.fBrowse.qe.value;           
       document.fBrowse.submit();
       break;     	       	
     }	     	
     break;
   case 'Cart' : // modal	
     if (k == 27)
     	  window.top.hidePopWin(false);       
     break;
   case 'ChangeBarcode' : 	
     if (k == 13 && document.fBarc.BarcNew != null && document.fBarc.BarcNew.value.length > 2) { 
       document.fBarc.Stage.value=5;       
       document.fBarc.submit();
       break;      
     }  
     if (k == 13 && document.fBarc.BarcOrg != null && document.fBarc.BarcOrg.value.length > 2) { 
       document.fBarc.Stage.value=2;       
       document.fBarc.submit();
       break;      
     } 
   case 'CoverEd' : // Just used by Rx
     if (k == 13) {// [ENTER] 
     	  document.fBrowse.Offset.value = 1; 
        document.fBrowse.Scan.value = document.fFilter.Scan.value;
        document.fBrowse.submit();  
        break;     
     }      
     break;     
   case 'Download' : // modal	
     if (k == 27){
       window.top.hidePopWin(false);	
       break;	
     } 
     
     if (k == 13) {
     	 // alert(document.fDownload.Ean.value.substring(0,4));
       if (document.fDownload.Ean.value.substring(0,4) != 'http' && (document.fDownload.Ean.value.length == 10 || document.fDownload.Ean.value.length == 13 || document.fDownload.Ean.value.indexOf('-'))) // ISBN
       // alert('hebheb');
         DownloadTransform(document.fDownload.Ean.value);
       else if (document.fDownload.Ean.value.substring(0,4) == 'http') {
       	 DownloadFullText(document.fDownload.Ean.value);
         // javascript:void(window.open('../main/Ed.php?FT=1&URI='+escape(document.fDownload.Ean.value)))
      }	
     }  
     break;
   case 'Ed' : //New Editor            
     if (!alt && gLockMtaEditNavigation == 0) {
        lockMtaEditNavigation();
     }   
     break;               
  case 'EditObj' :   
     break;        
   case 'EditPatron' :   
     if (ctrl && k == 83) {// [CTRL+S]
       CheckPreSubmit(Presubmit,0); // Presubmit is global
       AppeaseKey();
       break;
     }  
     if (ctrl && k == 77) { // [CTRL+M]
       CheckPreSubmit(Presubmit,1);
       AppeaseKey();
       break; 
     }
     if (k == 13) { // [ENTER]
       CheckPreSubmit(Presubmit);  
       break;   
     }  
     if (document.fEdit != null && document.fEdit.Zip != null && document.fEdit.Zip.value.length == 4 && document.fEdit.City.value.length == 0) // allways listening.
       getCity(document.fEdit.Zip.value);
     break;   
   case 'EditSubscrip' :   
      if (k == 27) { // [ESC]
        dismissbox();
        return false
        break;
      }  
    break;        
   case 'EditSupplier' :   
    if (k == 13 && document.fFilter.OffLetter.value.length > 0) {// [ENTER] 
        document.fBrowse.OffLetter.value = document.fFilter.OffLetter.value;
        document.fBrowse.FFocus.value=10;
        document.fBrowse.submit();       
     } 
        
     if (ctrl && k == 83) {// [CTRL+S] 
       CheckPreSubmit(Presubmit,0); // Presubmit is global
       AppeaseKey();
       break; 
     } 
     if (ctrl && k == 77) { // [CTRL+M]
       CheckPreSubmit(Presubmit,1);
       AppeaseKey();
       break; 
     }     
     if (k == 33) { // [PGUP]
       if (document.fBrowse.Prev.value != '')   	
          window.location.href = LookupHrefID('hPrev');    
       break;     
     }  
     if (k == 34) { // [PGDWN]
       if (document.fBrowse.Next.value != '')  
         window.location.href = LookupHrefID('hNext');
     break;
     }        
     break;
    case 'Export' : // modal	
     if (k == 27) //  && window.parent.document.getElementById("popupInner")) // subModal 
     	  window.top.hidePopWin(false);
     	  break;                
   case 'Full' :
     if (k == 13) { // [ENTER] :: OpacLending
       if (document.fBarcode != null && document.fBarcode.Barcode.value.length >0)
         OpacLend(document.fBarcode.Barcode.value,gObjId); // also for relocate! 
       break;  
     }    
     if (k == 27) { 
       if (typeof(crossobj) != 'undefined') {
         dismissbox();	
         break;
       }  
       var lId = LookupHrefID('hnavSearch');
       if (lId)
         window.location.href = lId;
       break;  
     } 
     if (k == 33) // PGUP
       window.location.href = LookupHrefID('hbutprev0'); 
     if (k == 34) // PGDWN
       window.location.href = LookupHrefID('hbutnext0');
     if (k == 36) // HOME
       window.location.href = LookupHrefID('hbutstart0');	       
     if (gRights < 3 && k == 115) { // F4
       window.location.href = LookupHrefID('hmtaobject');
       AppeaseKey();
     }  	
      break; 
   case 'HELP' : // common for all help files..	
     if (k == 27) 
       window.close(); 
     break;                                  
   case 'Hits' : // Hitlist - just a little different than FULL..
     if (k == 13) { // [ENTER] :: OpacLending
       if (document.fBarcode != null && document.fBarcode.Barcode.value.length >0) {
         OpacLend(document.fBarcode.Barcode.value,gObjId); // also for relocate! 
       } 
       break;
     }  
     if (k == 33 && document.fBrowse.tgtPos.value >1) { // [PGUP]
     	 // alert(document.fVar.Prev.value);
       document.fBrowse.tgtPos.value = document.fVar.Prev.value;
       document.fBrowse.Hits.value = document.fVar.Hits.value;  
       document.fBrowse.submit();
       break;
     }  
     if (k == 34 && document.fVar.Next.value > 1) { // [PGDWN] 190 :: dont browse if  next = 1
       document.fBrowse.tgtPos.value = document.fVar.Next.value; 
       document.fBrowse.Hits.value = document.fVar.Hits.value; 
       document.fBrowse.submit();
       break;
     }  
     if (k == 36) // [HOME]
       window.location.href = LookupHrefID('hbutstart0');	       
     break;
   case 'LendItem' :      
     if (k == 27) // [ESC]
       goBack();
     if (k == 36) // [HOME]
       goBack();             	 
     break;      
   case 'Lending' :      
     if (k == 27) { // [ESC]
       dismissbox();
       return false
       break;
     }  
     if (k == 13) { // [ENTER]
       if (document.fLending.Barcode != null && document.fLending.Barcode.value.length > 0) { // zxml.js
       	  runAXlending();	
       }   
       else if (document.fLending.PtrId != null && document.fLending.PtrCode.value.length > 0) 
          document.fLending.submit();
       AppeaseKey();
       break;
     }      
     if (k == 115) { // [F4]
       window.location.href = '../main/Main.php?NavAction=Return';    	 
       AppeaseKey();
       break;
     }    
     if (k == 120 && document.fLending.PtrId.value > 0) { // [F9]
       OpenPtrAccountDetails(document.fLending.PtrId.value)
       AppeaseKey();
       break;
     } 
  case 'ListPatron' :   
     if (k == 33) // [PGUP]
       if (document.fBrowse.Prev.value != '')   	
          window.location.href = LookupHrefID('hPrev'); 
     if (k == 34) // [PGDWN]
       if (document.fBrowse.Next.value != '')  
         window.location.href = LookupHrefID('hNext');
     if (k == 13 && document.fFilter.OffLetter.value.length > 0) {// [ENTER] 
        document.fBrowse.OffLetter.value = document.fFilter.OffLetter.value;
        document.fBrowse.submit();       
     }   
     if (k == 119 && document.fFilter.OffLetter.value.length > 0) { // [F8]
        document.fBrowse.OffLetter.value = document.fFilter.OffLetter.value;
        document.fBrowse.Focus.value = 'code';
        document.fBrowse.submit();            	
     }	
     break;                       
   case 'Login' : 	
     if (k == 13 && document.fLogin != null && document.fLogin.Uid != null && document.fLogin.Uid.value.length > 1) { // just login form...
       if (document.getElementById('dLogin')) { // 177 : fork
         ASyncAjax('cbLoginUid','LoginUid','',0,document.fLogin.Uid.value,''); 
       }  
       else	
         document.fLogin.submit();
     }
     if (k == 13 && document.fPincode != null && document.fPincode.Pincode.value.length == 4) { // usr must state pincode..
       if (document.fPinRepeat != null) { // usr has not got a pincode...
         if (document.fPinRepeat.Pincode.value.length == 4 && document.fPincode.Pincode.value == document.fPinRepeat.Pincode.value && isInteger(document.fPincode.Pincode.value))
           ASyncAjax('cbLoginPin','LoginPinRepeat','',document.fPinRepeat.Pincode.value,document.fPincode.Uid.value,document.fPincode.Pincode.value);
       }
       else	{
       	 // alert('start pin '+document.fPincode.Pincode.value);
         ASyncAjax('cbLoginPin','LoginPin','',0,document.fPincode.Uid.value,document.fPincode.Pincode.value);
         break;   
       }  
     }      
     break;               
   case 'MODAL' : // common for quite some modals	
     if (k == 27) { 
     	 // alert(window.parent.document.title);
     	 if (window.parent.document.getElementById("popupInner")) // subModal 
     	 // if (window.frames["popupFrame"])
     	   window.top.hidePopWin(false);
     	 else
         window.close();
     }   
     if (k == 13 && document.fDataField != null && document.fDataField.DataField != null  && document.fDataField.DataField.value.length == 3) {
        returnToEd();
      }     
      break;
   case 'Move' : 
      if (k == 13 && document.fMove.Usercode != null) {
       document.fMove.submit(); 
       break;
      } 
      if (k == 13 && document.fMove.Barcode != null) { 
      	document.fMoveItem.Barcode.value = document.fMove.Barcode.value; 
        document.fMoveItem.submit();        
      } 
     break;     
   case 'PtrSubscription' : 
     if (k == 13 && isInteger(gPriority)) 
       document.FPriority.submit(); 
     break;
   case 'PtrAccountDetails' : 
     if (k == 109 && document.fSettle.Settle != null && isInteger(document.fSettle.Settle.value)) {
       runBgUpdatePtrAccount('settle',document.fSettle.PtrId.value,document.fSettle.Settle.value);
       break;
     }  
     if (k == 107 && document.fSettle.Settle != null && isInteger(document.fSettle.Settle.value)) { // [+]
       runBgUpdatePtrAccount('add',document.fSettle.PtrId.value,document.fSettle.Settle.value);
       AppeaseKey();
       break;
     }       
     if (k == 27) {
       window.close(); 
       break;   
     }
     if (k == 119) { // [F8]
       runBgUpdatePtrAccount('zero',document.fSettle.PtrId.value,1); // =1 cause want to bypass > amount == 0
     }
     break;
   case 'Portal' :	
     if (k == 13) {
       if (document.fBarcode != null && document.fBarcode.Barcode.value.length >0) {
         OpacLend(document.fBarcode.Barcode.value,gObjId); // also for relocate! 
       }
       else if (document.fLogin != null) {
         if (document.fLogin.Uid.value.length > 1)	
           document.fLogin.submit();       
       }
       else if (document.fLending != null && document.fLending.PtrCode != null && document.fLending.PtrCode.value != '') {
       	 runAXPortalDesk(document.fLending.PtrCode.value);
       }	 
       else if (document.fLending != null && document.fLending.Barcode != null && document.fLending.Barcode.value != '') {
       	 runAXlending();
       }
       else if (document.fReturning != null && document.fReturning.Barcode.value != '') {
       	  runAXreturn();
       } 
       else if (document.fTopSearch != null && document.fTopSearch.qe.value.length > 0) {
       	 document.fTopSearch.qe.value = document.fSearch.qe.value;
         document.fTopSearch.submit();
       }             	
       else if (gSearchFocus) {
         SubmitSearch(document.fSearchMode.SearchMode.value,document.fSearch); 
       }  
       // 194 : exit AppeaseKey();
       break;
       
     } 
     if (k == 117) { // [F6]
       window.location.href = '../main/EditObj.php?ObjId='+gObjId+'&fStage=4';
       AppeaseKey();     
       break;
     }  
     if (k == 118) { // [F7]
       runAXsetObjStatus(gObjId,0);	
       setTimeout("runAXreturn()",500);	
       AppeaseKey();
       break;
     }       
     if (k == 119) { // [F8]
       showMtaHistory(gMtaId);         	 
       AppeaseKey();
       break;
     }       
     if (document.fEdit != null && document.fEdit.Zip != null && document.fEdit.Zip.value.length == 4 && document.fEdit.City.value.length == 0) // allways listening.
       getCity(document.fEdit.Zip.value);
     break;       
   case 'Receive' :
    if (k == 115) { // [F4]  		
      makeKeyFocus(FocusBuffer);
      AppeaseKey();
    }  
    if (k == 116) { // [F5] 
      document.fWorkObject.Action.value = 1;
      document.fWorkObject.UpdatePerCounter.value = 1;
      document.fWorkObject.ReceiveSession.value = FocusBuffer;
      document.fWorkObject.Ordinary.value = eval('document.fReceiveOrd'+FocusBuffer+'.elements[0].checked');       
      if (FocusBuffer > 0)
        document.fWorkObject.submit();
      AppeaseKey();   
    }    
    if (k == 117) { // [F6]
      lUseId = document.fReceiveFocus.UseId.value;	
      lVolCnt = document.fReceiveFocus.volumecount.value;
      lIssueCnt = document.fReceiveFocus.issuecount.value;
      document.fReceiveFocus.UpdatePerCounter.value = 1;
      lLink = '../background/bgIssueName.php?UseId='+lUseId+'&VolCnt='+lVolCnt+'&IssueCnt='+lIssueCnt+'&UpdatePerCounter=1';
      // if (!gUsrEdit) // User hasnt edited the volume/issuename...
        makeHiddenIFRAME(lLink);
      gUsrEdit = false;  
      AppeaseKey();
    }   
    if (k == 27 && document.fReceiveFocus != null) { // [ESC]
      lUseId = document.fReceiveFocus.UseId.value;	
      lVolCnt = document.fReceiveFocus.volumecount.value;
      lIssueCnt = document.fReceiveFocus.issuecount.value;
      document.fReceiveFocus.UpdatePerCounter.value = 0;
      lLink = '../background/bgIssueName.php?UseId='+lUseId+'&VolCnt='+lVolCnt+'&IssueCnt='+lIssueCnt+'&UpdatePerCounter=0';
      if (!gUsrEdit) // User hasnt edited the volume/issuename...
        makeHiddenIFRAME(lLink);
      else
        document.fReceiveFocus.submit();  
      gUsrEdit = false;  
      AppeaseKey();
    }           
    if (shift && k == 38) { // [SHIFT+CURSOR UP]
      ReceiveIncrement('volume',1);
      gUsrEdit = false;
      break;
    }       
    if (shift && k == 40) { // [SHIFT+CURSOR DOWN]
      ReceiveIncrement('volume',-1);
      gUsrEdit = false;
      break;
    }   
    if (ctrl && k == 38) { // [CTRL+CURSOR up]
      ReceiveIncrement('abocount',1);  
      gUsrEdit = false;
      break;
    }
    if (ctrl && k == 40) { // [CTRL+CURSOR DOWN]
      ReceiveIncrement('abocount',-1);
      gUsrEdit = false;  
      break;
    }        
    if (k == 38)  // [CURSOR UP]
      ReceiveIncrement('issue',1);
      gUsrEdit = false;
    if (k == 40) // [CURSOR DOWN]
      ReceiveIncrement('issue',-1);
      gUsrEdit = false;
    if (k == 35) // END - setting counter to 1.
       ReceiveIncrement('issue',0);
    if (ctrl && k == 83 && FocusBarcode != '') { // && eval("document."+FocusBarcode+".BarcodeBuffer.value != ''") && eval("document."+FocusBarcode+".Barcode.value != document."+FocusBarcode+".BarcodeBuffer.value")) // [CTRL+S] new barcode
      RunUpdateReceiveBarcode(gObjId,eval("document."+FocusBarcode+".Barcode.value"));
      setTimeout("document.fReload.submit();",500); // to have bgutil
    }
    if (k == 13) { // [ENTER]
      if (FocusBarcode == '') { // first code-input-field	
        document.fReceive.submit();
      }  
      else {
        RunUpdateReceiveBarcode(gObjId,eval("document."+FocusBarcode+".Barcode.value")); // any focused barcode-field..
        setTimeout("document.fReload.submit();",2000);
      }  
    }	
    break;      
  case 'Remind' :
     if (k == 33) // [PGUP]
       if (document.fBrowse.Prev.value != '')   	
          window.location.href = LookupHrefID('hPrev'); 
     if (k == 34) // [PGDWN]
       if (document.fBrowse.Next.value != '')  
         window.location.href = LookupHrefID('hNext');
     break;               
   case 'Reserve' : // modal	
     if (k == 27) {
       if (window.parent.document.getElementById("popupInner")) // subModal 
         window.top.hidePopWin(false);
     }    
     if (k == 13 && document.fRes.UsrCode.value.length > 0) {
     	 if (window.parent.document.getElementById("popupInner"))
         // runBackgroundReserve(document.fRes.UsrCode.value,document.fUsrCode.ReservationNote.value,TranslateCheck(document.fUsrCode.AlertService.checked),document.fUsrCode.Expire.value);   
         ASyncReservation('cbReservation','Reservation',document.fRes.tgtId.value,document.fRes.UsrCode.value,document.fRes.ReservationNote.value,TranslateCheck(document.fRes.AlertService.checked),document.fRes.Expire.value,document.fRes.ObjId.value,encodeURIComponent(document.fRes.RecordPath.value),'',document.fRes.LokNo.value,document.fRes.Net.value,document.fRes.Barcode.value,document.fRes.Title.value);
     }   
     break;
   case 'Return' :      
     if (k == 27) { // [ESC]
       dismissbox();
       return false
       break;
     }  
     if (k == 13) { // [ENTER]
       if (document.fReturning.Barcode != null  && document.fReturning.Barcode.value.length > 0) {
       	  runAXreturn();	
       }
       AppeaseKey();
       break;
     }      
     if (k == 115) { // [F4]
       window.location.href = '../main/Main.php?NavAction=Lending';    	 
       AppeaseKey();
       break;
     } 
     if (k == 117) { // [F6]
       window.location.href = '../main/EditObj.php?ObjId='+gObjId+'&fStage=4';
       AppeaseKey();     
       break;
     }  
     if (k == 118) { // [F7]
       runAXsetObjStatus(gObjId,0);	
       setTimeout("runAXreturn()",500);	
       AppeaseKey();
       break;
     }       
     if (k == 119) { // [F8]
       showMtaHistory(gMtaId);         	 
       AppeaseKey();
     }        
     if (k == 120 && gPtrId > 0) { // [F9]
       OpenPtrAccountDetails(gPtrId);
       AppeaseKey();
       break;
     }  
     break;   
   case 'Search' :
     if (k == 13) {	
       SubmitSearch(document.fSearchMode.SearchMode.value,document.fSearch); 
       AppeaseKey();
       break;
     }  
     if (ctrl && document.fSearchMode.SearchMode.value == 'advanced' && k == 66) { // [CTRL+B]      	
       goScan(getFirstTarget(document.fSearch,ltgtId),document.fSearch.aSearch1.value,document.fSearch.qe1.value,document.fSearch.qe1.id);
       AppeaseKey();
       break;
     }	
     if (k == 1159) { // [F4] 218 : Opera....
       showSearchCodes();          	 
       AppeaseKey();
       break;
     }           
     break; 
   case 'SelfDesk' :
      if (k == 115) { // F4 ??
      	// use a submit here ??
       break;     
     }  
     if (k == 13) { // [ENTER]
       if (document.fLending != null && document.fLending.Barcode != null && document.fLending.Barcode.value.length > 0) { // zxml.js
       	  runAXlending();	
       }   
       else if (document.fLending != null && document.fLending.PtrId != null && document.fLending.Uid.value.length > 0) 
          document.fLending.submit();
       else if (document.fReturning != null && document.fReturning.Barcode != null && document.fReturning.Barcode.value.length > 0) 
          runAXreturn();
       AppeaseKey();
       break;
     }           
     if (k == 134444)  { // [ENTER]  
       document.fLending.submit();
       break	
     }
     if (k == 27 && document.fReturning.Barcode != null) { // [ESC]
       document.fReturning.Barcode.disabled=false;
       document.fReturning.Barcode.focus();
     }           	 
   break;
   case 'Scan' : 
     if (k == 13)  { // [ENTER]  
        document.fReposition.qe.value = document.fScan.qe.value;
        document.fReposition.Code.value = document.fScan.ScanCodes.value;
        document.fReposition.submit();
        break;
     } 
     if (k == 27)  // [ESC]
       window.close();  
       
     if (k == 33) {  // [PGUP]  
       document.fBrowse.ScanPos.value = (document.fBrowse.ScanPos.value)-0+35; 
       document.fReposition.qe.value = document.fBrowse.qe.value;           
       document.fBrowse.qe.value = gListPosBegin;
       document.fBrowse.submit();
       break;     	       	
     }
     if (k == 34) {  // [PGDWN]  
              document.fBrowse.ScanPos.value = (document.fBrowse.ScanPos.value)-35; 
       document.fReposition.qe.value = document.fBrowse.qe.value;           
      document.fBrowse.qe.value = gListPosEnd
       document.fBrowse.submit();
       break;     	       	
     }	     	
     break;
   case 'Shelflist' : 
     if (k == 13 && gShelfFocus && document.fFilter.Search.value.length) {
     	 document.fFilter.Offset.value = 1; // restart Offset... 
     	 document.fFilter.submit();
     	 break;
     } 
     if (k == 13 && !gShelfFocus && gObjId) {
         // alert(gObjId);
         ASyncAjax('cbSwithBarcode','SwithBarcode','',gObjId,eval('document.fData.X'+gObjId+'.value'),''); 
     	 break;
     }        
     if (k == 33) {  // [PGUp]  
       document.fFilter.Offset.value = (document.fFilter.Offset.value*1 - document.fFilter.Pagesize.value*1); 
       document.fFilter.submit();
       break;     	       	
     }	     
     if (k == 34) {  // [PGDWN]  
       document.fFilter.Offset.value = (document.fFilter.Offset.value*1 + document.fFilter.Pagesize.value*1); 
       document.fFilter.submit();
       break;     	       	
     }	
     break;     	        
    case 'Sort' : // modal	
     if (k == 27) //  && window.parent.document.getElementById("popupInner")) // subModal 
     	  window.top.hidePopWin(false);
     	  break;
   case 'SelfRegistration' :   
     if (document.fEdit.Zip.value.length == 4 && document.fEdit.City.value.length == 0) // allways listening.
       getCity(document.fEdit.Zip.value);
     break;       
   case 'Subscription' :   
     if (k == 33) { // [PGUP]
       if (document.fBrowse.Prev.value != '')   	
          window.location.href = LookupHrefID('hPrev');    
       break;     
     }  
     if (k == 34) { // [PGDWN]
       if (document.fBrowse.Next.value != '')  
         window.location.href = LookupHrefID('hNext');
     break;
     }  
     if (k == 13 && document.fFilter.OffLetter.value.lengt > 0) {// [ENTER] 
        document.fBrowse.OffLetter.value = document.fFilter.OffLetter.value;
        document.fBrowse.submit();       
     }     
     break;            
   case 'Targets' : 
     if (k == 13)  { // [ENTER]
       document.fLogin.submit();
     }     
  case 'Terms' :
     if (k == 116) { // [F5]       	 
       AppeaseKey();
       break;
     }      
     if (k == 33) // [PGUP]
       if (document.fBrowse.Prev.value != '')   	
          window.location.href = LookupHrefID('hPrev'); 
     if (k == 34) // [PGDWN]
       if (document.fBrowse.Next.value != '')  
         window.location.href = LookupHrefID('hNext');
     break;                       
   case 'UsrAccount' : 	
     if (k == 13 && document.fLogin.Uid.value.length > 1)
       document.fLogin.submit();
     break;               
  } // switch
 } // else 
} // function   
