Index: pro-bachkim-filespace/sourcecode/application/libraries/vservices.php
===================================================================
--- pro-bachkim-filespace/sourcecode/application/libraries/vservices.php	(revision 120)
+++ pro-bachkim-filespace/sourcecode/application/libraries/vservices.php	(revision 121)
@@ -52,26 +52,6 @@
 		$this->_curlObj->post($aryParams);
 		return $this->_curlObj->execute();
-	}
-	
-	public function createDir ($dirName, $parentId) {
-		$this->_curlObj->create($this->_apiUrl. 'space/mkdir');
-		$this->_curlObj->option(CURLOPT_BUFFERSIZE, 10);
-		$this->_curlObj->options(array(CURLOPT_BUFFERSIZE => 10));
-		
-		$post = array('userid' => $this->_userId, 'parent_id' => $parentId, 'name' => $dirName);
-		$this->_curlObj->post($post);
-		return $this->_curlObj->execute();
-	}
-	
-	public function deleteDir ($dirId) {
-		$this->_curlObj->create($this->_apiUrl. 'space/delete');
-		$this->_curlObj->option(CURLOPT_BUFFERSIZE, 10);
-		$this->_curlObj->options(array(CURLOPT_BUFFERSIZE => 10));
-		
-		$post = array('userid' => $this->_userId, 'type' => 'folder', 'id' => $dirId);
-		$this->_curlObj->post($post);
-		return $this->_curlObj->execute();
-	}
-		
+	}	
+			
 	public function __destruct() {
 		
Index: pro-bachkim-filespace/sourcecode/application/modules/ajax/controllers/privatecontent.php
===================================================================
--- pro-bachkim-filespace/sourcecode/application/modules/ajax/controllers/privatecontent.php	(revision 120)
+++ pro-bachkim-filespace/sourcecode/application/modules/ajax/controllers/privatecontent.php	(revision 121)
@@ -144,10 +144,14 @@
 		$data =  $this->input->post('data',TRUE);
 		
+		$xmlData = $this->vservices->actionExecute('copy',array('data' => $data, 'destination' => $destination == 0 ? -1:$destination));
+		$this->xml->parse($xmlData);
+		
+		$aryNewDirs =	isset($this->xml->data->folderdata) ? json_decode($this->xml->data->folderdata->_value) : array();
+		$aryNewFiles =	isset($this->xml->data->filedata) ? json_decode($this->xml->data->filedata->_value) : array();
+		
 		$aryData = array();
-		$aryData['RESULT'] = json_decode($data);
-		$aryError = array('err' => '', 'errCode' => 0);
-		$aryData['ERROR'] = $aryError;
+		$aryData['RESULT'] = array('DIRECTORIES' => $aryNewDirs, 'FILES' => $aryNewFiles);
+		$aryData['ERROR'] = array('err' => $this->xml->data->_param['err'], 'errCode' => (int)$this->xml->data->_param['errCode']);;
 		echo json_encode($aryData);
-
 	}
 	
@@ -157,4 +161,4 @@
 }
 
-/* End of file directory.php */
-/* Location: ./application/modules/ajax/controllers/directory.php */
+/* End of file privatecontent.php */
+/* Location: ./application/modules/ajax/controllers/privatecontent.php */
Index: pro-bachkim-filespace/sourcecode/assets/css/space/vsgrid.css
===================================================================
--- pro-bachkim-filespace/sourcecode/assets/css/space/vsgrid.css	(revision 120)
+++ pro-bachkim-filespace/sourcecode/assets/css/space/vsgrid.css	(revision 121)
@@ -183,7 +183,7 @@
 DIV.vsgrid DIV.vscell DIV.selector DIV.icon-excel,
 DIV.vsgrid DIV.vscell DIV.selector DIV.icon-presentation,
-DIV.vsgrid DIV.vscell DIV.selector DIV.icon-audio,
+DIV.vsgrid DIV.vscell DIV.selector DIV.icon-mp3,
 DIV.vsgrid DIV.vscell DIV.selector DIV.icon-video,
-DIV.vsgrid DIV.vscell DIV.selector DIV.icon-compressed,
+DIV.vsgrid DIV.vscell DIV.selector DIV.icon-zip,
 DIV.vsgrid DIV.vscell DIV.selector DIV.icon-pdf{
 	display: block;
Index: pro-bachkim-filespace/sourcecode/assets/js/grid.js
===================================================================
--- pro-bachkim-filespace/sourcecode/assets/js/grid.js	(revision 120)
+++ pro-bachkim-filespace/sourcecode/assets/js/grid.js	(revision 121)
@@ -142,5 +142,5 @@
 				var nodeID = $(node).find('> DIV[class^="file-name"] > INPUT[type="hidden"][class^="id"]').val();
 				var nodeType = $(node).find('> DIV[class^="file-name"] > INPUT[type="hidden"][class^="type"]').val();
-				$(node).remove();				
+				$(node).remove();
 			}
 
