
/* - jquery.ui.tabs.js - */
// http://www.tecnoteca.com/portal_javascripts/jquery.ui.tabs.js?original=1
(function(jq,undefined){var tabId=0,listId=0;
function getNextTabId(){return++tabId}
function getNextListId(){return++listId}
jq.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create: function(){this._tabify(true)},_setOption: function(key,value){if(key=="selected"){if(this.options.collapsible&&value==this.options.selected){return}
this.select(value)} else{this.options[key]=value;this._tabify()}},_tabId: function(a){return a.title&&a.title.replace(/\s/g, "_" ).replace( /[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+getNextTabId()},_sanitizeSelector: function(hash){return hash.replace(/:/g,"\\:")},_cookie: function(){var cookie=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+getNextListId());return jq.cookie.apply(null,[cookie].concat(jq.makeArray(arguments)))},_ui: function(tab,panel){return{tab:tab,panel:panel,index:this.anchors.index(tab)}},_cleanup: function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var el=jq(this);el.html(el.data("label.tabs")).removeData("label.tabs")})},_tabify: function(init){var self=this,o=this.options,fragmentId=/^#.+/; // Safari 2 reports '#' for an empty hash
this.list=this.element.find("ol,ul").eq(0);this.lis=jq(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return jq("a",this)[0]});this.panels=jq([]);this.anchors.each(function(i,a){var href=jq(a).attr("href");var hrefBase=href.split("#")[0],baseEl;if(hrefBase&&(hrefBase===location.toString().split("#")[0]||(baseEl=jq("base")[0])&&hrefBase===baseEl.href)){href=a.hash;a.href=href}
if(fragmentId.test(href)){self.panels=self.panels.add(self.element.find(self._sanitizeSelector(href)))} else if(href&&href!=="#"){jq.data(a,"href.tabs",href);jq.data(a,"load.tabs",href.replace(/#.*$/,""));var id=self._tabId(a);a.href="#"+id;var $panel=self.element.find("#"+id);if(!$panel.length){$panel=jq(o.panelTemplate).attr("id",id).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(self.panels[i-1]||self.list);$panel.data("destroy.tabs",true)}
self.panels=self.panels.add($panel)} else{o.disabled.push(i)}});if(init){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(o.selected===undefined){if(location.hash){this.anchors.each(function(i,a){if(a.hash==location.hash){o.selected=i;return false}})}
if(typeof o.selected!=="number"&&o.cookie){o.selected=parseInt(self._cookie(),10)}
if(typeof o.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length){o.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}
o.selected=o.selected||(this.lis.length?0:-1)} else if(o.selected===null){o.selected=-1}
o.selected=((o.selected>=0&&this.anchors[o.selected])||o.selected<0)?o.selected:0;o.disabled=jq.unique(o.disabled.concat(jq.map(this.lis.filter(".ui-state-disabled"), function(n,i){return self.lis.index(n)}))).sort();if(jq.inArray(o.selected,o.disabled)!=-1){o.disabled.splice(jq.inArray(o.selected,o.disabled),1)}
this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(o.selected>=0&&this.anchors.length){self.element.find(self._sanitizeSelector(self.anchors[o.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(o.selected).addClass("ui-tabs-selected ui-state-active");self.element.queue("tabs", function(){self._trigger("show",null,self._ui(self.anchors[o.selected],self.element.find(self._sanitizeSelector(self.anchors[o.selected].hash))))});this.load(o.selected)}
jq(window).bind("unload", function(){self.lis.add(self.anchors).unbind(".tabs");self.lis=self.anchors=self.panels=null})} else{o.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}
this.element[o.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(o.cookie){this._cookie(o.selected,o.cookie)}
for(var i=0,li;(li=this.lis[i]);i++){jq(li)[jq.inArray(i,o.disabled)!=-1&&!jq(li).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}
if(o.cache===false){this.anchors.removeData("cache.tabs")}
this.lis.add(this.anchors).unbind(".tabs");if(o.event!=="mouseover"){var addState=function(state,el){if(el.is(":not(.ui-state-disabled)")){el.addClass("ui-state-"+state)}};var removeState=function(state,el){el.removeClass("ui-state-"+state)};this.lis.bind("mouseover.tabs", function(){addState("hover",jq(this))});this.lis.bind("mouseout.tabs", function(){removeState("hover",jq(this))});this.anchors.bind("focus.tabs", function(){addState("focus",jq(this).closest("li"))});this.anchors.bind("blur.tabs", function(){removeState("focus",jq(this).closest("li"))})}
var hideFx,showFx;if(o.fx){if(jq.isArray(o.fx)){hideFx=o.fx[0];showFx=o.fx[1]} else{hideFx=showFx=o.fx}}
function resetStyle($el,fx){$el.css("display","");if(!jq.support.opacity&&fx.opacity){$el[0].style.removeAttribute("filter")}}
var showTab=showFx? function(clicked,$show){jq(clicked).closest("li").addClass("ui-tabs-selected ui-state-active");$show.hide().removeClass("ui-tabs-hide").animate(showFx,showFx.duration||"normal", function(){resetStyle($show,showFx);self._trigger("show",null,self._ui(clicked,$show[0]))})}: function(clicked,$show){jq(clicked).closest("li").addClass("ui-tabs-selected ui-state-active");$show.removeClass("ui-tabs-hide");self._trigger("show",null,self._ui(clicked,$show[0]))};var hideTab=hideFx? function(clicked,$hide){$hide.animate(hideFx,hideFx.duration||"normal", function(){self.lis.removeClass("ui-tabs-selected ui-state-active");$hide.addClass("ui-tabs-hide");resetStyle($hide,hideFx);self.element.dequeue("tabs")})}: function(clicked,$hide,$show){self.lis.removeClass("ui-tabs-selected ui-state-active");$hide.addClass("ui-tabs-hide");self.element.dequeue("tabs")};this.anchors.bind(o.event+".tabs", function(){var el=this,$li=jq(el).closest("li"),$hide=self.panels.filter(":not(.ui-tabs-hide)"),$show=self.element.find(self._sanitizeSelector(el.hash));if(($li.hasClass("ui-tabs-selected")&&!o.collapsible)||$li.hasClass("ui-state-disabled")||$li.hasClass("ui-state-processing")||self.panels.filter(":animated").length||self._trigger("select",null,self._ui(this,$show[0]))===false){this.blur();return false}
o.selected=self.anchors.index(this);self.abort();if(o.collapsible){if($li.hasClass("ui-tabs-selected")){o.selected=-1;if(o.cookie){self._cookie(o.selected,o.cookie)}
self.element.queue("tabs", function(){hideTab(el,$hide)}).dequeue("tabs");this.blur();return false} else if(!$hide.length){if(o.cookie){self._cookie(o.selected,o.cookie)}
self.element.queue("tabs", function(){showTab(el,$show)});self.load(self.anchors.index(this));this.blur();return false}}
if(o.cookie){self._cookie(o.selected,o.cookie)}
if($show.length){if($hide.length){self.element.queue("tabs", function(){hideTab(el,$hide)})}
self.element.queue("tabs", function(){showTab(el,$show)});self.load(self.anchors.index(this))} else{throw "jQuery UI Tabs: Mismatching fragment identifier."}
if(jq.browser.msie){this.blur()}});this.anchors.bind("click.tabs", function(){return false})},_getIndex: function(index){if(typeof index=="string"){index=this.anchors.index(this.anchors.filter("[href$="+index+"]"))}
return index},destroy: function(){var o=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var href=jq.data(this,"href.tabs");if(href){this.href=href}
var $this=jq(this).unbind(".tabs");jq.each(["href","load","cache"], function(i,prefix){$this.removeData(prefix+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(jq.data(this,"destroy.tabs")){jq(this).remove()} else{jq(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(o.cookie){this._cookie(null,o.cookie)}
return this},add: function(url,label,index){if(index===undefined){index=this.anchors.length}
var self=this,o=this.options,$li=jq(o.tabTemplate.replace(/#\{href\}/g, url ).replace( /#\{label\}/g,label)),id=!url.indexOf("#")?url.replace("#",""):this._tabId(jq("a",$li)[0]);$li.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var $panel=self.element.find("#"+id);if(!$panel.length){$panel=jq(o.panelTemplate).attr("id",id).data("destroy.tabs",true)}
$panel.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(index>=this.lis.length){$li.appendTo(this.list);$panel.appendTo(this.list[0].parentNode)} else{$li.insertBefore(this.lis[index]);$panel.insertBefore(this.panels[index])}
o.disabled=jq.map(o.disabled, function(n,i){return n>=index?++n:n});this._tabify();if(this.anchors.length==1){o.selected=0;$li.addClass("ui-tabs-selected ui-state-active");$panel.removeClass("ui-tabs-hide");this.element.queue("tabs", function(){self._trigger("show",null,self._ui(self.anchors[0],self.panels[0]))});this.load(0)}
this._trigger("add",null,this._ui(this.anchors[index],this.panels[index]));return this},remove: function(index){index=this._getIndex(index);var o=this.options,$li=this.lis.eq(index).remove(),$panel=this.panels.eq(index).remove();if($li.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(index+(index+1<this.anchors.length?1:-1))}
o.disabled=jq.map(jq.grep(o.disabled, function(n,i){return n!=index}),
function(n,i){return n>=index?--n:n});this._tabify();this._trigger("remove",null,this._ui($li.find("a")[0],$panel[0]));return this},enable: function(index){index=this._getIndex(index);var o=this.options;if(jq.inArray(index,o.disabled)==-1){return}
this.lis.eq(index).removeClass("ui-state-disabled");o.disabled=jq.grep(o.disabled, function(n,i){return n!=index});this._trigger("enable",null,this._ui(this.anchors[index],this.panels[index]));return this},disable: function(index){index=this._getIndex(index);var self=this,o=this.options;if(index!=o.selected){this.lis.eq(index).addClass("ui-state-disabled");o.disabled.push(index);o.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[index],this.panels[index]))}
return this},select: function(index){index=this._getIndex(index);if(index==-1){if(this.options.collapsible&&this.options.selected!=-1){index=this.options.selected} else{return this}}
this.anchors.eq(index).trigger(this.options.event+".tabs");return this},load: function(index){index=this._getIndex(index);var self=this,o=this.options,a=this.anchors.eq(index)[0],url=jq.data(a,"load.tabs");this.abort();if(!url||this.element.queue("tabs").length!==0&&jq.data(a,"cache.tabs")){this.element.dequeue("tabs");return}
this.lis.eq(index).addClass("ui-state-processing");if(o.spinner){var span=jq("span",a);span.data("label.tabs",span.html()).html(o.spinner)}
this.xhr=jq.ajax(jq.extend({},o.ajaxOptions,{url:url,success: function(r,s){self.element.find(self._sanitizeSelector(a.hash)).html(r);self._cleanup();if(o.cache){jq.data(a,"cache.tabs",true)}
self._trigger("load",null,self._ui(self.anchors[index],self.panels[index]));try{o.ajaxOptions.success(r,s)}
catch(e){}},error: function(xhr,s,e){self._cleanup();self._trigger("load",null,self._ui(self.anchors[index],self.panels[index]));try{o.ajaxOptions.error(xhr,s,index,a)}
catch(e){}}}));self.element.dequeue("tabs");return this},abort: function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}
this._cleanup();return this},url: function(index,url){this.anchors.eq(index).removeData("cache.tabs").data("load.tabs",url);return this},length: function(){return this.anchors.length}});jq.extend(jq.ui.tabs,{version:"1.8.7"});jq.extend(jq.ui.tabs.prototype,{rotation:null,rotate: function(ms,continuing){var self=this,o=this.options;var rotate=self._rotate||(self._rotate=function(e){clearTimeout(self.rotation);self.rotation=setTimeout(function(){var t=o.selected;self.select(++t<self.anchors.length?t:0)},ms);if(e){e.stopPropagation()}});var stop=self._unrotate||(self._unrotate=!continuing? function(e){if(e.clientX){self.rotate(null)}}: function(e){t=o.selected;rotate()});if(ms){this.element.bind("tabsshow",rotate);this.anchors.bind(o.event+".tabs",stop);rotate()} else{clearTimeout(self.rotation);this.element.unbind("tabsshow",rotate);this.anchors.unbind(o.event+".tabs",stop);delete this._rotate;delete this._unrotate}
return this}})})(jQuery);

