-<h2><%= @this_user.display_name %></h2>
-<div id="description"><%= simple_format(@this_user.description) %></div>
-
+<% @this_user = User.find_by_display_name(@this_user.display_name) %>
+<h2><%= h(@this_user.display_name) %></h2>
+<div id="userinformation">
<% if @user and @this_user.id == @user.id %>
-<h3>Messages</h3>
-<% if !@user.messages.empty? %>
-<p>You have <%=@user.get_new_messages.length %> new messages and <%=@user.get_all_messages.length - @user.get_new_messages.length %> old messages:</p>
-
-<div id="messages">
-<table class="messages">
-<tr><th>from</th>
-<th>title</th>
-<th>received on</th>
-<th></th>
-<th></th></tr>
-
-<% if params[:unread] %>
-<% @user.get_all_messages.each do |message| %>
-<tr><td><%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %></td>
-<td><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %></td>
-<td><%= message.sent_on %></td>
-<% if message.message_read = 0 %>
-<td><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> </td>
-<%else%>
-<td>message read</td>
-<%end%>
-<td><%= link_to 'reply', :controller => 'message', :action => 'new', :user_id => message.from_user_id %> </td>
-<%end%>
-</tr>
-
-<%else%>
-
-<% @user.get_new_messages.each do |message| %>
-<tr><td><%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %></td>
-<td><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %></td>
-<td><%= message.sent_on %></td>
-<% if message.message_read = 0 %>
-<td><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> </td>
-<%else%>
-<td>message read</td>
-<%end%>
-</tr>
-
-<%end%>
-
-<%end%>
-</table>
+<!-- Displaying user's own profile page -->
+<%= link_to 'my diary', :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
+| <%= link_to 'new diary entry', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
+| <%= link_to 'my edits', :controller => 'changeset', :action => 'list_user', :display_name => @user.display_name %>
+| <%= link_to 'my traces', :controller => 'trace', :action=>'mine' %>
+| <%= link_to 'my settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
+<% else %>
+<!-- Displaying another user's profile page -->
+<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => @this_user.id %>
+| <%= link_to 'diary', :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
+| <%= link_to 'edits', :controller => 'changeset', :action => 'list_user', :display_name => @this_user.display_name %>
+| <%= link_to 'traces', :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
+| <% if @user and @user.is_friends_with?(@this_user) %>
+ <%= link_to 'remove as friend', :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
+<% else %>
+ <%= link_to 'add as friend', :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %>
+<% end %>
+<% end %>
</div>
-<%else%>
-<p>You have no messages. </p>
-<%end%>
-
+<% if @this_user != nil %>
+<P>
+<b>Mapper since : </b><%= @this_user.creation_time %> (<%= time_ago_in_words(@this_user.creation_time) %> ago)
+</P>
+<% end %>
+
+<h3>User image</h3>
+<% if @this_user.image %>
+ <%= image_tag url_for_file_column(@this_user, "image") %>
+ <% if @user and @this_user.id == @user.id %>
+ <%= button_to 'Delete Image', :action => 'delete_image' %>
+ <% end %>
+<% end %>
<br />
-<%= link_to 'show all messages', :controller => 'user', :action => 'view', :display_name => @user.display_name, :unread => true %>
+<% if @user and @this_user.id == @user.id %>
+ Upload an image<br />
+ <%= form_tag({:action=>'upload_image'}, :multipart => true)%>
+ <%= file_column_field 'user', 'image' %>
+ <%= submit_tag 'Add Image' %>
+ </form>
+<% end %>
-<h3>Your diary</h3>
-<%= link_to 'View your diary', :controller => 'user', :action=>'diary', :display_name => @user.display_name %><br/>
-<%= link_to 'New diary post', :controller => 'diary_entry', :action=>'new', :display_name => @user.display_name %>
-
-<h3>Your account</h3>
-<%= link_to 'Edit your settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
+<h3>Description</h3>
+<div id="description"><%= htmlize(@this_user.description) %></div>
+<% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
+<h3>User location</h3>
+ No home location has been set.
+ <% if @user and @this_user.id == @user.id %>
+ If you set your location, a pretty map and stuff will appear below. You can set your home location on your <%= link_to 'settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %> page.
+ <% end %>
<% else %>
-<%= link_to 'Send message', :controller => 'message', :action => 'new', :user_id => @this_user.id %><br />
-<%= link_to 'Add as friend', :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %><br />
-<%= link_to 'View diary', :controller => 'user', :action=>'diary', :display_name => @this_user.display_name %>
-<% end %>
-<h3>Nearby users</h3>
-<% if @this_user.home_lat and @this_user.home_lon %>
- <% if @this_user.nearby.empty? %>
- There are no users who admit to mapping nearby.
- <% else %>
- <table id="nearbyusers">
- <% @this_user.nearby(1,1).each do |nearby| %>
- <tr>
- <td class="username"><%= link_to nearby.display_name, :controller => 'user', :action => 'view', :display_name => nearby.display_name %></td>
- <td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => nearby.id %>)</td>
- </tr>
+ <% if @user and @this_user.id == @user.id %>
+ <h3>Your friends</h3>
+ <% if @this_user.friends.empty? %>
+ You have not added any friends yet.
+ <% else %>
+ <table id="friends">
+ <% @this_user.friends.each do |friend| %>
+ <% @friend = User.find_by_id(friend.friend_user_id) %>
+ <tr>
+ <td class="image">
+ <% if @friend.image %>
+ <%= image_tag url_for_file_column(@friend, "image") %>
+ <% end %>
+ </td>
+ <td class="username"><%= link_to h(@friend.display_name), :controller => 'user', :action => 'view', :display_name => @friend.display_name %></td>
+ <td><% if @friend.home_lon and @friend.home_lat %><%= @this_user.distance(@friend).round %>km away<% end %></td>
+ <td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => @friend.id %>)</td>
+ </tr>
+ <%end%>
+ </table>
<%end%>
- </table>
-
+ <br/>
<%end%>
-<% else %>
- No home location has been set.
+
+
+ <% if @user and @this_user.id == @user.id %>
+ <h3>Nearby users:</h3>
+ <% if @this_user.nearby.empty? %>
+ There are no users who admit to mapping nearby yet.
+ <% else %>
+
+ <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px;"></div>
+ <%= render :partial => 'friend_map' %>
+ <table id="nearbyusers">
+ <% @this_user.nearby.each do |nearby| %>
+ <tr>
+ <td class="username"><%= link_to h(nearby.display_name), :controller => 'user', :action => 'view', :display_name => nearby.display_name %></td>
+ <td><%= @this_user.distance(nearby).round %>km away</td>
+ <td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => nearby.id %>)</td>
+ </tr>
+ <% end %>
+ </table>
+ <% end %>
+ <% end %>
+<% end %>
+
+<br/>
+<br/>
+<% if @user and @this_user.id == @user.id %>
+<%= link_to 'change your settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
<% end %>