Index: sandbox/filemanager/inc/class.user.inc.php
===================================================================
--- sandbox/filemanager/inc/class.user.inc.php	(revision 1892)
+++ sandbox/filemanager/inc/class.user.inc.php	(revision 1893)
@@ -100,7 +100,13 @@
 
 		function card(){
+			header('Content-Type: text/html');
+			$expires = 60*60*24*10; /* 10 days */
+			header("Cache-Control: maxage=".$expires);
+			header("Pragma: public");
+			header("Expires: ".gmdate('D, d M Y H:i:s', time()+$expires));
 			$account_info = $GLOBALS['phpgw']->accounts->get_list('accounts',0,1,1,base64_decode($this->lid),1,'exact');
 			echo $account_info[0]['account_firstname'].' '.$account_info[0]['account_lastname']."<br>";
-			echo $account_info[0]['account_email'];
+			echo '<a target="_blank" href="../expressoMail1_2/index.php?to='
+				.$account_info[0]['account_email'].'">'.$account_info[0]['account_email'];
 			/*
 			// TODO: PHOTO, ONLY FOR FOOL LDAP
Index: sandbox/filemanager/inc/class.vfs_functions.inc.php
===================================================================
--- sandbox/filemanager/inc/class.vfs_functions.inc.php	(revision 1889)
+++ sandbox/filemanager/inc/class.vfs_functions.inc.php	(revision 1893)
@@ -221,26 +221,26 @@
 		function summary()
 		{
+			header('Content-Type: text/html');
+			$expires = 60*60*24*15;
+			header("Cache-Control: maxage=".$expires);
+			header("Pragma: public");
+			header("Expires: ".gmdate('D, d M Y H:i:s', time()+$expires));
+			echo '<img src="data:image/gif;base64,';
 			if($this->file)
 			{	
-				header('Content-Type: image/gif');
-				$expires = 60*60*24*15; /* 15 days */
-				header("Cache-Control: maxage=".$expires);
-				header("Pragma: public");
-				header("Expires: ".gmdate('D, d M Y H:i:s', time()+$expires));
 				$content = $this->bo->vfs->summary(array('path' => $this->path,
 					'string' => $this->file
 				));
-				if (strlen($content) > 0)
-					echo $content;
-				else
+				if (strlen($content) < 1)
 				{
 					$filename = './filemanager/templates/default/images/error.gif';
 					$handle = fopen($filename,'rb');
-					echo fread($handle,filesize($filename));
+					$content = fread($handle,filesize($filename));
 					fclose($handle);
 				}
-
-				$GLOBALS['phpgw']->common->phpgw_exit();
-			}
+				echo base64_encode($content);
+			}
+			echo '">';
+			$GLOBALS['phpgw']->common->phpgw_exit();
 		}
 	
Index: sandbox/filemanager/js/drag_area.js
===================================================================
--- sandbox/filemanager/js/drag_area.js	(revision 1891)
+++ sandbox/filemanager/js/drag_area.js	(revision 1893)
@@ -11,5 +11,5 @@
 
 document.onmousemove = function(event) { _dragArea.moveWindow(event); }
-document.onmousedown = function(event) {_dragArea.pressed = 1; hide_card('preview');};
+document.onmousedown = function(event) {_dragArea.pressed = 1; hide_card();};
 document.onmouseup = function(event) { _dragArea.pressed = 0 };
 
Index: sandbox/filemanager/js/draw_api.js
===================================================================
--- sandbox/filemanager/js/draw_api.js	(revision 1891)
+++ sandbox/filemanager/js/draw_api.js	(revision 1893)
@@ -253,5 +253,5 @@
 			var mousefunc = 'draw_card(\'preview\',\''+file.name+'\')'
 		else
-			var mousefunc = 'hide_card(\'preview\')';
+			var mousefunc = 'hide_card()';
 		retBuff += '<a onmouseover="'+mousefunc+'" id="name_'+file.name+'" href="./index.php?menuaction=filemanager.uifilemanager.view&file='+base64_encode(file.name)+'&path='+base64_encode(currentPath)+'" target="_blank">'+file.name+'</a>&nbsp;</td>';
 		if (preferences.mime_type =='1') retBuff += fl.td+file.mime+'</td>';
@@ -595,15 +595,16 @@
 
 function draw_card(type,name){
+	clearTimeout(menuTimeout);
 	switch(type){
 		case 'preview':
-			draw_window_card(type,'./index.php?menuaction=filemanager.vfs_functions.summary&file='+base64_encode(name)+"&path="+base64_encode(currentPath));
+			var url = './index.php?menuaction=filemanager.vfs_functions.summary&file='+base64_encode(name)+"&path="+base64_encode(currentPath);
 			break;
 		case 'user':
-			var hand = function (data) { draw_window_card('user',data); }
-			cExecute('./index.php?menuaction=filemanager.user.card&lid='+base64_encode(name),hand);
+			var url = './index.php?menuaction=filemanager.user.card&lid='+base64_encode(name);
 			break;
 		default:
 			break;
 	}
+	menuTimeou = setTimeout("cExecute('"+url+"',draw_window_card)",500);
 }
 function editFolders(operation){
@@ -639,14 +640,14 @@
 }
 
-function draw_window_card(id,content){
-	var menu = document.getElementById('menu_newFile'+id);
+function draw_window_card(content){
+	var menu = document.getElementById('menu_newFile');
 	if (menu == null){
 		menu = document.createElement('DIV');
 		menu.className = 'menubox';
-		menu.id = "menu_newFile"+id;
+		menu.id = "menu_newFile";
 		menu.style.left = DocX;
 		menu.style.top = (DocY+20)+"px";
 		menu.width = "100%";
-		menu.onmouseout = function () { menuTimeout = setTimeout("hide_card(\'"+id+"\')",50);}
+		menu.onmouseout = function () { menuTimeout = setTimeout("hide_card()",50);}
 		menu.onmouseover = function () { clearTimeout(menuTimeout); };
 		menu.style.zIndex='1';
@@ -658,15 +659,12 @@
 		menu.style.top = (DocY+20)+"px";
 	}
-	if (id == 'preview')
-		menu.innerHTML = '<img src="'+content+'">';
-	else
-		menu.innerHTML = content;
+	menu.innerHTML = content;
 
 	menu.style.visibility = 'visible';
 	clearTimeout(menuTimeout);
-	menuTimeout = setTimeout("hide_card(\'"+id+"\')",4000);
-}
-function hide_card(id){
-	var e=document.getElementById('menu_newFile'+id);
+	menuTimeout = setTimeout("hide_card()",4000);
+}
+function hide_card(){
+	var e=document.getElementById('menu_newFile');
 	if (e!=null)
 		e.style.visibility = 'hidden';
