(function($){

  $(function() {
    $('#s_most-popular').popularTabs();
    $('#support_search form input:first').defaultFieldText();
    $('#s_most-popular .content li').ieFixPopularPanels();
  });

  /*------------------------------------------------------------------------*/

  $.fn.popularTabs = function() {
    var switchTab = function() {
      contentAreas.hide();
      var self = $(this);
      var tab = self.parents('li:first');
      var id = self.attr('href').replace(/^#/, '');
      tabs.removeClass('active');
      tab.addClass('active');
      contentAreas.each(function() {
        var ca = $(this);
        if (ca.attr('id') == id) ca.show();
      });
    }

    if (!this.length) return this;
    if (this.length > 1) return this;

    var self = $(this);
    var tabs = self.find('.nav li');
    var contentAreas = self.find('div.content');

    tabs.find('a').click(function() {
      switchTab.apply(this);
      return false;
    });
    switchTab.apply(tabs.slice(0,1).find('a').get(0));

    return this;
  };

  $.fn.defaultFieldText = function(options) {
    var options = jQuery.extend({
      defaultClass: "default",
      text: null
    }, options);

    var setText = function(clear) {
      var field = $(this);
      var cur   = field.val();
      var def   = field.data.defaultText;

      if (clear && cur == def) {
        field.removeClass(options.defaultClass);
        field.val("");
      }

      if (!clear && (cur.match(/^\s*$/) || cur == def)) {
        field.addClass(options.defaultClass);
        field.val(def);
      }
    };

    this.each(function() {
      var field = $(this);
      var text  = "";

      if (options.text) {
        text = options.text;
      } else {
        var id    = field.attr('id');
        var label = $('label[for='+id+']');
        text = label.text();
      }

      field.data.defaultText = text;

      field.focus(function() {
        setText.call(this, true);
      }).blur(function() {
        setText.call(this);
      });

      setText.call(field.get(0));
    });

    return this;
  }

  $.fn.ieFixPopularPanels = function() {
    if (!jQuery.browser.msie) return this;

    return this.each(function() {
      var li = $(this);
      var link = li.find('a:first');
      var url = link.attr('href');

      li.mouseover(function() {
        li.addClass('hover');
      }).mouseout(function() {
        li.removeClass('hover');
      });
    });
  };

}(jQuery));
