/*
 *	=============================
 *   	FOLDERS
 *	=============================
 */

var CFolders = new DropableElementList();

function resetCFolders(){
	CFolders.reset();
}

function addCManagerFolder(folder_id){
	// Setup Folder Element
	var DDElement = new DragDropElement("cfolder" + folder_id);
	DDElement.element_type = 'folder';
	CFolders.addElement(DDElement);
	// Setup Drop Object
	DDElement.setupDropObject = function(DropObject){
		DropObject.DOMElement.style.top  = (DDElement.top)+"px";
		DropObject.DOMElement.style.left = (DDElement.left)+"px";
	}
	// Make Folder Element clickable
	DDElement.handleClick = function(){
		var folder = this.DOMElement.id.replace(/cfolder/, "");
		AJAX.load("CManager", "selectFolder", "folder=" + folder);
	}
	// Make Folder Element dropable
	DDElement.handleDrop = function(DropElement){
		var file = DropElement.DOMElement.id.replace(/cfile/, "");
		var folder = this.DOMElement.id.replace(/cfolder/, "");
		AJAX.load("CManager", "moveFile", "folder=" + folder + "&file=" + file);
	}
}

function delCManagerFolder(module_id, folder_id){
	if(confirm("Möchtest du diesen Ordner wirklich löschen und den gesamten Inhalt in die Müllablage verschieben? Dieser Schritt kann nicht rückgängig gemacht werden!")){
		AJAX.load(module_id, "delFolder", "folder="+folder_id);
	}
}

/*
 *	=============================
 *   	SYSTEM FOLDERS
 *	=============================
 */

var CSystemFolders = new DropableElementList();

function resetCSystemFolders(){
	CSystemFolders = new DropableElementList();
}

function addCManagerSystemFolder(folder_id){
	var DDElement = new DragDropElement("cfolder" + folder_id);
	DDElement.element_type = 'sysfolder';
	CSystemFolders.addElement(DDElement);
	// Setup Drop Object
	DDElement.setupDropObject = function(DropObject){
		DropObject.DOMElement.style.top  = (DDElement.top)+"px";
		DropObject.DOMElement.style.left = (DDElement.left)+"px";
	}
	DDElement.handleDrop = function(DropElement){
		var file = DropElement.DOMElement.id.replace(/cfile/, "");
		var folder = this.DOMElement.id.replace(/cfolder/, "");
		AJAX.load("CManager", "moveFile", "folder=" + folder + "&file=" + file);
	}
	// Make Folder Element clickable
	DDElement.handleClick = function(){
		var folder = this.DOMElement.id.replace(/cfolder/, "");
		AJAX.load("CManager", "selectFolder", "folder=" + folder);
	}

}

/*
 *	=============================
 *   	FILES
 *	=============================
 */

var DraggableFiles = new DraggableElementList();
var FileDropTargets = new DropableElementList();
DraggableFiles.setDropableElements(FileDropTargets);
DraggableFiles.appendDropableElements(CFolders);
DraggableFiles.appendDropableElements(CSystemFolders);

function resetCFiles(){
	DraggableFiles = new DraggableElementList();
	FileDropTargets = new DropableElementList();
	DraggableFiles.setDropableElements(FileDropTargets);
	DraggableFiles.appendDropableElements(CFolders);
	DraggableFiles.appendDropableElements(CSystemFolders);
}

function addCManagerFile(file_id, file_name){
	// Setup File Element
	var DDElement = new DragDropElement("cfile" + file_id);
	DDElement.element_type = 'file';
	DDElement.element_name = file_name;
	DDElement.setupDragObject = function(DragObject){
		DragObject.DOMElement.style.opacity = '1';
		DragObject.DOMElement.style.top  = (DDElement.top-30)+"px";
		DragObject.DOMElement.style.left = (DDElement.left-40)+"px";
		var file_id =  this.DOMElement.id.replace(/cfile/, "");
		DragObject.DOMElement.innerHTML = '<div style="position:relative;width:111px;height:98px;background: url(/images/cmanager/imageGrid_thumb_back.png) no-repeat;">'
			+ '<div class="spacer5"></div>'
			+ '<div style="margin-left: 5px;text-align:center;width:101px;height:73px;background:url(/content/picture/thumb43/' + file_id + ') no-repeat;overflow:hidden;"></div>'
			+ '<div class="spacer2"></div>'
			+ '<div style="position: relative;text-align: center; overflow: hidden; width: 101px; height:12px; margin-left: 6px;">' + DDElement.element_name + '</div>'
			+ '</div>';
	}
	DDElement.startDragging = function(DragObject){
		DragObject.DOMElement.style.opacity = '0.7';
	}
	DraggableFiles.addElement(DDElement);

	// Make File Element clickable
	DDElement.handleClick = function(){
		var file = this.DOMElement.id.replace(/cfile/, "");
		AJAX.load("CManager", "editFile", "file=" + file);
	}

	// Setup File Order Drop Target
	var DropTargetDDElement = new DragDropElement("cfileDT" + file_id);

	DropTargetDDElement.setupDropObject = function(DropObject){
		DropObject.DDElement.DOMElement.innerHTML = '<div class="fileDropTargetHover"></div>';
	}

	DropTargetDDElement.clearDropObject = function(DropObject){
		DropObject.DDElement.DOMElement.innerHTML = '<div class="fileDropTarget"></div>';
	}

	DropTargetDDElement.handleDrop = function(DroppedDDElement){
		var file1 = this.DOMElement.id.replace(/cfileDT/, "");
		var file2 = DroppedDDElement.DOMElement.id.replace(/cfile/, "");
		AJAX.load("CManager", "reposFile", "file1=" + file1 + "&file2=" + file2);
	}
	FileDropTargets.addElement(DropTargetDDElement);
}

