﻿FileMng = function() 
{
	this.fso = new ActiveXObject("Scripting.FileSystemObject")
}

FileMng.prototype = {
	openDialog: function(path, filter, title) {
		//opens an Open File Dialog
		//returns path to chosen file
		var file = null
		try {
			var cd = new ActiveXObject("MsComDlg.CommonDialog");
			cd.MaxFileSize = 260;
			cd.InitDir = path;
			cd.DialogTitle = (title == null ? "Open File" : title);
			if(filter != "") cd.Filter = filter;
			else cd.Filter = "All Files (*.*)|*.*";
			cd.ShowOpen();
			file = cd.FileName;
			cd = null;
		} catch(e) {
			alert("openDialog: " + e.message);
		}
		return file;
	},
	
	saveDialog: function(path, filename, filter, title) {
		//opend a Save File Dialog
		//returns path to desired location
		var file = null;
		try {
			var cd = new ActiveXObject("MsComDlg.CommonDialog");
			cd.MaxFileSize = 260;
			cd.InitDir = path;
			cd.DialogTitle = (title == null ? "Save File" : title);
			if(filter != "") cd.Filter = filter;
			else cd.Filter = "All Files (*.*)|*.*";
			cd.FileName = filename;
			cd.ShowSave();
			file = cd.FileName;
			cd = null;
		} catch(e) {
			alert("saveDialog: " + e.message);
		}
		return file;
	},
	
	openFile: function(filepath) {
		var s = null;
		try {
			if(this.fso.FileExists(filepath)) {
				var f = this.fso.OpenTextFile(filepath, 1, false, 0);
				s = f.ReadAll();
				f.Close();
			} else {
				alert("File '" + filepath + "' doesn't exist");
			}
		} catch(e) {
			alert("Open file is not supported or permission denied");
		}
		return s;
	},
	
	saveFile: function(filepath, data) {
		var s = null;
		try {
			var f = this.fso.OpenTextFile(filepath, 2, true, 0);
			f.Write(data);
			f.Close();
			s = filepath;
		} catch(e) {
			alert("Save file is not supported or permission denied");
		}
		return s;
	}
}