- Changed admin_navigation_content to controll all tabs and use togler next to tabs...
[tinyz:tinyz.git] / design / admin2 / javascript / node_tabs.js
1 // jquery code to a provide tabbing
2 jQuery(function( $ )
3 {
4     var NodeTab = {
5         timeout : null,
6         click : function( e )
7         {
8             NodeTab.open( e.target.parentNode.id, true );
9             return false;
10         },
11         open : function( id, save )
12         {
13             var li = $( '#' + id );
14             if ( li.size() && !li.hasClass('selected') )
15             {
16                 if ( NodeTab.timeout !== null )
17                 {
18                     clearTimeout( NodeTab.timeout );
19                     NodeTab.timeout = null;
20                 }
21                 var block = $( li[0].parentNode.parentNode.parentNode );
22                 block.find("ul.tabs li.selected").removeClass('selected');
23                 block.find("div.tab-content.selected").addClass('hide').removeClass('selected');
24                 li.addClass('selected');
25                 $( '#' + id + '-content' ).addClass('selected').removeClass('hide');
26
27                 if ( save ) NodeTab.timeout = setTimeout( function(){ NodeTab.save( id ) }, 400 );
28             }
29         },
30         save : function( id )
31         {
32             if ( id.indexOf( 'node-tab-' ) === 0 )
33             {
34                 expireDate  = new Date();
35                 expireDate.setTime( expireDate.getTime() + 365 * 86400000 );
36                 NodeTab.setCookie( 'adminNavigationTab', id.split('tab-')[1], expireDate );
37             }
38         },
39         // cookie functions
40         setCookie: function( name, value, expires, path )
41         {
42             document.cookie = name + '=' + escape(value) + ( expires ? '; expires=' + expires.toUTCString(): '' ) + '; path='+ (path ? path : '/');
43         },
44         getCookie: function( name )
45         {
46             var n = name + '=', c = document.cookie, start = c.indexOf( n ), end = c.indexOf( ";", start );
47             if ( start !== -1 )
48             {
49                 return unescape( c.substring( start + n.length, ( end === -1 ? c.length : end ) ) );
50             }
51             return null;
52         }
53     };
54     $('div.tab-block ul.tabs li a').click( NodeTab.click );
55     var openTab = NodeTab.getCookie( 'adminNavigationTab' );
56     if ( openTab )
57     {
58         NodeTab.open( 'node-tab-' + openTab );
59     }
60 });