// http://akelpad.sourceforge.net/forum/viewtopic.php?p=13246#13246
// Version: 1.1
// Author: Shengalts Aleksander aka Instructor
//
//
// Description(1033): Merge contents of all opened documents in one file.
// Description(1049): Соединить содержимое всех открытых документов в один файл.
//
// Arguments:
// -Delim="\n------------------\n"     -Document escaped delimiter (default is "").
//
// Usage:
// Call("Scripts::Main", 1, "MergeDocuments.js", `-Delim="\n------------------\n"`)

//Arguments
var pDelim=AkelPad.GetArgValue("Delim", "");
if (pDelim)
  eval("pDelim=\"" + pDelim + "\";");

//Variables
var hMainWnd=AkelPad.GetMainWnd();
var pText="";
var nIndex=0;

while (lpFrame=AkelPad.SendMessage(hMainWnd, 1288 /*AKD_FRAMEFIND*/, 8 /*FWF_BYTABINDEX*/, nIndex++))
{
  AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrame);
  pText+=AkelPad.GetTextRange(0, -1);
  if (pDelim) pText+=pDelim;
}
if (pText)
{
  AkelPad.Command(4101 /*IDM_FILE_NEW*/);
  AkelPad.ReplaceSel(pText);
  //AkelPad.Command(4106 /*IDM_FILE_SAVEAS*/);
}
