/**
 * Modified from shoutbox and ipb3 toggleCat javascript.
 */
var _gms = window.IPBoard;

_gms.prototype.gms = {
	
	init: function()
	{
		Debug.write("Initializing global_messages.js");
		document.observe("dom:loaded", function(){
			ipb.gms.loadToggle();
		});
	},
		
	loadToggle: function()
	{		
		//Not here
		if ( !$('category_gms') )
		{
			return false;
		}
		
		$('category_gms').select('.toggle')[0].observe( 'click', ipb.gms.toggleGMS );
		
		if ( Object.isUndefined(ipb.board) )
		{
			cookie = ipb.Cookie.get('toggleCats');
			
			if( cookie )
			{
				var cookies = cookie.split( ',' );
				
				for( var abcdefg=0; abcdefg < cookies.length; abcdefg++ )
				{
					if( cookies[ abcdefg ] == 'gms' )
					{
						var wrapper	= $('category_gms').up('.category_block').down('.table_wrap');
						
						wrapper.hide();
						$('category_gms').addClassName('collapsed');

						break;
					}
				}
			}
		}
	},
	
	toggleGMS: function(e)
	{		
		if( (!Object.isUndefined(ipb.board) && ipb.board.animating) ){ return false; }
		
		var click   = Event.element(e),
			remove  = $A(),
			wrapper = $( click ).up('.category_block').down('.table_wrap');
		
		$( wrapper ).identify(); // IE8 fix
		
		cookie = ipb.Cookie.get('toggleCats');
		if( cookie == null ){
			cookie = $A();
		} else {
			cookie = cookie.split(',');
		}
		
		Effect.toggle( wrapper, 'blind', {duration: 0.4, afterFinish: function(){ } } );
		
		if( $('category_gms').hasClassName('collapsed') )
		{
			$('category_gms').removeClassName('collapsed');
			remove.push('gms');
		}
		else
		{			
			new Effect.Morph( $('category_gms'), {style: 'collapsed', duration: 0.4, afterFinish: function(){
				$('category_gms').addClassName('collapsed');

			} });
			
			cookie.push('gms');
		}
		
		cookie = "," + cookie.uniq().without( remove ).join(',') + ",";
		ipb.Cookie.set('toggleCats', cookie, 1);
		
		Event.stop( e );
	}	
}
ipb.gms.init();