// Copyright (c) 2009 Felix Nagel for Namics (Deustchland) GmbH
// Licensed under Creative Commens Attribution-Share Alike 3.0 Unported (http://creativecommons.org/licenses/by-sa/3.0/)
(function(A){A.fn.extend(A.ui.tabs.prototype,{_original_init:A.ui.tabs.prototype._init,_init:function(){var C=this,D=this.options;C._original_init();C.element.attr("role","application");C.list.attr("role","tablist");for(var B=0;B<C.anchors.length;B++){C._ariaInit(B);}C.element.keydown(function(E){switch(E.keyCode){case A.ui.keyCode.RIGHT:E.preventDefault();C.select(D.selected+1);break;case A.ui.keyCode.DOWN:E.preventDefault();C.select(D.selected+1);break;case A.ui.keyCode.UP:E.preventDefault();C.select(D.selected-1);break;case A.ui.keyCode.LEFT:E.preventDefault();C.select(D.selected-1);break;case A.ui.keyCode.END:E.preventDefault();C.select(C.anchors.length-1);break;case A.ui.keyCode.HOME:E.preventDefault();C.select(0);break;}});},_original_load:A.ui.tabs.prototype.load,load:function(C){for(var B=0;B<this.anchors.length;B++){this._ariaSet(B,false);if(A.data(this.anchors[B],"href.tabs")){A(this.panels[B]).removeAttr("aria-live").removeAttr("aria-busy");}}if(A.data(this.anchors[C],"href.tabs")){A(this.panels[C]).attr("aria-live","polite").attr("aria-busy","true");}this._original_load(C);if(A.data(this.anchors[C],"href.tabs")){A(this.panels[C]).attr("aria-busy","false");}this._ariaSet(C,true);},_ariaSet:function(B,D){var C=(D)?0:-1;A(this.anchors[B]).attr("tabindex",C).attr("aria-selected",D);A(this.panels[B]).attr("aria-hidden",!D).attr("aria-expanded",D);},_ariaInit:function(C){var B=this;var D=A(this.panels[C]).attr("id");A(this.anchors[C]).attr("role","tab").attr("aria-controls",D).attr("id",D+"-tab").parent().attr("role","presentation");A(this.panels[C]).attr("role","tabpanel").attr("aria-labelledby",D+"-tab");if(this.options.collapsible){A(this.anchors[C]).bind(this.options.event,function(E){B._ariaSet(C,!A(B.panels[C]).hasClass("ui-tabs-hide"));});}},_original_add:A.ui.tabs.prototype.add,add:function(D,C,B){this._original_add(D,C,B);this.element.attr("aria-live","polite").attr("aria-relevant","additions");if(B){this._ariaInit(B);this._ariaSet(B,false);}else{this._ariaInit(this.anchors.length-1);this._ariaSet(this.anchors.length-1,false);}},_original_remove:A.ui.tabs.prototype.remove,remove:function(B){this._original_remove(B);this.element.attr("aria-live","polite").attr("aria-relevant","removals");},_original_destroy:A.ui.tabs.prototype.destroy,destroy:function(){var C=this,D=this.options;this._original_destroy();C.element.removeAttr("role").removeAttr("aria-live").removeAttr("aria-relevant");C.list.removeAttr("role");for(var B=0;B<C.anchors.length;B++){A(C.anchors[B]).removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("role").removeAttr("id").removeAttr("tabindex").parent().removeAttr("role");A(C.panels[B]).removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("aria-labelledby").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-relevant").removeAttr("role");}}});})(jQuery);
