diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index e77342108f03bd9f58f9e54ef6f88b8db52756b9..66dfbe5fca1489d81c5ae76bf4d4c99951517cff 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -31,7 +31,7 @@ module ApplicationHelper
     end
   end
 
-  def aspect_badge aspects
+  def aspect_badges aspects
     str = ''
     aspects.each do |aspect|
       str << "<span class='aspect_badge single'>"
diff --git a/app/views/aspects/_all_aspects_contacts.haml b/app/views/aspects/_all_aspects_contacts.haml
deleted file mode 100644
index ccf7434dcb5d1d1d5a88dfe691271dd6831d18e4..0000000000000000000000000000000000000000
--- a/app/views/aspects/_all_aspects_contacts.haml
+++ /dev/null
@@ -1,37 +0,0 @@
--#   Copyright (c) 2010, Diaspora Inc.  This file is
--#   licensed under the Affero General Public License version 3 or later.  See
--#   the COPYRIGHT file.
-
-- if @request_count > 0
-  #new_request_pane{:class => "everyone"}
-    %h1.new_request{:style => 'text-align:center'}
-      = new_request_link(@request_count)
-
-#left_pane
-  .section.aspect_listings
-    %h4
-      = t('.aspects')
-      = link_to @all_aspects.count, aspects_manage_path
-
-    %ul
-      - for a_hash in @aspect_hashes
-        = render :partial => 'aspects/aspect', :locals => a_hash
-
-  .section.contact_pictures
-    %h4
-      = t('.contacts')
-      = link_to @contact_hashes.count, '#'
-
-    - for contact in @contact_hashes
-      = person_image_link(contact[:person])
-
-    - if @contacts.count == 0
-      %h4
-        = t('.no_contacts')
-      = form_tag(people_path, :method => 'get') do
-        = text_field_tag 'q', nil, :placeholder => t('search'), :type => 'search', :results => 5
-
-  .section
-    %h4= t('shared.invitations.invites')
-    = render "shared/invitations", :invites => @invites
-
diff --git a/app/views/aspects/_aspect.haml b/app/views/aspects/_aspect.haml
index acfcc5a5cd49a1627cadaf05cb545fb859ccf430..367768b0398231e26ed94fb2fa6fa7fd82d7ab84 100644
--- a/app/views/aspects/_aspect.haml
+++ b/app/views/aspects/_aspect.haml
@@ -1,4 +1,4 @@
 %li
   .right
     = t('contacts', :count => contact_count)
-  = link_to aspect.name, edit_aspect_path(aspect), :class => 'aspect_detail_button'
+  = link_to aspect.name, edit_aspect_path(aspect), :rel => 'facebox'
diff --git a/app/views/aspects/_aspect_contact_pictures.haml b/app/views/aspects/_aspect_contact_pictures.haml
new file mode 100644
index 0000000000000000000000000000000000000000..60edb6e2545733ea6e3ed313709eb4107c3a5e0b
--- /dev/null
+++ b/app/views/aspects/_aspect_contact_pictures.haml
@@ -0,0 +1,11 @@
+-#   Copyright (c) 2010, Diaspora Inc.  This file is
+-#   licensed under the Affero General Public License version 3 or later.  See
+-#   the COPYRIGHT file.
+
+
+%h4
+  = t('_contacts')
+  = link_to @contact_hashes.count, '#'
+
+- for contact in contact_hashes
+  = person_image_link(contact[:person])
diff --git a/app/views/aspects/edit.html.haml b/app/views/aspects/edit.html.haml
index 110461136ab455b5d18785fa79ee43f10879d0dc..743cbc8ca3d26dc7a4c390830b6e6be87a98ed78 100644
--- a/app/views/aspects/edit.html.haml
+++ b/app/views/aspects/edit.html.haml
@@ -5,15 +5,17 @@
 - content_for :head do
   = include_javascripts :aspects
 
-
 #aspect_edit_pane
   #aspect_edit_pane_header
     %h4
-      .aspect_search_field
-        /= text_field_tag 'q', nil, :placeholder => t('search'), :type => 'search', :results => 5
+      .right.description
+        = "#{@aspect_contacts.count} contacts"
       = @aspect
-      .description
-        = "#{@contacts.count} contacts"
+
+    = link_to 'rename', '#'
+    \.
+    \.
+    = link_to 'delete', '#'
 
   .person_tiles{:style => "display:none;"}
     - for contact in @aspect.contacts
@@ -29,8 +31,4 @@
     = button_to t('.remove_aspect'), @aspect, :method => "delete", :confirm => t('.confirm_remove_aspect'), :class => 'button'
 
   - if @contacts.count > 0
-    %h5= t('.add_existing')
     = render 'shared/contact_list', :aspect_id => @aspect.id, :contact_hashes => @all_contacts
-
-  = render 'shared/add_contact', :aspect_id => @aspect.id
-
diff --git a/app/views/aspects/index.html.haml b/app/views/aspects/index.html.haml
index 5799a2aa4586ae8a8cf221a940015db9d61f716f..8aa35d5557238748a4858a08b79ac70b0d679145 100644
--- a/app/views/aspects/index.html.haml
+++ b/app/views/aspects/index.html.haml
@@ -26,5 +26,36 @@
 
   %hr
 
-  = render 'aspects/all_aspects_contacts'
+  - if @request_count > 0
+    #new_request_pane{:class => "everyone"}
+      %h1.new_request{:style => 'text-align:center'}
+        = new_request_link(@request_count)
+
+  #left_pane
+    .section.aspect_listings
+      %h4
+        = t('_aspects')
+        = link_to @all_aspects.count, aspects_manage_path
+
+      %ul
+        - for a_hash in @aspect_hashes
+          = render :partial => 'aspects/aspect', :locals => a_hash
+
+    .section.contact_pictures
+      %h4
+        = t('_contacts')
+        = link_to @contact_hashes.count, '#'
+
+      - for contact in @contact_hashes
+        = person_image_link(contact[:person])
+
+      - if @contacts.count == 0
+        %h4
+          = t('.no_contacts')
+        = form_tag(people_path, :method => 'get') do
+          = text_field_tag 'q', nil, :placeholder => t('search'), :type => 'search', :results => 5
+
+    .section
+      %h4= t('shared.invitations.invites')
+      = render "shared/invitations", :invites => @invites
 
diff --git a/app/views/layouts/_header.html.haml b/app/views/layouts/_header.html.haml
index 2114dde097ba4a3a0101a5031ab6d3d37f2c6250..edb18f1fb328ef236f77cdca86d98512c8ea27b9 100644
--- a/app/views/layouts/_header.html.haml
+++ b/app/views/layouts/_header.html.haml
@@ -50,7 +50,7 @@
             = link_to '▼', edit_aspect_path(aspect), :class => 'aspect_selector_edit'
 
         %li
-          = link_to '+', '#add_aspect_pane', :class => "add_aspect_button", :title => t('aspects.manage.add_a_new_aspect')
+          = link_to '+', '#add_aspect_pane', :class => "add_aspect_button", :title => t('aspects.manage.add_a_new_aspect'), :rel => 'facebox'
 
       .fancybox_content
         #add_aspect_pane
diff --git a/app/views/people/_aspect_list.haml b/app/views/people/_aspect_list.haml
index 01250c31252247d6352bf31fca59b84673793051..209d8dbd1d02c6d322263ecb5b1121a7aa96eb9b 100644
--- a/app/views/people/_aspect_list.haml
+++ b/app/views/people/_aspect_list.haml
@@ -31,8 +31,7 @@
       = t('people.person.pending_request')
 
   .badges{:class => ("hidden" if !contact)}
-    - for aspect in aspects_with_person
-      = render :partial => 'aspects/aspect_badge', :locals => {:aspect => aspect}
+    = aspect_badges(aspects_with_person)
     .right
       = link_to t('.edit_membership'), "#", :id=> "edit_contact_aspects"
 
diff --git a/app/views/people/_person.html.haml b/app/views/people/_person.html.haml
index d006a63f00433c03da8ebd02795491d941f7eb4c..40963a4234f07f3bb231df15b576e2accec48fba 100644
--- a/app/views/people/_person.html.haml
+++ b/app/views/people/_person.html.haml
@@ -17,7 +17,8 @@
         {:controller => "people",
         :action => "share_with",
         :id => person.id},
-        :class => 'button share_with_button'
+        :class => 'button',
+        :rel => 'facebox'
 
   = person_image_link(person)
 
@@ -25,7 +26,6 @@
     %span.from
       =person_link(person)
 
-
     .info
       = person.diaspora_handle
 
diff --git a/app/views/shared/_contact_list.html.haml b/app/views/shared/_contact_list.html.haml
index ed98c7c11912ea2708e794077db7ed2878b582f9..1334b2e454610beacfe6509a9e475b5cc83aaf06 100644
--- a/app/views/shared/_contact_list.html.haml
+++ b/app/views/shared/_contact_list.html.haml
@@ -8,8 +8,11 @@
   %ul
     - for hash in contact_hashes
       %li
-        %span.name
+        = person_image_tag hash[:person]
+        %h4.name
           = link_to hash[:person].name, hash[:person]
+          .description
+            = hash[:person].diaspora_handle
         .right
           = aspect_membership_button(aspect_id, hash[:contact], hash[:person])
 
diff --git a/app/views/shared/_stream_element.haml b/app/views/shared/_stream_element.haml
index 1cdd91743ee2b122cf77528e5b7299e232ba3462..808099f0be4dde2202f998c5186f88adccf8f830 100644
--- a/app/views/shared/_stream_element.haml
+++ b/app/views/shared/_stream_element.haml
@@ -24,8 +24,7 @@
 
       - elsif person.owner_id == current_user.id
         %span.arrow ➔
-        = aspect_badge(aspects_with_post(all_aspects, post))
-
+        = aspect_badges(aspects_with_post(all_aspects, post))
 
     = render 'status_messages/status_message', :post => post, :photos => photos
 
diff --git a/config/assets.yml b/config/assets.yml
index 2ef9646327e716ba0d3081fba4053a0afe4d60d0..01315daf4151cbb7f3fae2c512625b894b983577 100644
--- a/config/assets.yml
+++ b/config/assets.yml
@@ -10,7 +10,7 @@ javascripts:
     - public/javascripts/vendor/jquery.tipsy.js
     - public/javascripts/vendor/jquery.hotkeys.js
     - public/javascripts/vendor/jquery.autoresize.min.js
-    - public/javascripts/vendor/fancybox/jquery.fancybox-1.3.1.pack.js
+    - public/javascripts/vendor/facebox.js
     - public/javascripts/vendor/jquery.infinitescroll.min.js
     - public/javascripts/vendor/fileuploader.js
     - public/javascripts/view.js
@@ -42,6 +42,6 @@ stylesheets:
   default:
     - public/stylesheets/application.css
     - public/stylesheets/ui.css
-    - public/stylesheets/vendor/jquery.fancybox-1.3.1.css
+    - public/stylesheets/vendor/facebox.css
     - public/stylesheets/vendor/fileuploader.css
     - public/stylesheets/vendor/tipsy.css
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index 26b01aba03e25e0cc6ceb3f5944550b4171e2d83..897f3213a8c9747181055554f90ce7384a1b3e60 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -13,7 +13,7 @@ en:
   _photos: "photos"
   ok: "OK"
   cancel: "Cancel"
-  delete: "Delete"  
+  delete: "Delete"
   or: "or"
   ago: "%{time} ago"
   username: "Username"
@@ -41,8 +41,11 @@ en:
     one:    "new request!"
     few:    "%{count} new requests!"
     other:  "%{count} new requests!"
-  _aspect: "aspect"
-  _aspects: "aspects"
+
+  _aspect: "Aspect"
+  _aspects: "Aspects"
+  _contact: "Contact"
+  _contacts: "Contacts"
 
   activemodel:
       errors:
@@ -132,11 +135,6 @@ en:
           confirm_remove_aspect: "Are you sure you want to delete this aspect?"
           add_existing: "Add an existing contact"
           rename_aspect: "Rename aspect"
-      all_aspects_contacts:
-          contacts: "Contacts"
-          manage_aspects: "manage aspects"
-          aspects: "Aspects"
-          no_contacts: "You currently have no contacts.  Find your contacts here."
       aspect_contacts:
           done_editing: "done editing"
       show:
