window.addEvent('domready', function() {
     new SearchDropdown();
});

var SearchDropdown = new Class({
    Implements: [Options],

    select: null,

    options: {
        type: 'auf Website'
    },

    /**
     * @params {Object} options
     * 
     * @author uemit.hoser
     * @since 1.0
     */
    initialize: function(options)
    {
        this.setOptions(options);

        var dropdown = $$('.dropdown');
        
        if (dropdown)
        {
            this.addDropDownEvent(dropdown);
            this.select = dropdown.getFirst('.select');
            if($('search_hidden_fields'))
            {
            this.insertExtendedSearchTags(this.options.type);
            }
        }
    },

    insertExtendedSearchTags: function(type)
    {
        var search_hidden_fields = $('search_hidden_fields');
        search_hidden_fields.empty();

        if('auf Website' == type)
        {
            search_hidden_fields.grab(new Element('input', {
                    'name': 'videos',
                    'type': 'hidden',
                    'value': 1
                }))
                .grab(new Element('input', {
                    'name': 'content',
                    'type': 'hidden',
                    'value': 1
                }))
                .grab(new Element('input', {
                    'name': 'member',
                    'type': 'hidden',
                    'value': 1
                }));
        }

        if('in Videos' == type)
        {
            search_hidden_fields.grab(new Element('input', {
                    'name': 'videos',
                    'type': 'hidden',
                    'value': 1
                }))
                .grab(new Element('input', {
                    'name': 'content',
                    'type': 'hidden',
                    'value': 0
                }))
                .grab(new Element('input', {
                    'name': 'member',
                    'type': 'hidden',
                    'value': 0
                }));
        }

        if('in Texten' == type)
        {
            search_hidden_fields.grab(new Element('input', {
                    'name': 'videos',
                    'type': 'hidden',
                    'value': 0
                }))
                .grab(new Element('input', {
                    'name': 'content',
                    'type': 'hidden',
                    'value': 1
                }))
                .grab(new Element('input', {
                    'name': 'member',
                    'type': 'hidden',
                    'value': 0
                }));
        }

        if('in Mitgliedern' == type)
        {
            search_hidden_fields.grab(new Element('input', {
                    'name': 'videos',
                    'type': 'hidden',
                    'value': 0
                }))
                .grab(new Element('input', {
                    'name': 'content',
                    'type': 'hidden',
                    'value': 0
                }))
                .grab(new Element('input', {
                    'name': 'member',
                    'type': 'hidden',
                    'value': 1
                }));
        }
    },
    
    /**
     * @params {DomElement} dropdown
     * 
     * @author uemit.hoser
     * @since 1.0
     */
    addDropDownEvent: function(dropdown)
    {
        dropdown.addEvents({
            'click': function(){
                this.getElement('.dropdown_box').setStyle('display', 'block');
            },
            'mouseleave': function() {
                this.getElement('.dropdown_box').setStyle('display', 'none');
            }
        });
        
        dropdown.getElements('li').each(function(li){
            li.addEvent('click', function(event){
                var element = $(event.target);
                event.stop();
                dropdown.getElement('.dropdown_box').setStyle('display', 'none');
                var type = element.get('html').trim();
                this.select.set('html', type);
                this.insertExtendedSearchTags(type);
                this.logger('li click: ' + type);
            }.bind(this))
        }.bind(this));
    },
    
    logger: function(string)
    {
        if ( typeof console == 'object' )
        {
            console.log( string );
        }
    }    
});


