var OptionsSlider = {

    initialize: function()
    {
        OptionsSlider.OptionsBlock = document.getElementById('optionsBlock');
        // check if the slider is available on the page
        if (OptionsSlider.OptionsBlock)
        {
            OptionsSlider.LegendBlock = $$('legend.minimizedBlock');

            var params = 'parametry';

            currentLocation = window.location.hash.split('#');
            OptionsSlider.ShowOptionsBlock = (currentLocation[1] && currentLocation[1].contains(params));

            SlideOptions = new Fx.Slide(OptionsSlider.OptionsBlock, {'wait': false, 'duration': 200});

            SlideOptions.addEvent('onComplete', function()
            {
                if (this.element.getStyle('margin-top').toInt() == 0)
                {
                    this.wrapper.setStyle('height', 'auto');
                }
                else
                {
                    this.element.setStyle('display','none');  // if a slideOut completed, set display:none
                }
            });

            if (OptionsSlider.ShowOptionsBlock)
            {
                SlideOptions.show().fireEvent('onComplete');
            }
            else
            {
                SlideOptions.hide();
            }

            OptionsSlider.LegendBlock[0].setHTML('<a href="#'+ params + '">' + OptionsSlider.LegendBlock[0].innerHTML + '</a>');
            var link = OptionsSlider.LegendBlock[0].getFirst();
            link.addEvent('click', function(event)
            {
                OptionsSlider.OptionsBlock.setStyle('display', 'block');
                var block = (OptionsSlider.OptionsBlock.getStyle('margin-top').toInt() == 0);
                OptionsSlider.setHash((block) ? "" : params);
                new Event(event).stop();
                OptionsSlider.updateOptionsHeaderStyle(!block);
            });

            OptionsSlider.updateOptionsHeaderStyle(OptionsSlider.ShowOptionsBlock);

            if (window.ie)
            {
                $$('legend').setStyle('margin-left', '-0.4em');
            }
        }
    },

    updateOptionsHeaderStyle: function(options)
    {
        var className = 'minimized';
        if (options)
        {
            if ($chk(0))
            {
                SlideOptions.slideIn();
            }
            OptionsSlider.LegendBlock.addClass(className);
        }
        else
        {
        if ($chk(0))
        {
            SlideOptions.slideOut();
        }
            OptionsSlider.LegendBlock.removeClass(className);
        }
    },

    setHash: function(hash)
    {
        if (window.webkit419)
        {
            OptionsSlider.HiddenForm = OptionsSlider.HiddenForm || new Element('form', {'method': 'get'}).injectInside(document.body);
            OptionsSlider.HiddenForm.setProperty('action', '#' + hash).submit();
        }
        else
        {
            window.location.hash = hash;
        }
    }
};

window.addEvent('domready', OptionsSlider.initialize);

