/************************************************/
/* IPB3 Javascript						*/
/* -------------------------------------------- 			*/
/* ips.loginSlide.js - (IM) Sliding Quick Login		*/
/* (c) Invision Modding 2009					*/
/* -------------------------------------------- 			*/
/* Author: Martin Aronsen					*/
/************************************************/

var _loginSlide = window.IPBoard;

_loginSlide.prototype.loginSlide = {

	hasOpenID: 0,
	
	init: function()
	{
		Debug.write( "Initializing ips.loginSlide.js" );
		document.observe( "dom:loaded", function()
										{
											$$( '.not_logged_in' )[1].hide();
											
											$$( '.loginSlide' ).each( function( elem ) 
											{ 
												$( elem ).observe( 'click', ipb.loginSlide.openPanel );
											});
																												
											$( 'loginCancel' ).observe( 'click', ipb.loginSlide.openPanel );
										}
		);
	},
	
	openPanel: function(e)
	{
		
		Event.stop(e);
		
		var element = $$( '.not_logged_in' )[0];
		
		if( $( 'panel' ).visible() )
		{
			new Effect.Parallel([
			
				new Effect.Morph( 'user_navigations', {
											style: {
												background: '#222222',
												color: '#FFFFFF'
											},
												duration: 0.5
											}
				),
				
				new Effect.Morph( 'panel', {
											style: {
												background: '#222222',
												color: '#999999'
											},
												duration: 0.5
											}
				),
				
				new Effect.SlideUp( 'panel', 
											{ 
												afterFinish: function() 
												{ 
													$( element ).removeClassName( 'slided' )
												} 
											} 
				)
			], 
			{
				duration: 0.5
			});
		}
		else
		{
			new Effect.Parallel([
				new Effect.Morph( 'user_navigation', {
											style: {
												background: '#222222',
												color: '#999999'
											},
												duration: 2.0
											}
				),
				new Effect.Morph( 'panel', {
											style: 
											{
												background: '#222222',
												color: '#999999'
											},
												duration: 2.0
											}
				),
				new Effect.SlideDown( 'panel', 
											{ 
												beforeStart: function() 
												{ 
													$( element ).addClassName( 'slided' )
												},
												duration: 2.0
											} 
				)
			], 
			{
				duration: 2.0
			});
			
			if ( ipb.loginSlide.hasOpenID )
			{
				$( 'openidOpen' ).observe( 'click', ipb.loginSlide.openOpenID );
			}
			
		}
		
		return true;
	},
	
	openOpenID: function(e)
	{
		Event.stop(e);
		
		if( $('openidSignin').visible() )
		{
			new Effect.Parallel([
				new Effect.BlindUp( $( 'openidSignin' ), { sync: true } ),
				new Effect.BlindDown( $( 'regularLogin' ), { sync: true } )
			]);
		}
		else
		{
			new Effect.Parallel([
				new Effect.BlindDown( $( 'openidSignin' ), { sync: true } ),
				new Effect.BlindUp( $( 'regularLogin' ), { sync: true } )
			]);
		}
	}
}

ipb.loginSlide.init();