Behaviour.register({
    'a.toggle': function(element, params) {
        if (typeof(params.element) != 'undefined') {
            Event.observe(element, 'click', function(event) { 
                var referenceElement = $(params.element);
                if (referenceElement) {
                    if (referenceElement.style.display == 'none') {
                        referenceElement.show();
                        element.removeClassName('untoggled');
                        element.addClassName('toggled');                        
                    } else {
                        referenceElement.hide();
                        element.removeClassName('toggled');
                        element.addClassName('untoggled');                        
                    }
                }
                event.stop();
            });
        }
    },
    
    'a.show, input.show': function(element, params) {
        if (typeof(params.element) != 'undefined') {
            Event.observe(element, 'click', function(event) { 
                if (element.tagName.toLowerCase() == 'a') {
                    event.stop();
                }
                Element.show(params.element);
            });
        }
    },
    
    'a.hide, input.hide': function(element, params) {
        if (typeof(params.element) != 'undefined') {
            Event.observe(element, 'click', function(event) { 
                if (element.tagName.toLowerCase() == 'a') {
                    event.stop();
                }
                Element.hide(params.element);
            });
        }
    },
    
    'ul#categoryList li a.toggle': function(element, params) {
        
        Event.observe(element, 'click', function(event) { 

            var toggledCookie = Cookie.get('toggledMenuItem');
            if (toggledCookie) {
                var toggledElement = $(toggledCookie);
                if (toggledElement && toggledElement != element) {
                    toggledElement.removeClassName('toggled');
                    toggledElement.addClassName('untoggled');
                    Cookie.remove('toggledMenuItem');
                }
            }
            
            if (element.hasClassName('toggled')) {
                Cookie.set('toggledMenuItem', element.id);
            } else {
                if (Cookie.get('toggledMenuItem')) {
                    Cookie.remove('toggledMenuItem');
                    element.removeClassName('toggled');
                    element.addClassName('untoggled');
                }
            }
            
            
            
        } );
    },
    
    'table.overview tbody tr td': function(element) { 
        Event.observe(element, 'mouseover', function() { 
            Element.addClassName(element.parentNode, 'activeRow');
        } );
        Event.observe(element, 'mouseout', function() { 
            Element.removeClassName(element.parentNode, 'activeRow');
        } );
    },
    
    'a.confirm-remove-account': function(element) {
        Event.observe(element, 'click', function(event) {
            if (!confirm('Weet u zeker dat u deze klant wilt verwijderen?')) event.stop();
        });
    }
    
});