Array.prototype.unique = function () {
  var r = [];
  o:for(var i = 0, n = this.length; i < n; i++)
  {
    for(var x = 0, y = r.length; x < y; x++)
    {
      if(r[x]==this[i])
      {
        continue o;
      }
    }
    r[r.length] = this[i];
  }
  return r;
};

if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj, start) {
    for (var i = (start || 0); i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
  }
}


var hs = {
  layout: {
    init: function () {
      $.each(
        ['activate_pngfix', 'hide_flash_messages', 'handle_sidebar_subscribe_input', 'handle_ie_false_focus', 'handle_weekly_h6_p', 'lightbox_images', 'handle_sidebar_search', 'create_ajax_throbber', 'handle_widget_on_off'],
        function(n,i){
          eval("hs.layout."+i+"();");
        }
      );
    },
    
    handle_widget_on_off: function () {
      var widget = $(".widget_on_off");
      var img = widget.find("img");
      var widget_class = 'on';
      widget.click(function(e){
        var state = img.hasClass(widget_class);
        if(state === true) {
          img.animate({marginLeft: 0}, 300);
          img.removeClass(widget_class);
        } else {
          img.animate({marginLeft: 32}, 300);
          img.addClass(widget_class);
        }
      });
    },
    
    create_ajax_throbber: function () {
      $('body').prepend('<div id="ajax_throbber">Loading…</div>');
    },
    
    show_ajax_throbber: function () {
      $("#ajax_throbber").show().animate({
        top: '-5'
      }, 'fast')
    },
    
    hide_ajax_throbber: function () {
      $("#ajax_throbber").animate({
        top: '-50'
      }, 'fast', function() {
        $(this).hide();
      })
    },
    
    activate_pngfix: function () {
      $("#logo img, #testimonials, #testimonials .quote, div.weekly, div.fh100, div#search, #fellows-box, div.intro, ul.bulbs_bullet li, .yellow_button, .yellow_button, div.top, div.bottom, #sidebar a, #sidebar li, div.grid_3 img, #sidebar ul li div, div.tooltip, div.overlay, .weekly_issues_list h3 span, #eventspottr #header .right img, #logged_user, #logged_logout").ifixpng();
    },

    hide_flash_messages: function () {
      $("#flash .hide_link").click(function(e){
          e.preventDefault();
          $("#flash").slideUp('normal');
        });
    },
    
    handle_sidebar_search: function () {
      var form = $("#new_subscription");
      var input = form.find("input#subscription_email");
      var filter = /^([a-zA-Z0-9_.\-])+@(([a-zA-Z0-9\-])+.)+([a-zA-Z0-9]{2,4})+$/;
      form.submit(function(e){
        if(input.val() === '' || !filter.test(input.val())){
          e.preventDefault();
          alert('You must supply valid email address!');
        }else{
          form.submit();
        }
      });
    },

    handle_ie_false_focus: function( ){
      if(jQuery.browser.msie && jQuery.browser.version < 7){
        jQuery('input, textarea').focus(function(){
          jQuery(this).addClass("focus");
        }).blur(function() {
          jQuery(this).removeClass("focus");
        });
      }
    },
    
    preload_images: function () {
      $.each([
        'fh100_overlay_bg.png',
        'tooltip_bg.png',
        'home_hover.png',
        'about_hover.png',
        'contact_us_hover.png',
        'fh100_hover.png'
        ], function(n,i){
          jQuery("<img>").attr("src", '/images/'+i);
        });
      },

      handle_sidebar_subscribe_input: function () {
        var input = $("#sidebar #subscription_email");
        if(input.val() !== ''){
          input.css('background-image', 'none');
        }

        input.focus(function(){
          input.css('background-image', 'none');
        });

        input.blur(function(){
          if(input.val() == ""){
            input.css('background-image', 'url(/images/sidebar/subscribe_input_bg.png)');
          }
        });


      },

      handle_weekly_h6_p: function () {
        var divs = $(".home_weekly_entry, .weekly_single_entry, body#weeklydigest .entry");
        var h6 = divs.find("h6");
        h6.addClass('indent').next("p").addClass('indent');
      },

      lightbox_images: function () {
        $("a.lightbox").lightBox();
      },

      show_thankyou_overlay: function () {
        var api = $("#thankyou_overlay").overlay({
          api:true,
          onLoad: function() {
            $(".overlay div.close").html("<span>close</span>");
          }
        }); 
        api.load();
      }


        },

        create_profile: {
          init: function () {
            $.each(['autocomplete_topics'], function(n,i){ eval("hs.create_profile."+i+"();"); } );

          },

          autocomplete_topics: function () {
            $('.autocomplete').livequery(function() {
              var input = $(this);
              input.autocomplete('/topics', {
                minChars: 0,
                width: 260,
                matchContains: true,
                autoFill: false
              });
            }); 
          }
        },

        bulbs: {
          init: function () {
            $.each(['mixit'], function(n,i){ eval("hs.bulbs."+i+"();"); } );
          },
          mixit: function() {
            if((jQuery.browser.msie) && (jQuery.browser.version < 7)) {
              $('.bulbs').addClass('ie_bulbs').ifixpng();
            } else {
              $('.bulbs div').each(function(n, e){
                var randb = Math.round(Math.random()*4);
                jQuery(this).addClass('bulbs_'+n+'_'+randb);
              });
            }
          }
        },

        home: {
          init: function () {
            $.each(
              ['add_box_testimonials_scrollable', 'add_box_digest_scrollable', 'add_box_fh100_scrollable', 'remove_last_post_border'],
              function(n,i){
                eval("hs.home."+i+"();");
              }
            );
          },
          
          remove_last_post_border: function () {
            $(".home_weekly_entry:last").addClass('home_weekly_entry_last');
          },


          add_box_testimonials_scrollable: function () {
            $("#testimonials.scrollable").scrollable({
              size: 1,
              clickable: false,
              interval: 15000,
              speed: 800,
              loop: true
            });
          },
          add_box_digest_scrollable: function () {
            $(".home_boxes .weekly .scrollable").scrollable({
              size: 1,
              clickable: false,
              navi: "#home_weekly_navigation",
              loop: true
            });
          },
          add_box_fh100_scrollable: function () {
            var api = $(".home_boxes .fh100 .scrollable").scrollable({
              size: 1,
              interval: 13000,
              speed: 300,
              clickable: false,
              api: true,
              navi: "#home_fh100_navigation",
              loop: true
            });
            var conf = api.getConf();
            var nav_buttons = $(".home_boxes .fh100 .next, .home_boxes .fh100 .prev, #home_fh100_navigation a");
            nav_buttons.click(function(){
              conf.interval = 0;
            });
          }

        },

        fh100: {
          init: function () {
            $.each(
              ['activate_tooltip', 'activate_internal_navigation', 'handle_display_type', 'activate_comment_overlay', 'activate_method_overlay', 'set_target_blank'],
              // ['activate_tooltip', 'handle_display_type', 'activate_overlay', 'change_photos', 'activate_internal_navigation'],
              function(n,i){
                eval("hs.fh100."+i+"();");
              });
            },

            config: {
              display_type: "by_name"
            },

            hide_dimmer: function () {
              if ($.browser.msie) {
                $("body#fh100 .dimmer").hide();
              }
            },

            set_target_blank: function () {
              $("div.middle div.overlay a").attr('target', '_blank');
            },

            activate_tooltip: function () {
              $(".fh100_entry").each(function(n,i){
                var offset = [20, 96];
                if(((n+1)%4) === 0){
                  offset = [20, -86];
                  $(this).next().addClass('tooltip_last');
                }
                $(this).tooltip({
                  position: ['bottom', 'center'],
                  offset: offset
                });
              });
            },

            activate_internal_navigation: function () {
              $("a[href^='#']").each(function(e,i){
                var anchor = $(i);
                anchor.click(function(e){
                  e.preventDefault();
                  var urltitle = anchor.attr('href').substr(1);
                  var div = $("div[permalink="+urltitle+"]");
                  var api = div.overlay();
                  api.load();
                });
              });

              var hash = document.location.hash;
              if(hash !== ""){
                var div = $("div[permalink="+hash.substr(1)+"]");
                var api = div.overlay();
                api.load();
              }
            },

            change_photos: function () {
              var entries = $(".fh100_entry");

              $.each(entries, function(n,i){
                var entry = $(i);
                // var tooltip = entry.next();
                // var overlay = tooltip.next();
                var photo = entry.find(".photo img");
                var tooltip_photo = entry.next().find("div.photo img");
                var overlay_photo = entry.next().next().find("div.photo img");

                if(hs.fh100.config.display_type == "by_name") {
                  var src = entry.find(".user_photo img").attr('src');
                } else {
                  var src = entry.find(".company_photo img").attr('src');
                }

                photo.attr('src', src);
                tooltip_photo.attr('src', src);
                overlay_photo.attr('src', src);
              });
            },

            handle_display_type: function () {
              // prepare variables
              var by_company = $("#fh100_by_company");
              var by_name = $("#fh100_by_name");
              var entry = $(".fh100_entry");
              var user_fields = entry.find(".photo, .order, .name");
              var company_fields = entry.find(".company_photo");

              by_name.addClass('selected');

              by_company.click(function(e){
                e.preventDefault();
                by_company.addClass('selected');
                by_name.removeClass('selected');
                user_fields.hide();
                company_fields.show();
                // hs.fh100.config.display_type = "by_company";
                // hs.fh100.change_photos();
              });
              by_name.click(function(e){
                e.preventDefault();
                by_name.addClass('selected');
                by_company.removeClass('selected');
                company_fields.hide();
                user_fields.show();
                // hs.fh100.config.display_type = "by_name";
                // hs.fh100.change_photos();
              });
            },

            activate_comment_overlay: function () {
              $("a[rel='#comment_overlay']").click(function(e){ e.preventDefault(); });
              $("a[rel='#comment_overlay']").overlay({
                onLoad: function() {
                  $(".overlay div.close").html("x <span>close</span>");
                }
              });
            },

            activate_method_overlay: function () {
              $("a[rel='#method_overlay']").overlay({
                onLoad: function() {
                  $(".overlay div.close").html("x <span>close</span>");
                }
              });
            }    
          },

          weekly: {
            init: function () {
              $.each(
                ['activate_comment_overlay', 'lightbox_images'],
                function(n,i){
                  eval("hs.weekly."+i+"();");
                }
              );
            },

            lightbox_images: function () {
              $(".photos a").lightBox();
            },

            activate_comment_overlay: function () {
              $("a[rel='#comment_box']").click(function(e){
                e.preventDefault();
                $("#comment_box").slideDown();
                $("#comment_box #comment_author").focus();
              });
            }
          },

          admin: {
            init: function () {
              $.each(
                ['tinymce', 'drag_n_drop_fh100', 'drag_n_drop_posts', 'handle_weekly_publishing', 'weekly_show_author_name', 'animate_flash', 'preview_draft_flash'],
                function(n,i){
                  eval("hs.admin."+i+"();");
                }
              );
            },

            preview_draft_flash: function () {

              $("#preview_draft").click(function(e){
                e.preventDefault();
                var form = $("form[id^=edit_post], form#new_post");
                var form_action = form.attr('action');
                var form_preview_action = form_action + "/preview";
                var publish_button = form.find('input[value="Save & Publish"]');
                var hide_button = form.find('input[value="Save & Hide"]');
                var preview_button = form.find('input[value="Preview"]');
                preview_button.click();
              });
            },

            animate_flash: function () {
              $('.flash').hide().show(700);
            },

            weekly_show_author_name: function () {
              var li = $("#post_author_name_input");
              var checkbox = $("#post_show_author");
              if(!checkbox.is(":checked")){
                li.hide();
              }

              checkbox.click(function(){
                li.slideToggle("normal");
              });
            },

            handle_weekly_publishing: function () {
              var form = $("form[id^=edit_post], form#new_post");
              var form_action = form.attr('action');
              var form_preview_action = form_action + "/preview";
              var publish_button = form.find('input[value="Save & Publish"]');
              var hide_button = form.find('input[value="Save & Hide"]');
              var preview_button = form.find('input[value="Preview"]');
              var hidden_field = form.find("input#post_to_publish");

              publish_button.click(function(e){
                e.preventDefault();
                hidden_field.val('publish');
                form.submit();
              });
              hide_button.click(function(e){
                e.preventDefault();
                hidden_field.val('hide');
                form.submit();
              });
              preview_button.click(function(e){
                e.preventDefault();
                form.attr('action', form_preview_action).attr('target', '_blank');
                form.submit();
                form.attr('action', form_action).attr('target', '');
              });
            },

            tinymce: function () {
              $('textarea.tinymce').tinymce({
                // Location of TinyMCE script
                script_url : '/javascripts/tiny_mce/tiny_mce.js',
                content_css : "css/content.css",

                // General options
                theme : "advanced",
                plugins : "safari,style,table,advimage,advlink,inlinepopups,preview,media,print,contextmenu,paste,nonbreaking,upload",
                

                // Theme options
                theme_advanced_buttons1 : "styleselect,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontsizeselect,forecolor",
                theme_advanced_buttons2 : "pastetext,pasteword,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,upload,image,cleanup,|,removeformat,|,sub,sup,|,nonbreaking,code",
                theme_advanced_buttons3 : "tablecontrols",
                theme_advanced_buttons4 : "",
                
                theme_advanced_toolbar_location : "top",
                theme_advanced_toolbar_align : "left",
                theme_advanced_statusbar_location : "bottom",
                theme_advanced_resizing : true,


                // Drop lists for link/image/media/template dialogs
                template_external_list_url : "lists/template_list.js",
                external_link_list_url : "lists/link_list.js",
                media_external_list_url : "lists/media_list.js",

                // Replace values for the template plugin
                template_replace_values : {
                  username : "Some User",
                  staffid : "991234"
                }
              });

            },

            drag_n_drop_fh100: function () {
              $('#fh100_table').tableDnD({
                onDrop: function(table, row) {
                  $.ajax({
                    type: "POST",
                    url: "/admin/fh100/sort",
                    processData: false,
                    data: $.tableDnD.serialize() + '&authenticity_token=' + encodeURIComponent(window._token),
                    success: function(msg) {
                      $("#fh100_table tbody").html(msg);
                      hs.admin.drag_n_drop_fh100();
                    }
                  });
                }
              });

            },

            drag_n_drop_posts: function () {
              $('#posts_table').tableDnD({
                onDrop: function(table, row) {
                  $.ajax({
                    type: "POST",
                    url: "/admin/posts/sort",
                    processData: false,
                    data: $.tableDnD.serialize() + '&authenticity_token=' + encodeURIComponent(window._token),
                    success: function(msg) {
                      $("#posts_table tbody").html(msg);
                      hs.admin.drag_n_drop_posts();
                    }
                  });
                }
              });

            }

          },

          eventspottr: {
            init: function () {
              $.each(
                ['tooltip', 'hover_events', 'remove_last_td_border', 'activate_overlay'],
                function(n,i){
                  eval("hs.eventspottr."+i+"();");
                }
              );
            },

            activate_overlay: function () {
              $(".eventlink").each(function(i){
                // $(this).attr('rel', "div.overlay:eq("+i+")");
                $(this).overlay({
                  onBeforeLoad: function() { 
                    var api = $(".eventlink").parent().tooltip(i);
                    api.hide();
                  },
                  onLoad: function() {
                    $(".overlay div.close").html("x <span>close</span>");
                    }// ,
                    //           finish: {
                      //             top: 200,
                      //             left: 'center'
                      //           }
                    });
                  });
                },

                hover_events: function () {
                  $(".event").hover(function(){
                    $(this).addClass('event_hover');
                  },

                  function(){
                    $(this).removeClass('event_hover');
                  });
                },

                remove_last_td_border: function () {
                  $("td:last-child").css('border-right', 'none');
                  $(".eventlink").ellipsis();
                },

                tooltip: function () {
                  $(".event").each(function(n,i){
                    // var offset = [20, 96];
                    // if(((n+1)%5) == 0){
                      //   offset = [20, -86];
                      //   $(this).next().addClass('tooltip_last');
                      // }
                      $(this).tooltip({
                        position: ['bottom', 'left'],
                        offset: [18, 350]
                      });
                    });

                  }
                },

                member: {
                  init: function () {
                    $.each(
                      ['member_pngfix', 'animate_intro_testimonials', 'handle_displaying_topics', 'handle_adding_new_field', 'widget_on_off', 'service_status', 'handle_removing_digest_topics', 'handle_turning_digest_on_off', 'handle_member_profile_hover'],
                      function(n,i){
                        eval("hs.member."+i+"();");
                      }
                    );
                  },
                  
                  create_profile_save: function () {
                    var a = $("#create_profile_save_button");
                    var input = $("#autosave_form");
                    var form = $("form.edit_member");
                    a.click(function(e){
                      e.preventDefault();
                      input.val("true");
                      form.submit();
                    });
                  },
                  
                  disable_payments_submit: function () {
                    var button = $("form.payments_form input[type='submit']");
                    button.one('click', function(){
                      $(this).attr('disabled', 'disabled');
                      $(this).parents('form').submit();
                    });
                  },
                  
                  handle_payments_radio_buttons: function () {
                    var inputs = $("input[name='paypal_request[payment_period]']");
                    inputs.change(function(){
                      hs.member.check_payments_radio_buttons();
                    });
                  },
                  
                  check_payments_radio_buttons: function () {
                    var inputs = $("input[name='paypal_request[payment_period]']");
                    var price = $("span.price");
                    var percentage_discount = parseFloat($("td.payment_total.payment_details span").html())/100 || 0;
                    var total_price = $("td.payment_total.yellow strong");
                    if(inputs.filter(":checked").val() == 'monthly'){
                      $("tr.billing_details").fadeOut();
                      price.fadeOut('slow', function(){ price.html('2400').fadeIn(); });
                      total_price.fadeOut('slow', function(){ total_price.html(200*(1-percentage_discount)).fadeIn(); });
                    } else {
                      $("tr.billing_details").fadeIn();
                      price.fadeOut('slow', function(){ price.html('2000').fadeIn(); });
                      if($("td.payment_total.payment_details").html() == "quarterly"){
                        yearly_price = 500*(1-percentage_discount)
                      } else {
                        yearly_price = 2000*(1-percentage_discount)
                      }
                      yearly_price
                      total_price.fadeOut('slow', function(){ total_price.html(2000-(2000*percentage_discount)).fadeIn(); });
                    }
                  },

                  member_pngfix: function () {
                    $("#fh100_emblem, #intro_testimonials div").ifixpng();
                  },

                  animate_intro_testimonials: function () {
                    // setup variables, intervals
                    var testimonials = $('#intro_testimonials div');
                    var features = $('#intro_features li');
                    var animation_interval = setInterval("flip()", 5000);
                    var current_in_loop = 0;
                    var count = testimonials.size();
                    var previous_in_loop = count;
                    var stop_animation = false;
                    
                    // hover, responsible for animation
                    features.hover(function(e){
                      var current = $(this);
                      features.eq(current_in_loop).mouseout();
                      var testimonial = testimonials.eq(features.index(current));
                      testimonial.stop().css('opacity', 0).css('right', '-100px').animate({opacity: 1, right: 0, queue: false}, 700);
                    }, function(e){
                      var current = $(this);
                      var testimonial = testimonials.eq(features.index(current));
                      testimonial.stop().animate({opacity: 0, right: 200, queue: false}, 700);
                    });
                    
                    // hide loop
                    $("#intro_features").hover(function(e){
                      if(mouse_on_intro_features(e.pageX, e.pageY)){
                        clearInterval(animation_interval);
                      }
                    }, function(e){
                      if(e.pageX !== undefined){
                        features.eq(current_in_loop).mouseenter();
                        animation_interval = setInterval("flip()", 5000);
                      }
                    });
                    
                    // check if mouse is on div (used to stop animation)
                    mouse_on_intro_features = function (x,y) {
                      var intro_features =$("#intro_features");
                      var intro_features_offset = intro_features.offset();
                      var x1 = intro_features_offset.left;
                      var x2 = intro_features_offset.left + intro_features.width();
                      var y1 = intro_features_offset.top;
                      var y2 = intro_features_offset.top + intro_features.height();
                      return x >= x1 && x <= x2 && y >= y1 && y <= y2;
                    };
                    
                    // show first one
                    features.eq(current_in_loop).mouseenter();
                    
                    // function used in intervals
                    flip = function () {
                      // flip items
                      previous_in_loop = current_in_loop;
                      if(current_in_loop < (count-1)) current_in_loop++;
                      else current_in_loop = 0;
                      // it's alive!!!
                      var current = features.eq(current_in_loop);
                      var previous = features.eq(previous_in_loop);
                      current.mouseenter();
                      previous.mouseout();
                    };

                  },

                  edit_profile: {
                    hidden_fields: [],
                    visible_fields: []
                  },

                  handle_displaying_topics: function () {
                    var inputs = $("input.topic_field");
                    var topic_fields = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
                    $.each(topic_fields, function(e,i){
                      if(e < 3){
                        hs.member.show_field(i);
                      }else{
                        var field = hs.member.find_topic_field(i);
                        if(field.val() === ''){
                          hs.member.hide_field(i);
                        }
                      }
                      
                      if(e>=1){
                        var field = hs.member.find_topic_field(i);
                        //field.parent().append("<a href='#' title='remove' class='remove_button' field_id='"+i+"'>remove</a>");
                        field.parent().find("a.remove_button").click(function(e){
                          e.preventDefault();
                          var a = $(this);
                          hs.member.hide_field(a.attr('field_id'));
                        });

                      }
                      
                    });
                  },
                  
                  handle_salon_registration: function(){
                    $(".salon_register").live('click', function(e){
                      e.preventDefault();
                      var a = $(this);
                      var container = a.parents(".salon_attendance");
                      hs.layout.show_ajax_throbber();
                      container.fadeOut();
                      $.get(a.attr('href'), function(){
                       hs.layout.hide_ajax_throbber();
                       container.html('<div class="attending">You are a registered attendee of this salon.</div>'); 
                       container.fadeIn();
                      });
                    });
                  },

                  handle_adding_new_field: function(){
                    var a = $("body#create_profile a.add_button");
                    a.click(function(e){
                      e.preventDefault();
                      var array = hs.member.edit_profile.hidden_fields;
                      if(array.size !== 0){
                        hs.member.show_field(array[0]);
                      }
                    });
                  },

                  find_topic_field: function(id) {
                    return $("#member_topic_" + id);
                  },

                  hide_field: function(id) {
                    hs.member.find_topic_field(id).val('').parent().fadeOut('fast');
                    var array = hs.member.edit_profile.hidden_fields;
                    array.push(id);
                    hs.member.sort_array(array);
                  },

                  show_field: function(id){
                    hs.member.find_topic_field(id).parent().val('').fadeIn('slow');
                    var array = hs.member.edit_profile.visible_fields;      
                    hs.member.edit_profile.hidden_fields.splice(hs.member.edit_profile.hidden_fields.indexOf(id), 1);
                    array.push(id);
                    hs.member.sort_array(array);
                  },

                  sort_array: function(array) {
                    array.sort();
                    array.unique();
                  },

                  widget_on_off: function() {
                    var a = $(".widget_on_off");
                    a.click(function(e){
                      e.preventDefault();
                        $(this).css({backgroundPosition: '0 100%'});
                    });
                  },

                  service_status: function() {
                    var a = $(".service_status");
                    a.click(function(e){
                      e.preventDefault();
                        $(this).css({backgroundPosition: '0 100%'});
                    });
                    
                  },
                  
                  handle_adding_digest_topics: function () {
                    var form = $('#new_topic_inline');
                    $('.add_button').click(function(e){
                      $('#current_topics dl').removeClass('show_controls');
                      e.preventDefault();
                      form.slideToggle('normal', function(){ $("#member_topic_name").focus(); });
                    });
                    
                    form.find("#member_topic_name").autocomplete('/topics', {
                      minChars: 0,
                      width: 260,
                      matchContains: true,
                      autoFill: false
                    });
                    
                    form.submit(function(e){
                      hs.layout.show_ajax_throbber();
                      e.preventDefault();
                      $.post('/member/member_topics', form.serialize(), function(data){
                        hs.layout.hide_ajax_throbber();
                        $('#current_topics dl').append(data);
                        form.find("#member_topic_name").val('');
                        $("dd.blank_slate").remove();
                        $('#new_topic_inline').slideUp();
                      });
                    });
                    
                  },
                  
                  handle_removing_digest_topics: function() {
                    $("#current_topics_controls .remove_button").click(function(e){
                      e.preventDefault();
                      $('#current_topics dl').toggleClass('show_controls');
                    });
                    
                    $("#current_topics .controls").live('click', function(e){
                      hs.layout.show_ajax_throbber();

                      e.preventDefault();
                      var a = $(this);
                      $.post(a.attr('href'), function(data){
                        hs.layout.hide_ajax_throbber();
                        a.parent().fadeOut('slow');
                      });
                    });
                  },
                  
                  handle_pagination: function() {
                    $("#show_more_articles").click(function(e){
                      e.preventDefault();
                      $(this).fadeOut('fast', function(){ $('.hide_article').fadeIn('slow');});
                    });
                  },
                  
                  handle_adding_topic_from_search_results: function() {
                    var form = $('body#member-search #new_member_topic');
                    form.submit(function(e){
                      e.preventDefault();
                      hs.layout.show_ajax_throbber();
                      $.ajax({
                        url: "/member/member_topics",
                        type: 'POST',
                        data: form.serialize(),
                        success: function(data){
                          hs.layout.hide_ajax_throbber();
                          form.fadeOut('fast', function(){ $("#topic_added").fadeIn('fast'); });
                        }
                      });
                    });
                  },
                  
                  handle_turning_digest_on_off: function () {
                    var widget = $("#digest_on_off");
                    var textstatus = $("#digest_status");
                    var placeholder = $('#digest_status');
                    widget.click(function(e){
                      placeholder.animate({opacity: 0}, 500);
                      hs.layout.show_ajax_throbber();
                      e.preventDefault();
                      $.ajax({
                        url: "/member/profile/toggle_digest",
                        type: "POST",
                        data: null,
                        success: function(data){
                          hs.layout.hide_ajax_throbber();
                          placeholder.html(data);
                          placeholder.animate({opacity: 1}, 500);
                        }
                      });
                    });
                  },

                  handle_member_profile_hover: function() {
                    var profile_link = $('#members_list a');
                    profile_link.hover(function(){
                      $(this).parent().parent().addClass('member_hover');
                    },
                    function(){
                      $(this).parent().parent().removeClass('member_hover');
                    });
                  }

                },
                
                init: function () {
                  hs.layout.init();
                  // hs.admin.init();
                }
              };

              $(document).ready(function(){
                hs.init();
              });

              function init () {
                alert('bla');
              }

              window.onload = hs.fh100.hide_dimmer;
