/**********************************************************************************
 * BEHAVIOUR CLASS
 * 
 * De behaviour class maakt het mogelijk om 'behaviour' of gedrag te koppelen aan 
 * elementen. 
 *
 * Idee gebaseerd op http://www.bennolan.com/behaviour/
 *
 *********************************************************************************/
var Behaviour = {

    sheets: [],
    
    register: function(rules) {
        Behaviour.sheets.push(rules);
    },
    
    apply: function() {

        for (var i = 0; sheet = Behaviour.sheets[i]; i++) {

            for (selector in sheet) {
                
                elements = $$(selector);

                if (!elements) {
                    continue;
                }
                
                for (var y = 0; element = elements[y]; y++) {
                    var params = Behaviour.getParameters(element);
                    sheet[selector](element, params);
                }
            }
            
        }
        
    },
    
    getParameters: function(element) {
        
        element = $(element);
        
        var params = {};
        var search = new RegExp('([a-z0-9_-]+):([^\\s]*)', 'gi');
        
        while (match = search.exec(element.className)) {
            
            if (/:/.test(match[2])) {
                params[match[1]] = match[2].split(':');
            } else {
                params[match[1]] = match[2];
            }
            
        }
        
        return params;
        
    }

};