@@ -186,6 +184,7 @@ en:
           work: "Work"
       index:
           handle_explanation: "This is your diaspora handle. Like an email address, you can give this to people to reach you."
+          no_contacts: "No contacts"
   notifications:
       request_accepted: "accepted your share request."
       new_request: "offered to share with you."
diff --git a/public/images/facebox/closelabel.png b/public/images/facebox/closelabel.png
new file mode 100755
index 0000000000000000000000000000000000000000..c339e59333e4c3b5bc5fd910796fda5469a2515f
Binary files /dev/null and b/public/images/facebox/closelabel.png differ
diff --git a/public/images/facebox/loading.gif b/public/images/facebox/loading.gif
new file mode 100755
index 0000000000000000000000000000000000000000..f864d5fd38b7466c76b5a36dc0e3e9455c0126e2
Binary files /dev/null and b/public/images/facebox/loading.gif differ
diff --git a/public/javascripts/vendor/facebox.js b/public/javascripts/vendor/facebox.js
new file mode 100755
index 0000000000000000000000000000000000000000..5ad90ed5b9d935e206ab921882183c660e56be70
--- /dev/null
+++ b/public/javascripts/vendor/facebox.js
@@ -0,0 +1,309 @@
+/*
+ * Facebox (for jQuery)
+ * version: 1.2 (05/05/2008)
+ * @requires jQuery v1.2 or later
+ *
+ * Examples at http://famspam.com/facebox/
+ *
+ * Licensed under the MIT:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *
+ * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ]
+ *
+ * Usage:
+ *
+ *  jQuery(document).ready(function() {
+ *    jQuery('a[rel*=facebox]').facebox()
+ *  })
+ *
+ *  <a href="#terms" rel="facebox">Terms</a>
+ *    Loads the #terms div in the box
+ *
+ *  <a href="terms.html" rel="facebox">Terms</a>
+ *    Loads the terms.html page in the box
+ *
+ *  <a href="terms.png" rel="facebox">Terms</a>
+ *    Loads the terms.png image in the box
+ *
+ *
+ *  You can also use it programmatically:
+ *
+ *    jQuery.facebox('some html')
+ *    jQuery.facebox('some html', 'my-groovy-style')
+ *
+ *  The above will open a facebox with "some html" as the content.
+ *
+ *    jQuery.facebox(function($) {
+ *      $.get('blah.html', function(data) { $.facebox(data) })
+ *    })
+ *
+ *  The above will show a loading screen before the passed function is called,
+ *  allowing for a better ajaxy experience.
+ *
+ *  The facebox function can also display an ajax page, an image, or the contents of a div:
+ *
+ *    jQuery.facebox({ ajax: 'remote.html' })
+ *    jQuery.facebox({ ajax: 'remote.html' }, 'my-groovy-style')
+ *    jQuery.facebox({ image: 'stairs.jpg' })
+ *    jQuery.facebox({ image: 'stairs.jpg' }, 'my-groovy-style')
+ *    jQuery.facebox({ div: '#box' })
+ *    jQuery.facebox({ div: '#box' }, 'my-groovy-style')
+ *
+ *  Want to close the facebox?  Trigger the 'close.facebox' document event:
+ *
+ *    jQuery(document).trigger('close.facebox')
+ *
+ *  Facebox also has a bunch of other hooks:
+ *
+ *    loading.facebox
+ *    beforeReveal.facebox
+ *    reveal.facebox (aliased as 'afterReveal.facebox')
+ *    init.facebox
+ *    afterClose.facebox
+ *
+ *  Simply bind a function to any of these hooks:
+ *
+ *   $(document).bind('reveal.facebox', function() { ...stuff to do after the facebox and contents are revealed... })
+ *
+ */
+(function($) {
+  $.facebox = function(data, klass) {
+    $.facebox.loading()
+
+    if (data.ajax) fillFaceboxFromAjax(data.ajax, klass)
+    else if (data.image) fillFaceboxFromImage(data.image, klass)
+    else if (data.div) fillFaceboxFromHref(data.div, klass)
+    else if ($.isFunction(data)) data.call($)
+    else $.facebox.reveal(data, klass)
+  }
+
+  /*
+   * Public, $.facebox methods
+   */
+
+  $.extend($.facebox, {
+    settings: {
+      opacity      : 0.2,
+      overlay      : true,
+      loadingImage : '/facebox/loading.gif',
+      closeImage   : '/facebox/closelabel.png',
+      imageTypes   : [ 'png', 'jpg', 'jpeg', 'gif' ],
+      faceboxHtml  : '\
+    <div id="facebox" style="display:none;"> \
+      <div class="popup"> \
+        <div class="content"> \
+        </div> \
+        <a href="#" class="close"><img src="/facebox/closelabel.png" title="close" class="close_image" /></a> \
+      </div> \
+    </div>'
+    },
+
+    loading: function() {
+      init()
+      if ($('#facebox .loading').length == 1) return true
+      showOverlay()
+
+      $('#facebox .content').empty()
+      $('#facebox .body').children().hide().end().
+        append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>')
+
+      $('#facebox').css({
+        top:	getPageScroll()[1] + (getPageHeight() / 10),
+        left:	$(window).width() / 2 - 205
+      }).show()
+
+      $(document).bind('keydown.facebox', function(e) {
+        if (e.keyCode == 27) $.facebox.close()
+        return true
+      })
+      $(document).trigger('loading.facebox')
+    },
+
+    reveal: function(data, klass) {
+      $(document).trigger('beforeReveal.facebox')
+      if (klass) $('#facebox .content').addClass(klass)
+      $('#facebox .content').append(data)
+      $('#facebox .loading').remove()
+      $('#facebox .body').children().fadeIn('normal')
+      $('#facebox').css('left', $(window).width() / 2 - ($('#facebox .popup').width() / 2))
+      $(document).trigger('reveal.facebox').trigger('afterReveal.facebox')
+    },
+
+    close: function() {
+      $(document).trigger('close.facebox')
+      return false
+    }
+  })
+
+  /*
+   * Public, $.fn methods
+   */
+
+  $.fn.facebox = function(settings) {
+    if ($(this).length == 0) return
+
+    init(settings)
+
+    function clickHandler() {
+      $.facebox.loading(true)
+
+      // support for rel="facebox.inline_popup" syntax, to add a class
+      // also supports deprecated "facebox[.inline_popup]" syntax
+      var klass = this.rel.match(/facebox\[?\.(\w+)\]?/)
+      if (klass) klass = klass[1]
+
+      fillFaceboxFromHref(this.href, klass)
+      return false
+    }
+
+    return this.bind('click.facebox', clickHandler)
+  }
+
+  /*
+   * Private methods
+   */
+
+  // called one time to setup facebox on this page
+  function init(settings) {
+    if ($.facebox.settings.inited) return true
+    else $.facebox.settings.inited = true
+
+    $(document).trigger('init.facebox')
+    makeCompatible()
+
+    var imageTypes = $.facebox.settings.imageTypes.join('|')
+    $.facebox.settings.imageTypesRegexp = new RegExp('\.(' + imageTypes + ')$', 'i')
+
+    if (settings) $.extend($.facebox.settings, settings)
+    $('body').append($.facebox.settings.faceboxHtml)
+
+    var preload = [ new Image(), new Image() ]
+    preload[0].src = $.facebox.settings.closeImage
+    preload[1].src = $.facebox.settings.loadingImage
+
+    $('#facebox').find('.b:first, .bl').each(function() {
+      preload.push(new Image())
+      preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1')
+    })
+
+    $('#facebox .close').click($.facebox.close)
+    $('#facebox .close_image').attr('src', $.facebox.settings.closeImage)
+  }
+
+  // getPageScroll() by quirksmode.com
+  function getPageScroll() {
+    var xScroll, yScroll;
+    if (self.pageYOffset) {
+      yScroll = self.pageYOffset;
+      xScroll = self.pageXOffset;
+    } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
+      yScroll = document.documentElement.scrollTop;
+      xScroll = document.documentElement.scrollLeft;
+    } else if (document.body) {// all other Explorers
+      yScroll = document.body.scrollTop;
+      xScroll = document.body.scrollLeft;
+    }
+    return new Array(xScroll,yScroll)
+  }
+
+  // Adapted from getPageSize() by quirksmode.com
+  function getPageHeight() {
+    var windowHeight
+    if (self.innerHeight) {	// all except Explorer
+      windowHeight = self.innerHeight;
+    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
+      windowHeight = document.documentElement.clientHeight;
+    } else if (document.body) { // other Explorers
+      windowHeight = document.body.clientHeight;
+    }
+    return windowHeight
+  }
+
+  // Backwards compatibility
+  function makeCompatible() {
+    var $s = $.facebox.settings
+
+    $s.loadingImage = $s.loading_image || $s.loadingImage
+    $s.closeImage = $s.close_image || $s.closeImage
+    $s.imageTypes = $s.image_types || $s.imageTypes
+    $s.faceboxHtml = $s.facebox_html || $s.faceboxHtml
+  }
+
+  // Figures out what you want to display and displays it
+  // formats are:
+  //     div: #id
+  //   image: blah.extension
+  //    ajax: anything else
+  function fillFaceboxFromHref(href, klass) {
+    // div
+    if (href.match(/#/)) {
+      var url    = window.location.href.split('#')[0]
+      var target = href.replace(url,'')
+      if (target == '#') return
+      $.facebox.reveal($(target).html(), klass)
+
+    // image
+    } else if (href.match($.facebox.settings.imageTypesRegexp)) {
+      fillFaceboxFromImage(href, klass)
+    // ajax
+    } else {
+      fillFaceboxFromAjax(href, klass)
+    }
+  }
+
+  function fillFaceboxFromImage(href, klass) {
+    var image = new Image()
+    image.onload = function() {
+      $.facebox.reveal('<div class="image"><img src="' + image.src + '" /></div>', klass)
+    }
+    image.src = href
+  }
+
+  function fillFaceboxFromAjax(href, klass) {
+    $.get(href, function(data) { $.facebox.reveal(data, klass) })
+  }
+
+  function skipOverlay() {
+    return $.facebox.settings.overlay == false || $.facebox.settings.opacity === null
+  }
+
+  function showOverlay() {
+    if (skipOverlay()) return
+
+    if ($('#facebox_overlay').length == 0)
+      $("body").append('<div id="facebox_overlay" class="facebox_hide"></div>')
+
+    $('#facebox_overlay').hide().addClass("facebox_overlayBG")
+      .css('opacity', $.facebox.settings.opacity)
+      .click(function() { $(document).trigger('close.facebox') })
+      .fadeIn(200)
+    return false
+  }
+
+  function hideOverlay() {
+    if (skipOverlay()) return
+
+    $('#facebox_overlay').fadeOut(200, function(){
+      $("#facebox_overlay").removeClass("facebox_overlayBG")
+      $("#facebox_overlay").addClass("facebox_hide")
+      $("#facebox_overlay").remove()
+    })
+
+    return false
+  }
+
+  /*
+   * Bindings
+   */
+
+  $(document).bind('close.facebox', function() {
+    $(document).unbind('keydown.facebox')
+    $('#facebox').fadeOut(function() {
+      $('#facebox .content').removeClass().addClass('content')
+      $('#facebox .loading').remove()
+      $(document).trigger('afterClose.facebox')
+    })
+    hideOverlay()
+  })
+
+})(jQuery);
diff --git a/public/javascripts/vendor/fancybox/jquery.easing-1.3.pack.js b/public/javascripts/vendor/fancybox/jquery.easing-1.3.pack.js
deleted file mode 100644
index 9028179e7bde19e3c0fdbf9f422c35c4a0d95034..0000000000000000000000000000000000000000
--- a/public/javascripts/vendor/fancybox/jquery.easing-1.3.pack.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
- *
- * Uses the built in easing capabilities added In jQuery 1.1
- * to offer multiple easing options
- *
- * TERMS OF USE - jQuery Easing
- * 
- * Open source under the BSD License. 
- * 
- * Copyright © 2008 George McGinley Smith
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without modification, 
- * are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of 
- * conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this list 
- * of conditions and the following disclaimer in the documentation and/or other materials 
- * provided with the distribution.
- * 
- * Neither the name of the author nor the names of contributors may be used to endorse 
- * or promote products derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
- * OF THE POSSIBILITY OF SUCH DAMAGE. 
- *
-*/
-
-// t: current time, b: begInnIng value, c: change In value, d: duration
-eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 h.i.A(x,t*2,0,c,d)*.5+b;6 h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});',62,74,'||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOutElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce'.split('|'),0,{}))
-
-/*
- *
- * TERMS OF USE - EASING EQUATIONS
- * 
- * Open source under the BSD License. 
- * 
- * Copyright © 2001 Robert Penner
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without modification, 
- * are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of 
- * conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this list 
- * of conditions and the following disclaimer in the documentation and/or other materials 
- * provided with the distribution.
- * 
- * Neither the name of the author nor the names of contributors may be used to endorse 
- * or promote products derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
- * OF THE POSSIBILITY OF SUCH DAMAGE. 
- *
- */
diff --git a/public/javascripts/vendor/fancybox/jquery.fancybox-1.3.1.js b/public/javascripts/vendor/fancybox/jquery.fancybox-1.3.1.js
deleted file mode 100644
index e9b4f404b09880a496f27b6a8e4930f7f7ed30ac..0000000000000000000000000000000000000000
--- a/public/javascripts/vendor/fancybox/jquery.fancybox-1.3.1.js
+++ /dev/null
@@ -1,1082 +0,0 @@
-/*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- * 
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- *
- * Version: 1.3.1 (05/03/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
- */
-
-(function($) {
-
-	var tmp, loading, overlay, wrap, outer, inner, close, nav_left, nav_right,
-
-		selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [],
-
-		ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i,
-
-		loadingTimer, loadingFrame = 1,
-
-		start_pos, final_pos, busy = false, shadow = 20, fx = $.extend($('<div/>')[0], { prop: 0 }), titleh = 0, 
-
-		isIE6 = !$.support.opacity && !window.XMLHttpRequest,
-
-		/*
-		 * Private methods 
-		 */
-
-		fancybox_abort = function() {
-			loading.hide();
-
-			imgPreloader.onerror = imgPreloader.onload = null;
-
-			if (ajaxLoader) {
-				ajaxLoader.abort();
-			}
-
-			tmp.empty();
-		},
-
-		fancybox_error = function() {
-			$.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>', {
-				'scrolling'		: 'no',
-				'padding'		: 20,
-				'transitionIn'	: 'none',
-				'transitionOut'	: 'none'
-			});
-		},
-
-		fancybox_get_viewport = function() {
-			return [ $(window).width(), $(window).height(), $(document).scrollLeft(), $(document).scrollTop() ];
-		},
-
-		fancybox_get_zoom_to = function () {
-			var view	= fancybox_get_viewport(),
-				to		= {},
-
-				margin = currentOpts.margin,
-				resize = currentOpts.autoScale,
-
-				horizontal_space	= (shadow + margin) * 2,
-				vertical_space		= (shadow + margin) * 2,
-				double_padding		= (currentOpts.padding * 2),
-				
-				ratio;
-
-			if (currentOpts.width.toString().indexOf('%') > -1) {
-				to.width = ((view[0] * parseFloat(currentOpts.width)) / 100) - (shadow * 2) ;
-				resize = false;
-
-			} else {
-				to.width = currentOpts.width + double_padding;
-			}
-
-			if (currentOpts.height.toString().indexOf('%') > -1) {
-				to.height = ((view[1] * parseFloat(currentOpts.height)) / 100) - (shadow * 2);
-				resize = false;
-
-			} else {
-				to.height = currentOpts.height + double_padding;
-			}
-
-			if (resize && (to.width > (view[0] - horizontal_space) || to.height > (view[1] - vertical_space))) {
-				if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') {
-					horizontal_space	+= double_padding;
-					vertical_space		+= double_padding;
-
-					ratio = Math.min(Math.min( view[0] - horizontal_space, currentOpts.width) / currentOpts.width, Math.min( view[1] - vertical_space, currentOpts.height) / currentOpts.height);
-
-					to.width	= Math.round(ratio * (to.width	- double_padding)) + double_padding;
-					to.height	= Math.round(ratio * (to.height	- double_padding)) + double_padding;
-
-				} else {
-					to.width	= Math.min(to.width,	(view[0] - horizontal_space));
-					to.height	= Math.min(to.height,	(view[1] - vertical_space));
-				}
-			}
-
-			to.top	= view[3] + ((view[1] - (to.height	+ (shadow * 2 ))) * 0.5);
-			to.left	= view[2] + ((view[0] - (to.width	+ (shadow * 2 ))) * 0.5);
-
-			if (currentOpts.autoScale === false) {
-				to.top	= Math.max(view[3] + margin, to.top);
-				to.left	= Math.max(view[2] + margin, to.left);
-			}
-
-			return to;
-		},
-
-		fancybox_format_title = function(title) {
-			if (title && title.length) {
-				switch (currentOpts.titlePosition) {
-					case 'inside':
-						return title;
-					case 'over':
-						return '<span id="fancybox-title-over">' + title + '</span>';
-					default:
-						return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">' + title + '</span><span id="fancybox-title-right"></span></span>';
-				}
-			}
-
-			return false;
-		},
-
-		fancybox_process_title = function() {
-			var title	= currentOpts.title,
-				width	= final_pos.width - (currentOpts.padding * 2),
-				titlec	= 'fancybox-title-' + currentOpts.titlePosition;
-				
-			$('#fancybox-title').remove();
-
-			titleh = 0;
-
-			if (currentOpts.titleShow === false) {
-				return;
-			}
-
-			title = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(title, currentArray, currentIndex, currentOpts) : fancybox_format_title(title);
-
-			if (!title || title === '') {
-				return;
-			}
-
-			$('<div id="fancybox-title" class="' + titlec + '" />').css({
-				'width'			: width,
-				'paddingLeft'	: currentOpts.padding,
-				'paddingRight'	: currentOpts.padding
-			}).html(title).appendTo('body');
-
-			switch (currentOpts.titlePosition) {
-				case 'inside':
-					titleh = $("#fancybox-title").outerHeight(true) - currentOpts.padding;
-					final_pos.height += titleh;
-				break;
-
-				case 'over':
-					$('#fancybox-title').css('bottom', currentOpts.padding);
-				break;
-
-				default:
-					$('#fancybox-title').css('bottom', $("#fancybox-title").outerHeight(true) * -1);
-				break;
-			}
-
-			$('#fancybox-title').appendTo( outer ).hide();
-		},
-
-		fancybox_set_navigation = function() {
-			$(document).unbind('keydown.fb').bind('keydown.fb', function(e) {
-				if (e.keyCode == 27 && currentOpts.enableEscapeButton) {
-					e.preventDefault();
-					$.fancybox.close();
-
-				} else if (e.keyCode == 37) {
-					e.preventDefault();
-					$.fancybox.prev();
-
-				} else if (e.keyCode == 39) {
-					e.preventDefault();
-					$.fancybox.next();
-				}
-			});
-
-			if ($.fn.mousewheel) {
-				wrap.unbind('mousewheel.fb');
-
-				if (currentArray.length > 1) {
-					wrap.bind('mousewheel.fb', function(e, delta) {
-						e.preventDefault();
-
-						if (busy || delta === 0) {
-							return;
-						}
-
-						if (delta > 0) {
-							$.fancybox.prev();
-						} else {
-							$.fancybox.next();
-						}
-					});
-				}
-			}
-
-			if (!currentOpts.showNavArrows) { return; }
-
-			if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) {
-				nav_left.show();
-			}
-
-			if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) {
-				nav_right.show();
-			}
-		},
-
-		fancybox_preload_images = function() {
-			var href, 
-				objNext;
-				
-			if ((currentArray.length -1) > currentIndex) {
-				href = currentArray[ currentIndex + 1 ].href;
-
-				if (typeof href !== 'undefined' && href.match(imgRegExp)) {
-					objNext = new Image();
-					objNext.src = href;
-				}
-			}
-
-			if (currentIndex > 0) {
-				href = currentArray[ currentIndex - 1 ].href;
-
-				if (typeof href !== 'undefined' && href.match(imgRegExp)) {
-					objNext = new Image();
-					objNext.src = href;
-				}
-			}
-		},
-
-		_finish = function () {
-			inner.css('overflow', (currentOpts.scrolling == 'auto' ? (currentOpts.type == 'image' || currentOpts.type == 'iframe' || currentOpts.type == 'swf' ? 'hidden' : 'auto') : (currentOpts.scrolling == 'yes' ? 'auto' : 'visible')));
-
-			if (!$.support.opacity) {
-				inner.get(0).style.removeAttribute('filter');
-				wrap.get(0).style.removeAttribute('filter');
-			}
-
-			$('#fancybox-title').show();
-
-			if (currentOpts.hideOnContentClick)	{
-				inner.one('click', $.fancybox.close);
-			}
-			if (currentOpts.hideOnOverlayClick)	{
-				overlay.one('click', $.fancybox.close);
-			}
-
-			if (currentOpts.showCloseButton) {
-				close.show();
-			}
-
-      $("#fancybox-inner input[type='text'], #fancybox-inner textarea").focus(function() {
-          $(document).unbind('keydown.fb');
-      });
-      
-
-			fancybox_set_navigation();
-
-			$(window).bind("resize.fb", $.fancybox.center);
-
-			if (currentOpts.centerOnScroll) {
-				$(window).bind("scroll.fb", $.fancybox.center);
-			} else {
-				$(window).unbind("scroll.fb");
-			}
-
-			if ($.isFunction(currentOpts.onComplete)) {
-				currentOpts.onComplete(currentArray, currentIndex, currentOpts);
-			}
-
-			busy = false;
-
-			fancybox_preload_images();
-		},
-
-		fancybox_draw = function(pos) {
-			var width	= Math.round(start_pos.width	+ (final_pos.width	- start_pos.width)	* pos),
-				height	= Math.round(start_pos.height	+ (final_pos.height	- start_pos.height)	* pos),
-
-				top		= Math.round(start_pos.top	+ (final_pos.top	- start_pos.top)	* pos),
-				left	= Math.round(start_pos.left	+ (final_pos.left	- start_pos.left)	* pos);
-
-			wrap.css({
-				'width'		: width		+ 'px',
-				'height'	: height	+ 'px',
-				'top'		: top		+ 'px',
-				'left'		: left		+ 'px'
-			});
-
-			width	= Math.max(width - currentOpts.padding * 2, 0);
-			height	= Math.max(height - (currentOpts.padding * 2 + (titleh * pos)), 0);
-
-			inner.css({
-				'width'		: width		+ 'px',
-				'height'	: height	+ 'px'
-			});
-
-			if (typeof final_pos.opacity !== 'undefined') {
-				wrap.css('opacity', (pos < 0.5 ? 0.5 : pos));
-			}
-		},
-
-		fancybox_get_obj_pos = function(obj) {
-			var pos		= obj.offset();
-
-			pos.top		+= parseFloat( obj.css('paddingTop') )	|| 0;
-			pos.left	+= parseFloat( obj.css('paddingLeft') )	|| 0;
-
-			pos.top		+= parseFloat( obj.css('border-top-width') )	|| 0;
-			pos.left	+= parseFloat( obj.css('border-left-width') )	|| 0;
-
-			pos.width	= obj.width();
-			pos.height	= obj.height();
-
-			return pos;
-		},
-
-		fancybox_get_zoom_from = function() {
-			var orig = selectedOpts.orig ? $(selectedOpts.orig) : false,
-				from = {},
-				pos,
-				view;
-
-			if (orig && orig.length) {
-				pos = fancybox_get_obj_pos(orig);
-
-				from = {
-					width	: (pos.width	+ (currentOpts.padding * 2)),
-					height	: (pos.height	+ (currentOpts.padding * 2)),
-					top		: (pos.top		- currentOpts.padding - shadow),
-					left	: (pos.left		- currentOpts.padding - shadow)
-				};
-				
-			} else {
-				view = fancybox_get_viewport();
-
-				from = {
-					width	: 1,
-					height	: 1,
-					top		: view[3] + view[1] * 0.5,
-					left	: view[2] + view[0] * 0.5
-				};
-			}
-
-			return from;
-		},
-
-		fancybox_show = function() {
-			loading.hide();
-
-			if (wrap.is(":visible") && $.isFunction(currentOpts.onCleanup)) {
-				if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
-					$.event.trigger('fancybox-cancel');
-
-					busy = false;
-					return;
-				}
-			}
-
-			currentArray	= selectedArray;
-			currentIndex	= selectedIndex;
-			currentOpts		= selectedOpts;
-
-			inner.get(0).scrollTop	= 0;
-			inner.get(0).scrollLeft	= 0;
-
-			if (currentOpts.overlayShow) {
-				if (isIE6) {
-					$('select:not(#fancybox-tmp select)').filter(function() {
-						return this.style.visibility !== 'hidden';
-					}).css({'visibility':'hidden'}).one('fancybox-cleanup', function() {
-						this.style.visibility = 'inherit';
-					});
-				}
-
-				overlay.css({
-					'background-color'	: currentOpts.overlayColor,
-					'opacity'			: currentOpts.overlayOpacity
-				}).unbind().show();
-			}
-
-			final_pos = fancybox_get_zoom_to();
-
-			fancybox_process_title();
-
-			if (wrap.is(":visible")) {
-				$( close.add( nav_left ).add( nav_right ) ).hide();
-
-				var pos = wrap.position(),
-					equal;
-
-				start_pos = {
-					top		:	pos.top ,
-					left	:	pos.left,
-					width	:	wrap.width(),
-					height	:	wrap.height()
-				};
-
-				equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height);
-
-				inner.fadeOut(currentOpts.changeFade, function() {
-					var finish_resizing = function() {
-						inner.html( tmp.contents() ).fadeIn(currentOpts.changeFade, _finish);
-					};
-					
-					$.event.trigger('fancybox-change');
-
-					inner.empty().css('overflow', 'hidden');
-
-					if (equal) {
-						inner.css({
-							top			: currentOpts.padding,
-							left		: currentOpts.padding,
-							width		: Math.max(final_pos.width	- (currentOpts.padding * 2), 1),
-							height		: Math.max(final_pos.height	- (currentOpts.padding * 2) - titleh, 1)
-						});
-						
-						finish_resizing();
-
-					} else {
-						inner.css({
-							top			: currentOpts.padding,
-							left		: currentOpts.padding,
-							width		: Math.max(start_pos.width	- (currentOpts.padding * 2), 1),
-							height		: Math.max(start_pos.height	- (currentOpts.padding * 2), 1)
-						});
-						
-						fx.prop = 0;
-
-						$(fx).animate({ prop: 1 }, {
-							 duration	: currentOpts.changeSpeed,
-							 easing		: currentOpts.easingChange,
-							 step		: fancybox_draw,
-							 complete	: finish_resizing
-						});
-					}
-				});
-
-				return;
-			}
-
-			wrap.css('opacity', 1);
-
-			if (currentOpts.transitionIn == 'elastic') {
-				start_pos = fancybox_get_zoom_from();
-
-				inner.css({
-						top			: currentOpts.padding,
-						left		: currentOpts.padding,
-						width		: Math.max(start_pos.width	- (currentOpts.padding * 2), 1),
-						height		: Math.max(start_pos.height	- (currentOpts.padding * 2), 1)
-					})
-					.html( tmp.contents() );
-
-				wrap.css(start_pos).show();
-
-				if (currentOpts.opacity) {
-					final_pos.opacity = 0;
-				}
-
-				fx.prop = 0;
-
-				$(fx).animate({ prop: 1 }, {
-					 duration	: currentOpts.speedIn,
-					 easing		: currentOpts.easingIn,
-					 step		: fancybox_draw,
-					 complete	: _finish
-				});
-
-			} else {
-				inner.css({
-						top			: currentOpts.padding,
-						left		: currentOpts.padding,
-						width		: Math.max(final_pos.width	- (currentOpts.padding * 2), 1),
-						height		: Math.max(final_pos.height	- (currentOpts.padding * 2) - titleh, 1)
-					})
-					.html( tmp.contents() );
-
-				wrap.css( final_pos ).fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish );
-			}
-		},
-
-		fancybox_process_inline = function() {
-			tmp.width(	selectedOpts.width );
-			tmp.height(	selectedOpts.height );
-
-			if (selectedOpts.width	== 'auto') {
-				selectedOpts.width = tmp.width();
-			}
-			if (selectedOpts.height	== 'auto') {
-				selectedOpts.height	= tmp.height();
-			}
-
-			fancybox_show();
-		},
-		
-		fancybox_process_image = function() {
-			busy = true;
-
-			selectedOpts.width	= imgPreloader.width;
-			selectedOpts.height	= imgPreloader.height;
-
-			$("<img />").attr({
-				'id'	: 'fancybox-img',
-				'src'	: imgPreloader.src,
-				'alt'	: selectedOpts.title
-			}).appendTo( tmp );
-
-			fancybox_show();
-		},
-
-		fancybox_start = function() {
-			fancybox_abort();
-
-			var obj	= selectedArray[ selectedIndex ],
-				href, 
-				type, 
-				title,
-				str,
-				emb,
-				selector,
-				data;
-
-			selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox')));
-			title = obj.title || $(obj).title || selectedOpts.title || '';
-			
-			if (obj.nodeName && !selectedOpts.orig) {
-				selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj);
-			}
-
-			if (title === '' && selectedOpts.orig) {
-				title = selectedOpts.orig.attr('alt');
-			}
-
-			if (obj.nodeName && (/^(?:javascript|#)/i).test(obj.href)) {
-				href = selectedOpts.href || null;
-			} else {
-				href = selectedOpts.href || obj.href || null;
-			}
-
-			if (selectedOpts.type) {
-				type = selectedOpts.type;
-
-				if (!href) {
-					href = selectedOpts.content;
-				}
-				
-			} else if (selectedOpts.content) {
-				type	= 'html';
-
-			} else if (href) {
-				if (href.match(imgRegExp)) {
-					type = 'image';
-
-				} else if (href.match(swfRegExp)) {
-					type = 'swf';
-
-				} else if ($(obj).hasClass("iframe")) {
-					type = 'iframe';
-
-				} else if (href.match(/#/)) {
-					obj = href.substr(href.indexOf("#"));
-
-					type = $(obj).length > 0 ? 'inline' : 'ajax';
-				} else {
-					type = 'ajax';
-				}
-			} else {
-				type = 'inline';
-			}
-
-			selectedOpts.type	= type;
-			selectedOpts.href	= href;
-			selectedOpts.title	= title;
-
-			if (selectedOpts.autoDimensions && selectedOpts.type !== 'iframe' && selectedOpts.type !== 'swf') {
-				selectedOpts.width		= 'auto';
-				selectedOpts.height		= 'auto';
-			}
-
-			if (selectedOpts.modal) {
-				selectedOpts.overlayShow		= true;
-				selectedOpts.hideOnOverlayClick	= false;
-				selectedOpts.hideOnContentClick	= false;
-				selectedOpts.enableEscapeButton	= false;
-				selectedOpts.showCloseButton	= false;
-			}
-
-			if ($.isFunction(selectedOpts.onStart)) {
-				if (selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts) === false) {
-					busy = false;
-					return;
-				}
-			}
-
-			tmp.css('padding', (shadow + selectedOpts.padding + selectedOpts.margin));
-
-			$('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() {
-				$(this).replaceWith(inner.children());
-			});
-
-			switch (type) {
-				case 'html' :
-					tmp.html( selectedOpts.content );
-					fancybox_process_inline();
-				break;
-
-				case 'inline' :
-					$('<div class="fancybox-inline-tmp" />').hide().insertBefore( $(obj) ).bind('fancybox-cleanup', function() {
-						$(this).replaceWith(inner.children());
-					}).bind('fancybox-cancel', function() {
-						$(this).replaceWith(tmp.children());
-					});
-
-					$(obj).appendTo(tmp);
-
-					fancybox_process_inline();
-				break;
-
-				case 'image':
-					busy = false;
-
-					$.fancybox.showActivity();
-
-					imgPreloader = new Image();
-
-					imgPreloader.onerror = function() {
-						fancybox_error();
-					};
-
-					imgPreloader.onload = function() {
-						imgPreloader.onerror = null;
-						imgPreloader.onload = null;
-						fancybox_process_image();
-					};
-
-					imgPreloader.src = href;
-		
-				break;
-
-				case 'swf':
-					str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
-					emb = '';
-					
-					$.each(selectedOpts.swf, function(name, val) {
-						str += '<param name="' + name + '" value="' + val + '"></param>';
-						emb += ' ' + name + '="' + val + '"';
-					});
-
-					str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
-
-					tmp.html(str);
-
-					fancybox_process_inline();
-				break;
-
-				case 'ajax':
-					selector	= href.split('#', 2);
-					data		= selectedOpts.ajax.data || {};
-
-					if (selector.length > 1) {
-						href = selector[0];
-
-						if (typeof data == "string") {
-							data += '&selector=' + selector[1];
-						} else {
-							data.selector = selector[1];
-						}
-					}
-
-					busy = false;
-					$.fancybox.showActivity();
-
-					ajaxLoader = $.ajax($.extend(selectedOpts.ajax, {
-						url		: href,
-						data	: data,
-						error	: fancybox_error,
-						success : function(data, textStatus, XMLHttpRequest) {
-							if (ajaxLoader.status == 200) {
-								tmp.html( data );
-								fancybox_process_inline();
-							}
-						}
-					}));
-
-				break;
-
-				case 'iframe' :
-					$('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" scrolling="' + selectedOpts.scrolling + '" src="' + selectedOpts.href + '"></iframe>').appendTo(tmp);
-					fancybox_show();
-				break;
-			}
-		},
-
-		fancybox_animate_loading = function() {
-			if (!loading.is(':visible')){
-				clearInterval(loadingTimer);
-				return;
-			}
-
-			$('div', loading).css('top', (loadingFrame * -40) + 'px');
-
-			loadingFrame = (loadingFrame + 1) % 12;
-		},
-
-		fancybox_init = function() {
-			if ($("#fancybox-wrap").length) {
-				return;
-			}
-
-			$('body').append(
-				tmp			= $('<div id="fancybox-tmp"></div>'),
-				loading		= $('<div id="fancybox-loading"><div></div></div>'),
-				overlay		= $('<div id="fancybox-overlay"></div>'),
-				wrap		= $('<div id="fancybox-wrap"></div>')
-			);
-
-			if (!$.support.opacity) {
-				wrap.addClass('fancybox-ie');
-				loading.addClass('fancybox-ie');
-			}
-
-			outer = $('<div id="fancybox-outer"></div>')
-				.append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>')
-				.appendTo( wrap );
-
-			outer.append(
-				inner		= $('<div id="fancybox-inner"></div>'),
-				close		= $('<a id="fancybox-close"></a>'),
-
-				nav_left	= $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
-				nav_right	= $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
-			);
-
-			close.click($.fancybox.close);
-			loading.click($.fancybox.cancel);
-
-			nav_left.click(function(e) {
-				e.preventDefault();
-				$.fancybox.prev();
-			});
-
-			nav_right.click(function(e) {
-				e.preventDefault();
-				$.fancybox.next();
-			});
-
-			if (isIE6) {
-				overlay.get(0).style.setExpression('height',	"document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");
-				loading.get(0).style.setExpression('top',		"(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");
-
-				outer.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>');
-			}
-		};
-
-	/*
-	 * Public methods 
-	 */
-
-	$.fn.fancybox = function(options) {
-		$(this)
-			.data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {})))
-			.unbind('click.fb').bind('click.fb', function(e) {
-				e.preventDefault();
-
-				if (busy) {
-					return;
-				}
-
-				busy = true;
-
-				$(this).blur();
-
-				selectedArray	= [];
-				selectedIndex	= 0;
-
-				var rel = $(this).attr('rel') || '';
-
-				if (!rel || rel == '' || rel === 'nofollow') {
-					selectedArray.push(this);
-
-				} else {
-					selectedArray	= $("a[rel=" + rel + "], area[rel=" + rel + "]");
-					selectedIndex	= selectedArray.index( this );
-				}
-
-				fancybox_start();
-
-				return false;
-			});
-
-		return this;
-	};
-
-	$.fancybox = function(obj) {
-		if (busy) {
-			return;
-		}
-
-		busy = true;
-
-		var opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {};
-
-		selectedArray	= [];
-		selectedIndex	= opts.index || 0;
-
-		if ($.isArray(obj)) {
-			for (var i = 0, j = obj.length; i < j; i++) {
-				if (typeof obj[i] == 'object') {
-					$(obj[i]).data('fancybox', $.extend({}, opts, obj[i]));
-				} else {
-					obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts));
-				}
-			}
-
-			selectedArray = jQuery.merge(selectedArray, obj);
-
-		} else {
-			if (typeof obj == 'object') {
-				$(obj).data('fancybox', $.extend({}, opts, obj));
-			} else {
-				obj = $({}).data('fancybox', $.extend({content : obj}, opts));
-			}
-
-			selectedArray.push(obj);
-		}
-
-		if (selectedIndex > selectedArray.length || selectedIndex < 0) {
-			selectedIndex = 0;
-		}
-
-		fancybox_start();
-	};
-
-	$.fancybox.showActivity = function() {
-		clearInterval(loadingTimer);
-
-		loading.show();
-		loadingTimer = setInterval(fancybox_animate_loading, 66);
-	};
-
-	$.fancybox.hideActivity = function() {
-		loading.hide();
-	};
-
-	$.fancybox.next = function() {
-		return $.fancybox.pos( currentIndex + 1);
-	};
-	
-	$.fancybox.prev = function() {
-		return $.fancybox.pos( currentIndex - 1);
-	};
-
-	$.fancybox.pos = function(pos) {
-		if (busy) {
-			return;
-		}
-
-		pos = parseInt(pos, 10);
-
-		if (pos > -1 && currentArray.length > pos) {
-			selectedIndex = pos;
-			fancybox_start();
-		}
-
-		if (currentOpts.cyclic && currentArray.length > 1 && pos < 0) {
-			selectedIndex = currentArray.length - 1;
-			fancybox_start();
-		}
-
-		if (currentOpts.cyclic && currentArray.length > 1 && pos >= currentArray.length) {
-			selectedIndex = 0;
-			fancybox_start();
-		}
-
-		return;
-	};
-
-	$.fancybox.cancel = function() {
-		if (busy) {
-			return;
-		}
-
-		busy = true;
-
-		$.event.trigger('fancybox-cancel');
-
-		fancybox_abort();
-
-		if (selectedOpts && $.isFunction(selectedOpts.onCancel)) {
-			selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts);
-		}
-
-		busy = false;
-	};
-
-	// Note: within an iframe use - parent.$.fancybox.close();
-	$.fancybox.close = function() {
-		if (busy || wrap.is(':hidden')) {
-			return;
-		}
-
-		busy = true;
-
-		if (currentOpts && $.isFunction(currentOpts.onCleanup)) {
-			if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
-				busy = false;
-				return;
-			}
-		}
-
-		fancybox_abort();
-
-		$(close.add( nav_left ).add( nav_right )).hide();
-
-		$('#fancybox-title').remove();
-
-		wrap.add(inner).add(overlay).unbind();
-
-		$(window).unbind("resize.fb scroll.fb");
-		$(document).unbind('keydown.fb');
-
-		function _cleanup() {
-			overlay.fadeOut('fast');
-
-			wrap.hide();
-
-			$.event.trigger('fancybox-cleanup');
-
-			inner.empty();
-
-			if ($.isFunction(currentOpts.onClosed)) {
-				currentOpts.onClosed(currentArray, currentIndex, currentOpts);
-			}
-
-			currentArray	= selectedOpts	= [];
-			currentIndex	= selectedIndex	= 0;
-			currentOpts		= selectedOpts	= {};
-
-			busy = false;
-		}
-
-		inner.css('overflow', 'hidden');
-
-		if (currentOpts.transitionOut == 'elastic') {
-			start_pos = fancybox_get_zoom_from();
-
-			var pos = wrap.position();
-
-			final_pos = {
-				top		:	pos.top ,
-				left	:	pos.left,
-				width	:	wrap.width(),
-				height	:	wrap.height()
-			};
-
-			if (currentOpts.opacity) {
-				final_pos.opacity = 1;
-			}
-
-			fx.prop = 1;
-
-			$(fx).animate({ prop: 0 }, {
-				 duration	: currentOpts.speedOut,
-				 easing		: currentOpts.easingOut,
-				 step		: fancybox_draw,
-				 complete	: _cleanup
-			});
-
-		} else {
-			wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup);
-		}
-	};
-
-	$.fancybox.resize = function() {
-		var c, h;
-		
-		if (busy || wrap.is(':hidden')) {
-			return;
-		}
-
-		busy = true;
-
-		c = inner.wrapInner("<div style='overflow:auto'></div>").children();
-		h = c.height();
-
-		wrap.css({height:	h + (currentOpts.padding * 2) + titleh});
-		inner.css({height:	h});
-
-		c.replaceWith(c.children());
-
-		$.fancybox.center();
-	};
-
-	$.fancybox.center = function() {
-		busy = true;
-
-		var view	= fancybox_get_viewport(),
-			margin	= currentOpts.margin,
-			to		= {};
-
-		to.top	= view[3] + ((view[1] - ((wrap.height() - titleh) + (shadow * 2 ))) * 0.5);
-		to.left	= view[2] + ((view[0] - (wrap.width() + (shadow * 2 ))) * 0.5);
-
-		to.top	= Math.max(view[3] + margin, to.top);
-		to.left	= Math.max(view[2] + margin, to.left);
-
-		wrap.css(to);
-
-		busy = false;
-	};
-
-	$.fn.fancybox.defaults = {
-		padding				:	10,
-		margin				:	20,
-		opacity				:	false,
-		modal				:	false,
-		cyclic				:	false,
-		scrolling			:	'auto',	// 'auto', 'yes' or 'no'
-
-		width				:	560,
-		height				:	340,
-
-		autoScale			:	true,
-		autoDimensions		:	true,
-		centerOnScroll		:	false,
-
-		ajax				:	{},
-		swf					:	{ wmode: 'transparent' },
-
-		hideOnOverlayClick	:	true,
-		hideOnContentClick	:	false,
-
-		overlayShow			:	true,
-		overlayOpacity		:	0.3,
-		overlayColor		:	'#666',
-
-		titleShow			:	true,
-		titlePosition		:	'outside',	// 'outside', 'inside' or 'over'
-		titleFormat			:	null,
-
-		transitionIn		:	'fade',	// 'elastic', 'fade' or 'none'
-		transitionOut		:	'fade',	// 'elastic', 'fade' or 'none'
-
-		speedIn				:	300,
-		speedOut			:	300,
-
-		changeSpeed			:	300,
-		changeFade			:	'fast',
-
-		easingIn			:	'swing',
-		easingOut			:	'swing',
-
-		showCloseButton		:	true,
-		showNavArrows		:	true,
-		enableEscapeButton	:	true,
-
-		onStart				:	null,
-		onCancel			:	null,
-		onComplete			:	null,
-		onCleanup			:	null,
-		onClosed			:	null
-	};
-
-	$(document).ready(function() {
-		fancybox_init();
-	});
-
-})(jQuery);
diff --git a/public/javascripts/vendor/fancybox/jquery.fancybox-1.3.1.pack.js b/public/javascripts/vendor/fancybox/jquery.fancybox-1.3.1.pack.js
deleted file mode 100644
index 8efd14070325bf77d7b55ee0fb3feb6316aacdab..0000000000000000000000000000000000000000
--- a/public/javascripts/vendor/fancybox/jquery.fancybox-1.3.1.pack.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- * 
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- *
- * Version: 1.3.1 (05/03/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
- */
-
-(function($){var tmp,loading,overlay,wrap,outer,inner,close,nav_left,nav_right,selectedIndex=0,selectedOpts={},selectedArray=[],currentIndex=0,currentOpts={},currentArray=[],ajaxLoader=null,imgPreloader=new Image(),imgRegExp=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,swfRegExp=/[^\.]\.(swf)\s*$/i,loadingTimer,loadingFrame=1,start_pos,final_pos,busy=false,shadow=20,fx=$.extend($('<div/>')[0],{prop:0}),titleh=0,isIE6=!$.support.opacity&&!window.XMLHttpRequest,fancybox_abort=function(){loading.hide();imgPreloader.onerror=imgPreloader.onload=null;if(ajaxLoader){ajaxLoader.abort()}tmp.empty()},fancybox_error=function(){$.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>',{'scrolling':'no','padding':20,'transitionIn':'none','transitionOut':'none'})},fancybox_get_viewport=function(){return[$(window).width(),$(window).height(),$(document).scrollLeft(),$(document).scrollTop()]},fancybox_get_zoom_to=function(){var view=fancybox_get_viewport(),to={},margin=currentOpts.margin,resize=currentOpts.autoScale,horizontal_space=(shadow+margin)*2,vertical_space=(shadow+margin)*2,double_padding=(currentOpts.padding*2),ratio;if(currentOpts.width.toString().indexOf('%')>-1){to.width=((view[0]*parseFloat(currentOpts.width))/100)-(shadow*2);resize=false}else{to.width=currentOpts.width+double_padding}if(currentOpts.height.toString().indexOf('%')>-1){to.height=((view[1]*parseFloat(currentOpts.height))/100)-(shadow*2);resize=false}else{to.height=currentOpts.height+double_padding}if(resize&&(to.width>(view[0]-horizontal_space)||to.height>(view[1]-vertical_space))){if(selectedOpts.type=='image'||selectedOpts.type=='swf'){horizontal_space+=double_padding;vertical_space+=double_padding;ratio=Math.min(Math.min(view[0]-horizontal_space,currentOpts.width)/currentOpts.width,Math.min(view[1]-vertical_space,currentOpts.height)/currentOpts.height);to.width=Math.round(ratio*(to.width-double_padding))+double_padding;to.height=Math.round(ratio*(to.height-double_padding))+double_padding}else{to.width=Math.min(to.width,(view[0]-horizontal_space));to.height=Math.min(to.height,(view[1]-vertical_space))}}to.top=view[3]+((view[1]-(to.height+(shadow*2)))*0.5);to.left=view[2]+((view[0]-(to.width+(shadow*2)))*0.5);if(currentOpts.autoScale===false){to.top=Math.max(view[3]+margin,to.top);to.left=Math.max(view[2]+margin,to.left)}return to},fancybox_format_title=function(title){if(title&&title.length){switch(currentOpts.titlePosition){case'inside':return title;case'over':return'<span id="fancybox-title-over">'+title+'</span>';default:return'<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">'+title+'</span><span id="fancybox-title-right"></span></span>'}}return false},fancybox_process_title=function(){var title=currentOpts.title,width=final_pos.width-(currentOpts.padding*2),titlec='fancybox-title-'+currentOpts.titlePosition;$('#fancybox-title').remove();titleh=0;if(currentOpts.titleShow===false){return}title=$.isFunction(currentOpts.titleFormat)?currentOpts.titleFormat(title,currentArray,currentIndex,currentOpts):fancybox_format_title(title);if(!title||title===''){return}$('<div id="fancybox-title" class="'+titlec+'" />').css({'width':width,'paddingLeft':currentOpts.padding,'paddingRight':currentOpts.padding}).html(title).appendTo('body');switch(currentOpts.titlePosition){case'inside':titleh=$("#fancybox-title").outerHeight(true)-currentOpts.padding;final_pos.height+=titleh;break;case'over':$('#fancybox-title').css('bottom',currentOpts.padding);break;default:$('#fancybox-title').css('bottom',$("#fancybox-title").outerHeight(true)*-1);break}$('#fancybox-title').appendTo(outer).hide()},fancybox_set_navigation=function(){$(document).unbind('keydown.fb').bind('keydown.fb',function(e){if(e.keyCode==27&&currentOpts.enableEscapeButton){e.preventDefault();$.fancybox.close()}else if(e.keyCode==37){e.preventDefault();$.fancybox.prev()}else if(e.keyCode==39){e.preventDefault();$.fancybox.next()}});if($.fn.mousewheel){wrap.unbind('mousewheel.fb');if(currentArray.length>1){wrap.bind('mousewheel.fb',function(e,delta){e.preventDefault();if(busy||delta===0){return}if(delta>0){$.fancybox.prev()}else{$.fancybox.next()}})}}if(!currentOpts.showNavArrows){return}if((currentOpts.cyclic&&currentArray.length>1)||currentIndex!==0){nav_left.show()}if((currentOpts.cyclic&&currentArray.length>1)||currentIndex!=(currentArray.length-1)){nav_right.show()}},fancybox_preload_images=function(){var href,objNext;if((currentArray.length-1)>currentIndex){href=currentArray[currentIndex+1].href;if(typeof href!=='undefined'&&href.match(imgRegExp)){objNext=new Image();objNext.src=href}}if(currentIndex>0){href=currentArray[currentIndex-1].href;if(typeof href!=='undefined'&&href.match(imgRegExp)){objNext=new Image();objNext.src=href}}},_finish=function(){inner.css('overflow',(currentOpts.scrolling=='auto'?(currentOpts.type=='image'||currentOpts.type=='iframe'||currentOpts.type=='swf'?'hidden':'auto'):(currentOpts.scrolling=='yes'?'auto':'visible')));if(!$.support.opacity){inner.get(0).style.removeAttribute('filter');wrap.get(0).style.removeAttribute('filter')}$('#fancybox-title').show();if(currentOpts.hideOnContentClick){inner.one('click',$.fancybox.close)}if(currentOpts.hideOnOverlayClick){overlay.one('click',$.fancybox.close)}if(currentOpts.showCloseButton){close.show()}$("#fancybox-inner input[type='text'], #fancybox-inner textarea").focus(function(){$(document).unbind('keydown.fb')});fancybox_set_navigation();$(window).bind("resize.fb",$.fancybox.center);if(currentOpts.centerOnScroll){$(window).bind("scroll.fb",$.fancybox.center)}else{$(window).unbind("scroll.fb")}if($.isFunction(currentOpts.onComplete)){currentOpts.onComplete(currentArray,currentIndex,currentOpts)}busy=false;fancybox_preload_images()},fancybox_draw=function(pos){var width=Math.round(start_pos.width+(final_pos.width-start_pos.width)*pos),height=Math.round(start_pos.height+(final_pos.height-start_pos.height)*pos),top=Math.round(start_pos.top+(final_pos.top-start_pos.top)*pos),left=Math.round(start_pos.left+(final_pos.left-start_pos.left)*pos);wrap.css({'width':width+'px','height':height+'px','top':top+'px','left':left+'px'});width=Math.max(width-currentOpts.padding*2,0);height=Math.max(height-(currentOpts.padding*2+(titleh*pos)),0);inner.css({'width':width+'px','height':height+'px'});if(typeof final_pos.opacity!=='undefined'){wrap.css('opacity',(pos<0.5?0.5:pos))}},fancybox_get_obj_pos=function(obj){var pos=obj.offset();pos.top+=parseFloat(obj.css('paddingTop'))||0;pos.left+=parseFloat(obj.css('paddingLeft'))||0;pos.top+=parseFloat(obj.css('border-top-width'))||0;pos.left+=parseFloat(obj.css('border-left-width'))||0;pos.width=obj.width();pos.height=obj.height();return pos},fancybox_get_zoom_from=function(){var orig=selectedOpts.orig?$(selectedOpts.orig):false,from={},pos,view;if(orig&&orig.length){pos=fancybox_get_obj_pos(orig);from={width:(pos.width+(currentOpts.padding*2)),height:(pos.height+(currentOpts.padding*2)),top:(pos.top-currentOpts.padding-shadow),left:(pos.left-currentOpts.padding-shadow)}}else{view=fancybox_get_viewport();from={width:1,height:1,top:view[3]+view[1]*0.5,left:view[2]+view[0]*0.5}}return from},fancybox_show=function(){loading.hide();if(wrap.is(":visible")&&$.isFunction(currentOpts.onCleanup)){if(currentOpts.onCleanup(currentArray,currentIndex,currentOpts)===false){$.event.trigger('fancybox-cancel');busy=false;return}}currentArray=selectedArray;currentIndex=selectedIndex;currentOpts=selectedOpts;inner.get(0).scrollTop=0;inner.get(0).scrollLeft=0;if(currentOpts.overlayShow){if(isIE6){$('select:not(#fancybox-tmp select)').filter(function(){return this.style.visibility!=='hidden'}).css({'visibility':'hidden'}).one('fancybox-cleanup',function(){this.style.visibility='inherit'})}overlay.css({'background-color':currentOpts.overlayColor,'opacity':currentOpts.overlayOpacity}).unbind().show()}final_pos=fancybox_get_zoom_to();fancybox_process_title();if(wrap.is(":visible")){$(close.add(nav_left).add(nav_right)).hide();var pos=wrap.position(),equal;start_pos={top:pos.top,left:pos.left,width:wrap.width(),height:wrap.height()};equal=(start_pos.width==final_pos.width&&start_pos.height==final_pos.height);inner.fadeOut(currentOpts.changeFade,function(){var finish_resizing=function(){inner.html(tmp.contents()).fadeIn(currentOpts.changeFade,_finish)};$.event.trigger('fancybox-change');inner.empty().css('overflow','hidden');if(equal){inner.css({top:currentOpts.padding,left:currentOpts.padding,width:Math.max(final_pos.width-(currentOpts.padding*2),1),height:Math.max(final_pos.height-(currentOpts.padding*2)-titleh,1)});finish_resizing()}else{inner.css({top:currentOpts.padding,left:currentOpts.padding,width:Math.max(start_pos.width-(currentOpts.padding*2),1),height:Math.max(start_pos.height-(currentOpts.padding*2),1)});fx.prop=0;$(fx).animate({prop:1},{duration:currentOpts.changeSpeed,easing:currentOpts.easingChange,step:fancybox_draw,complete:finish_resizing})}});return}wrap.css('opacity',1);if(currentOpts.transitionIn=='elastic'){start_pos=fancybox_get_zoom_from();inner.css({top:currentOpts.padding,left:currentOpts.padding,width:Math.max(start_pos.width-(currentOpts.padding*2),1),height:Math.max(start_pos.height-(currentOpts.padding*2),1)}).html(tmp.contents());wrap.css(start_pos).show();if(currentOpts.opacity){final_pos.opacity=0}fx.prop=0;$(fx).animate({prop:1},{duration:currentOpts.speedIn,easing:currentOpts.easingIn,step:fancybox_draw,complete:_finish})}else{inner.css({top:currentOpts.padding,left:currentOpts.padding,width:Math.max(final_pos.width-(currentOpts.padding*2),1),height:Math.max(final_pos.height-(currentOpts.padding*2)-titleh,1)}).html(tmp.contents());wrap.css(final_pos).fadeIn(currentOpts.transitionIn=='none'?0:currentOpts.speedIn,_finish)}},fancybox_process_inline=function(){tmp.width(selectedOpts.width);tmp.height(selectedOpts.height);if(selectedOpts.width=='auto'){selectedOpts.width=tmp.width()}if(selectedOpts.height=='auto'){selectedOpts.height=tmp.height()}fancybox_show()},fancybox_process_image=function(){busy=true;selectedOpts.width=imgPreloader.width;selectedOpts.height=imgPreloader.height;$("<img />").attr({'id':'fancybox-img','src':imgPreloader.src,'alt':selectedOpts.title}).appendTo(tmp);fancybox_show()},fancybox_start=function(){fancybox_abort();var obj=selectedArray[selectedIndex],href,type,title,str,emb,selector,data;selectedOpts=$.extend({},$.fn.fancybox.defaults,(typeof $(obj).data('fancybox')=='undefined'?selectedOpts:$(obj).data('fancybox')));title=obj.title||$(obj).title||selectedOpts.title||'';if(obj.nodeName&&!selectedOpts.orig){selectedOpts.orig=$(obj).children("img:first").length?$(obj).children("img:first"):$(obj)}if(title===''&&selectedOpts.orig){title=selectedOpts.orig.attr('alt')}if(obj.nodeName&&(/^(?:javascript|#)/i).test(obj.href)){href=selectedOpts.href||null}else{href=selectedOpts.href||obj.href||null}if(selectedOpts.type){type=selectedOpts.type;if(!href){href=selectedOpts.content}}else if(selectedOpts.content){type='html'}else if(href){if(href.match(imgRegExp)){type='image'}else if(href.match(swfRegExp)){type='swf'}else if($(obj).hasClass("iframe")){type='iframe'}else if(href.match(/#/)){obj=href.substr(href.indexOf("#"));type=$(obj).length>0?'inline':'ajax'}else{type='ajax'}}else{type='inline'}selectedOpts.type=type;selectedOpts.href=href;selectedOpts.title=title;if(selectedOpts.autoDimensions&&selectedOpts.type!=='iframe'&&selectedOpts.type!=='swf'){selectedOpts.width='auto';selectedOpts.height='auto'}if(selectedOpts.modal){selectedOpts.overlayShow=true;selectedOpts.hideOnOverlayClick=false;selectedOpts.hideOnContentClick=false;selectedOpts.enableEscapeButton=false;selectedOpts.showCloseButton=false}if($.isFunction(selectedOpts.onStart)){if(selectedOpts.onStart(selectedArray,selectedIndex,selectedOpts)===false){busy=false;return}}tmp.css('padding',(shadow+selectedOpts.padding+selectedOpts.margin));$('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change',function(){$(this).replaceWith(inner.children())});switch(type){case'html':tmp.html(selectedOpts.content);fancybox_process_inline();break;case'inline':$('<div class="fancybox-inline-tmp" />').hide().insertBefore($(obj)).bind('fancybox-cleanup',function(){$(this).replaceWith(inner.children())}).bind('fancybox-cancel',function(){$(this).replaceWith(tmp.children())});$(obj).appendTo(tmp);fancybox_process_inline();break;case'image':busy=false;$.fancybox.showActivity();imgPreloader=new Image();imgPreloader.onerror=function(){fancybox_error()};imgPreloader.onload=function(){imgPreloader.onerror=null;imgPreloader.onload=null;fancybox_process_image()};imgPreloader.src=href;break;case'swf':str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+selectedOpts.width+'" height="'+selectedOpts.height+'"><param name="movie" value="'+href+'"></param>';emb='';$.each(selectedOpts.swf,function(name,val){str+='<param name="'+name+'" value="'+val+'"></param>';emb+=' '+name+'="'+val+'"'});str+='<embed src="'+href+'" type="application/x-shockwave-flash" width="'+selectedOpts.width+'" height="'+selectedOpts.height+'"'+emb+'></embed></object>';tmp.html(str);fancybox_process_inline();break;case'ajax':selector=href.split('#',2);data=selectedOpts.ajax.data||{};if(selector.length>1){href=selector[0];if(typeof data=="string"){data+='&selector='+selector[1]}else{data.selector=selector[1]}}busy=false;$.fancybox.showActivity();ajaxLoader=$.ajax($.extend(selectedOpts.ajax,{url:href,data:data,error:fancybox_error,success:function(data,textStatus,XMLHttpRequest){if(ajaxLoader.status==200){tmp.html(data);fancybox_process_inline()}}}));break;case'iframe':$('<iframe id="fancybox-frame" name="fancybox-frame'+new Date().getTime()+'" frameborder="0" hspace="0" scrolling="'+selectedOpts.scrolling+'" src="'+selectedOpts.href+'"></iframe>').appendTo(tmp);fancybox_show();break}},fancybox_animate_loading=function(){if(!loading.is(':visible')){clearInterval(loadingTimer);return}$('div',loading).css('top',(loadingFrame*-40)+'px');loadingFrame=(loadingFrame+1)%12},fancybox_init=function(){if($("#fancybox-wrap").length){return}$('body').append(tmp=$('<div id="fancybox-tmp"></div>'),loading=$('<div id="fancybox-loading"><div></div></div>'),overlay=$('<div id="fancybox-overlay"></div>'),wrap=$('<div id="fancybox-wrap"></div>'));if(!$.support.opacity){wrap.addClass('fancybox-ie');loading.addClass('fancybox-ie')}outer=$('<div id="fancybox-outer"></div>').append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>').appendTo(wrap);outer.append(inner=$('<div id="fancybox-inner"></div>'),close=$('<a id="fancybox-close"></a>'),nav_left=$('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),nav_right=$('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));close.click($.fancybox.close);loading.click($.fancybox.cancel);nav_left.click(function(e){e.preventDefault();$.fancybox.prev()});nav_right.click(function(e){e.preventDefault();$.fancybox.next()});if(isIE6){overlay.get(0).style.setExpression('height',"document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");loading.get(0).style.setExpression('top',"(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");outer.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>')}};$.fn.fancybox=function(options){$(this).data('fancybox',$.extend({},options,($.metadata?$(this).metadata():{}))).unbind('click.fb').bind('click.fb',function(e){e.preventDefault();if(busy){return}busy=true;$(this).blur();selectedArray=[];selectedIndex=0;var rel=$(this).attr('rel')||'';if(!rel||rel==''||rel==='nofollow'){selectedArray.push(this)}else{selectedArray=$("a[rel="+rel+"], area[rel="+rel+"]");selectedIndex=selectedArray.index(this)}fancybox_start();return false});return this};$.fancybox=function(obj){if(busy){return}busy=true;var opts=typeof arguments[1]!=='undefined'?arguments[1]:{};selectedArray=[];selectedIndex=opts.index||0;if($.isArray(obj)){for(var i=0,j=obj.length;i<j;i++){if(typeof obj[i]=='object'){$(obj[i]).data('fancybox',$.extend({},opts,obj[i]))}else{obj[i]=$({}).data('fancybox',$.extend({content:obj[i]},opts))}}selectedArray=jQuery.merge(selectedArray,obj)}else{if(typeof obj=='object'){$(obj).data('fancybox',$.extend({},opts,obj))}else{obj=$({}).data('fancybox',$.extend({content:obj},opts))}selectedArray.push(obj)}if(selectedIndex>selectedArray.length||selectedIndex<0){selectedIndex=0}fancybox_start()};$.fancybox.showActivity=function(){clearInterval(loadingTimer);loading.show();loadingTimer=setInterval(fancybox_animate_loading,66)};$.fancybox.hideActivity=function(){loading.hide()};$.fancybox.next=function(){return $.fancybox.pos(currentIndex+1)};$.fancybox.prev=function(){return $.fancybox.pos(currentIndex-1)};$.fancybox.pos=function(pos){if(busy){return}pos=parseInt(pos,10);if(pos>-1&&currentArray.length>pos){selectedIndex=pos;fancybox_start()}if(currentOpts.cyclic&&currentArray.length>1&&pos<0){selectedIndex=currentArray.length-1;fancybox_start()}if(currentOpts.cyclic&&currentArray.length>1&&pos>=currentArray.length){selectedIndex=0;fancybox_start()}return};$.fancybox.cancel=function(){if(busy){return}busy=true;$.event.trigger('fancybox-cancel');fancybox_abort();if(selectedOpts&&$.isFunction(selectedOpts.onCancel)){selectedOpts.onCancel(selectedArray,selectedIndex,selectedOpts)}busy=false};$.fancybox.close=function(){if(busy||wrap.is(':hidden')){return}busy=true;if(currentOpts&&$.isFunction(currentOpts.onCleanup)){if(currentOpts.onCleanup(currentArray,currentIndex,currentOpts)===false){busy=false;return}}fancybox_abort();$(close.add(nav_left).add(nav_right)).hide();$('#fancybox-title').remove();wrap.add(inner).add(overlay).unbind();$(window).unbind("resize.fb scroll.fb");$(document).unbind('keydown.fb');function _cleanup(){overlay.fadeOut('fast');wrap.hide();$.event.trigger('fancybox-cleanup');inner.empty();if($.isFunction(currentOpts.onClosed)){currentOpts.onClosed(currentArray,currentIndex,currentOpts)}currentArray=selectedOpts=[];currentIndex=selectedIndex=0;currentOpts=selectedOpts={};busy=false}inner.css('overflow','hidden');if(currentOpts.transitionOut=='elastic'){start_pos=fancybox_get_zoom_from();var pos=wrap.position();final_pos={top:pos.top,left:pos.left,width:wrap.width(),height:wrap.height()};if(currentOpts.opacity){final_pos.opacity=1}fx.prop=1;$(fx).animate({prop:0},{duration:currentOpts.speedOut,easing:currentOpts.easingOut,step:fancybox_draw,complete:_cleanup})}else{wrap.fadeOut(currentOpts.transitionOut=='none'?0:currentOpts.speedOut,_cleanup)}};$.fancybox.resize=function(){var c,h;if(busy||wrap.is(':hidden')){return}busy=true;c=inner.wrapInner("<div style='overflow:auto'></div>").children();h=c.height();wrap.css({height:h+(currentOpts.padding*2)+titleh});inner.css({height:h});c.replaceWith(c.children());$.fancybox.center()};$.fancybox.center=function(){busy=true;var view=fancybox_get_viewport(),margin=currentOpts.margin,to={};to.top=view[3]+((view[1]-((wrap.height()-titleh)+(shadow*2)))*0.5);to.left=view[2]+((view[0]-(wrap.width()+(shadow*2)))*0.5);to.top=Math.max(view[3]+margin,to.top);to.left=Math.max(view[2]+margin,to.left);wrap.css(to);busy=false};$.fn.fancybox.defaults={padding:10,margin:20,opacity:false,modal:false,cyclic:false,scrolling:'auto',width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:'transparent'},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.3,overlayColor:'#666',titleShow:true,titlePosition:'outside',titleFormat:null,transitionIn:'fade',transitionOut:'fade',speedIn:300,speedOut:300,changeSpeed:300,changeFade:'fast',easingIn:'swing',easingOut:'swing',showCloseButton:true,showNavArrows:true,enableEscapeButton:true,onStart:null,onCancel:null,onComplete:null,onCleanup:null,onClosed:null};$(document).ready(function(){fancybox_init()})})(jQuery);
-// removed arrow functionality from vanilla pack
-
diff --git a/public/javascripts/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js b/public/javascripts/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js
deleted file mode 100644
index b950db1a20304f828afb2bc025358ff4760b51d9..0000000000000000000000000000000000000000
--- a/public/javascripts/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/*! Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
- * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
- * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
- *
- * Version: 3.0.2
- * 
- * Requires: 1.2.2+
- */
-
-(function(b){function d(a){var f=[].slice.call(arguments,1),e=0;a=b.event.fix(a||window.event);a.type="mousewheel";if(a.wheelDelta)e=a.wheelDelta/120;if(a.detail)e=-a.detail/3;f.unshift(a,e);return b.event.handle.apply(this,f)}var c=["DOMMouseScroll","mousewheel"];b.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],d,false);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],
-d,false);else this.onmousewheel=null}};b.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);
\ No newline at end of file
diff --git a/public/javascripts/view.js b/public/javascripts/view.js
index f8818eff5dc822e5fa9811ee1282d7dbb6a83fae..171476f49ff4b97fe76e636c5f3b31b274b7e1c4 100644
--- a/public/javascripts/view.js
+++ b/public/javascripts/view.js
@@ -16,10 +16,6 @@ var View = {
     /* In field labels */
     $("label").inFieldLabels();
 
-    /* Focus aspect name on fancybox */
-    $(this.addAspectButton.selector)
-      .click(this.addAspectButton.click);
-
     /* Showing debug messages  */
     $(this.debug.selector)
       .click(this.debug.click);
@@ -41,13 +37,6 @@ var View = {
     $(this.newRequest.selector)
       .live("submit", this.newRequest.submit);
 
-    /* Button fancyboxes */
-    $(this.fancyBoxButtons.selectors.join(", "))
-      .fancybox({
-         'titleShow': false,
-         'hideOnOverlayClick': false
-      });
-
     /* Autoexpand textareas */
     $('textarea')
       .autoResize({
@@ -62,6 +51,11 @@ var View = {
     $(document.body)
       .click(this.userMenu.removeFocus)
       .click(this.reshareButton.removeFocus);
+
+    /* facebox */
+    $.facebox.settings.closeImage = '/images/facebox/closelabel.png'
+    $.facebox.settings.loadingImage = '/images/facebox/loading.gif'
+    $('a[rel*=facebox]').facebox();
   },
 
   addAspectButton: {
diff --git a/public/stylesheets/sass/application.sass b/public/stylesheets/sass/application.sass
index f90034bdb7daa0985c5334809d3a6e7361995767..516e70be01457a851325d424134c42ee449e562a 100644
--- a/public/stylesheets/sass/application.sass
+++ b/public/stylesheets/sass/application.sass
@@ -120,7 +120,7 @@ header
     :color #111
     :color rgba(30,30,30,0.98)
 
-  :background -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(30,30,30,0.88)), to(rgba(0,0,0,0.96)))
+  :background -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(30,30,30,0.84)), to(rgba(0,0,0,0.96)))
 
   :-webkit-box-shadow 0 1px 3px #111
   :-moz-box-shadow 0 1px 2px #111
@@ -1634,23 +1634,27 @@ ul#request_result
       :color green
 
 .contact_list
-  :height 300px
-  :max-height 300px
+  :height 450px
+  :max-height 450px
 
   :overflow-y auto
   :overflow-x hidden
 
   :border 2px solid #eee
 
-  :-webkit-border-radius 5px
-  :-moz-border-radius 5px
-  :border-radius 5px
-
   :background
     :color rgb(252,252,252)
 
-  :margin
-    :bottom 1.5em
+  .name
+    :position absolute
+    :left 70px
+    :top 10px
+
+  .avatar
+    :position absolute
+    :left 6px
+    :height 50px
+    :width 50px
 
   :-webkit-box-shadow 0 1px #fff
   :-moz-box-shadow 0 1px #fff
@@ -1662,15 +1666,14 @@ ul#request_result
       :top 0
 
   ul
-    :width 100%
     :margin 0
     :padding 0
 
     > li
       :display block
       :position relative
-      :height 100%
-      :padding 8px
+      :height 50px
+      :padding 4px
       :border
         :bottom 1px solid #eee
 
@@ -1680,7 +1683,7 @@ ul#request_result
 
       .right
         :right 8px
-        :top 2px
+        :top 12px
 
       a.button
         :padding
@@ -2114,12 +2117,22 @@ ul.show_comments
         :right 0.5em
 
 #aspect_edit_pane
-  .aspect_search_field
-    :position absolute
-    :right 5px
-    input
-      :width 200px
 
+  #aspect_edit_pane_header
+    :padding 1em
+    :background
+      :color #222
+    :border
+      :bottom 1px solid #777
+
+    :-webkit-border-radius 5px 5px 0 0
+    :-moz-border-radius 5px 5px 0 0
+    :border-radius 5px 5px 0 0
+
+    h4
+      :color #eee
+
+  :width 400px
   .person_tiles
     .tile
       :padding 6px
diff --git a/public/stylesheets/vendor/facebox.css b/public/stylesheets/vendor/facebox.css
new file mode 100755
index 0000000000000000000000000000000000000000..3f33b9f470389f6f2a3a62e9eb1c4187f0d2b3de
--- /dev/null
+++ b/public/stylesheets/vendor/facebox.css
@@ -0,0 +1,80 @@
+#facebox {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 100;
+  text-align: left;
+}
+
+
+#facebox .popup{
+  position:relative;
+  border:3px solid rgba(0,0,0,0);
+  -webkit-border-radius:5px;
+  -moz-border-radius:5px;
+  border-radius:5px;
+  -webkit-box-shadow:0 0 18px rgba(0,0,0,0.4);
+  -moz-box-shadow:0 0 18px rgba(0,0,0,0.4);
+  box-shadow:0 0 18px rgba(0,0,0,0.4);
+}
+
+#facebox .content {
+  display:table;
+  width: 370px;
+  padding: 10px;
+  background: #fff;
+  -webkit-border-radius:4px;
+  -moz-border-radius:4px;
+  border-radius:4px;
+}
+
+#facebox .content > p:first-child{
+  margin-top:0;
+}
+#facebox .content > p:last-child{
+  margin-bottom:0;
+}
+
+#facebox .close{
+  position:absolute;
+  top:5px;
+  right:5px;
+  padding:2px;
+  background:#fff;
+}
+#facebox .close img{
+  opacity:0.3;
+}
+#facebox .close:hover img{
+  opacity:1.0;
+}
+
+#facebox .loading {
+  text-align: center;
+}
+
+#facebox .image {
+  text-align: center;
+}
+
+#facebox img {
+  border: 0;
+  margin: 0;
+}
+
+#facebox_overlay {
+  position: fixed;
+  top: 0px;
+  left: 0px;
+  height:100%;
+  width:100%;
+}
+
+.facebox_hide {
+  z-index:-100;
+}
+
+.facebox_overlayBG {
+  background-color: #000;
+  z-index: 99;
+}
\ No newline at end of file
diff --git a/public/stylesheets/vendor/fancy_close.png b/public/stylesheets/vendor/fancy_close.png
deleted file mode 100644
index 07035307ad435f8f2f8eedf0bce50f7ec8a858c2..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_close.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_loading.png b/public/stylesheets/vendor/fancy_loading.png
deleted file mode 100644
index 2503017960b3972499d3aa92f89953935ae40934..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_loading.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_nav_left.png b/public/stylesheets/vendor/fancy_nav_left.png
deleted file mode 100644
index ebaa6a4fd34e51575a01da366312c20618985cbc..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_nav_left.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_nav_right.png b/public/stylesheets/vendor/fancy_nav_right.png
deleted file mode 100644
index 873294e969db9160f5ddd4e1ab498ff60b080e3f..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_nav_right.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_e.png b/public/stylesheets/vendor/fancy_shadow_e.png
deleted file mode 100644
index 2eda0893649371f8d92b92976d8542cdd1b601ed..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_e.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_n.png b/public/stylesheets/vendor/fancy_shadow_n.png
deleted file mode 100644
index 69aa10e233b039077e7dc600177ddb1eb46217e3..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_n.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_ne.png b/public/stylesheets/vendor/fancy_shadow_ne.png
deleted file mode 100644
index 79f6980a3ba5c43de120d963dbba2516b8f27ac7..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_ne.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_nw.png b/public/stylesheets/vendor/fancy_shadow_nw.png
deleted file mode 100644
index 7182cd938ae98e7e28c65a0bc55df576042ff9f5..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_nw.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_s.png b/public/stylesheets/vendor/fancy_shadow_s.png
deleted file mode 100644
index d8858bfb78efb8d7268736920efa1eae8873f89c..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_s.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_se.png b/public/stylesheets/vendor/fancy_shadow_se.png
deleted file mode 100644
index 541e3ffd3e88224b34a4d2097c66a780e6060aeb..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_se.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_sw.png b/public/stylesheets/vendor/fancy_shadow_sw.png
deleted file mode 100644
index b451689fa7b57b7432820e4c06d0864c143c79ab..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_sw.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_shadow_w.png b/public/stylesheets/vendor/fancy_shadow_w.png
deleted file mode 100644
index 8a4e4a887f18384a204563c0048c9cd1328f7faa..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_shadow_w.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_title_left.png b/public/stylesheets/vendor/fancy_title_left.png
deleted file mode 100644
index 6049223d1ec6af46e100499c01f6489c9e2c6240..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_title_left.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_title_main.png b/public/stylesheets/vendor/fancy_title_main.png
deleted file mode 100644
index 8044271f29b5d4e4471570e75cdce90bf9a1497c..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_title_main.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_title_over.png b/public/stylesheets/vendor/fancy_title_over.png
deleted file mode 100644
index d9f458f4bb8770466e44ba97dd8fe1f2936090db..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_title_over.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancy_title_right.png b/public/stylesheets/vendor/fancy_title_right.png
deleted file mode 100644
index e36d9db2a7c6e570aec993d3665cbc13620115e2..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancy_title_right.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancybox-x.png b/public/stylesheets/vendor/fancybox-x.png
deleted file mode 100644
index c2130f8698f682d68b1550bffedecfe19eaa1a81..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancybox-x.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancybox-y.png b/public/stylesheets/vendor/fancybox-y.png
deleted file mode 100644
index 7ef399b9908976fc36f760fad7876a4d9c38e006..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancybox-y.png and /dev/null differ
diff --git a/public/stylesheets/vendor/fancybox.png b/public/stylesheets/vendor/fancybox.png
deleted file mode 100644
index 65e14f68fd83b87f75c22c0c074e7b20bf20a133..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/fancybox.png and /dev/null differ
diff --git a/public/stylesheets/vendor/jquery.fancybox-1.3.1.css b/public/stylesheets/vendor/jquery.fancybox-1.3.1.css
deleted file mode 100644
index 28bbb132761d7d836df3fadd4572039bb3fd4cc3..0000000000000000000000000000000000000000
--- a/public/stylesheets/vendor/jquery.fancybox-1.3.1.css
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- * 
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- *
- * Version: 1.3.1 (05/03/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
- */
-
-#fancybox-loading {
-	position: fixed;
-	top: 50%;
-	left: 50%;
-	height: 40px;
-	width: 40px;
-	margin-top: -20px;
-	margin-left: -20px;
-	cursor: pointer;
-	overflow: hidden;
-	z-index: 1104;
-	display: none;
-}
-
-* html #fancybox-loading {	/* IE6 */
-	position: absolute;
-	margin-top: 0;
-}
-
-#fancybox-loading div {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 40px;
-	height: 480px;
-	background-image: url('fancybox.png');
-}
-
-#fancybox-overlay {
-	position: fixed;
-	top: 0;
-	left: 0;
-	bottom: 0;
-	right: 0;
-	background: #000;
-	z-index: 1100;
-	display: none;
-}
-
-* html #fancybox-overlay {	/* IE6 */
-	position: absolute;
-	width: 100%;
-}
-
-#fancybox-tmp {
-	padding: 0;
-	margin: 0;
-	border: 0;
-	overflow: auto;
-	display: none;
-}
-
-#fancybox-wrap {
-	position: absolute;
-	top: 0;
-	left: 0;
-	margin: 0;
-	padding: 20px;
-	z-index: 1101;
-	display: none;
-}
-
-#fancybox-outer {
-	position: relative;
-	width: 100%;
-	height: 100%;
-	background: #FFF;
-}
-
-#fancybox-inner {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 1px;
-	height: 1px;
-	padding: 0;
-	margin: 0;
-	outline: none;
-	overflow: hidden;
-}
-
-#fancybox-hide-sel-frame {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 100%;
-	height: 100%;
-	background: transparent;
-}
-
-#fancybox-close {
-	position: absolute;
-	top: -15px;
-	right: -15px;
-	width: 30px;
-	height: 30px;
-	background-image: url('fancybox.png');
-	background-position: -40px 0px;
-	cursor: pointer;
-	z-index: 1103;
-	display: none;
-}
-
-#fancybox_error {
-	color: #444;
-	font: normal 12px/20px Arial;
-	padding: 7px;
-	margin: 0;
-}
-
-#fancybox-content {
-	height: auto;
-	width: auto;
-	padding: 0;
-	margin: 0;
-}
-
-#fancybox-img {
-	width: 100%;
-	height: 100%;
-	padding: 0;
-	margin: 0;
-	border: none;
-	outline: none;
-	line-height: 0;
-	vertical-align: top;
-	-ms-interpolation-mode: bicubic;
-}
-
-#fancybox-frame {
-	position: relative;
-	width: 100%;
-	height: 100%;
-	border: none;
-	display: block;
-}
-
-#fancybox-title {
-	position: absolute;
-	bottom: 0;
-	left: 0;
-	font-family: Arial;
-	font-size: 12px;
-	z-index: 1102;
-}
-
-.fancybox-title-inside {
-	padding: 10px 0;
-	text-align: center;
-	color: #333;
-}
-
-.fancybox-title-outside {
-	padding-top: 5px;
-	color: #FFF;
-	text-align: center;
-	font-weight: bold;
-}
-
-.fancybox-title-over {
-	color: #FFF;
-	text-align: left;
-}
-
-#fancybox-title-over {
-	padding: 10px;
-	background-image: url('fancy_title_over.png');
-	display: block;
-}
-
-#fancybox-title-wrap {
-	display: inline-block;
-}
-
-#fancybox-title-wrap span {
-	height: 32px;
-	float: left;
-}
-
-#fancybox-title-left {
-	padding-left: 15px;
-	background-image: url('fancybox.png');
-	background-position: -40px -90px;
-	background-repeat: no-repeat;
-}
-
-#fancybox-title-main {
-	font-weight: bold;
-	line-height: 29px;
-	background-image: url('fancybox-x.png');
-	background-position: 0px -40px;
-	color: #FFF;
-}
-
-#fancybox-title-right {
-	padding-left: 15px;
-	background-image: url('fancybox.png');
-	background-position: -55px -90px;
-	background-repeat: no-repeat;
-}
-
-#fancybox-left, #fancybox-right {
-	position: absolute;
-	bottom: 0px;
-	height: 100%;
-	width: 35%;
-	cursor: pointer;
-	outline: none;
-	background-image: url('blank.gif');
-	z-index: 1102;
-	display: none;
-}
-
-#fancybox-left {
-	left: 0px;
-}
-
-#fancybox-right {
-	right: 0px;
-}
-
-#fancybox-left-ico, #fancybox-right-ico {
-	position: absolute;
-	top: 50%;
-	left: -9999px;
-	width: 30px;
-	height: 30px;
-	margin-top: -15px;
-	cursor: pointer;
-	z-index: 1102;
-	display: block;
-}
-
-#fancybox-left-ico {
-	background-image: url('fancybox.png');
-	background-position: -40px -30px;
-}
-
-#fancybox-right-ico {
-	background-image: url('fancybox.png');
-	background-position: -40px -60px;
-}
-
-#fancybox-left:hover, #fancybox-right:hover {
-	visibility: visible;    /* IE6 */
-}
-
-#fancybox-left:hover span {
-	left: 20px;
-}
-
-#fancybox-right:hover span {
-	left: auto;
-	right: 20px;
-}
-
-.fancy-bg {
-	position: absolute;
-	padding: 0;
-	margin: 0;
-	border: 0;
-	width: 20px;
-	height: 20px;
-	z-index: 1001;
-}
-
-#fancy-bg-n {
-	top: -20px;
-	left: 0;
-	width: 100%;
-	background-image: url('fancybox-x.png');
-}
-
-#fancy-bg-ne {
-	top: -20px;
-	right: -20px;
-	background-image: url('fancybox.png');
-	background-position: -40px -162px;
-}
-
-#fancy-bg-e {
-	top: 0;
-	right: -20px;
-	height: 100%;
-	background-image: url('fancybox-y.png');
-	background-position: -20px 0px;
-}
-
-#fancy-bg-se {
-	bottom: -20px;
-	right: -20px;
-	background-image: url('fancybox.png');
-	background-position: -40px -182px; 
-}
-
-#fancy-bg-s {
-	bottom: -20px;
-	left: 0;
-	width: 100%;
-	background-image: url('fancybox-x.png');
-	background-position: 0px -20px;
-}
-
-#fancy-bg-sw {
-	bottom: -20px;
-	left: -20px;
-	background-image: url('fancybox.png');
-	background-position: -40px -142px;
-}
-
-#fancy-bg-w {
-	top: 0;
-	left: -20px;
-	height: 100%;
-	background-image: url('fancybox-y.png');
-}
-
-#fancy-bg-nw {
-	top: -20px;
-	left: -20px;
-	background-image: url('fancybox.png');
-	background-position: -40px -122px;
-}
-
-/* IE */
-
-#fancybox-loading.fancybox-ie div	{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-close		{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); }
-
-.fancybox-ie #fancybox-title-over	{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
-.fancybox-ie #fancybox-title-left	{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-title-main	{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-title-right	{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); }
-
-.fancybox-ie #fancybox-left-ico		{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-right-ico	{ background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); }
-
-.fancybox-ie .fancy-bg { background: transparent !important; }
-
-.fancybox-ie #fancy-bg-n	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-ne	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-e	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-se	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-s	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-sw	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-w	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-nw	{ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); }
diff --git a/public/stylesheets/vendor/loading.gif b/public/stylesheets/vendor/loading.gif
deleted file mode 100644
index 6fba77609ec50f9ab338a90d658e16bb05b8d206..0000000000000000000000000000000000000000
Binary files a/public/stylesheets/vendor/loading.gif and /dev/null differ