diff --git a/mod/directory.php b/mod/directory.php
index 930a575b66..8a5685c9a5 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -73,14 +73,12 @@ function directory_content(&$a) {
 	$order = " ORDER BY `name` ASC "; 
 
 
-	$r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`, `user`.`timezone` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT %d , %d ",
+	$r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`, `user`.`timezone` , `user`.`page-flags` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT %d , %d ",
 		intval($a->pager['start']),
 		intval($a->pager['itemspage'])
 	);
 	if(count($r)) {
 
-		$tpl = get_markup_template('directory_item.tpl');
-
 		if(in_array('small', $a->argv))
 			$photo = 'thumb';
 		else
@@ -113,20 +111,60 @@ function directory_content(&$a) {
 			if(strlen($rr['gender']))
 				$details .= '<br />' . t('Gender: ') . $rr['gender'];
 
+			if($rr['page-flags'] == PAGE_NORMAL)
+				$page_type = "Personal Profile";
+			if($rr['page-flags'] == PAGE_SOAPBOX)
+				$page_type = "Fan Page";
+			if($rr['page-flags'] == PAGE_COMMUNITY)
+				$page_type = "Community Forum";
+			if($rr['page-flags'] == PAGE_FREELOVE)
+				$page_type = "Open Forum";
+			if($rr['page-flags'] == PAGE_PRVGROUP)
+				$page_type = "Private Group";
+
+			$profile = $rr;
+
+			if((x($profile,'address') == 1)
+				|| (x($profile,'locality') == 1)
+				|| (x($profile,'region') == 1)
+				|| (x($profile,'postal-code') == 1)
+				|| (x($profile,'country-name') == 1))
+			$location = t('Location:');
+
+			$gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
+
+			$marital = ((x($profile,'marital') == 1) ?  t('Status:') : False);
+
+			$homepage = ((x($profile,'homepage') == 1) ?  t('Homepage:') : False);
+
+			$about = ((x($profile,'about') == 1) ?  t('About:') : False);
+			
+			$tpl = get_markup_template('directory_item.tpl');
+
 			$entry = replace_macros($tpl,array(
 				'$id' => $rr['id'],
 				'$profile-link' => $profile_link,
 				'$photo' => $a->get_cached_avatar_image($rr[$photo]),
 				'$alt-text' => $rr['name'],
 				'$name' => $rr['name'],
-				'$details' => $pdesc . $details  
-
+				'$details' => $pdesc . $details,
+				'$page-type' => $page_type,
+				'$profile' => $profile,
+				'$location' => template_escape($location),
+				'$gender'   => $gender,
+				'$pdesc'	=> $pdesc,
+				'$marital'  => $marital,
+				'$homepage' => $homepage,
+				'$about' => $about,
 
 			));
 
 			$arr = array('contact' => $rr, 'entry' => $entry);
 
 			call_hooks('directory_item', $arr);
+			
+			unset($profile);
+			unset($location);
 
 			$o .= $entry;
 
diff --git a/view/theme/diabook/directory_item.tpl b/view/theme/diabook/directory_item.tpl
index bc2af16c21..70d1979551 100755
--- a/view/theme/diabook/directory_item.tpl
+++ b/view/theme/diabook/directory_item.tpl
@@ -3,9 +3,40 @@
 	<div class="directory-photo-wrapper" id="directory-photo-wrapper-$id" > 
 		<div class="directory-photo" id="directory-photo-$id" >
 			<a href="$profile-link" class="directory-profile-link" id="directory-profile-link-$id" >
-				<img class="directory-photo-img" src="$photo" alt="$alt-text" title="$alt-text" />
+				<img class="directory-photo-img photo" src="$photo" alt="$alt-text" title="$alt-text" />
 			</a>
 		</div>
 	</div>
-	<div class="contact-name" id="directory-name-$id">$name</div>
+	<div class="directory-profile-wrapper" id="directory-profile-wrapper-$id" >
+		<div class="contact-name" id="directory-name-$id">$name</div>
+		<div class="page-type">$page-type</div>
+		{{ if $pdesc }}<div class="directory-profile-title">$profile.pdesc</div>{{ endif }}
+    	<div class="directory-detailcolumns-wrapper" id="directory-detailcolumns-wrapper-$id">
+        	<div class="directory-detailscolumn-wrapper" id="directory-detailscolumn1-wrapper-$id">	
+			{{ if $location }}
+			    <dl class="location"><dt class="location-label">$location</dt>
+				<dd class="adr">
+					{{ if $profile.address }}<div class="street-address">$profile.address</div>{{ endif }}
+					<span class="city-state-zip">
+						<span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
+						<span class="region">$profile.region</span>
+						<span class="postal-code">$profile.postal-code</span>
+					</span>
+					{{ if $profile.country-name }}<span class="country-name">$profile.country-name</span>{{ endif }}
+				</dd>
+				</dl>
+			{{ endif }}
+
+			{{ if $gender }}<dl class="mf"><dt class="gender-label">$gender</dt> <dd class="x-gender">$profile.gender</dd></dl>{{ endif }}
+			</div>	
+			<div class="directory-detailscolumn-wrapper" id="directory-detailscolumn2-wrapper-$id">	
+				{{ if $marital }}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>$marital</dt><dd class="marital-text">$profile.marital</dd></dl>{{ endif }}
+
+				{{ if $homepage }}<dl class="homepage"><dt class="homepage-label">$homepage</dt><dd class="homepage-url"><a href="$profile.homepage" target="external-link">$profile.homepage</a></dd></dl>{{ endif }}
+			</div>
+		</div>
+	  	<div class="directory-copy-wrapper" id="directory-copy-wrapper-$id" >
+			{{ if $about }}<dl class="directory-copy"><dt class="directory-copy-label">$about</dt><dd class="directory-copy-data">$profile.about</dd></dl>{{ endif }}
+  		</div>
+	</div>
 </div>
diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css
index 736817c7bf..049fb7ba44 100644
--- a/view/theme/diabook/style.css
+++ b/view/theme/diabook/style.css
@@ -2732,6 +2732,30 @@ float: left;
 /* ============= */
 /* = Directory = */
 /* ============= */
+section .directory-item dl {
+  height: auto;
+  overflow: auto;	
+}
+section .directory-item dt {
+  float: left;
+  margin-left: 0px;
+  text-align: right;
+  color: #999;
+}
+section .directory-item dd {
+  float: left;
+  margin-left: 5px;
+}
+.directory-profile-wrapper {
+  float: left;
+  max-height: 178px;
+  overflow: hidden;
+  width: 635px;
+}
+.directory-copy-wrapper {
+  float: left;
+  overflow: hidden;	
+}
 /* contacts menu */
 .contact-photo-wrapper {
   position: relative;
@@ -2773,7 +2797,7 @@ float: left;
 }
 .directory-item {
   float: left;
-  width: 200px;
+  width: 800px;
   height: 200px;
 }
 .directory-item .contact-photo {
@@ -2784,14 +2808,38 @@ float: left;
   width: 175px;
   height: 175px;
 }
+.directory-photo-wrapper {
+  float: left;
+  height: 200px;
+  width: 165px;	
+}
 .contact-name {
-  text-align: left;
+  font-size: 18px;
   font-weight: bold;
-  font-size: 12px;
+  margin-bottom: -3px;
+  text-align: left;
 }
 .contact-details {
   color: #999999;
 }
+.page-type {
+  font-size: 10px;
+  font-style: italic;
+}
+.directory-detailscolumn-wrapper {
+  float: left;	
+  width: 305px;
+  margin-right: 10px;  
+}
+.directory-profile-wrapper dl {
+  margin-top: 3px;
+  margin-bottom: 3px;
+}
+.directory-profile-title {
+  font-weight: bold;
+  margin-bottom: 3px;
+  font-size: 14px;
+}
 #side-bar-photos-albums li{
 list-style-type: disc;
 }