/*
	gforcesTabs Version 1.0
	Updated August 2009
	written by Chris Munn / Matthew Lindley for GForces Web Management
	www.gforces.co.uk
*/

function gforcesTabs() {

	//  Loop <div>s
	$$('div.domTabs').each( function ( div ) {

		//  Set an id if one isn't present
		div.identify();

		//  Activate first tab
		div.down().firstDescendant().addClassName( 'active' );

		//  Hide all content
		$$( '#' + div.id + ' div.domContent' ).invoke( 'hide' );

		//  Show first content
		$$( '#' + div.id + ' div.domContent' )[0].show();

		//  Loop <li>s
		div.down().childElements().each( function ( li, index ) {

			//  Monitor onclicks
			if ( li.down() != null )
			li.down().observe( 'click', function ( ev ) {

				//  Remove all class names
				div.down().childElements().invoke( 'removeClassName', 'active' );

				//  Set active tab
				ev.element().up().addClassName( 'active' );

				//  Hide all content
				$$( '#' + div.id + ' div.domContent' ).invoke( 'hide' );

				//  Show content selected
				$$( '#' + div.id + ' div.domContent' )[index].show();

			});

		});

	});
	
	var loc = document.location.toString();
	
	if ( loc.indexOf( '#' ) > -1 ) {
	
		var id = loc.split( '#' )[1];
		
		if ( $( id ) && $( id ).hasClassName( 'domContent' ) ) {
		
			$div = $( id );
			
			$div.siblings().findAll( function ( el ) {
				return el.hasClassName( 'domContent' );
			}).invoke( 'hide' );
			
			$div.show();
			
			var index = $div.previousSiblings().findAll( function ( el ) {
				return el.hasClassName( 'domContent' );
			}).length;
			
			$lis = $div.up( 'div.domTabs' ).down().childElements();
			$lis.invoke( 'removeClassName', 'active' );
			
			$lis[ index ].addClassName( 'active' );
			
		}
	
	}

}
