<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>.dotest/0001</filename>
    </added>
    <added>
      <filename>.dotest/0002</filename>
    </added>
    <added>
      <filename>.dotest/0003</filename>
    </added>
    <added>
      <filename>.dotest/binary</filename>
    </added>
    <added>
      <filename>.dotest/final-commit</filename>
    </added>
    <added>
      <filename>.dotest/info</filename>
    </added>
    <added>
      <filename>.dotest/keep</filename>
    </added>
    <added>
      <filename>.dotest/last</filename>
    </added>
    <added>
      <filename>.dotest/msg</filename>
    </added>
    <added>
      <filename>.dotest/msg-clean</filename>
    </added>
    <added>
      <filename>.dotest/next</filename>
    </added>
    <added>
      <filename>.dotest/patch</filename>
    </added>
    <added>
      <filename>.dotest/sign</filename>
    </added>
    <added>
      <filename>.dotest/utf8</filename>
    </added>
    <added>
      <filename>.dotest/whitespace</filename>
    </added>
    <added>
      <filename>app/views/shared/_contact.html.erb</filename>
    </added>
    <added>
      <filename>app/views/shared/_contact_medium.html.erb</filename>
    </added>
    <added>
      <filename>app/views/shared/_contacts_grid.html.erb</filename>
    </added>
    <added>
      <filename>app/views/shared/_footer.html.erb</filename>
    </added>
    <added>
      <filename>app/views/shared/_header.html.erb</filename>
    </added>
    <added>
      <filename>configure_insoshi_local.sh</filename>
    </added>
    <added>
      <filename>doc/bills_insoshi_notes.doc</filename>
    </added>
    <added>
      <filename>public/images/tabs-blue.png</filename>
    </added>
    <added>
      <filename>public/images/tabs.png</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery-fx.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery-ui-personalized-1.5b3.packed.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery-ui.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery.bgiframe.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery.dimensions.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery.livequery.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery.tooltip.pack.js</filename>
    </added>
    <added>
      <filename>public/javascripts/jrails.js</filename>
    </added>
    <added>
      <filename>public/stylesheets/jquery-flora.tabs.css</filename>
    </added>
    <added>
      <filename>public/stylesheets/jquery.tooltip.css</filename>
    </added>
    <added>
      <filename>test/fixtures/categories.yml</filename>
    </added>
    <added>
      <filename>test/fixtures/links.yml</filename>
    </added>
    <added>
      <filename>test/functional/categories_controller_test.rb</filename>
    </added>
    <added>
      <filename>test/functional/links_controller_test.rb</filename>
    </added>
    <added>
      <filename>test/unit/categories_test.rb</filename>
    </added>
    <added>
      <filename>test/unit/links_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/CHANGELOG</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/README</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/init.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/install.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/jquery-fx.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/jquery-ui.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/jquery.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/jrails.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/sources/jquery-fx.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/sources/jquery-ui.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/sources/jrails.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/lib/jrails.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/tasks/jrails.rake</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -20,12 +20,20 @@ class PeopleController &lt; ApplicationController
       flash[:error] = &quot;That person is not active&quot;
       redirect_to home_url and return
     end
+    @people = @contacts = @person.contacts.paginate(:page =&gt; params[:page], :per_page =&gt; RASTER_PER_PAGE)
     if logged_in?
       @some_contacts = @person.some_contacts
       @common_connections = current_person.common_connections_with(@person)
+      # gives us the same max number as in basic contacts list to show on the Profile
+      @some_common_connections = @common_connections[(0...Person::MAX_DEFAULT_CONTACTS)]
     end
     respond_to do |format|
       format.html
+      format.js {
+        render :update do |page|
+          page.replace_html 'contacts_grid', :partial =&gt; 'shared/contacts_grid'
+        end
+      }
     end
   end
   </diff>
      <filename>app/controllers/people_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,9 +7,9 @@ module ActivitiesHelper
     when &quot;BlogPost&quot;
       post = activity.item
       blog = post.blog
