// http://akelpad.sourceforge.net/forum/viewtopic.php?p=12937#12937
// Description(1033): Opens the directory where the files are stored sessions
// Description(1049): Открывает папку, в которой сохраняются файлы сессий
// Version: 1.3 (2015.01.14)
// Author: VladSh
// 
// Usage:
// 	-"Directory of sessions" Call("Scripts::Main", 1, "OpenSessionsDir.js")

var pAkelPlugsDir = AkelPad.GetAkelDir(4 /*ADTYPE_PLUGS*/) + "\\";

var pPluginFileName = "Sessions";
var pParameterName = "SaveSessions";
var nParameterValue;

var oSet = AkelPad.ScriptSettings();
if (oSet.Begin(pPluginFileName, 0x21 /* POB_PLUGS + POB_READ */)) {
	nParameterValue = oSet.Read(pParameterName, 3 /*PO_STRING*/);
	oSet.End();
}

var WshShell = new ActiveXObject("WScript.Shell");
var pPluginDataDir;		//папка, которую мы собственно и будем открывать

switch (nParameterValue) {
	case "1":		//Дирректория программы
		pPluginDataDir = pAkelPlugsDir + pPluginFileName;
		break;
	case "2":		//Дирректория пользователя
		pPluginDataDir = WshShell.ExpandEnvironmentStrings("%APPDATA%\\AkelPad\\" + pPluginFileName);
		break;
	default:
		AkelPad.MessageBox(AkelPad.GetEditWnd(), "Unhandled value of parameter " + pParameterName + "=" + nParameterValue + "!", WScript.ScriptName, 48);
		WScript.Quit();
}

var fso = new ActiveXObject("Scripting.FileSystemObject");

if (fso.FolderExists(pPluginDataDir) == false) {
	AkelPad.MessageBox(AkelPad.GetEditWnd(), "Directory of sessions '" + pPluginDataDir + "' not found!'", WScript.ScriptName, 48);
	WScript.Quit();
}

var nResult = -1;

if (fso.FileExists(pAkelPlugsDir + "Explorer.dll") == true)		//пытаемся сначала открыть в Explorer-плагине
	nResult = AkelPad.Call("Explorer::Main", 1, pPluginDataDir);

if (nResult == -1)
	WshShell.Exec('explorer.exe "' + pPluginDataDir + '"');
