// --
// WriteFile()
// --
function WriteFile(sFilePathAndName,sFileContents,bAppend) {
  var ForWriting = 2; var ForAppend = 8;
  if (""+bAppend=="undefined") { bAppend = false; }
  try {
    oFS = new ActiveXObject("Scripting.FileSystemObject");
    if (bAppend) {
      oFSFile = oFS.OpenTextFile(sFilePathAndName,ForAppend,true);
    } else {
      oFSFile = oFS.OpenTextFile(sFilePathAndName,ForWriting,true);
    }
    oFSFile.Write(sFileContents);
    oFSFile.Close();
    oFSFile = null; oFS = null;
    return true;
  } catch(e) {
    alert(e.description);
  }
  return false;
} // WriteFile()

// --
// ReadFile()
// --
function ReadFile(sFilePathAndName) {
  var sFileContents = "";
  oFS = new ActiveXObject("Scripting.FileSystemObject");
  if (oFS.FileExists(sFilePathAndName)) {
    oTextStream = oFS.OpenTextFile(sFilePathAndName,1);
    sFileContents = oTextStream.ReadAll();
    oTextStream.Close();
    oTextStream = null;
  }
  oFS = null;
  return sFileContents;
} // ReadFile()

// --
// RemoveFolder()
// --
function RemoveFolder(sPath,fRemoveSelf) {
  var oFS;
  var oFSFolder;
  oFS = new ActiveXObject("Scripting.FileSystemObject");
  if (!oFS.FolderExists(sPath)) {
    oFS = null;
    return null;
  }
  oFSFolder = oFS.GetFolder(sPath);
  RemoveSubFolders(oFSFolder); 
  if (fRemoveSelf) { 
    if (oFS.FolderExists(sPath)) {
      oFSFolder.Delete(true);
    } else {
      oFSFolder = null; 
      oFS = null;
      return null;
    } 
  }
  oFSFolder = null;
  oFS = null;
} // RemoveFolder()

// --
// RemoveSubFolders()
// --
function RemoveSubFolders(oFSFolder) {
  var oFSFile ;
  var oFSSubFolder;
  for (oFSFile in oFSFolder.Files) {
    oFSFile.Delete(true);
  }
  for (oFSSubFolder in oFSFolder.SubFolders) {
    RemoveSubFolders(oFSSubFolder);
    oFSSubFolder.Delete(True);
  }   
  oFSFile = null;
} // RemoveSubFolders()

function RemoveFile(sFilePathAndName) {
  oFS = new ActiveXObject("Scripting.FileSystemObject");
  if (oFS.FileExists(sFilePathAndName)) {
    oFS.DeleteFile(sFilePathAndName, true);
  }
  oFS = null;
} // RemoveFile()