/**
 * domainCheck.js
 * Vérification de l'existence du nom de domaine
 */
var displaySuggestions = false;
 
function validateDomain( domainName, admin ) {
    if( domainName.length > 3 && domainName != 'www' && domainName != 'dev' && domainName != 'stg' ) {
        var directory = "";
        if( admin ) {
            directory = '../';
        }
        new Ajax.Request( directory + 'ajax/domain.php', {
                method: 'post', 
                parameters: 'domain=' + domainName, 
                onComplete: function( r ) {
                    changeState( r.responseText, directory );
                }
            }
        );
    } else {
        Element.hide( 'available' );
        Element.hide( 'unavailable' );
    }
}

function changeState( response, directory ) {
    if( response == 0 && directory == "" ) {
        Element.hide( 'unavailable' );
        Effect.Appear( 'available' );
        changeFieldState( 'web_address', true );
        if( displaySuggestions ) {
            Element.hide( 'suggestions' );
            $( 'suggestions_list' ).innerHTML = '';
            displaySuggestions = false;
        }
    } else {
        Element.hide( 'available' );
        Effect.Appear( 'unavailable' );
        changeFieldState( 'web_address', false );
        if( !displaySuggestions ) {
            showSuggestions( directory );
            displaySuggestions = true;
        }                             
    }
}

function showSuggestions( directory ) { 
    new Ajax.Request( directory + 'ajax/suggestions.php', {
            method: 'post', 
            parameters: 'firstname=' + escape( $F( 'hidden_first_name' ) ) + '&lastname=' + escape( $F( 'hidden_last_name' ) ) + '&date=' + escape( $F( 'hidden_year' ) ), 
            onComplete: function( r ) {
                var domains = r.responseText.split( ';' );
                $( 'suggestions_list' ).innerHTML = '';
                for( var i = 0; i < domains.length; i++ ) {
                    if( domains[ i ] ) {
                        Insertion.Bottom( 'suggestions_list', '<li><input type="radio" name="web_address" value="' + domains[ i ] + '" id="web_address_' + ( i + 1 ) + '" onchange="changeDomainText( this.value );" /> ' + domains[ i ] + '</li>' );
                    }
                }
                
                if( domains.length > 0 ) {
                    Effect.BlindDown( 'suggestions' );
                }
            }
        }
    );
}

function changeDomainText( text ) {
	jQuery( '#web_address' ).val( text );
	changeState( 0, "" );
}
