/*
 
 Singulink JS Library: Super Tabs, v2.0 (June 17. 2011)
 Copyright (C) Singulink (TM) (http://www.singulink.com)
 Tested with jQuery 1.4.2

 If you would like to use our plugins, please contact us:
 http://www.singulink.com/Contact?subject=jQuery%20Plug-ins

*/
(function(a){a.extend({UrlHashMonitor:function(h){function d(){var e=g.f(),d=a(window.location).attr("hash");e!==d&&(a(document).trigger("hashchanged",[d]),g.c(d))}var i=a(this),j=!h||isNaN(h)?100:h,g=new function(){this.f=function(){return a(document).data("sjs-superTabs-hashKey")};this.c=function(g){a(document).data("sjs-superTabs-hashKey",g)}},e=new function(){this.f=function(){a(document).data("sjs-urlMonitorHandle")};this.c=function(g){a(document).data("sjs-urlMonitorHandle",g)}};i.l=function(){e.f()||
(g.c(a(window.location).attr("hash")),e.c(setInterval(d,j)))};i.r=function(){clearInterval(e.f());e.c(null)};e.c(null);return i}});a.extend({HashMapUtility:function(){function h(a,e){this.b=a;this.a=e}var d=a(this),i={},j={};d.m=function(a,e){i[a]=e;j[e]=a;return new h(a,e)};d.t=function(a){return new h(a,i[a])};d.u=function(a){return new h(j[a],index)};d.v=function(a){return j[a]!==void 0};d.z=function(a){return i[a]!==void 0};return d}});a.fn.extend({superTabs:function(h){function d(b){(function(){b.addClass(k.tabsClass);
b.k=new a.HashMapUtility;var c=[];a(k.childSelector,b).each(function(f,o){var m=a(o),m=b.k.m(f,m.attr("href"));try{c.push(new i(m,a(o),b))}catch(e){}});b.d=a(c)})();b.addClass(l);b.data(l,b);return b}function i(b,c,f){c.j=f;c.a=b.a;c.b=b.b;c.g=b;c.h=new j(a(c.a),c,f);c.addClass(p);c.data(p,c);return c}function j(a,c,f){a.o=c;a.j=f;a.i=function(){return a.find("."+l).data(l)};a.p=function(){return f};a.q=function(){return c};return a}function g(b){if(b){switch(b.indexOf("#")){case -1:break;case 0:b=
b.substr(1);break;default:throw"Invalid Hash";}a(window.location).attr("hash","#Tab/"+b)}}function e(a,c){var f;a.each(function(a,b){b.a===c&&(f=b)});return f}function n(){var b=a(window.location).attr("hash");switch(b.indexOf("#")){case 0:b=b.substr(1)}switch(b.indexOf("Tab/")){case -1:break;case 0:b=b.substr(4);break;default:throw"Unreconized Hash structure.";}return!b||b===""?"":"#"+b}var l="sjs-ui-container-key",p="sjs-ui-target-key",k=a.extend({},{tabsClass:"ui-tabs",childSelector:"ul li a",
isMain:!1,fx:{opacity:"toggle"}},h),q=new a.UrlHashMonitor;a(this).each(function(){function b(a){var b;f.d.each(function(c,f){var e=f.h.i();e&&e.d.each(function(f,e){if(e.a===a)b={},b.b=c,b.a=e.a})});return b}function c(a){var c;if(!(c=b(a))){var d;if(a=e(f.d,a)){var g=a.h.i();if(g)g=g.d.get(0).g,d={},d.b=a.b,d.a=g.a;d=(c=d)?c:a.g}else d=f.d.get(0).g;c=d}return c}var f=new d(a(this));a(document).bind("hashchanged",function(){var a=c(n()).b;f.tabs("option","selected")!==a&&f.tabs("option","selected",
a)});a(k.childSelector,f).bind("click",function(b){b=a(b.currentTarget).attr("href");g(c(b).a)});(function(b){b=c(b);if(!b)throw"Hash could not be idintified as a reference to Tab Content.";f.tabs(a.extend({},k,{selected:b.b}));k.isMain&&(g(b.a),q.l())})(n())})}})})(jQuery);

