// Recherche, click sur tout, ou pas
function zone_clicked() {
    var obj = $(this);

    if ( ! obj.prop('checked') ) return;

    var selector = '#register-form input[name="zone"]';
    if ( obj.val() == "all") {
        selector += '[value!="all"]';
    } else {
        selector += '[value="all"]';
    }
    $(selector).prop('checked', false);
}

$(document).ready(function() {
    var domlist = $('#domain_list');

    domlist.not('.no_clear').focusClearsDefault({ 'class_changed' : "tainted"} );

    domlist.focus(function() {
        // domlist.css({"border-color": "", "outline": ""});
    });
    domlist.parents("form").submit( function(e) {
        if (domlist.val() == domlist[0].defaultValue ) {
            var red = function() { domlist.css( {"border-color": "red" , "outline": "1px solid red"} ) };
            var std = function() { domlist.css( {"border-color": "", "outline": ""}) };

            var blinks = 2;
            for (var i = 0; i < blinks*2; i+=2) {
                window.setTimeout( red, 100 * i );
                window.setTimeout( std, 100 + 100 * i);
            }
            return false;
        }
        return true;
    });

    // Keydown: allow control+enter to submit
    domlist.ctrlEnter();

    $('#register-form input[name="zone"]').click( zone_clicked );

    // If one or several promo checkboxes are checked, uncheck default 'zones' checkboxes,
    // or the promo checkboxes would be useless.
    $('#register-form .promos input[type="checkbox"]').change(function() {
        var toCheck = true;
        $('#register-form .promos input[type="checkbox"]').each(function() {
            return toCheck = !$(this).prop('checked');
        });
        $('#register-form .zones input[type="checkbox"][checked="checked"]').prop('checked', toCheck);
    })
});