Index: pro-bachkim-filespace/sourcecode/assets/js/manager.js
===================================================================
--- pro-bachkim-filespace/sourcecode/assets/js/manager.js	(revision 120)
+++ pro-bachkim-filespace/sourcecode/assets/js/manager.js	(revision 121)
@@ -51,4 +51,6 @@
 				if( p.callbackFail == undefined ) p.callbackFail = null;
 				if( p.callbackAlways == undefined ) p.callbackAlways = null;
+				if( p.parseData == undefined ) p.parseData = null;
+				if( p.self == undefined ) p.self = this;
 
 				if (p.script != null && (o.datasource == 'ajax' || isDev)) {
@@ -56,4 +58,5 @@
 						if (data) {
 							parseData = $.parseJSON(data);
+							p.parseData = parseData;
 						}
 
@@ -66,5 +69,5 @@
 						}
 
-					}).done(function() {if (p.callbackDone != null)p.callbackDone(this);}).fail(function() {if (p.callbackFail != null)p.callbackFail(this);}).always(function() {if (p.callbackAlways != null)p.callbackAlways(this);});
+					}).done(function() {if (p.callbackDone != null)p.callbackDone(p.parseData);}).fail(function() {if (p.callbackFail != null)p.callbackFail(this);}).always(function() {if (p.callbackAlways != null)p.callbackAlways(this);});
 				}
 				else if (o.datasource == 'json'){
@@ -120,14 +123,24 @@
 				aryChildFiles = searchItemsByParent(dirID, 'file');
 
+				node.id = dir.id;
+				node.name = dir.name;
+				node.type = 'directory';
+
 				$(aryChildDirs).each(function (index) {
-					aryChildIDs[index] = this.id;
+					var id = this.id;
+					var name = this.name;
+					var type = 'directory';
+					var cDir = {id:id, name:name, type:type, childs:null};
+					aryChildIDs[index] = cDir;
 				});
-
-				if (node.id == undefined) node.id = dirID;				
 
 				if ($(aryChildFiles).length > 0 ) {
 					if (node.files == undefined) node.files = [];
 					$(aryChildFiles).each(function (index) {
-						node.files[index] = this.id;
+						var id = this.id;
+						var name = this.name;
+						var type = 'file';
+						var cFile = {id:id, name:name, type:type};
+						node.files[index] = cFile;
 					});
 				}				
@@ -137,5 +150,5 @@
 					$(aryChildIDs).each(function (index) {
 						node.childs[index] = new Object;
-						buildTreeFromParent(aryChildIDs[index], node.childs[index]);
+						buildTreeFromParent(aryChildIDs[index].id, node.childs[index]);
 					});
 				}
@@ -388,5 +401,11 @@
 				$(oClipBoard.items).each(function (index) {
 					var node = new Object;
-					buildTreeFromParent(this.id, node);
+					if (this.type == 'directory')
+						buildTreeFromParent(this.id, node);
+					else {
+						node.id = this.id;
+						node.type = 'file';
+					}
+
 					items[index] = node;
 				});
@@ -483,18 +502,44 @@
 										callbackSuccess:function(parseData){
 											if($(parseData.DIRECTORIES).length > 0) {
-												for(var i = 0; i < $(parseData.DIRECTORIES).length; i++) {
-													o.oTree.deletion($(parseData.DIRECTORIES).get(i));
-													o.oGrid.deletion($(parseData.DIRECTORIES).get(i), 'directory');
-												}
+												$(parseData.DIRECTORIES).each (function (index) {
+													o.oTree.deletion(this);
+													o.oGrid.deletion(this, 'directory');	
+												});
 											}
 
 											if($(parseData.FILES).length > 0) {
-												for(var i = 0; i < $(parseData.FILES).length; i++) {	
-													var id = $(parseData.FILES).get(i);
-													var file = o.data.FILES[searchItemByID(id)];											
-													o.oGrid.deletion(file.id, file.minetype);
-												}												
+												$(parseData.FILES).each (function (index) {
+													var file = o.data.FILES[searchItemByID(this, 'file')];											
+													o.oGrid.deletion(this, file.minetype);
+												});	
 											}
-
+										},
+										callbackDone: function (obj) {
+											var dirs = [];
+											var files = [];
+											if($(parseData.DIRECTORIES).length > 0) {
+												$(o.data.DIRECTORIES).each(function (index){
+													var found = $.inArray(this.id, parseData.DIRECTORIES);
+													if(found == -1) {
+														dirs[$(dirs).length] = this;
+													}
+												});
+												
+												o.data.DIRECTORIES = dirs;
+											}
+											
+											if($(parseData.FILES).length > 0) {
+												$(o.data.FILES).each(function (index){
+													var found = $.inArray(this.id, parseData.FILES);
+													if(found == -1) {
+														files[$(dirs).length] = this;
+													}
+												})
+												
+												o.data.FILES = files;
+											}
+											
+											o.oTree.setData (o.data.DIRECTORIES);
+											o.oGrid.setData (o.data);
 										},
 										callbackFail: function(){}
