/**
 * Feedback Panel Tweener am rechten Seitenrand
 */
var FeedbackPanelTweener = new Class({
    
    Implements: [Events, Options],
    
    /**
     * @type HTMLElement
     */
    dom_element: null,
    
    /**
     * @type Object
     */
    options: {
        route: null,
        range: null,
        duration: null
    },
    
    /**
     * @param {HTMLElement} dom_element
     * @param {Object} options
     * 
     * @author uemit.hoser
     * @since 1.0
     */
    initialize: function(dom_element, options)
    {
        this.dom_element = $(dom_element);
        this.route = options.route;
        this.range = options.range;
        this.duration = options.duration;
        this.dom_element.set('tween',{'duration': this.duration});
    },
    
    /**
     * @author uemit.hoser
     * @since 1.0
     */
    hidePanel: function()
    {
        this.dom_element.tween(this.route, this.range);
    },
    
    /**
     * @author uemit.hoser
     * @since 1.0
     */
    showPanel: function()
    {
        this.dom_element.tween(this.route, 0);
    }
});

window.addEvent('domready', function() {
    var feedback_panel_tweener = new FeedbackPanelTweener('feedback_panel', {
        'route': 'margin-right',
        'range': -355,
        'duration': 'short'
    });
    
    $('feedback_panel').addEvent('mouseenter', feedback_panel_tweener.showPanel.bind(feedback_panel_tweener));
    $('feedback_panel').addEvent('mouseleave', feedback_panel_tweener.hidePanel.bind(feedback_panel_tweener));
});



/**
 * Feedback Popup im Footer
 */
var FeedbackPopup = new Class({
    
    initialize: function()
    {
        var popup = $('feedback_popup');
        
        $('feedback_switch').addEvent('click', function(event){
            new Event(event).stop();
            popup.setStyle('display', 'block');
        });
        
        popup.getElement('.close').addEvent('click', function(event){
            new Event(event).stop();
            popup.setStyle('display', 'none');
        });
    }
});

window.addEvent('domready', function() {
    new FeedbackPopup();
});