/***
  Made By Many Utilities
  Author: Oli Matthews
***/

// Plugins
(function($){
  $.fn.mxmGallery = function() {
    return this.each(function(){
      var i = 0;
      var galleryUl = $(this);
      //Build gallery wrapper
      galleryUl.wrap('<div id="mxmGallery_'+galleryUl.index(this)+'" class="mxm-gallery '+galleryUl.attr('class')+'"></div>');
      galleryUl.removeClass().addClass('slides');
      var gallery = $('#mxmGallery_'+galleryUl.index(this));
      var slides = galleryUl.find('li');
      // Build pagination
      gallery.append('<ul class="paginfo"/>');
      slides.each(function(){
        var thisI = slides.index(this) + 1;
        gallery.find('.paginfo').append('<li class="page"><a>'+thisI+'</a></li>');
      });
      gallery.find('.paginfo').append('<li class="title"/>');
      var pages = gallery.find('.page');
      var imageAlt = $(slides[i]).find('img').attr('title');
      gallery.find('.title').text(imageAlt);
      $(slides[i]).fadeIn('slow').addClass('active');
      $(pages[i]).addClass('active');
      pages.click(function(){
        $(slides).fadeOut();
        i = pages.index(this);
        $(slides[i]).fadeIn();
        pages.removeClass('active');
        $(pages[i]).addClass('active');
        imageAlt = $(slides[i]).find('img').attr('title');
        gallery.find('.title').text(imageAlt);
      });
    });
    
  };
})(jQuery);
(function($){
  $.fn.authorsBar = function() {
    return this.each(function(){
      var people = $(this).find('.ladder-list li');
      var avatar = people.find('.avatar');
      avatar.hide();
      
      people.each(function(){
        var src = $(this).find('.avatar').attr('src').split('.jpg').join('_m.jpg');
        $(this).find('.avatar').attr('src',src);
      });
      
      people.hover(function(){
        $(avatar[people.index(this)]).show();
      },function(){
        avatar.hide();
      });
    });
  };
})(jQuery);
(function($){
  $.fn.sortable = function() {
    return this.each(function(){
      $('ul#clientList>li').tsort('p.sortFeature', {order:'desc'});
      var container = $(this);
      container.before('<ul id="sortSwitcher"><li id="sortHeader">Sort by: </li>');
      var switcher = $('#sortSwitcher');
      switcher.append('<li id="sortFeature" class="toggle active"><a>default</a></li><li id="sortClient" class="toggle"><a>Client name</a></li><li id="sortDate" class="toggle last"><a>Date modified</a></li>');
      var toggles = switcher.find('.toggle');
      toggles.click(function(){
        var sortType = 'p.'+ $(this).attr('id');
        if ($(this).attr('id') == 'sortFeature' || $(this).attr('id') == 'sortDate') {
          var sortOrder = 'desc';
        } else {
          var sortOrder = 'asc';
        }
        $('ul#clientList>li').tsort(sortType, {order:sortOrder});
        toggles.removeClass('active');
        $(this).addClass('active');
      });
    });
  };
})(jQuery);
(function($){
  $.fn.labelText = function() {
    return this.each(function(){
      var form = $(this);
      var field = form.find('#s');
      var labelText = form.find('label').text();
      form.find('label').remove();
      field.val(labelText);
      field.focus(function(){
        if ($(this).val()==labelText) {
          $(this).val('');
        }
      }).blur(function(){
        if ($(this).val()=='') {
          $(this).val(labelText); 
        };
      });
      form.submit(function(){
        if (field.val()==labelText) field.val('');
      });
    });
  };
})(jQuery);
(function($){
  $.fn.toolBar = function() {
    if (!(jQuery.browser.msie && jQuery.browser.version.substr(0,1)<7)) {
      return this.each(function(){
        var toolbar = $(this).find('.contents');
        $(this).prepend('<p class="toggle"><a>More</a></p>');
        var toggler = $(this).find('.toggle');
        var toolbarHeight = toolbar.height();
        $(this).addClass('render-tools');
        toolbar.css('opacity',0);
        toggler.find('a').click(function(){
          if (toggler.hasClass('active')) {
            toolbar.animate({
              'height': 0,
              'opacity': 0
            });
            toggler.removeClass('active').find('a').text('More');
          } else {
            toolbar.animate({
              'height': toolbarHeight,
              'opacity': 1
            });
            toggler.addClass('active').find('a').text('Less');
          };
        });
      });
    };
  };
})(jQuery);
(function($){
  $.fn.reply = function() {
    return this.each(function(){
      var comment = $(this);
      var reply = comment.find('.reply');
      reply.hide();
      comment.hover(function(){
        $(this).find('.reply').fadeIn();
      },function(){
        $(this).find('.reply').fadeOut();
      });
    });
  };
})(jQuery);

jQuery(document).ready(function(){
  jQuery('#clientGallery').mxmGallery();
  jQuery('#post-clients .grid-container').sortable();
  jQuery('#searchForm form').labelText();
  jQuery('#authorsBar').authorsBar();
  jQuery('#responsePanels').simpleTabs({headerTag:'h2'});
  jQuery('#responsePanels .tabs').append('<li class="tab share"></li>');
  jQuery('.comment').reply();
});

