var checker = new Class({

    initialize: function(){
        $$('.check_all').each(function(check){
            var check_parent = check.getParent().getParent();

            if (check){
                check.addEvent('click', function(e){
                    e = new Event(e);
                    e.stop();
                    this.checkAll(check_parent);
                }.bind(this));
            }
            
        }.bind(this));
        
        $$('.uncheck_all').each(function(uncheck){
            var uncheck_parent = uncheck.getParent().getParent();
            
            if (uncheck){
                uncheck.addEvent('click', function(e){
                    e = new Event(e);
                    e.stop();
                    this.uncheckAll(uncheck_parent);
                }.bind(this));
            }
        }.bind(this));
    },
    
    checkAll: function(parent){
        parent.getChildren().each(function(el){
            if (el.get('tag')=='input' && (el.get('type'))=='checkbox'){
                el.checked = true;
                
                // Cas particulier pour les dispos dans la page calendrier.
                if (el.get('class')=='check_dispo'){
                    el.getParent().set('tween', {duration:300});
                    el.getParent().tween('background-color', '#94C400');
                }
                
            }else{
                this.checkAll(el);
            }
        }.bind(this));
    },
    
    uncheckAll: function(parent){
        parent.getChildren().each(function(el){
            if (el.get('tag')=='input' && (el.get('type'))=='checkbox'){
                el.checked = false;
                
                // Cas particulier pour les dispos dans la page calendrier.
                if (el.get('class')=='check_dispo'){
                    el.getParent().set('tween', {duration:300});
                    el.getParent().tween('background-color', '#fff');
                }
                
            }else{
                this.uncheckAll(el);
            }
        }.bind(this));
    }
    
});

window.addEvent('domready', function(){
    new checker();
});
