/**
 * --------------------------------------------------------------------
 * jQuery selectmenu plugin
 * Author: Scott Jehl, scott@filamentgroup.com
 * Copyright (c) 2009 Filament Group 
 * licensed under MIT (filamentgroup.com/examples/mit-license.txt)
 * --------------------------------------------------------------------
 */
(function($){$.fn.selectmenu=function(r){return $(this).each(function(){var d=$(this);var o=$.extend({maxHeight:300,format:function(a){return a}},r);$('body').attr('role','application');var e=d.attr('id');var f=d[0].selectedIndex;var g=d.find('option').eq(f).text();var h=d.find('option').eq(f).attr('class')||'';var g=o.format(g);var i=d.find('option').map(function(){return $(this).attr('class')}).get().join(' ');var j=d.attr('id')+'-button';var k=d.attr('id')+'-menu';var l=$('<a class="custom-select" id="'+e+'-button" role="button" href="#" aria-haspopup="true" aria-owns="'+e+'-menu"></a>');var m=$('<span class="custom-select-status">'+g+'</span>').appendTo(l);var n=$('<span class="custom-select-button-icon"></span>').appendTo(l);var p=$('<span class="custom-select-roletext"> select</span>').appendTo(l);l.addClass(h);l.insertAfter(d);if(d.is('[tabindex]')){l.attr('tabindex',d.attr('tabindex'))}$('label[for='+d.attr('id')+']').attr('for',j).bind('click',function(){l.focus();return false});var q=$('<ul class="custom-select-menu" id="'+e+'-menu" role="listbox" aria-hidden="true" aria-labelledby="'+e+'-button"></ul>');d.find('option').each(function(a){var b=$('<li class="'+$(this).attr('class')+'"><a tabindex="-1" role="option" aria-selected="false">'+o.format($(this).text())+'</a></li>');if(a==f){b.addClass('selected').attr('aria-selected',true)}b.appendTo(q)});q.appendTo('body');if(q.outerHeight()>o.maxHeight){q.height(o.maxHeight)}q.addClass('custom-select-menu-hidden');q.bind('show',function(){$('body').children('ul.custom-select-menu').trigger('hide');$(this).appendTo('body').removeClass('custom-select-menu-hidden').attr('aria-hidden',false).css({top:l.offset().top+l.height(),left:l.offset().left}).find('.selected a').eq(0).focus();l.addClass('custom-select-open')});q.bind('hide',function(){l.removeClass('custom-select-open');$(this).addClass('custom-select-menu-hidden').attr('aria-hidden',true)});q.bind('toggle',function(){if(q.is(':hidden')){q.trigger('show')}else{q.trigger('hide')}});q.find('a').bind('select',function(){q.find('li.selected').removeClass('selected').attr('aria-selected',false);var a=$(this).parent().attr('class');l.removeClass(i).addClass(a);m.html($(this).html());$(this).parent().addClass('selected').attr('aria-selected',true);q.trigger('hide');var b=false;var c=q.find('a').index(this);if(d[0].selectedIndex!=c){b=true}d[0].selectedIndex=c;if(b){d.trigger('change')}});l.mousedown(function(){q.trigger('toggle');return false});l.click(function(){return false});q.find('a').click(function(){$(this).trigger('select');return false});$(document).click(function(){q.trigger('hide')});q.keydown(function(a){switch(a.keyCode){case 37:case 38:if($(a.target).parent().prev().length){$(a.target).parent().prev().find('a').eq(0).focus()}return false;break;case 39:case 40:if($(a.target).parent().next().length){$(a.target).parent().next().find('a').eq(0).focus()}return false;break;case 13:case 32:$(a.target).trigger('select');l.eq(0).focus();return false;break;case 9:q.trigger('hide');l.eq(0).focus();break}});l.keydown(function(a){var b=q.find('li').eq($('select')[0].selectedIndex);switch(a.keyCode){case 37:case 38:if(b.prev().length){b.prev().find('a').trigger('select')}return false;break;case 39:case 40:if(b.next().length){b.next().find('a').trigger('select')}return false;break;case 13:case 32:q.trigger('toggle');return false;break}});d.data('selectmenu',q);d.addClass('select-hidden').attr('aria-hidden',true)})}})(jQuery);;
(function ($) {
    
/**
 * Replace select in quickjump menu by html-list based menu (for better styling)
 */
Drupal.behaviors.fittingsQuickjump = {
  attach: function (context, settings) {
    var $target = $('.view-product-quickjump select');
    if ($target.length) {
      $target.selectmenu();   
    }
  }
};

/**
 * Tablefield class attr juggling
 */
Drupal.behaviors.fittingsTablefield = {
  attach: function (context, settings) {
    var $target = $('table.tablefield');
    if ($target.length) {
      $target.each(function () {
        var $spans = $(this).find('td span[class]');
        for (var i = 0, n = $spans.length; i < n; i++) {
          var $span = $spans.eq(i);
          $span.parents('td').addClass($span.attr('class'));
        }
      });
    }
  }
};

})(jQuery);;

