var HideToggler = new Class({
    Implements: [Options, Events],

    options: {
        'collapseOnStart': true,
        'toggleElement': 'sendafriend_box',
        'toggleElementDownClass': 'hideme',
        'downClass': 'xoz-js-down',
        'upText': 'Einklappen »',
        'downText': 'Ausklappen »'
    },

    /**
     * element: id of element to use as toggle
     * options.collapseOnStart: true/false
     * options.toggleElement: id of element that should be displayed or not
     * options.toggleElementDownClass: css class name to set for element that is displayed/hidden
     * downclass: css class to toggle on anchor element (the element that is used to initiate toggling)
     */
    initialize: function (element, options)
    {

        // default options
        this.setOptions(options);

        // save element
        this.element = $(element);

        this.toggleElement = $(this.options.toggleElement);

        // add event listener
        this.element.addEvent('click', function(event)
        {
            new Event(event).stop();

            this.element.toggleClass(this.options.downClass);
            this.toggleElement.toggleClass(this.options.toggleElementDownClass);
            if (!this.element.hasClass(this.options.downClass))
            {
                this.element.innerHTML = this.options.upText;
            }
            else
            {
                this.element.innerHTML = this.options.downText;
            }
            return false;
        }.bindWithEvent(this));

        if (options.collapseOnStart)
        {
            // collapse initially
            this.toggleElement.removeClass(this.options.toggleElementDownClass);
            this.toggleElement.addClass(this.options.toggleElementDownClass);
        }
    }
});