var filenameList = new Array();
var fileIdList = new Array();

function searchFiles(o, frm, evt) {
	if (evt.keyCode == 13 || evt.which == 13) {
		frm.action = "/files.do?search=" + o.value;
		frm.submit();
	}
}

function onFileChange(filename, folderId, restrictions) {
	if (filename != "") {
		if (checkInvalidSession()) return false;
		var strFilename = d.uploadFileForm.eFile.value;
		strFilename = strFilename.substring(strFilename.lastIndexOf("\\")+1);
		var extension = strFilename.substring(strFilename.lastIndexOf(".")+1).toLowerCase();
		var forbiddenExtensions = ",exe,bat,pif,cmd,com,";
		if (trim(strFilename) == "") {
			alert("You must browse for the file that you want to add!");
		} else if (restrictions && forbiddenExtensions.indexOf(","+extension+",") != -1) {
			alert("The following files are not allowed: " + forbiddenExtensions);
		} else {
			for (a=0; a<filenameList.length; a++) {
				if (strFilename == filenameList[a]) {
					if (!confirm("File already exists, overwrite?")) {
						location = "/files.do?folderId=" + folderId;
						return;
					}
					d.uploadFileForm.overwriteFileId.value = fileIdList[a];
					break;
				}
			}
			hide(d.uploadFileForm);
			show(e("progressBar"));
			d.uploadFileForm.submit();
		}
	}
}

function renamePrompt(fileCheckboxes, fileNames, fileIds, currentFolderId) {
	var checkBoxes = fileCheckboxes;
	if (!checkBoxes.length) {
		checkBoxes = new Array(checkBoxes);
	}
	for (a=0; a<checkBoxes.length; a++) {
		if (checkBoxes[a].checked) {
			var newName = prompt("Enter new name", fileNames[a]);
			if (newName) {
				var itemType;
				if (checkBoxes[a].value.indexOf("folder") != -1) {
					itemType = "folder";
				} else {
					itemType = "file";
				}
				var urlToRenameEItem = "/user/renameEItem.do?newName=" + escape(newName) + "&itemId=" + fileIds[a] + "&folderId=" + currentFolderId + "&itemType=" + itemType;
				location.replace(urlToRenameEItem);
			} else {
				break;
			}
		}
	}
}

function addTab() {
	linkFileToTab(frmEFiles.selected, filenameList, fileIdList, folderId);
}

function linkFileToTab(fileCheckboxes, fileNames, fileIds, currentFolderId) {
	if (fileCheckboxes) {
		var checkBoxes = fileCheckboxes;
		if (!checkBoxes.length) {
			checkBoxes = new Array(checkBoxes);
		}
		for (a=0; a<checkBoxes.length; a++) {
			if (checkBoxes[a].checked) {
				var tabName = prompt("Enter tab name", fileNames[a]);
				if (tabName) {
					var itemType;
					if (checkBoxes[a].value.indexOf("folder") != -1) {
						itemType = "folder";
					} else {
						itemType = "file";
					}
					var url = "/user/linkFileToTab.do?name=" + escape(tabName) + "&itemId=" + fileIds[a] + "&folderId=" + currentFolderId + "&itemType=" + itemType;
					location.replace(url);
				}
				return true;
			}
		}
	}
	alert("You must select a file to represent as a tab!");
}

function addFolderPrompt(parentFolderId) {
	var folderName = prompt("Enter folder name", "New Folder");
	if (folderName) {
		location.replace("/user/addFolder.do?name=" + folderName + "&folderId=" + parentFolderId);
	}
}

function initializeEmailForm(frm, fileIds) {
	if (checkInvalidSession()) {
		return false;
	} else {
		var fileId;
		var fileCheckboxes = frmEFiles.selected;
		if (fileCheckboxes) {
			var checkBoxes = fileCheckboxes;
			if (!checkBoxes.length) {
				checkBoxes = new Array(checkBoxes);
			}
			for (a=0; a<checkBoxes.length; a++) {
				if (checkBoxes[a].checked) {
					if (fileId) {
						alert("Please select only 1 file!");
						return false;
					}
					fileId = fileIdList[a];
				}
			}
			if (fileId) {
				showEmailForm("file", fileId);
			} else {
				alert("You must select a file to email!");
			}
		}
	}
}