/*============================================================================
  Vetgirig.se
============================================================================*/

$.fn.labelValue = function() {

  var event = {
    removeLabelText: function() {
      var input = $(this);
      if (input.val() == labelText) input.val('').removeClass('unchanged');
    },
    resetLabelText: function() {
      var input = $(this);
      if ((input.val() == '') || (input.val() == labelText)) input.val(labelText).addClass('unchanged');
    }
  }

  var input = this;
  var label = input.siblings('label:first');

  if (!label.length) return this;

  var labelText = label.text();
  input.focus(event.removeLabelText);
  input.blur(event.resetLabelText);
  $(this.form).bind('submit', function(){ event.removeLabelText.apply(input[0]) });
  event.resetLabelText.apply(input[0]);

  return this;

}

$.fn.slideLink = function() {

  var link = this;
  var panel = $(this.attr('href'));

  if (!panel.length) return this;

  panel.hide();
  var closeLink = $('<a href="#">Sulje</a>');
  panel.append(closeLink);
  closeLink.wrap('<p class="close"></p>');

  link.add(closeLink).click(function() {
    link.parent('p:first').toggleClass('active');
    panel.animate({ height: 'toggle' }, 200, 'easeOutExpo');
    return false;
  });

  return this;

}

$.fn.zebraStripes = function(settings) {
  var settings = $.extend({
    path: 'tr',
    oddClass:  'odd',
    evenClass: 'even'
  }, settings);

  this.each(function() {
    var elements = $(this).find(settings.path);

    var oddRows  = elements.filter(':even');
    var evenRows = elements.filter(':odd');

    oddRows.addClass(settings.oddClass);
    evenRows.addClass(settings.evenClass);
  });

}

$.fn.switchbox = function(settings) {
  var settings = $.extend({
    activeClass: 'active'
  }, settings);
  

  var switchArea = function() {
    var self = $(this);
    var area;
    if (area = $(self.attr('href'))) {
      contentAreas.hide();
      navLIs.removeClass(settings.activeClass);
      self.parents('li:first').addClass(settings.activeClass);
      area.show();
    }
    return false;
  }

  var contentAreas = this.find('.content');
  var navLIs = this.find('.nav li');

  var switchno = $('#qacitveSwitch').val();
  if (switchno==null) {
     switchno = 0;
  }
  
  this.find('.nav li a').each(function(i) {
    var link = $(this);
    link.click(switchArea);
    if (i==switchno) link.trigger('click');
  });

}

$.fn.activateSwitch = function(settings) {
  var settings = $.extend({
    activeClass: 'active'
  }, settings);
  
  var contentAreas = this.find('.content');
  alert(contentAreas);
  var navLIs = this.find('.nav li');
  contentAreas.hide();
  navLIs.removeClass(settings.activeClass);

}

$.fn.hideAfter = function(seconds, settings) {
  var settings = $.extend({
    duration: 200
  }, settings);

  var mseconds = seconds*1000;
  var messages = this;

  setTimeout(function() {
    messages.animate({ height: 0, marginBottom: 0, opacity: 0 }, settings.duration, 'easeOutExpo', function() { 
      messages.hide();
    });
  }, mseconds);

}


// On DOM ready:
$(function() {

  // Hide messages after a certain number of seconds:
  $('.qusrmsg, .qerrmsg').fadeTo(10000, 0.01);

  // Fix some layout issues (mostly for IE)
  $('#qheader .qusernav li:first').addClass('first');
  $('#qheader .qcategorieslink a').slideLink();

  $('#qheader .search input').labelValue();
//  $('#qcontent #qcenter table').zebraStripes({ path: 'tr' });
//  $('#qcontent #qcenter .category-list').zebraStripes({ path: 'li' });
//  $('#qcontent #qcenter .quickstart .group').zebraStripes({ path: 'li' });
//  $('#qcontent #qcenter .column .panel .category-list_mini').zebraStripes({ path: 'li' });
  $('#qcenter .qswitchbox').switchbox();

  // Fix possible height issues:
//  var menuHeight, contentHeight;
//  menuHeight = $('#qleft').height();
//  contentHeight = $('#qcontent').height();
//  if (menuHeight > contentHeight) {
//    $('#qcontent').css(($.browser.ie ? 'height' : 'min-height'), menuHeight);
//  }

});

// Inject easing functions
jQuery.extend(jQuery.easing, {
  // Animation equation originally by Robert Penner (www.robertpenner.com)
  easeOutExpo: function (x, t, b, c, d) {
    return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
  }
});

