      $(document).ready( function()
      {
    	 var isPwdRequestMode = false;
    	 
         $( '#signin-link' ).click( function()
         {
		    $( "#signin-container" ).modal({close:true,overlayClose:true,closeHTML: "<a href='#'>Close</a>"});
         } );

         $( '#signinLink' ).click( function()
         {
		    $( "#signin-container" ).modal({close:true,overlayClose:true,closeHTML: "<a href='#'>Close</a>"});
         } );
        				

         $( '#signin-button-signin' ).click( function( event )
		 {
            event.preventDefault();
            executeSignin();
		 } );
			
		$( '#signin-link-forgot-password' ).click( function()
		{
			$( "#signin-header" ).text( "Password request" );
			$( "#signin-label-username" ).text( "Email" );
			$( "#signin-label-password" ).css( "display", "none" );

			$( '#signin-message-empty-username' ).css( "display", "none" );
			$( '#signin-message-empty-password' ).css( "display", "none" );
			$( "#signin-message-error-login" ).css( "display", "none" );
			
			$( "#signin-input-password" ).css( "display", "none" );
			$( "#signin-link-forgot-password" ).css( "display", "none" );
			$( "#signin-checkbox-remember" ).css( "display", "none" );
			
			$( "#signin-button-signin" ).attr( "value", "Password request" );
			
			$( "#signin-button-signin" ).unbind( "click" );
			
			$( "#signin-button-signin" ).click( function( event )
			{
				event.preventDefault();
				executePwdRequest();
			});
			
			$( '#signin-input-username' ).focus();
		} );
			
		function executePwdRequest()
		{
		   var email = $( '#signin-input-username' ).val();
		   
		   if( email == "" )
		      {
			  $( "#signin-message-empty-email" ).css( "display", "block" );
			  }
		   else
			  {
			  $.ajax(
			  {
			     url: "/restlet/request_pwd.json",
				 type: "POST",
				 data: "email_address=" + encodeURIComponent( email ),
				 dataType: "json",
				 success: function( data )
				 {
					$( "#signin-message-pwd-request-send" ).css( "display", "block" );
					
					if( data != null && data.message != null )
					{
						$( "#signin-message-pwd-request-send" ).text( data.message );
					}
					
					$( "#signin-label-username" ).css( "display", "none" );
					$( "#signin-message-empty-email" ).css( "display", "none" );
					
					$( "#signin-button-signin" ).css( "display", "none" );
					$( "#signin-button-signin" ).unbind( "click" );
					$( "#signin-button-signin" ).click( function( event )
					{
						event.preventDefault();
					});
					$( '#signin-input-username' ).css( "display", "none" );
				 },
				 error: function()
				 {
					$( "#signin-message-pwd-request-send" ).text( "Email address not found" );
					$( "#signin-message-pwd-request-send" ).css( "display", "block" );
				 }
			  });
 
			  }
		}
		
		function executeSignin()
		{
			var username = $( '#signin-input-username' ).val();
			var password = $( '#signin-input-password' ).val();
			var rememberme = $( '#signin-input-rememberme' ).attr( 'checked' );
			
			// missing input
			if( username == "" || password == "" )
			{
				$( "#signin-message-error-login" ).css( "display", "none" );
				if( username == "" )
				{
					$( '#signin-message-empty-username' ).css( "display", "block" );
				}
				
				if( password == "" )
				{
					$( '#signin-message-empty-password' ).css( "display", "block" );
				}
			}
			else
			{
				$( '#signin-message-empty-username' ).css( "display", "none" );
				$( '#signin-message-empty-password' ).css( "display", "none" );
				$( "#signin-message-error-login" ).css( "display", "none" );
				var authHeader = $.base64.encode( username + ":" + password );
				
				$.ajax(
				{
					beforeSend: function( xhr )
					{
						xhr.setRequestHeader( "X-DLPC-Auth", "Basic " + authHeader )
					},
					url: "/restlet/login/basic.json",
					success: function( user )
					{
						$.cookie( "auth", "1", { expires: 14, path: '/', domain: window.location.hostname } );
						var link = "http://" + window.location.hostname;
						
						if( window.location.pathname.indexOf( "/welcome" ) != -1 || window.location.pathname.indexOf( "/landing/signup.html" ) != -1 )
						{
							link = link + "/?";
						}
						else
						{
							link = link + window.location.pathname + window.location.search;
						}
						
						if( rememberme == true )
						{
							$.ajax(
							{
								url: "/restlet/login/otk.json",
								type: "GET",
								success: function( otk )
								{
									$.cookie( "OTK", otk.otk, { expires: 14, path: '/', domain: window.location.hostname } );
									$.cookie( "UID", user.uid, { expires: 14, path: '/', domain: window.location.hostname } );
									window.open( link, "_self", "", "true" );
								}
							});
						}
						else
						{
							window.open( link, "_self" );
						}
					},
					error: function()
					{
						$( "#signin-message-error-login" ).css( "display", "block" );
						$( "#signin-input-username" ).focus();
					},
					type: "POST"
				});
			}
		}
	} );

