/**
 * Accessible Tabs - jQuery plugin for accessible, unobtrusive tabs
 * Copyright (c) 2007 Dirk Ginader (ginader.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Version: 1.9.1
*/
(function(b){function j(b,e){q&&window.console&&window.console.log&&(e?window.console.log(e+": ",b):window.console.log(b))}var q=false;b.fn.extend({getUniqueId:function(b,e,h){return b+e+(h===void 0?"":"-"+h)},accessibleTabs:function(d){var e={37:-1,38:-1,39:1,40:1},h={top:"prepend",bottom:"append"};this.options=b.extend({wrapperClass:"content",currentClass:"current",tabhead:"h4",tabheadClass:"tabhead",tabbody:".tabbody",fx:"show",fxspeed:"normal",currentInfoText:"current tab: ",currentInfoPosition:"prepend", currentInfoClass:"current-info",tabsListClass:"tabs-list",syncheights:false,syncHeightMethodName:"syncHeight",cssClassAvailable:false,saveState:false,autoAnchor:false,pagination:false,position:"top",wrapInnerNavLinks:"",firstNavItemClass:"first",lastNavItemClass:"last"},d);var a=this;return this.each(function(d){var c=b(this),m="",o=0,i=[];b(c).wrapInner('<div class="'+a.options.wrapperClass+'"></div>');b(c).find(a.options.tabhead).each(function(c){var g="";if(elId=b(this).attr("id")){if(elId.indexOf("accessibletabscontent")=== 0)return;g=' id="'+elId+'"'}var k=a.getUniqueId("accessibletabscontent",d,c),c=a.getUniqueId("accessibletabsnavigation",d,c);i.push(k);if(a.options.cssClassAvailable===true){var e="";b(this).attr("class")&&(e=b(this).attr("class"),m+='<li id="'+c+'"><a'+g+""+(' class="'+e+'"')+' href="#'+k+'">'+b(this).html()+"</a></li>")}else m+='<li id="'+c+'"><a'+g+' href="#'+k+'">'+b(this).html()+"</a></li>";b(this).attr({id:k,"class":a.options.tabheadClass,tabindex:"-1"});o++});a.options.syncheights&&b.fn[a.options.syncHeightMethodName]&& (b(c).find(a.options.tabbody)[a.options.syncHeightMethodName](),b(window).resize(function(){b(c).find(a.options.tabbody)[a.options.syncHeightMethodName]()}));var f="."+a.options.tabsListClass;if(!b(c).find(f).length)b(c)[h[a.options.position]]('<ul class="clearfix '+a.options.tabsListClass+" tabamount"+o+'"></ul>');b(c).find(f).append(m);b(c).find(a.options.tabbody).hide();b(c).find(a.options.tabbody+":first").show();b(c).find("ul."+a.options.tabsListClass+">li:first").addClass(a.options.currentClass).addClass(a.options.firstNavItemClass).find("a")[a.options.currentInfoPosition]('<span class="'+ a.options.currentInfoClass+'">'+a.options.currentInfoText+"</span>").parents("ul."+a.options.tabsListClass).children("li:last").addClass(a.options.lastNavItemClass);a.options.wrapInnerNavLinks&&b(c).find("ul."+a.options.tabsListClass+">li>a").wrapInner(a.options.wrapInnerNavLinks);b(c).find("ul."+a.options.tabsListClass+">li>a").each(function(d){b(this).click(function(g){g.preventDefault();c.trigger("showTab.accessibleTabs",[b(g.target)]);a.options.saveState&&b.cookie&&b.cookie("accessibletab_"+c.attr("id")+ "_active",d);b(c).find("ul."+a.options.tabsListClass+">li."+a.options.currentClass).removeClass(a.options.currentClass).find("span."+a.options.currentInfoClass).remove();b(this).blur();g=b(window).scrollTop();b(c).find(a.options.tabbody+":visible").hide();b(c).find(a.options.tabbody).eq(d)[a.options.fx](a.options.fxspeed);b(window).scrollTop(g);b(this)[a.options.currentInfoPosition]('<span class="'+a.options.currentInfoClass+'">'+a.options.currentInfoText+"</span>").parent().addClass(a.options.currentClass); b(b(this).attr("href")).focus().keyup(function(c){e[c.keyCode]&&(a.showAccessibleTab(d+e[c.keyCode]),b(this).unbind("keyup"))})});b(this).focus(function(){b(document).keyup(function(b){e[b.keyCode]&&a.showAccessibleTab(d+e[b.keyCode])})});b(this).blur(function(){b(document).unbind("keyup")})});a.options.saveState&&b.cookie&&(f=b.cookie("accessibletab_"+c.attr("id")+"_active"),j(b.cookie("accessibletab_"+c.attr("id")+"_active")),f!==null&&a.showAccessibleTab(f,c.attr("id")));a.options.autoAnchor&& window.location.hash&&(f=b("."+a.options.tabsListClass).find(window.location.hash),f.size()&&f.click());if(a.options.pagination){var l='<ul class="pagination">';l+=' <li class="previous"><a href="#{previousAnchor}"><span>{previousHeadline}</span></a></li>';l+=' <li class="next"><a href="#{nextAnchor}"><span>{nextHeadline}</span></a></li>';l+="</ul>";var f=b(c).find(".tabbody"),p=f.size();f.each(function(a){b(this).append(l);var d=a+1;d>=p&&(d=0);var e=a-1;e<0&&(e=p-1);var a=b(this).find(".pagination"), f=a.find(".previous");f.find("span").text(b("#"+i[e]).text());f.find("a").attr("href","#"+i[e]).click(function(a){a.preventDefault();b(c).find(".tabs-list a").eq(e).click()});a=a.find(".next");a.find("span").text(b("#"+i[d]).text());a.find("a").attr("href","#"+i[d]).click(function(a){a.preventDefault();b(c).find(".tabs-list a").eq(d).click()})})}})},showAccessibleTab:function(d,e){j("showAccessibleTab");var h=this;if(e){var a=b("#"+e),n=a.find("ul."+h.options.tabsListClass+">li>a");a.trigger("showTab.accessibleTabs", [n.eq(d)]);n.eq(d).click()}else return this.each(function(){var a=b(this);a.trigger("showTab.accessibleTabs");var e=a.find("ul."+h.options.tabsListClass+">li>a");a.trigger("showTab.accessibleTabs",[e.eq(d)]);e.eq(d).click()})},showAccessibleTabSelector:function(d){j("showAccessibleTabSelector");(d=b(d))&&(d.get(0).nodeName.toLowerCase()=="a"?d.click():j("the selector of a showAccessibleTabSelector() call needs to point to a tabs headline!"))}})})(jQuery);
