home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 December / PCWorld_2006-12_cd.bin / komunikace / netscape / nsb-install-8-1-2.exe / chrome / aim.jar / content / aim / sendfile.js < prev    next >
Text File  |  2006-01-06  |  3KB  |  97 lines

  1. // globals
  2. // window arguments defined here, but may not be used.
  3. // mainly to test & explain valid arguments.
  4.  
  5. inviteArgsObj = window.arguments[0];
  6.  
  7. var nsIFilePicker = Components.interfaces.nsIFilePicker;
  8. var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
  9. var fileXferSession;
  10.  
  11.  
  12.  function SendFileCapListener()
  13.  {
  14.  }
  15.  
  16.  SendFileCapListener.prototype = {
  17.   OnRequestUserInfoCapabilitiesComplete: function(aScreenName, aUserObj)
  18.   {
  19.     try {
  20.       var capMask = aUserObj.GetCapabilities();
  21.       var capEnums = Components.interfaces.nsAimCapabilitesMask;
  22.       if (!(capEnums.filexfer & capMask) )
  23.       {
  24.         aimErrorBox(aimString("file.nosupport").replace(/%ScreenName%/, "" + inviteArgsObj.inviteProposalScreenName));;
  25.         window.close();
  26.       }
  27.       document.getElementById("ok").setAttribute("disabled", "false");
  28.     } catch (e) {}
  29.   },
  30.  
  31.   OnRequestUserInfoCapabilitiesError: function(aScreenName, aError)
  32.   {
  33.     aimErrorBox (aError);
  34.   }
  35.  };
  36.  
  37.  
  38. function outgoingFileOnWinLoad(){
  39.   doSetOKCancel(sendfile, 0);
  40.   document.getElementById("ok").setAttribute("label", aimString('file.send'));
  41.   document.getElementById("ok").setAttribute("disabled", "true");
  42.   // send the request and wait for callback
  43.   var listenerCap = new SendFileCapListener();
  44.   try {
  45.     aimLocateManager().RequestUserInfoCapabilities(listenerCap, inviteArgsObj.inviteProposalScreenName);
  46.   } catch (ex) {
  47.     //ERROR: unable to retrieve AIM user info for name
  48.   }
  49.  
  50. //  doSetOKCancel(outgoingFileCmdAcceptRendezvous, outgoingfileCmdDeclineRendezvous);
  51.   document.getElementById("OutgoingFile").setAttribute("title",aimString("file.sendtitle").replace(/%ScreenName%/, "" + inviteArgsObj.inviteProposalScreenName));;
  52. }
  53.  
  54. function outgoingFileOnWinUnLoad(){
  55.    //window.close();
  56. }
  57.  
  58. function sendfile(){
  59.   var fileLocation = document.getElementById("filelocation").value;
  60.   if (fileLocation && fileLocation.length > 0)
  61.       inviteArgsObj.filepath = document.getElementById("filelocation").value;
  62.   else
  63.   {
  64.       aimErrorBox(aimString('file.pickdirectory'));
  65.       return;
  66.   }
  67.   var message = document.getElementById("message").value;
  68.   if ((message.length) > 7168)
  69.   {
  70.     aimErrorBox(aimString("file.error.long.desc").replace(/%BigBy%/, ""+ (message.length-7168)));
  71.     document.getElementById("message").select();
  72.     document.getElementById("message").focus();
  73.     return;
  74.   }
  75.   inviteArgsObj.fileXferSession = fileXfer().Send(inviteArgsObj.inviteProposalScreenName, inviteArgsObj.filepath, message);
  76.   window.openDialog('chrome://aim/content/transfer.xul','_blank','chrome,all,dialog=no',inviteArgsObj); 
  77.   window.close();
  78. }
  79.  
  80. function openfilepicker()
  81. {
  82.       fp.init(window, aimString('file.choose'), nsIFilePicker.modeOpen);
  83. //      fp.defaultString = fileName;
  84.  
  85.       fp.appendFilters(nsIFilePicker.filterAll);
  86.  
  87.       try {
  88.          fp.show();
  89.       }
  90.       catch (ex) {
  91.          dump ("filePicker.chooseInputFile threw an exception\n");
  92.          return false;
  93.       }
  94.       if (fp.file && fp.file.path.length > 0)
  95.           document.getElementById("filelocation").setAttribute("value", fp.file.path);
  96. }
  97.