//----------------------------------------------------------------------//

//Functions to manipulate clipboard; easy in iE, not so easy in Mozilla

//----------------------------------------------------------------------//
function iSetClipboard(s)
//put string s in the clipboard
{

if (window.clipboardData) {
  window.clipboardData.setData("Text",s);
  }
else {
  isetClipMoz(s);
  }
}
//----------------------------------------------------------------------//
function iGetClipboard()
{
if (window.clipboardData) {              //IE
  return  window.clipboardData.getData("Text");
  }
else {
 return igetClipMoz();
 }
}
//----------------------------------------------------------------------//
function isetClipMoz(s)  //Mozilla
{
var str;
/*
const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].
getService(Components.interfaces.nsIClipboardHelper);
gClipboardHelper.copyString(s);
return;
*/
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
if (!str) return false;

str.data = s;

var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans) return false;

trans.addDataFlavor("text/unicode");
trans.setTransferData("text/unicode", str, s.length * 2);

var clipid = Components.interfaces.nsIClipboard;
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
if (!clip) return false;

clip.setData(trans, null, clipid.kGlobalClipboard);
}
//----------------------------------------------------------------------//
function igetClipMoz()      //get string from clipboard Mozilla
{
var pastetext;
var clip;

netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
if (!clip) return false;

var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans) return false;
trans.addDataFlavor("text/unicode");

clip.getData(trans, clip.kGlobalClipboard);

var str       = new Object();
var strLength = new Object();

trans.getTransferData("text/unicode", str, strLength);
if (str) str       = str.value.QueryInterface(Components.interfaces.nsISupportsString);
if (str) pastetext = str.data.substring(0, strLength.value / 2);

return pastetext;
}
//----------------------------------------------------------------------//

