(function($){$.extend({tabs:{remoteCount:0}});$.fn.tabs=function(initial,settings){if(typeof initial=='object')settings=initial;settings=$.extend({initial:(initial&&typeof initial=='number'&&initial>0)?--initial:0,disabled:null,bookmarkable:$.ajaxHistory?true:false,remote:false,spinner:'Loading&#8230;',hashPrefix:'remote-tab-',fxFade:null,fxSlide:null,fxShow:null,fxHide:null,fxSpeed:'normal',fxShowSpeed:null,fxHideSpeed:null,fxAutoHeight:false,onClick:null,onHide:null,onShow:null,navClass:'tabs-nav',selectedClass:'tabs-selected',disabledClass:'tabs-disabled',containerClass:'tabs-container',hideClass:'tabs-hide',loadingClass:'tabs-loading',tabStruct:'div'},settings||{});$.browser.msie6=$.browser.msie6||$.browser.msie&&typeof XMLHttpRequest=='function';function unFocus(){scrollTo(0,0);}return this.each(function(){var container=this;var nav=$('ul.'+settings.navClass,container);nav=nav.size()&&nav||$('>ul:eq(0)',container);var tabs=$('a',nav);if(settings.remote){var remoteUrls={};tabs.each(function(){var id=settings.hashPrefix+(++$.tabs.remoteCount);var hash='#'+id;remoteUrls[hash]=this.href;this.href=hash;$('<div id="'+id+'" class="'+settings.containerClass+'"></div>').appendTo(container);});}var containers=$('div.'+settings.containerClass,container);containers=containers.size()&&containers||$('>'+settings.tabStruct,container);nav.is('.'+settings.navClass)||nav.addClass(settings.navClass);containers.each(function(){var $$=$(this);$$.is('.'+settings.containerClass)||$$.addClass(settings.containerClass);});var hasSelectedClass=$('li',nav).index($('li.'+settings.selectedClass,nav)[0]);if(hasSelectedClass>=0){settings.initial=hasSelectedClass;}if(location.hash){tabs.each(function(i){if(this.hash==location.hash){settings.initial=i;if(($.browser.msie||$.browser.opera)&&!settings.remote){var toShow=$(location.hash);var toShowId=toShow.attr('id');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},500);}unFocus();return false;}});}if($.browser.msie){unFocus();}containers.filter(':eq('+settings.initial+')').show().end().not(':eq('+settings.initial+')').addClass(settings.hideClass);if(!settings.remote){$('li',nav).removeClass(settings.selectedClass).eq(settings.initial).addClass(settings.selectedClass);}if(settings.fxAutoHeight){var _setAutoHeight=function(reset){var heights=$.map(containers.get(),function(el){var h,jq=$(el);if(reset){if($.browser.msie6){el.style.removeExpression('behaviour');el.style.height='';el.minHeight=null;}h=jq.css({'min-height':''}).height();}else{h=jq.height();}return h;}).sort(function(a,b){return b-a;});if($.browser.msie6){containers.each(function(){this.minHeight=heights[0]+'px';this.style.setExpression('behaviour','this.style.height = this.minHeight ? this.minHeight : "1px"');});}else{containers.css({'min-height':heights[0]+'px'});}};_setAutoHeight();var cachedWidth=container.offsetWidth;var cachedHeight=container.offsetHeight;var watchFontSize=$('#tabs-watch-font-size').get(0)||$('<span id="tabs-watch-font-size">M</span>').css({display:'block',position:'absolute',visibility:'hidden'}).appendTo(document.body).get(0);var cachedFontSize=watchFontSize.offsetHeight;setInterval(function(){var currentWidth=container.offsetWidth;var currentHeight=container.offsetHeight;var currentFontSize=watchFontSize.offsetHeight;if(currentHeight>cachedHeight||currentWidth!=cachedWidth||currentFontSize!=cachedFontSize){_setAutoHeight((currentWidth>cachedWidth||currentFontSize<cachedFontSize));cachedWidth=currentWidth;cachedHeight=currentHeight;cachedFontSize=currentFontSize;}},50);}var showAnim={},hideAnim={},showSpeed=settings.fxShowSpeed||settings.fxSpeed,hideSpeed=settings.fxHideSpeed||settings.fxSpeed;if(settings.fxSlide||settings.fxFade){if(settings.fxSlide){showAnim['height']='show';hideAnim['height']='hide';}if(settings.fxFade){showAnim['opacity']='show';hideAnim['opacity']='hide';}}else{if(settings.fxShow){showAnim=settings.fxShow;}else{showAnim['min-width']=0;showSpeed=settings.bookmarkable?50:1;}if(settings.fxHide){hideAnim=settings.fxHide;}else{hideAnim['min-width']=0;hideSpeed=settings.bookmarkable?50:1;}}var onClick=settings.onClick,onHide=settings.onHide,onShow=settings.onShow;tabs.bind('triggerTab',function(){var li=$(this).parents('li:eq(0)');if(container.locked||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)){return false;}var hash=this.hash;if($.browser.msie){$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);location.hash=hash.replace('#','');}}else if($.browser.safari){var tempForm=$('<form action="'+hash+'"><div><input type="submit" value="h" /></div></form>').get(0);tempForm.submit();$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);}}else{if(settings.bookmarkable){location.hash=hash.replace('#','');}else{$(this).trigger('click');}}});tabs.bind('disableTab',function(){var li=$(this).parents('li:eq(0)');if($.browser.safari){li.animate({opacity:0},1,function(){li.css({opacity:''});});}li.addClass(settings.disabledClass);});if(settings.disabled&&settings.disabled.length){for(var i=0,k=settings.disabled.length;i<k;i++){tabs.eq(--settings.disabled[i]).trigger('disableTab').end();}};tabs.bind('enableTab',function(){var li=$(this).parents('li:eq(0)');li.removeClass(settings.disabledClass);if($.browser.safari){li.animate({opacity:1},1,function(){li.css({opacity:''});});}});tabs.bind('click',function(e){var trueClick=e.clientX;var clicked=this,li=$(this).parents('li:eq(0)'),toShow=$(this.hash),toHide=containers.filter(':visible');if(container.locked||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)||typeof onClick=='function'&&onClick(this,toShow[0],toHide[0])===false){this.blur();return false;}container['locked']=true;if(toShow.size()){if($.browser.msie&&settings.bookmarkable){var toShowId=this.hash.replace('#','');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},0);}function switchTab(){if(settings.bookmarkable&&trueClick){$.ajaxHistory.update(clicked.hash);}toHide.animate(hideAnim,hideSpeed,function(){$(clicked).parents('li:eq(0)').addClass(settings.selectedClass).siblings().removeClass(settings.selectedClass);if(typeof onHide=='function'){onHide(clicked,toShow[0],toHide[0]);}toHide.addClass(settings.hideClass).css({display:'',overflow:'',height:'',opacity:''});toShow.removeClass(settings.hideClass).animate(showAnim,showSpeed,function(){toShow.css({overflow:'',height:'',opacity:''});if($.browser.msie){toHide[0].style.filter='';toShow[0].style.filter='';}if(typeof onShow=='function'){onShow(clicked,toShow[0],toHide[0]);}container['locked']=null;});});}if(!settings.remote){switchTab();}else{var $$=$(this).addClass(settings.loadingClass),span=$('span',this)[0],tabTitle=span.innerHTML;if(settings.spinner){span.innerHTML='<em>'+settings.spinner+'</em>';}setTimeout(function(){$(clicked.hash).load(remoteUrls[clicked.hash],function(){switchTab();if(settings.spinner){span.innerHTML=tabTitle;}$$.removeClass(settings.loadingClass);});},0);}}else{alert('There is no such container.');}var scrollX=window.pageXOffset||document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft||0;var scrollY=window.pageYOffset||document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop||0;setTimeout(function(){window.scrollTo(scrollX,scrollY);},0);this.blur();return settings.bookmarkable&&!!trueClick;});if(settings.remote){tabs.eq(settings.initial).trigger('click').end();}if(settings.bookmarkable){$.ajaxHistory.initialize(function(){tabs.eq(settings.initial).trigger('click').end();});}});};var tabEvents=['triggerTab','disableTab','enableTab'];for(var i=0;i<tabEvents.length;i++){$.fn[tabEvents[i]]=(function(tabEvent){return function(tab){return this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var a;if(!tab||typeof tab=='number'){a=$('li a',nav).eq((tab&&tab>0&&tab-1||0));}else if(typeof tab=='string'){a=$('li a[@href$="#'+tab+'"]',nav);}a.trigger(tabEvent);});};})(tabEvents[i]);}$.fn.activeTab=function(){var selectedTabs=[];this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var lis=$('li',nav);selectedTabs.push(lis.index(lis.filter('.tabs-selected')[0])+1);});return selectedTabs[0];};})(jQuery);
(function($){
$.ajaxHistory=new function(){
var _2="historyReset";
var _3=location.hash;
var _4=null;
var _5;
this.update=function(){
};
var _6=function(){
$(".remote-output").empty();
};
$(document).bind(_2,_6);
if($.browser.msie){
var _7,_8=false;
$(function(){
_7=$("<iframe style=\"display: none;\"></iframe>").appendTo(document.body).get(0);
var _9=_7.contentWindow.document;
_9.open();
_9.close();
if(_3&&_3!="#"){
_9.location.hash=_3.replace("#","");
}
});
this.update=function(_a){
_3=_a;
var _b=_7.contentWindow.document;
_b.open();
_b.close();
_b.location.hash=_a.replace("#","");
};
_5=function(){
var _c=_7.contentWindow.document;
var _d=_c.location.hash;
if(_d!=_3){
_3=_d;
if(_d&&_d!="#"){
$("a[@href$=\""+_d+"\"]").click();
location.hash=_d;
}else{
if(_8){
location.hash="";
$(document).trigger(_2);
}
}
}
_8=true;
};
}else{
if($.browser.mozilla||$.browser.opera){
this.update=function(_e){
_3=_e;
};
_5=function(){
if(location.hash){
if(_3!=location.hash){
_3=location.hash;
$("a[@href$=\""+_3+"\"]").click();
}
}else{
if(_3){
_3="";
$(document).trigger(_2);
}
}
};
}else{
if($.browser.safari){
var _f,_10,_11;
$(function(){
_f=[];
_f.length=history.length;
_10=[];
});
var _12=false,_8=false;
_11=function(_13){
_f.push(_13);
_10.length=0;
_12=false;
};
this.update=function(_14){
_3=_14;
_11(_3);
};
_5=function(){
var _15=history.length-_f.length;
if(_15){
_12=false;
if(_15<0){
for(var i=0;i<Math.abs(_15);i++){
_10.unshift(_f.pop());
}
}else{
for(var i=0;i<_15;i++){
_f.push(_10.shift());
}
}
var _17=_f[_f.length-1];
$("a[@href$=\""+_17+"\"]").click();
_3=location.hash;
}else{
if(_f[_f.length-1]==undefined&&!_12){
if(document.URL.indexOf("#")>=0){
$("a[@href$=\""+"#"+document.URL.split("#")[1]+"\"]").click();
}else{
if(_8){
$(document).trigger(_2);
}
}
_12=true;
}
}
_8=true;
};
}
}
}
this.initialize=function(_18){
if(typeof _18=="function"){
$(document).unbind(_2,_6).bind(_2,_18);
}
if(location.hash&&typeof _11=="undefined"){
$("a.remote[@href$=\""+location.hash+"\"]").click();
}
if(_5&&_4==null){
_4=setInterval(_5,200);
}
};
};
$.fn.remote=function(_19,_1a,_1b){
if(typeof _1a=="function"){
_1b=_1a;
_1a={};
}
_1a=$.extend({hashPrefix:"remote-"},_1a||{});
var _1c=$(_19).size()&&$(_19)||$("<div></div>").appendTo("body");
_1c.addClass("remote-output");
return this.each(function(i){
var _1e=this.href;
var _1f="#"+_1a.hashPrefix+(i+1);
this.href=_1f;
$(this).click(function(e){
var _21=e.clientX;
_1c.load(_1e,function(){
if(_21){
$.ajaxHistory.update(_1f);
}
typeof _1b=="function"&&_1b();
});
});
});
};
$.fn.history=function(){
return this.click(function(e){
var _23=e.clientX;
if(_23){
$.ajaxHistory.update(this.hash);
}
});
};
})(jQuery);
