(function($){$.fn.orphans=function(){var txt=[];this.each(function(){$.each(this.childNodes,function(){if(this.nodeType==3&&$.trim(this.nodeValue))txt.push(this)})});return $(txt);};$.fn.accordion=function(options){var o=$.extend({},$.fn.accordion.defaults,options);return this.each(function(){var containerID=o.container?'#'+ this.id:'',objID=o.objID?o.objID:o.obj+ o.objClass,Obj=o.container?containerID+' '+ objID:'#'+ this.id,El=Obj+' '+ o.el,hTimeout=null;if(o.head)$(Obj).find(o.head).addClass('h');$(El).each(function(){var $node=$(this);if($node.find(o.next).length||$node.next(o.next).length){if($node.find('> a').length){$node.find('> a').addClass("trigger").css('display',"block");}else{var anchor='<a class="trigger" style="display:block" href="#bolum_" />'
if(o.elToWrap){var $t=$node.orphans(),$s=$node.find(o.elToWrap);$t.add($s).wrapAll(anchor);}else{$node.orphans().wrap(anchor);}}}else{$node.addClass('last-child');if(o.lastChild&&$node.find('> a').length){$node.find('> a').addClass("trigger").css('display',"block");}}});if(o.head){if($(El).next('div:not(.outer)').length){$(El).next('div:not(.outer)').wrap('<div class="outer" />');}
$(Obj+' .h').each(function(){var $this=$(this);if(o.wrapper=='div'){$this.add($this.next('div.outer')).wrapAll('<div class="new"></div>');}});}
$(El+' a.trigger').closest(o.wrapper).find('> '+ o.next).not('.shown').hide().closest(o.wrapper).find('a.open').removeClass('open');if(o.activeLink){var loc,fullURL=window.location.href,path=window.location.pathname.split('/'),page=path[path.length-1];(o.uri=='full')?loc=fullURL:loc=page;$(Obj+' a:not([href $= "#"])[href$="'+ loc+'"]').addClass('active').parent().attr('id','current').closest(o.obj).addClass('current');if(o.shift&&$(Obj+' a.active').closest(o.wrapper).prev(o.wrapper).length){var $currentWrap=$(Obj+' a.active').closest(o.wrapper),$curentStack=$currentWrap.nextAll().andSelf(),$siblings=$currentWrap.siblings(o.wrapper),$first=$siblings.filter(":first");if(o.shift=='clicked'||(o.shift=='all'&&$siblings.length)){$currentWrap.insertBefore($first).addClass('shown').siblings(o.wrapper).removeClass('shown');}
if(o.shift=='all'&&$siblings.length>1){$curentStack.insertBefore($first);}}}
if(o.initShow){$(Obj).find(o.initShow).show().addClass('shown').parents(o.next+', '+ o.wrapper).show().addClass('shown').end().parents(o.wrapper).find('> a.trigger, > '+ o.el+' a.trigger').addClass('open');if(o.expandSub){$(Obj+' '+ o.initShow).children(o.next).show().end().find('> a').addClass('open');}}
if(o.event=='click'){var ev='click';}else{if(o.focus){var f=' focus';}else{var f='';}
var ev='mouseenter'+ f;}
var scrollElem;(typeof scrollableElement=='function')?(scrollElem=scrollableElement('html','body')):(scrollElem='html, body');$(Obj).delegate('a.trigger',ev,function(ev){var $thislink=$(this),$thisWrapper=$thislink.closest(o.wrapper),$nextEl=$thisWrapper.find('> '+ o.next),$siblings=$thisWrapper.siblings(o.wrapper),$trigger=$(El+' a.trigger'),$shownEl=$thisWrapper.siblings(o.wrapper).find('>'+ o.next+':visible'),shownElOffset;$shownEl.length?shownElOffset=$shownEl.offset().top:shownElOffset=false;function action(obj){if(($nextEl).length&&($nextEl.is(':visible'))&&(o.collapsible)){$thislink.removeClass('open');$nextEl.filter(':visible')[o.hideMethod](o.hideSpeed);}
if(($nextEl.length&&$nextEl.is(':hidden'))||(!($nextEl).length&&$thislink.closest(o.wrapper).not('.shown'))){if(!o.standardExpansible){$siblings.find('> a.open, >'+ o.el+' a.open').removeClass('open').end().find('> '+ o.next+':visible')[o.hideMethod](o.hideSpeed);if(shownElOffset&&shownElOffset<$(window).scrollTop()){$(scrollElem).animate({scrollTop:shownElOffset},o.scrollSpeed);}}
$thislink.addClass('open');$nextEl[o.showMethod](o.showSpeed);}
if(o.shift&&$thisWrapper.prev(o.wrapper).length){var $thisStack=$thisWrapper.nextAll().andSelf(),$first=$siblings.filter(":first");if(o.shift=='clicked'||(o.shift=='all'&&$siblings.length)){$thisWrapper.insertBefore($first).addClass('shown').siblings(o.wrapper).removeClass('shown');}
if(o.shift=='all'&&$siblings.length>1){$thisStack.insertBefore($first);}}}
if(o.event=='click'){action($trigger);if($thislink.is('[href $= "#"]')){return false;}else{if($.isFunction(o.retFunc)){return o.retFunc($thislink)}else{return true;}}}
if(o.event!='click'){hTimeout=window.setTimeout(function(){action($trigger);},o.interval);$thislink.click(function(){$thislink.blur();if($thislink.attr('href')=='#'){$thislink.blur();return false;}});}});if(o.event!='click'){$(Obj).delegate('a.trigger','mouseleave',function(){window.clearTimeout(hTimeout);});}
function scrollableElement(els){for(var i=0,argLength=arguments.length;i<argLength;i++){var el=arguments[i],$scrollElement=$(el);if($scrollElement.scrollTop()>0){return el;}else{$scrollElement.scrollTop(1);var isScrollable=$scrollElement.scrollTop()>0;$scrollElement.scrollTop(0);if(isScrollable){return el;}}};return[];};});};$.fn.accordion.defaults={container:true,obj:'ul',objClass:'.accordion',objID:'',wrapper:'li',el:'li',head:'',next:'ul',initShow:'',expandSub:true,showMethod:'slideDown',hideMethod:'slideUp',showSpeed:400,hideSpeed:400,scrollSpeed:400,activeLink:true,event:'click',focus:true,interval:400,collapsible:true,standardExpansible:false,lastChild:true,shift:false,elToWrap:null,uri:'full',retFunc:null};})(jQuery);/* ---
$(function() {
// If the closest named container = #container1 or the accordion element is <ul id="subnavigation">:
/// Standard nested lists:
  $('#container1').accordion(); // we are calling the plugin on the closest named container
  $('#subnavigation').accordion({container:false}); // we are calling the plugin on the accordion element
  // this will expand the sub-list with "id=current", when the accordion is initialized:
  $('#subnavigation').accordion({container:false, initShow : "#current"});
  // this will expand/collapse the sub-list when the mouse hovers over the trigger element:
  $('#container1').accordion({event : "hover", initShow : "#current"});
 
// If the closest named container = #container2
/// Nested Lists + Headings + DIVs:
  $('#container2').accordion({el: '.h', head: 'h4, h5', next: 'div'});
  $('#container2').accordion({el: '.h', head: 'h4, h5', next: 'div', initShow : 'div.outer:eq(0)'});
  
/// Nested DIVs + Headings:
  $('#container2').accordion({obj: 'div', wrapper: 'div', el: '.h', head: 'h4, h5', next: 'div.outer'});
  $('#container2').accordion({objID: '#acc2', obj: 'div', wrapper: 'div', el: '.h', head: 'h4, h5', next: 'div.outer', initShow : '.shown', shift: 'all'});
});

/// We can globally replace the defaults, for example:
  $.fn.accordion.defaults.initShow = "#current";
--- */
