function GalleryScroll(Id) {
    this.Id = Id;
    this.Gallery = $(this.Id);
    if (!this.Gallery) return false;

    this.Slider = this.Gallery.getElement('.hslider');
    if (!this.Slider) return false;

    this.Container = this.Slider.getElement('.hslider_container');
    if (!this.Container) return false;

    this.Content = this.Container.getElement('.hslider_content');
    if (!this.Content) return false;

    this.Left = this.Gallery.getElement('.gallery_left');
    if (!this.Left) return false;

    this.Right = this.Gallery.getElement('.gallery_right');
    if (!this.Right) return false;


    this.Refresh = function() {
        this.SliderWidth = this.Slider.getSize().x;
        this.ContentWidth = this.Content.getSize().x;
        if (this.Content.getStyle('left').toInt() > -(this.ContentWidth - this.SliderWidth)) {
            this.Right.addClass('gallery_right_act');
        }
        else {
            this.Right.removeClass('gallery_right_act');
        }

        if (this.Content.getStyle('left').toInt() < 0) {
            this.Left.addClass('gallery_left_act');
        }
        else {
            this.Left.removeClass('gallery_left_act');
        }
    }
    this.Refresh();
    
    var gallery = this;
    this.sliderFx = new Fx.Morph(this.Content,
        {
            'fps': '50',
            'unit': 'px',
            'duration': 500,
            'onComplete': function() { gallery.Refresh() }
        });

    this.Right.setStyle('cursor', 'pointer');
    this.Right.addEvent('click', function(gal) {
        return function() {
            gal.Refresh();

            var left_from = gal.Content.getStyle('left').toInt();
            var left_to = left_from - gal.SliderWidth / 2;

            if (left_to < -(gal.ContentWidth - gal.SliderWidth)) {
                left_to = -(gal.ContentWidth - gal.SliderWidth);
            }
            else {
            }
            gal.sliderFx.start(
            {
                'left': [left_from, left_to]
            });
        }
    } (this));

    this.Left.setStyle('cursor', 'pointer');
    this.Left.addEvent('click', function(gal) {
        return function() {
            gal.Refresh();

            var left_from = gal.Content.getStyle('left').toInt();
            var left_to = left_from + gal.SliderWidth / 2;
            
            if (left_to > 0) {
                left_to = 0;
            }
            gal.sliderFx.start(
            {
                'left': [left_from, left_to]
            });
        }
    } (this));

    //    this.Left.addEvent('');
}

