function login( url )
{
        this.url = url;
        this.req = new Object();

        this.checkUsername = function()
        {
                var name = $('#username').attr( 'value' );
                if( !name ) return false;
                sendRequest( login.req, 
                             this.url, 
                             {username:name}, 
                             function(){
                                        $("#ajax_loading").show();
                             }, 
                             function( data ){
                                        $("#ajax_loading").hide();
                                        $("#isavailable").css({display: 'none'});
                                        $("#isnotavailable").css({display: 'inline'});
                                        $("#usernameisempty").css({display: 'none'});
                             }, 
                             function( data ){
                                        $("#ajax_loading").hide();
                                        $("#isavailable").css({display: 'inline'});
                                        $("#isnotavailable").css({display: 'none'});
                                        $("#usernameisempty").css({display: 'none'});
                             },
                             '',
                             'GET'
                );
        }

        this.submitAffiliateRegisterForm = function()
        {
                return this.submitRegisterForm( true );
        }

        this.submitRegisterForm = function( affiliate )
        {
                var name = $('#username').val();
                var email = $('#email').val();
                var day = $('#day').get(0).selectedIndex;
                var month = $('#month').get(0).selectedIndex;
                var year = $('#year').get(0).selectedIndex;
                var password = $('#password').val();
                var confirmpassword = $('#confirmpassword').val();
                var ps_param = $( '#payment_system_param' ).val();
                var imagecode = $('#imagecode').val();
                if($('#payment_system_param').size()) payment_id = $('#payment_system_param').attr('value');
                if( !name )                         showMessageFromDiv( 'empty_username' ); 
                if( !checkLogin( name ) )           showMessageFromDiv( 'invalid_username' );  
                else if( !day || !month || !year)   showMessageFromDiv( 'invalid_birthdate' );
                else if( $('#payment_system_param').size() && !payment_id) showMessageFromDiv( 'invalid_payment_id' );
                //else if( !birthdate )               showMessageFromDiv( 'empty_birthdate' );  
                else if( !email )                   showMessageFromDiv( 'empty_email' ); 
                else if( !checkEmail( email ) )     showMessageFromDiv( 'invalid_email' ); 
                else if( !password )                showMessageFromDiv( 'invalid_password' ); 
                else if( !confirmpassword )         showMessageFromDiv( 'confirm_password' );
                else if( password != confirmpassword ) showMessageFromDiv( 'doesnt_match' );
                else if( affiliate && !ps_param )   showMessageFromDiv( 'ps_param_empty' );
                else if( !imagecode )               showMessageFromDiv( 'empty_imagecode' ); 
                else $("#register_form").submit();

                return false;
        }

        this.submitLoginForm = function()
        {
                var name = $('#lusername').attr( 'value' );
                var password = $('#lpassword').attr( 'value' );
                if( !name )                         showMessageFromDiv( 'login_empty_username' ); 
                else if( !password )                showMessageFromDiv( 'login_invalid_password' ); 
                else $("#_login_form").submit();
                return false;
        }


        /**

        */
        this.submitResetPasswordForm = function()
        {
                var email = $('#email').attr( 'value' );
                if( !email ) showMessageFromDiv( 'empty_email' ); 
                else if( !checkEmail( email ) ) showMessageFromDiv( 'invalid_email' ); 
                else $("#reset_password_form").submit();
                return false;
        }
}