-      view_blog = blog_link(&quot;View #{h person.name}'s blog&quot;, blog)
-      %(#{person_link(person)} made a blog post titled
-        #{post_link(blog, post)}.&lt;br /&gt; #{view_blog}.)
+      view_blog = blog_link(&quot;#{h person.name}'s blog&quot;, blog)
+      %(#{person_link_with_image(person)} posted 
+        #{post_link(blog, post)} &amp;mdash; #{view_blog})
     when &quot;Comment&quot;
       parent = activity.item.commentable
       parent_type = parent.class.to_s
@@ -17,28 +17,30 @@ module ActivitiesHelper
       when &quot;BlogPost&quot;
         post = activity.item.commentable
         blog = post.blog
-        %(#{person_link(person)} made a comment to
+        %(#{person_link_with_image(person)} made a comment to
            #{someones(blog.person, person)}
-           blog post #{post_link(blog, post)}.)
+           blog post #{post_link(blog, post)})
       when &quot;Person&quot;
-        %(#{person_link(activity.item.commenter)} commented on 
-          #{wall(activity)}.)
+        %(#{person_link_with_image(activity.item.commenter)} commented on 
+          #{wall(activity)})
       end
     when &quot;Connection&quot;
-      %(#{person_link(activity.item.person)} and
-        #{person_link(activity.item.contact)}
-        have connected.)
+      if activity.item.contact.admin?
+        %(#{person_link_with_image(activity.item.person)} has joined the system)
+      else
+        %(#{person_link_with_image(activity.item.person)} and #{person_link_with_image(activity.item.contact)} have connected)
+      end
     when &quot;ForumPost&quot;
       post = activity.item
-      %(#{person_link(person)} made a post on the forum topic
-        #{topic_link(post.topic)}.)
+      %(#{person_link_with_image(person)} made a post on the forum topic
+        #{topic_link(post.topic)})
     when &quot;Topic&quot;
-      %(#{person_link(person)} created the new discussion topic
-        #{topic_link(activity.item)}.)
+      %(#{person_link_with_image(person)} created the new discussion topic
+        #{topic_link(activity.item)})
     when &quot;Photo&quot;
-      %(#{person_link(person)}'s profile picture has changed.)
+      %(#{person_link_with_image(person)}'s profile picture changed)
     when &quot;Person&quot;
-      %(#{person_link(person)}'s description has changed.)
+      %(#{person_link_with_image(person)}'s description changed)
     else
       # TODO: make this a more graceful falure (?).
       raise &quot;Invalid activity type #{activity_type(activity).inspect}&quot;
@@ -51,8 +53,8 @@ module ActivitiesHelper
     when &quot;BlogPost&quot;
       post = activity.item
       blog = post.blog
-      %(#{person_link(person)} made a
-        #{post_link(&quot;new blog post&quot;, blog, post)}.)
+      %(#{person_link_with_image(person)} made a
+        #{post_link(&quot;new blog post&quot;, blog, post)})
     when &quot;Comment&quot;
       parent = activity.item.commentable
       parent_type = parent.class.to_s
@@ -60,30 +62,29 @@ module ActivitiesHelper
       when &quot;BlogPost&quot;
         post = activity.item.commentable
         blog = post.blog
-        %(#{person_link(person)} made a comment to
-           #{someones(blog.person, person)}
-           blog post #{post_link(blog, post)}.)
-        %(#{person_link(person)} made a comment on
-          #{someones(blog.person, person)} 
-          #{post_link(&quot;blog post&quot;, post.blog, post)}.)
+        %(#{person_link_with_image(person)} made a comment to #{someones(blog.person, person)} blog post #{post_link(blog, post)})
+        %(#{person_link_with_image(person)} made a comment on #{someones(blog.person, person)}  #{post_link(&quot;blog post&quot;, post.blog, post)})
       when &quot;Person&quot;
-        %(#{person_link(activity.item.commenter)} commented on 
+        %(#{person_link_with_image(activity.item.commenter)} commented on 
           #{wall(activity)}.)
       end
     when &quot;Connection&quot;
-      %(#{person_link(person)} and #{person_link(activity.item.contact)}
-        have connected.)
+      if activity.item.contact.admin?
+        %(#{person_link_with_image(person)} has joined the system)
+      else
+        %(#{person_link_with_image(person)} and #{person_link_with_image(activity.item.contact)} have connected)
+      end
     when &quot;ForumPost&quot;
       topic = activity.item.topic
       # TODO: deep link this to the post
-      %(#{person_link(person)} made a #{topic_link(&quot;forum post&quot;, topic)}.)
+      %(#{person_link_with_image(person)} made a #{topic_link(&quot;forum post&quot;, topic)})
     when &quot;Topic&quot;
-      %(#{person_link(person)} created a 
-        #{topic_link(&quot;new discussion topic&quot;, activity.item)}.)
+      %(#{person_link_with_image(person)} created a 
+        #{topic_link(&quot;new discussion topic&quot;, activity.item)})
     when &quot;Photo&quot;
-      %(#{person_link(person)}'s profile picture has changed.)
+      %(#{person_link_with_image(person)}'s profile picture changed)
     when &quot;Person&quot;
-      %(#{person_link(person)}'s description has changed.)
+      %(#{person_link_with_image(person)}'s description changed)
     else
       raise &quot;Invalid activity type #{activity_type(activity).inspect}&quot;
     end
@@ -152,6 +153,21 @@ module ActivitiesHelper
             person_path(person, :anchor =&gt; &quot;wall&quot;))
   end
   
+  # Only show member photo for certain types of activity
+  def posterPhoto(activity)
+    shouldShow = case activity_type(activity)
+    when &quot;Photo&quot;
+      true
+    when &quot;Connection&quot;
+      true
+    else
+      false
+    end
+    if shouldShow
+      image_link(activity.person, :image =&gt; :thumbnail)
+    end
+  end
+  
   private
   
     # Return the type of activity.</diff>
      <filename>app/helpers/activities_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,11 @@
 # Methods added to this helper will be available to all templates in the application.
 module ApplicationHelper
   
+  ## Application-wide values
+  def app_name
+    'Lazar Insoshi'
+  end
+  
   ## Menu helpers
   
   def menu
@@ -11,6 +16,11 @@ module ApplicationHelper
     else
       forum = menu_element(&quot;Forums&quot;, forums_path)
     end
+    if global_prefs.about.blank?
+      about = ''
+    else
+      about = menu_element(&quot;About&quot;, about_url)
+    end
     resources = menu_element(&quot;Resources&quot;, &quot;http://docs.insoshi.com/&quot;)
     if logged_in? and not admin_view?
       profile  = menu_element(&quot;Profile&quot;,  person_path(current_person))
@@ -19,21 +29,16 @@ module ApplicationHelper
       photos   = menu_element(&quot;Photos&quot;,   photos_path)
       contacts = menu_element(&quot;Contacts&quot;,
                               person_connections_path(current_person))
-      links = [home, profile, contacts, messages, blog, people, forum]
+      links = [home, profile, contacts, messages, blog, people, forum, about]
     elsif logged_in? and admin_view?
       home =    menu_element(&quot;Home&quot;, home_path)
       people =  menu_element(&quot;People&quot;, admin_people_path)
       forums =  menu_element(inflect(&quot;Forum&quot;, Forum.count),
                              admin_forums_path)
       preferences = menu_element(&quot;Prefs&quot;, admin_preferences_path)
-      links = [home, people, forums, preferences]
+      links = [home, people, forums, preferences, resources]
     else
-      links = [home, people]
-    end
-    if global_prefs.about.blank?
-      links
-    else
-      links.push(menu_element(&quot;About&quot;, about_url))
+      links = [home, people, about]
     end
   end
   
@@ -100,6 +105,7 @@ module ApplicationHelper
 
   def email_link(person, options = {})
     reply = options[:replying_to]
+    use_image = options[:use_image].nil? || options[:use_image]
     if reply
       path = reply_message_path(reply)
     else
@@ -108,9 +114,13 @@ module ApplicationHelper
     img = image_tag(&quot;icons/email.gif&quot;)
     action = reply.nil? ? &quot;Send a message&quot; : &quot;Send reply&quot;
     opts = { :class =&gt; 'email-link' }
-    str = link_to(img, path, opts)
-    str &lt;&lt; &quot;&amp;nbsp;&quot;
-    str &lt;&lt; link_to_unless_current(action, path, opts)
+    if use_image
+      str = link_to(img, path, opts)
+      str &lt;&lt; &quot;&amp;nbsp;&quot;
+      str &lt;&lt; link_to_unless_current(action, path, opts)
+    else
+      str = link_to_unless_current(action, path, opts)
+    end
   end
 
   def formatting_note</diff>
      <filename>app/helpers/application_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,20 @@ module PeopleHelper
     # activities_helper_spec due to an RSpec bug.
     link_to(h(text), person, html_options)
   end
-    
+
+  # Same as person_link except sets up HTML needed for the image on hover effect
+  def person_link_with_image(text, person = nil, html_options = nil)
+    if person.nil?
+      person = text
+      text = person.name
+    elsif person.is_a?(Hash)
+      html_options = person
+      person = text
+      text = person.name
+    end
+    '&lt;span class=&quot;imgHoverMarker&quot;&gt;&lt;img src=&quot;' + person.thumbnail + '&quot; /&gt;' + person_link(text, person, html_options) + '&lt;/span&gt;'
+  end
+  
   private
     
     # Make captioned images.</diff>
      <filename>app/helpers/people_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -50,6 +50,7 @@ class Person &lt; ActiveRecord::Base
   NUM_WALL_COMMENTS = 10
   NUM_RECENT = 8
   FEED_SIZE = 10
+  MAX_DEFAULT_CONTACTS = 12
   TIME_AGO_FOR_MOSTLY_ACTIVE = 1.month.ago
   # These constants should be methods, but I couldn't figure out  how to use
   # methods in the has_many associations.  I hope you can do better.
@@ -67,8 +68,6 @@ class Person &lt; ActiveRecord::Base
   has_many :comments, :as =&gt; :commentable, :order =&gt; 'created_at DESC',
                       :limit =&gt; NUM_WALL_COMMENTS
   has_many :connections
-
-
   has_many :contacts, :through =&gt; :connections,
                       :conditions =&gt; ACCEPTED_AND_ACTIVE,
                       :order =&gt; 'people.created_at DESC'
@@ -191,7 +190,7 @@ class Person &lt; ActiveRecord::Base
 
   # Return some contacts for the home page.
   def some_contacts
-    contacts[(0...12)]
+    contacts[(0...MAX_DEFAULT_CONTACTS)]
   end
 
   # Contact links for the contact image raster.</diff>
      <filename>app/models/person.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,53 +1,46 @@
-&lt;h2&gt;Global preferences&lt;/h2&gt;
-
-&lt;p&gt;
-  &lt;b&gt;Application name:&lt;/b&gt;
-  &lt;%=h @preferences.app_name %&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-  &lt;b&gt;Email domain:&lt;/b&gt;
-  &lt;%=h @preferences.domain %&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-  &lt;b&gt;Server name:&lt;/b&gt;
-  &lt;%=h @preferences.server_name %&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-  &lt;b&gt;Smtp server:&lt;/b&gt;
-  &lt;%=h @preferences.smtp_server %&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-  &lt;b&gt;Email notifications:&lt;/b&gt;
-  &lt;%=h @preferences.email_notifications %&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-  &lt;b&gt;Email verifications:&lt;/b&gt;
-  &lt;%=h @preferences.email_verifications %&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-  &lt;b&gt;Demo site:&lt;/b&gt;
-  &lt;%=h @preferences.demo %&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-  &lt;b&gt;About text (nonblank text will lead to an 'about' link):&lt;/b&gt;
-&lt;/p&gt;
-&lt;%= display @preferences.about %&gt;
-
-
-&lt;p&gt;
-  &lt;b&gt;Analytics (will be inserted 
-     just before the &lt;%= h(&quot;&lt;/body&gt;&quot;) %&gt; tag):&lt;/b&gt;
-&lt;/p&gt;
-  &lt;pre&gt;
-&lt;%=h @preferences.analytics %&gt;
-  &lt;/pre&gt;
-
-
-&lt;%= link_to 'Edit', edit_admin_preference_path(@preferences) %&gt;
+&lt;h2&gt;Global preferences &lt;div class=&quot;profileEditLink&quot;&gt;&lt;%= link_to 'Edit', edit_admin_preference_path(@preferences) %&gt;&lt;/div&gt;&lt;/h2&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;div class=&quot;prefLabel&quot;&gt;Application name&lt;/div&gt;
+  &lt;div class=&quot;prefValue&quot;&gt;&lt;%=h @preferences.app_name %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;div class=&quot;prefLabel&quot;&gt;Email domain&lt;/div&gt;
+  &lt;div class=&quot;prefValue&quot;&gt;&lt;%=h @preferences.domain %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;div class=&quot;prefLabel&quot;&gt;Server name&lt;/div&gt;
+  &lt;div class=&quot;prefValue&quot;&gt;&lt;%=h @preferences.server_name %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;div class=&quot;prefLabel&quot;&gt;Smtp server&lt;/div&gt;
+  &lt;div class=&quot;prefValue&quot;&gt;&lt;%=h @preferences.smtp_server %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;div class=&quot;prefLabel&quot;&gt;Email notifications&lt;/div&gt;
+  &lt;div class=&quot;prefValue&quot;&gt;&lt;%=h @preferences.email_notifications %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;div class=&quot;prefLabel&quot;&gt;Email verifications&lt;/div&gt;
+  &lt;div class=&quot;prefValue&quot;&gt;&lt;%=h @preferences.email_verifications %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;div class=&quot;prefLabel&quot;&gt;Demo site&lt;/div&gt;
+  &lt;div class=&quot;prefValue&quot;&gt;&lt;%=h @preferences.demo %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;b&gt;About text (nonblank text will lead to an 'about' link)&lt;/b&gt;
+  &lt;div class=&quot;prefAbout&quot;&gt;&lt;%= display @preferences.about %&gt;&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;prefItem&quot;&gt;
+  &lt;b&gt;Analytics (will be inserted just before the &lt;%= h(&quot;&lt;/body&gt;&quot;) %&gt; tag)&lt;/b&gt;
+  &lt;pre&gt;&lt;%=h @preferences.analytics %&gt;&lt;/pre&gt;
+&lt;/div&gt;
\ No newline at end of file</diff>
      <filename>app/views/admin/preferences/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 
   &lt;%- if @posts.empty? -%&gt;
     &lt;h3 class=&quot;blankslate&quot;&gt;
-      No posts yet!
+      Start this blog: 
       &lt;%- if current_person?(@blog.person) -%&gt;
         &lt;%= link_to &quot;Write a post&quot;, new_blog_post_path(@blog) %&gt;
       &lt;%- end -%&gt;
@@ -21,11 +21,10 @@
   &lt;%- if current_person?(@blog.person) -%&gt;
   &lt;h2&gt;Add new post&lt;/h2&gt;
 
-  &lt;p&gt;&lt;%= formatting_note %&gt;&lt;/p&gt;
-
   &lt;%= render :partial =&gt; 'posts/blog_form',
              :locals =&gt; { :url =&gt; blog_posts_path(@blog),
                           :method =&gt; :post } %&gt;
+
+  &lt;p&gt;&lt;%= formatting_note %&gt;&lt;/p&gt;
   &lt;%- end -%&gt;
-  &lt;%= render :partial =&gt; 'shared/minifeed' %&gt;
 &lt;%- end -%&gt;
\ No newline at end of file</diff>
      <filename>app/views/blogs/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -2,19 +2,8 @@
 &lt;h2&gt;Contacts for &lt;%= h @person.name %&gt;&lt;/h2&gt;
 
 &lt;% unless @contacts.empty? -%&gt;
-  &lt;%= will_paginate(@contacts) %&gt;
-  &lt;ul class=&quot;grid contacts medium&quot;&gt;
-    &lt;%- @contacts.each do |contact| -%&gt;
-      &lt;li class=&quot;vcard contact&quot;&gt;
-        &lt;%= image_link contact, :image_options =&gt; { :class =&gt; &quot;photo&quot; },
-                                :link_options =&gt; { :class =&gt; &quot;url&quot; },
-                                :vcard =&gt; true,
-                                :image =&gt; :bounded_icon %&gt;
-      &lt;/li&gt;
-    &lt;%- end -%&gt;
-      
-  &lt;/ul&gt;
-  &lt;%= will_paginate(@contacts) %&gt;
+    &lt;%= render :partial =&gt; 'shared/contacts_grid',
+               :locals =&gt; { :contacts =&gt; @contacts } %&gt;
 &lt;% else %&gt;
   &lt;h3&gt;No contacts (yet)&lt;/h3&gt;
 &lt;% end -%&gt;
@@ -22,5 +11,5 @@
 &lt;%- end -%&gt;
 
 &lt;%- column_div :type =&gt; :secondary do -%&gt;
-  &lt;%= render :partial =&gt; 'shared/minifeed' %&gt;
+  &lt;%= render :partial =&gt; 'searches/box' %&gt;
 &lt;%- end -%&gt;</diff>
      <filename>app/views/connections/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
-&lt;%= display global_prefs.about %&gt;
\ No newline at end of file
+&lt;%- column_div :type =&gt; :primary do -%&gt;
+  &lt;h2&gt;About &lt;%= app_name %&gt;&lt;/h2&gt;
+  &lt;%= display global_prefs.about %&gt;
+&lt;%- end %&gt;
+
+&lt;%- column_div :type =&gt; :secondary do -%&gt;
+  &lt;h2&gt;Related Resources&lt;/h2&gt;
+  &lt;ul id=&quot;resourceList&quot;&gt;
+	&lt;li&gt;&lt;%= link_to 'Insoshi', 'http://insoshi.com' %&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;%= link_to 'Ruby on Rails', 'http://rubyonrails.com' %&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;%= link_to 'GitHub', 'http://github.com' %&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;%= link_to 'Bill Lazar', 'http://billsaysthis.com' %&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;%= link_to 'Michael Hartl', 'http://michaelhartl.com/' %&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;%= link_to 'Insoshi on GitHub', 'http://github.com/insoshi/insoshi/tree/master' %&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+&lt;%- end -%&gt;
\ No newline at end of file</diff>
      <filename>app/views/home/about.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -3,48 +3,14 @@
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
   &lt;head&gt;
     &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
-    &lt;title&gt;Insoshi Open Source Social Networking Platform&lt;/title&gt;
+    &lt;title&gt;&lt;%= app_name %&gt;&lt;/title&gt;
     &lt;%= stylesheet_link_tag &quot;default&quot; %&gt;
-    &lt;%= javascript_include_tag :defaults %&gt;
+    &lt;%= stylesheet_link_tag &quot;jquery-flora.tabs.css&quot;, &quot;jquery.tooltip.css&quot; %&gt;
+    &lt;%= javascript_include_tag &quot;jquery.js&quot;, &quot;jquery-ui-personalized-1.5b3.packed.js&quot;, &quot;jquery-fx.js&quot;, &quot;jrails.js&quot; %&gt;
+    &lt;%= javascript_include_tag &quot;jquery.dimensions.js&quot;, &quot;jquery.bgiframe.js&quot;, &quot;jquery.tooltip.pack.js&quot;, &quot;jquery.livequery.js&quot;, &quot;application.js&quot; %&gt;
   &lt;/head&gt;
   &lt;body class=&quot;&lt;%= @body %&gt;&quot;&gt;
-    &lt;div id=&quot;header-wrap&quot;&gt;
-      &lt;div id=&quot;header&quot;&gt;
-        &lt;h1&gt;
-          &lt;a href=&quot;/&quot; title=&quot;Return to Insoshi homepage&quot;&gt;
-            &lt;%= image_tag &quot;logo-insoshi.png&quot; %&gt;
-          &lt;/a&gt;
-        &lt;/h1&gt;
-        &lt;ul id=&quot;nav&quot;&gt;
-          &lt;%- menu.each do |link| -%&gt;
-            &lt;%= menu_li link %&gt;
-          &lt;%- end -%&gt;
-        &lt;/ul&gt;
-        
-          &lt;p class=&quot;welcome&quot;&gt;
-            &lt;%- if logged_in? -%&gt;
-              Welcome, &lt;%= h current_person.name %&gt;!
-              (&lt;%= link_to &quot;Sign out&quot;, logout_path %&gt;)
-              &lt;%- if current_person.admin? -%&gt;
-                &lt;br /&gt;
-                &lt;%- if admin_view? -%&gt;
-                  &lt;%= link_to(&quot;Standard view&quot;, home_path) %&gt;
-                &lt;%- else -%&gt;
-                  &lt;%= link_to(&quot;Admin view&quot;, admin_preferences_path) %&gt;
-                &lt;%- end -%&gt;
-              &lt;%- end -%&gt;
-            &lt;%- else -%&gt;
-              &lt;%= link_to &quot;Sign in&quot;, login_path %&gt; or
-              &lt;%= link_to &quot;Sign up&quot;, signup_path %&gt;
-              &lt;%- if global_prefs.can_send_mail? -%&gt;
-              &lt;br /&gt;
-              &lt;%= link_to &quot;I forgot my password&quot;,
-                           new_password_reminder_path %&gt;
-              &lt;%- end -%&gt;             
-            &lt;%- end -%&gt;
-          &lt;/p&gt;
-      &lt;/div&gt;
-    &lt;/div&gt;
+    &lt;%= render :partial =&gt; 'shared/header' %&gt;
     
     &lt;div id=&quot;wrap&quot;&gt;
       &lt;div id=&quot;content&quot;&gt;
@@ -58,20 +24,10 @@
           &lt;%= content_tag :p, msg, :class =&gt; &quot;flash #{key}&quot; %&gt;
         &lt;% end %&gt;     
         &lt;%= yield %&gt;
-        &lt;div id=&quot;footer&quot;&gt;
-          &lt;p id=&quot;footer-nav&quot;&gt;
-            &lt;a href=&quot;/&quot;&gt;Home&lt;/a&gt; | &lt;a href=&quot;/messages&quot;&gt;Messages&lt;/a&gt; | &lt;a href=&quot;/people&quot;&gt;People&lt;/a&gt; | &lt;a href=&quot;/forums&quot;&gt;Forum&lt;/a&gt;
-
-          &lt;/p&gt;
-          &lt;p&gt;Powered by
-            &lt;a href=&quot;http://insoshi.com/&quot;&gt;Insoshi open-source social networking platform&lt;/a&gt;
-          &lt;/p&gt;
-        &lt;/div&gt;
       &lt;/div&gt;
-      &lt;%- if development? -%&gt;
-        &lt;div&gt;&lt;%= render :partial =&gt; 'shared/debug' %&gt;&lt;/div&gt;
-      &lt;%- end -%&gt; 
+	  &lt;%= render :partial =&gt; 'shared/footer' %&gt;
+      &lt;%= render :partial =&gt; 'shared/debug' if development? %&gt;
     &lt;/div&gt;
-  &lt;%= global_prefs.analytics %&gt;
+    &lt;%= global_prefs.analytics %&gt;
   &lt;/body&gt;
-&lt;/html&gt;
+&lt;/html&gt;
\ No newline at end of file</diff>
      <filename>app/views/layouts/application.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -17,5 +17,4 @@
 
 &lt;%- column_div :type =&gt; :secondary do -%&gt;
   &lt;%= render :partial =&gt; 'searches/box' %&gt;
-  &lt;%= render :partial =&gt; 'shared/minifeed' %&gt;
 &lt;%- end -%&gt;
\ No newline at end of file</diff>
      <filename>app/views/messages/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -29,5 +29,5 @@
 &lt;%- end -%&gt;
 
 &lt;%- column_div :type =&gt; :secondary do -%&gt;
-  &lt;%= render :partial =&gt; 'shared/minifeed' %&gt;
+  &lt;%= render :partial =&gt; 'searches/box' %&gt;
 &lt;%- end -%&gt;</diff>
      <filename>app/views/messages/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,18 +1,13 @@
-&lt;%- if logged_in? -%&gt;
-  &lt;%- unless @common_connections.empty? -%&gt;
+&lt;%- if logged_in? &amp;&amp; !@common_connections.empty? -%&gt;
     &lt;h2&gt;Common Contacts&lt;/h2&gt;
-    &lt;ul class=&quot;grid contacts small&quot;&gt;
-      &lt;%- @common_connections.each do |connection| -%&gt;
-        &lt;li class=&quot;vcard&quot;&gt;
-          &lt;%= image_link(connection.contact,
-                         :image_options =&gt; { :class =&gt; &quot;photo fn&quot; },
-                         :link_options =&gt;  { :class =&gt; &quot;url&quot; }) %&gt;
-        &lt;/li&gt;
+    &lt;ul class=&quot;grid contacts medium&quot;&gt;
+      &lt;%- @some_common_connections.each do |connection| -%&gt;
+		&lt;%= render :partial =&gt; 'shared/contact_medium', :locals =&gt; {:contact =&gt; connection.contact} %&gt;
       &lt;%- end -%&gt;
-      &lt;li class=&quot;more&quot;&gt;
-        &lt;%= link_to &quot;See all &amp;raquo;&quot;, 
-                    common_contacts_person_path(@person) %&gt;
-      &lt;/li&gt;
+	  &lt;%- if @common_connections.length &gt; Person::MAX_DEFAULT_CONTACTS -%&gt;
+        &lt;li class=&quot;more&quot;&gt;
+          &lt;%= link_to &quot;See all &amp;raquo;&quot;, common_contacts_person_path(@person) %&gt;
+        &lt;/li&gt;
+	  &lt;%- end -%&gt;
     &lt;/ul&gt;
-  &lt;%- end -%&gt;
 &lt;%- end -%&gt;
\ No newline at end of file</diff>
      <filename>app/views/people/_common_contacts.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -4,4 +4,5 @@
   &lt;/div&gt;
   &lt;p&gt;&lt;%= person_link person, :class =&gt; &quot;url fn&quot; %&gt;&lt;/p&gt;
   &lt;%= display(truncate(person.description, 150), :class =&gt; &quot;note&quot;) %&gt;
+  &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
 &lt;/li&gt;</diff>
      <filename>app/views/people/_person.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,8 @@
 &lt;%- column_div :type =&gt; :primary do -%&gt;
-  &lt;h2&gt;Edit profile&lt;/h2&gt;
+  &lt;h2&gt;Edit Your Profile&lt;/h2&gt;
 
   &lt;div id=&quot;profile_edit&quot;&gt;
 
-  &lt;h3&gt;Personal details&lt;/h3&gt;
-
     &lt;%= error_messages_for :person %&gt;
     
     &lt;% form_for @person do |f| %&gt;
@@ -15,33 +13,15 @@
       &lt;/div&gt;
   
       &lt;div class=&quot;form_row&quot;&gt;
-        &lt;label for=&quot;person_description&quot;&gt;Description
-        &lt;/label&gt;
-    
-        &lt;%- unless @preview.nil? -%&gt;
-          &lt;%= display @preview %&gt;
-        &lt;%- end -%&gt;
-        
-        &lt;p&gt;&lt;%= formatting_note %&gt;&lt;/p&gt;
-        &lt;%= f.text_area :description %&gt;
-      &lt;/div&gt;
-
-      &lt;div class=&quot;form_row&quot;&gt;
         &lt;label for=&quot;person_email&quot;&gt;Email&lt;/label&gt;
         &lt;%= f.text_field :email, :maxlength =&gt; Person::MAX_EMAIL %&gt;
       &lt;/div&gt;
       
       &lt;%- if global_prefs.email_notifications? -%&gt;
       
-        &lt;br /&gt;
-      
         &lt;h3&gt;Email notification preferences&lt;/h3&gt;
       
-        &lt;p&gt;
-          You will receive email notifications
-          for each event type whose box is checked.
-        &lt;/p&gt;
-        
+        &lt;p&gt;Receive email notifications for each activated event type.&lt;/p&gt;
       
         &lt;div class=&quot;form_row&quot;&gt;
           &lt;p&gt;
@@ -67,6 +47,18 @@
         &lt;/div&gt;
       &lt;%- end -%&gt;
       
+	  &lt;h3&gt;Public Description&lt;/h3&gt;
+      &lt;div class=&quot;form_row&quot;&gt;
+        &lt;label for=&quot;person_description&quot;&gt; (&lt;%= formatting_note %&gt;)
+        &lt;/label&gt;
+    
+        &lt;%- unless @preview.nil? -%&gt;
+          &lt;%= display @preview %&gt;
+        &lt;%- end -%&gt;
+        
+        &lt;%= f.text_area :description %&gt;
+      &lt;/div&gt;
+
       &lt;br /&gt;
   
       &lt;div class=&quot;form_row&quot;&gt;
@@ -78,7 +70,7 @@
 
   &lt;br /&gt;
 
-  &lt;h3&gt;Photos&lt;/h3&gt;
+  &lt;h3 id=&quot;photos&quot;&gt;Photos&lt;/h3&gt;
   
     &lt;% if @person.photos.empty? %&gt;
       &lt;%= image_tag @person.thumbnail %&gt;
@@ -113,38 +105,37 @@
     &lt;br /&gt;
     &lt;%= button_to &quot;Add a photo&quot;, new_photo_path, :class =&gt; &quot;button&quot; %&gt;
   &lt;/div&gt;
+&lt;%- end -%&gt;
 
-  &lt;br /&gt;
-
-  &lt;% form_for @person, :html =&gt; { :id =&gt; &quot;change_password&quot; } do |f| %&gt;
+&lt;%- column_div :type =&gt; :secondary do -%&gt;
+	  &lt;% form_for @person, :html =&gt; { :id =&gt; &quot;change_password&quot; } do |f| %&gt;
 
-    &lt;h3&gt;Change Password&lt;/h3&gt;
+	    &lt;h3&gt;Change Your Password&lt;/h3&gt;
 
-    &lt;div class=&quot;form_row&quot;&gt;
-      &lt;label for=&quot;password&quot;&gt;Current Password&lt;/label&gt;
-      &lt;%= f.password_field :verify_password,
-                           :maxlength =&gt; Person::MAX_PASSWORD %&gt;
-    &lt;/div&gt;
+	    &lt;div class=&quot;form_row&quot;&gt;
+	      &lt;label for=&quot;password&quot;&gt;Current Password&lt;/label&gt;
+	      &lt;%= f.password_field :verify_password,
+							   :size =&gt; 34,
+	                           :maxlength =&gt; Person::MAX_PASSWORD %&gt;
+	    &lt;/div&gt;
 
-    &lt;div class=&quot;form_row&quot;&gt;
-      &lt;label for=&quot;password&quot;&gt;New Password&lt;/label&gt;
-      &lt;%= f.password_field :new_password,
-                           :maxlength =&gt; Person::MAX_PASSWORD %&gt;
-    &lt;/div&gt;
+	    &lt;div class=&quot;form_row&quot;&gt;
+	      &lt;label for=&quot;password&quot;&gt;New Password&lt;/label&gt;
+	      &lt;%= f.password_field :new_password,
+		   					   :size =&gt; 34,
+	                           :maxlength =&gt; Person::MAX_PASSWORD %&gt;
+	    &lt;/div&gt;
 
-    &lt;div class=&quot;form_row&quot;&gt;
-      &lt;label for=&quot;password_confirmation&quot;&gt;Confirm Password&lt;/label&gt;
-      &lt;%= f.password_field :password_confirmation, 
-                           :maxlength =&gt; Person::MAX_PASSWORD,
-                           :value =&gt; &quot;&quot; %&gt;
-    &lt;/div&gt;
-    &lt;div class=&quot;form_row&quot;&gt;
-      &lt;%= submit_tag 'Change password', :class =&gt; &quot;button&quot; %&gt;
-    &lt;/div&gt;
-    &lt;input type=&quot;hidden&quot; name=&quot;type&quot; value=&quot;password_edit&quot; /&gt;
-  &lt;% end %&gt;
-&lt;%- end -%&gt;
-
-&lt;%- column_div :type =&gt; :secondary do -%&gt;
-  &lt;%= render :partial =&gt; 'searches/box' %&gt;
+	    &lt;div class=&quot;form_row&quot;&gt;
+	      &lt;label for=&quot;password_confirmation&quot;&gt;Confirm Password&lt;/label&gt;
+	      &lt;%= f.password_field :password_confirmation, 
+		   					   :size =&gt; 34,
+	                           :maxlength =&gt; Person::MAX_PASSWORD,
+	                           :value =&gt; &quot;&quot; %&gt;
+	    &lt;/div&gt;
+	    &lt;div class=&quot;form_row&quot;&gt;
+	      &lt;%= submit_tag 'Change password', :class =&gt; &quot;button&quot; %&gt;
+	    &lt;/div&gt;
+	    &lt;input type=&quot;hidden&quot; name=&quot;type&quot; value=&quot;password_edit&quot; /&gt;
+	  &lt;% end %&gt;
 &lt;%- end -%&gt;
\ No newline at end of file</diff>
      <filename>app/views/people/edit.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,17 @@
-&lt;%- column_div :type =&gt; :primary do -%&gt;
-  &lt;div class=&quot;profile vcard&quot;&gt;
-    &lt;h2&gt;Profile: &lt;span class=&quot;fn n&quot;&gt;&lt;%= h @person.name %&gt;&lt;/span&gt;&lt;/h2&gt;
+&lt;div id=&quot;tabCol&quot;&gt;
+  &lt;ul&gt; &lt;!-- this list sets up the jQuery tabs, with the content of each tab in the linked div --&gt;
+	&lt;li&gt;&lt;a href=&quot;#tProfile&quot;&gt;&lt;span&gt;Profile&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;a href=&quot;#tRecentActivity&quot;&gt;&lt;span&gt;Recent Activity&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;a href=&quot;#tContacts&quot;&gt;&lt;span&gt;Contacts&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
+	&lt;li&gt;&lt;a href=&quot;#tWall&quot;&gt;&lt;span&gt;Wall&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+  &lt;div id=&quot;tProfile&quot; class=&quot;profile vcard&quot;&gt;
+    &lt;h2&gt;
+	  Profile: &lt;span class=&quot;fn n&quot;&gt;&lt;%= h @person.name %&gt;&lt;/span&gt;
+	  &lt;%- if current_person?(@person) -%&gt;
+		&lt;div class=&quot;profileEditLink&quot;&gt;&lt;%= link_to &quot;Edit&quot;, edit_person_path(@person) %&gt;&lt;/div&gt;
+	  &lt;%- end -%&gt;
+	&lt;/h2&gt;
     &lt;%- if admin? and not @person.active? -%&gt;
       &lt;p class=&quot;error&quot;&gt;This person is not active&lt;/p&gt;
     &lt;%- end -%&gt;
@@ -11,11 +22,6 @@
           &lt;%= link_to &quot;Click here to add a description&quot;,
                       edit_person_path(@person) %&gt;
         &lt;/div&gt;
-      &lt;%- else -%&gt;
-        &lt;div class=&quot;notice&quot;&gt;
-          You are viewing your own profile.
-          &lt;%= link_to &quot;Click here to edit it&quot;, edit_person_path(@person) %&gt;
-        &lt;/div&gt;
       &lt;%- end -%&gt;
     &lt;%- end -%&gt;
     &lt;div class=&quot;toolbox&quot;&gt;
@@ -33,17 +39,15 @@
           &lt;%- end -%&gt;
           &lt;%- if Connection.connected?(@person, current_person) -%&gt;
           &lt;li&gt;
-            &lt;%= h @person.name %&gt; is one of your contacts
-            &lt;br /&gt;
-           (&lt;%= link_to &quot;end connection&quot;, 
-               connection_path(Connection.conn(current_person, @person)), 
-               :method =&gt; :delete,
-              :confirm =&gt; 
-&quot;Are you sure you want to end connection with #{h @person.name}?&quot; %&gt;)
-          
+            &lt;%= h @person.name %&gt; is one of your contacts 
+            &lt;%= link_to image_tag(&quot;icons/close.gif&quot;, :class =&gt; 'actioner'), 
+               		connection_path(Connection.conn(current_person, @person)), 
+               		:method =&gt; :delete,
+               		:confirm =&gt; &quot;Are you sure you want to remove this connection?&quot;,
+ 					:title =&gt; &quot;Are you sure you want to remove this connection?&quot; %&gt;
           &lt;/li&gt;
           &lt;%- end -%&gt;
-          &lt;li&gt;&lt;%= email_link @person %&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;%= email_link(@person, :use_image =&gt; false) %&gt;&lt;/li&gt;
         &lt;%- end -%&gt;
           &lt;li&gt;&lt;%= link_to &quot;#{h @person.name}'s blog&quot;,
                   blog_path(@person.blog) %&gt;&lt;/li&gt;
@@ -65,18 +69,30 @@
       &lt;%- end -%&gt;
     &lt;/div&gt;
     &lt;%= display @person.description %&gt;
+	&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
   &lt;/div&gt;
 
-  &lt;%= render :partial =&gt; 'recent_activity' %&gt;
-  &lt;%= render :partial =&gt; 'wall' %&gt;
-&lt;%- end -%&gt;
+  &lt;div id=&quot;tRecentActivity&quot;&gt;
+    &lt;%= render :partial =&gt; 'recent_activity' %&gt;
+  &lt;/div&gt;
+  &lt;div id=&quot;tWall&quot;&gt;
+    &lt;%= render :partial =&gt; 'wall' %&gt;
+  &lt;/div&gt;
 
-&lt;%- column_div :type =&gt; :secondary do -%&gt;
-  &lt;%= render :partial =&gt; 'shared/minifeed' %&gt;
-  &lt;%- if logged_in? -%&gt;
-    &lt;%= render :partial =&gt; 'shared/contacts_preview',
-               :locals =&gt; { :person =&gt; @person } %&gt;
-    &lt;%= render :partial =&gt; 'common_contacts' %&gt;
-  &lt;%- end -%&gt;
-&lt;%- end -%&gt;
+  &lt;div id=&quot;tContacts&quot;&gt;
+	  &lt;div class=&quot;innerTabLeft&quot;&gt;
+        &lt;h2&gt;Contacts for &lt;%= @person.name %&gt;&lt;/h2&gt;
+		&lt;div id=&quot;contacts_grid&quot;&gt;
+	      &lt;%= render :partial =&gt; 'shared/contacts_grid',
+	                 :locals =&gt; { :contacts =&gt; @contacts } %&gt;
+	    &lt;/div&gt;
+		&lt;%= render :partial =&gt; 'common_contacts' %&gt;
+	  &lt;/div&gt;
+	  &lt;div class=&quot;innerTabRight&quot;&gt;
+		&lt;%= render :partial =&gt; 'searches/box' %&gt;
+	  &lt;/div&gt;
+	  &lt;div class=&quot;clear&quot;&gt;
+	  &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
 </diff>
      <filename>app/views/people/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -2,10 +2,12 @@
                                            :id =&gt; &quot;blogpost&quot; }  do |f| %&gt;
 
   &lt;div class=&quot;form_row&quot;&gt;
-    &lt;%= f.text_field :title, :size =&gt; 30 %&gt;
+	&lt;%= f.label :title %&gt;
+    &lt;%= f.text_field :title, :size =&gt; 20 %&gt;
   &lt;/div&gt;
 
   &lt;div class=&quot;form_row&quot;&gt;
+	&lt;%= f.label :body, &quot;Post&quot; %&gt;
     &lt;%= f.text_area :body, :rows =&gt; 20 %&gt;
   &lt;/div&gt;
 </diff>
      <filename>app/views/posts/_blog_form.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,12 @@
 &lt;li&gt;
-  &lt;div class=&quot;profile-image&quot;&gt;
-    &lt;%= image_link comment.commenter, :image =&gt; :thumbnail %&gt;
-    &lt;%= image_tag &quot;icons/comment.gif&quot;, :class =&gt; &quot;icon&quot;, :alt =&gt; &quot;Comment&quot; %&gt;
-  &lt;/div&gt;
   &lt;p class=&quot;meta&quot;&gt;
+    &lt;%= image_tag &quot;icons/comment.gif&quot;, :class =&gt; &quot;icon&quot;, :alt =&gt; &quot;Comment&quot; %&gt;
     &lt;%= person_link comment.commenter %&gt; posted a comment
     &lt;%= time_ago_in_words(comment.created_at) %&gt; ago:
   &lt;/p&gt;
   &lt;%= display comment.body %&gt;
   &lt;%- if current_person?(comment.commentable.blog.person) -%&gt;
   &lt;div&gt;
-    &lt;br /&gt;
     &lt;%= link_to &quot;delete&quot;, blog_post_comment_path(@blog, @post, comment),
                           :method =&gt; :delete %&gt;
   &lt;/div&gt;</diff>
      <filename>app/views/posts/_comment.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,20 +1,18 @@
 &lt;%# The activity shouldn't be nil, but we're wearing a belt and suspenders. %&gt;
 &lt;%- unless activity.item.nil? -%&gt;
 &lt;li&gt;
-  &lt;div class=&quot;profile-image&quot;&gt;
-    &lt;%= image_link activity.person, :image =&gt; :thumbnail %&gt;
+  &lt;p class=&quot;activity_detail&quot;&gt;
     &lt;%= feed_icon activity %&gt;
-  &lt;/div&gt;
-  &lt;p&gt;
     &lt;%= feed_message activity %&gt;
-      &lt;%- if current_person?(activity.person) -%&gt;
-        &lt;%= link_to(image_tag(&quot;icons/close.gif&quot;), 
-                          activity_path(activity), 
-                          :method =&gt; :delete, 
-                          :confirm =&gt; %(Are you sure you want to delete this activity from your profile?)) %&gt;
-  &lt;%- end -%&gt;
-    &lt;/p&gt;
-  &lt;p class=&quot;meta published&quot;&gt;
+    &lt;%- if current_person?(activity.person) -%&gt;
+      &lt;%= link_to(image_tag(&quot;icons/close.gif&quot;, :class =&gt; 'actioner'), 
+                        activity_path(activity), 
+                        :method =&gt; :delete, 
+                        :confirm =&gt; %(Are you sure you want to delete this activity from your profile?),
+	 					:title =&gt; &quot;Are you sure you want to delete this activity?&quot;) %&gt;
+    &lt;%- end -%&gt;
+  &lt;/p&gt;
+  &lt;p class=&quot;meta published clear&quot;&gt;
     &lt;%= time_ago_in_words(activity.created_at).capitalize %&gt; ago
   &lt;/p&gt;
 </diff>
      <filename>app/views/shared/_activity.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -2,10 +2,7 @@
   &lt;h2&gt;Contacts&lt;/h2&gt;
   &lt;ul class=&quot;grid contacts small&quot;&gt;
     &lt;%- @some_contacts.each do |contact| -%&gt;
-      &lt;li class=&quot;vcard&quot;&gt;
-        &lt;%= image_link(contact, :image_options =&gt; { :class =&gt; &quot;photo fn&quot; },
-                                :link_options =&gt;  { :class =&gt; &quot;url&quot; }) %&gt;
-      &lt;/li&gt;
+	  &lt;%= render :partial =&gt; 'shared/contact', :locals =&gt; {:contact =&gt; contact} %&gt;
     &lt;%- end -%&gt;
     &lt;li class=&quot;more&quot;&gt;
       &lt;%= link_to &quot;All contacts &amp;raquo;&quot;, person_connections_path(person) %&gt;</diff>
      <filename>app/views/shared/_contacts_preview.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,4 @@
+&lt;div&gt;
   &lt;div id=&quot;debug&quot;&gt;
     &lt;a href=&quot;#&quot; onclick=&quot;Element.toggle('env_debug_info');return false&quot;&gt;
     env&lt;/a&gt; |
@@ -12,4 +13,5 @@
       &lt;legend&gt;request&lt;/legend&gt;
       &lt;%= debug(request) %&gt;
     &lt;/fieldset&gt;
-  &lt;/div&gt;
\ No newline at end of file
+  &lt;/div&gt;
+&lt;/div&gt;
\ No newline at end of file</diff>
      <filename>app/views/shared/_debug.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,4 @@
+&lt;div class=&quot;minifeed&quot;&gt;
 &lt;h2&gt;Minifeed&lt;/h2&gt;
 &lt;ul class=&quot;list activity small&quot;&gt;
 &lt;%- if logged_in? -%&gt;
@@ -7,4 +8,5 @@
     &lt;%= render :partial =&gt; 'shared/minifeed_item',
                :collection =&gt; Activity.global_feed %&gt;
 &lt;%- end -%&gt;
-&lt;/ul&gt;
\ No newline at end of file
+&lt;/ul&gt;
+&lt;/div&gt;
\ No newline at end of file</diff>
      <filename>app/views/shared/_minifeed.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,8 @@
 ActionController::Routing::Routes.draw do |map|
+  map.resources :categories
+
+  map.resources :links
+
   map.resources :preferences
   map.resources :searches
   map.resources :activities</diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,41 @@
 // Place your application-specific JavaScript functions and classes here
 // This file is automatically included by javascript_include_tag :defaults
+
+$(document).ready(function() {
+  // sets up the Profile page tabs
+  $(&quot;#tabCol &gt; ul&quot;).tabs();
+
+  // sets up the hover image for activity feed items	
+  $(&quot;.imgHoverMarker&quot;).tooltip({
+	showURL: false,
+	bodyHandler: function() {
+	  var i = $(this).children()[0]
+	  var imgsrc = $(i).attr('src');
+	  return $('&lt;img src=&quot;'+imgsrc+'&quot; /&gt;');
+	}
+  });
+
+  //
+  $('#tContacts div.pagination a').livequery('click', function() {
+    $('#contacts_grid').load(this.href);
+    return false;
+  });
+
+  // Setup Rails so ajax requests trigger the wants.js block in respond_to
+  // http://ozmm.org/posts/$_and_respond_to.html
+  $.ajaxSetup({ 
+    'beforeSend': function(xhr) {xhr.setRequestHeader(&quot;Accept&quot;, &quot;text/javascript&quot;)} 
+  });
+});
+
+/*document.observe(&quot;dom:loaded&quot;, function() {
+  var container = $(document.body)
+
+  container.observe('click', function(e) {
+    var el = e.element()
+    if (el.match('.pagination a')) {
+      new Ajax.Request(el.href, { method: 'get' })
+      e.stop()
+    }
+  })
+})*/
\ No newline at end of file</diff>
      <filename>public/javascripts/application.js</filename>
    </modified>
    <modified>
      <diff>@@ -6,8 +6,8 @@ body {
 #header-wrap {
   /* background: #069; */
   background: #069 url('/images/header_background.png');
-  float: left;
-  width: 100%;
+  /* width: 764px;*/
+  margin: 0px auto;
 }
 #header, #wrap, #footer {
   margin: 0 auto;
@@ -108,9 +108,7 @@ p.welcome {
 .list li {
   border-bottom: 1px solid #eee;
   background: none;
-  clear: both;
   display: inline;
-  float: left;
   list-style: none;
   margin: 0 0 12px 6px;
   padding: 0 0 6px 0;
@@ -124,7 +122,7 @@ p.welcome {
 .list.full .profile-image {
   float: left;
   width: 72px;
-  overflow: hidden;
+  /* overflow: hidden; this hides the activity icon when no member thumbnail */
   position: relative;
   width: 102px;
 }
@@ -137,7 +135,7 @@ p.welcome {
 }
 .list p {
   margin-bottom: 0;
-  margin-left: 102px;
+/*  margin-left: 102px;*/
 }
 .list .forum p {
   margin-bottom: 1em;
@@ -246,7 +244,7 @@ p.welcome {
   padding: 0;
 }
 form#blogpost #post_title, form#blogpost #post_body {
-  width: 312px;
+  width: 212px; /* width reduced by Bill L */
 }
 
 
@@ -321,3 +319,101 @@ form, div, h2, ul, li {zoom: 1;}
   margin: 0 105px;
   width: 324px;
 }
+
+/* Bill's additions */
+h2 {
+	padding-left: 0px;
+}
+.profile {
+	position: relative;
+}
+#tabCol h2 {
+	border-bottom: none;
+	margin-top: 0px;
+	margin-bottom: 20px;
+}
+.profileEditLink {
+	display: inline;
+	background: #e5e5e5;
+	border: 1px solid #cccccc;
+	padding: 3px;
+	width: 30px;
+	margin-left: 25px;
+	margin-bottom: 5px;
+}
+.profileEditLink a {
+	font-size: 80%;
+}
+.minifeed, #change_password {
+	margin-top: 20px;
+	padding: 5px;
+}
+.minifeed h2 {
+	margin-top: 0px;
+	border-bottom: none;
+}
+#profile_edit h3, #change_password h3 {
+	color: #006699;
+}
+#profile_edit form, form#blogpost {
+	border-bottom: none;
+	margin-bottom: auto;
+}
+#change_password {
+}
+#change_password h3 {
+	margin-top: 6px;
+}
+#tabCol {
+	margin-top: 5px;
+	width: 100%;
+}
+ul.ui-tabs-nav li {
+	background: none;
+	padding-left: 0px;
+}
+.ui-tabs-panel {
+	min-height: 400px;
+}
+.innerTabRight {
+	float: left;
+	width: 35%;
+	margin-left: 20px;
+}
+.innerTabLeft {
+	float: left;
+	width: 60%;
+	padding-right: 10px;
+}
+.innerTabLeft h2 {
+	margin-bottom: 0px;
+}
+.comments li div {border-bottom: 1px solid #ccc;}
+.imgHoverMarker {display: inline;}
+.imgHoverMarker img {display: none;}
+ul.activity {margin-bottom: 0px;}
+ul.activity li p.activity_detail {font-size: 126%;}
+img.actioner {vertical-align: text-bottom;}
+.contacts.grid li.vcard {
+	margin-right: 10px;
+	line-height: 2em;
+}
+.prefItem {
+	clear: both;
+	padding-bottom: 30px;
+}
+.prefLabel {
+	float: left;
+	font-weight: bold;
+	width: 200px;
+}
+.prefValue {
+	float: left;
+	margin-left: 10px;
+	width: 300px;
+}
+.prefAbout {
+	margin-top: 5px;
+	border: 1px solid #ccc;
+	padding: 5px;
+}
\ No newline at end of file</diff>
      <filename>public/stylesheets/skin.css</filename>
    </modified>
    <modified>
      <diff>@@ -193,11 +193,11 @@ a.show-follow:visited {
   padding: 0;
 }
 .pagination {
-  border-bottom: 1px solid #eee;
+  /*border-bottom: 1px solid #eee;*/
   font-size: 12px;
   padding-bottom: 12px;
-  text-align: center;
-  margin-bottom: 12px;
+  /* text-align: center;
+  too much whitespace margin-bottom: 12px; */
 }
 
 
@@ -288,7 +288,8 @@ form a.add-recipient {
 /* Styles for when the site is (nearly) blank, as for new users. */
 
 h3.blankslate {
-  text-align: center;
+/*  Align with title instead - Bill L
+text-align: center; */
 }
 
 
@@ -316,4 +317,8 @@ strong { font-weight: bold; }
 .loud       { color: #000; }
 .highlight  { background:#ff0; }
 .added      { background:#060; color: #fff; }
-.removed    { background:#900; color: #fff; }
\ No newline at end of file
+.removed    { background:#900; color: #fff; }
+
+/* Bill's additions */
+.clear      {clear: both;}
+.disabled   {color: #c0c0c0;} /* greyed out to emphasize unavailability */
\ No newline at end of file</diff>
      <filename>public/stylesheets/typography.css</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0b6a9c0728693d0a265147d543ff69d4fb0c9e36</id>
    </parent>
  </parents>
  <author>
    <name>William Lazar</name>
    <email>williamlazar@Miami-Steve.local</email>
  </author>
  <url>http://github.com/insoshi/insoshi/commit/ebda9a1f406de604ded08f25aeb6736d4442be24</url>
  <id>ebda9a1f406de604ded08f25aeb6736d4442be24</id>
  <committed-date>2008-06-03T16:55:25-07:00</committed-date>
  <authored-date>2008-06-03T16:34:05-07:00</authored-date>
  <message>First big check-in, with jRails, jQuery, tabbed profile, etc.</message>
  <tree>27ca8b21ca36679d0bc748c66a3d5b3bf1cdb8cc</tree>
  <committer>
    <name>William Lazar</name>
    <email>williamlazar@Miami-Steve.local</email>
  </committer>
</commit>
