/*
 * jQuery UI AriaTabs (12.07.10)
 * http://github.com/fnagel/jQuery-Accessible-RIA
 *
 * Copyright (c) 2009 Felix Nagel for Namics (Deustchland) GmbH
 * Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
 *
 * Depends: ui.core.js 1.8
 *   		ui.tabs.js
 */
(function(a){a.fn.extend(a.ui.tabs.prototype,{_create:function(){var d=this,e=this.options;if(a.address){var f={enable:true,title:{enable:true,split:" | "}};if(!a.isEmptyObject(e.jqAddress)){a.extend(true,f,e.jqAddress);}else{e.jqAddress={};}a.extend(true,e.jqAddress,f);}if(a.address&&e.jqAddress.enable){var c="#"+a.address.value().replace("/","");}d._tabify(true);d.element.attr("role","application");d.list.attr("role","tablist");for(var b=0;b<d.anchors.length;b++){if(a.address&&e.jqAddress.enable&&c!="#"&&a(d.anchors[b]).attr("href")==c){d.select(b);}d._ariaInit(b);}d.element.keydown(function(g){switch(g.keyCode){case a.ui.keyCode.RIGHT:g.preventDefault();d.select(e.selected+1);break;case a.ui.keyCode.DOWN:g.preventDefault();d.select(e.selected+1);break;case a.ui.keyCode.UP:g.preventDefault();d.select(e.selected-1);break;case a.ui.keyCode.LEFT:g.preventDefault();d.select(e.selected-1);break;case a.ui.keyCode.END:g.preventDefault();d.select(d.anchors.length-1);break;case a.ui.keyCode.HOME:g.preventDefault();d.select(0);break;}});if(a.address&&this.options.jqAddress.enable){a.address.externalChange(function(i){var h="#"+i.value.replace("/","");var g=0;while(g<d.anchors.length){if(a(d.anchors[g]).attr("href")==h){d.select(g);return;}g++;}});}},_original_load:a.ui.tabs.prototype.load,load:function(c){if(a.address&&this.options.jqAddress.enable){if(a(this.anchors[0]).attr("aria-selected")!==undefined){if(this.options.forceFirst===0&&c!==0){if(a.address.value()==""){a.address.history(false);}a.address.value(a(this.anchors[0]).attr("href").replace(/^#/,""));a.address.history(true);this.options.forceFirst=false;}if(this.options.jqAddress.title.enable){a.address.title(a.address.title().split(this.options.jqAddress.title.split)[0]+this.options.jqAddress.title.split+a(this.anchors[c]).text());}a.address.value(a(this.anchors[c]).attr("href").replace(/^#/,""));}else{this.options.forceFirst=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);this._updateVirtualBuffer();},_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;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");}a("body>form #virtualBufferForm").parent().remove();this._original_destroy();},_updateVirtualBuffer:function(){var c=a("body>form #virtualBufferForm");if(c.length){(c.val()=="1")?c.val("0"):c.val("1");}else{var b='<form><input id="virtualBufferForm" type="hidden" value="1" /></form>';a("body").append(b);}}});})(jQuery);

