(function(b){var a={showFirstItem:false,parentCategoryValues:0,showParentCategory:false,parentCategorySelectable:true},c={init:function(c){return this.each(function(){c&&b.extend(a,c);var j=Object.prototype.toString.call(a.parentCategoryValues)==="[object Array]";function i(c){if(!j)return c==a.parentCategoryValues;for(var b=0;b<a.parentCategoryValues.length;b++)if(a.parentCategoryValues[b]==c)return true;return false}var g=b(this),f=false,d=null,e=b();g.children("option").each(function(k){if(k!=0||!a.showFirstItem){var c=b(this);if(!f)if(i(c.attr("value"))){f=true;if(!a.showParentCategory)c.remove();else if(!a.parentCategorySelectable)d=c}else c.remove();else{if(c.text().indexOf("---")==-1){if(a.showParentCategory&&!a.parentCategorySelectable){var j=b('<optgroup label="'+d.text()+'">');if(e.length>0){e.wrapAll(j);e=b()}else g.append(j);d.remove();d=null}if(i(c.attr("value")))if(a.showParentCategory){if(!a.parentCategorySelectable){d=c;c.remove()}}else c.remove();else{f=false;c.remove()}}else if(!a.parentCategorySelectable)e=e.add(c);if(!a.showParentCategory||!a.parentCategorySelectable){var h=c.text();h=h.replace("---","");c.text(h)}}}});if(a.showParentCategory&&!a.parentCategorySelectable){var h=b('<optgroup label="'+d.text()+'">');if(e.length>0){e.wrapAll(h);e=b()}else g.append(h);d.remove();d=null}})}};b.fn.parentCategoryFilter=function(a){if(c[a])return c[a].apply(this,Array.prototype.slice.call(arguments,1));else if(typeof a==="object"||!a)return c.init.apply(this,arguments);else b.error("Method "+a+" does not exist on jQuery.parentCategoryFilter")}})(jQuery)
