window.addEvent('domready', function () {

    if ($('wrapper')) $('wrapper').addClass('js-active');
    if ($('flash-alternative')) $('flash-alternative').destroy();

    // Instantiates content-block slider
    if ($('content-block-container')) {
        var prospectSlider = new ProspectSlider('content-block-container', '.content-block', '.slide-control-nav li a', 'content-slide-control',
		{
		    slideMaskId: 'slider-mask',
		    containerHeight: 324
		});

        $$('a.panel-select').each(function (el, i) {

            el.addEvent('click', function (evt) {

                evt.stop();

                prospectSlider.shiftToSlide(el.get('href'));
            });
        });
    }

    // Instantiates image gallery slider
    if ($('gallery-block-container')) {
        var gallerySlider = new ProspectSlider('gallery-block-container', '.gallery-block', null, 'content-slide-control',
		{
		    slideMaskId: 'slider-mask',
		    containerHeight: 324
		});
    }

    // Instantiates mini-image gallery
    if ($('image-gallery-container')) {
        var imageSlider = new ProspectSlider('image-gallery-container', '.gallery-image', null, 'image-gallery-control',
		{
		    slideMaskId: 'gallery-mask',
		    containerHeight: 324
		});
    }

    // Checks for presence of scrollable areas for any content-block then instantiates scrollbox, testing to see if each content-box needs scroll control
    $$('.content-block').each(function (el, i) {
        if ((el.getElements('.content-block-inner')[0]) && $('slider-mask') && (el.getSize().y > $('slider-mask').getSize().y)) {
            el.addClass('scroll-box');
        }

        var scrollBoxHeight = 324;
        var scrollBoxPadding = 10;
        var rightCol = el.getElements('.split-right')[0]

        if (el.hasClass('floor-plan') && rightCol) {

            scrollBoxHeight = 260;
            scrollBoxPadding = 20;

            if ($('slider-mask') && (rightCol.getSize().y > $('slider-mask').getSize().y)) {

                rightCol.addClass('scroll-box');
            }
            else {
                rightCol.getFirst('.content-block-inner').setStyle('height', scrollBoxHeight);
            }
        }

        if (el.getElements('.content-block-inner')[0]) {

            var scrollbox = new ScrollBox(el.getElements('.content-block-inner')[0],
			{
			    upDownControls: false,
			    scrollPortHeight: scrollBoxHeight,
			    scrollContentPadding: scrollBoxPadding,
			    scrollBarWidth: 5
			});
        }
    });

    //this.multiScrollBox;

    this.completeFunction = function () {
        if ($('availability') || $('siteplan')/*&& !this.multiScrollBox*/) {

            var boxHeight = $('MultiBoxContentContainer').getSize().y - 50;

            //var scrollTarget = $('availability-inner');

            var scrollTarget;

            if ($('availability-inner')) scrollTarget = $('availability-inner');
            else if ($('siteplan-inner')) scrollTarget = $('siteplan-inner');

            this.multiScrollBox = new ScrollBox(scrollTarget,
			{
			    upDownControls: false,
			    scrollPortHeight: boxHeight,
			    scrollBarWidth: 5,
			    scrollContentPadding: 15
			});
        }
    }

    var overlay = new Overlay(
    {
        colour: '#FFF',
        zIndex: 3
    });

    var multiBox = new MultiBox('mb',
    {
        overlay: overlay,
        path: '/_common/files/',
        _onOpen: function () { this.multiScrollBox = null; } .bind(this),
        //_onLoad: this.completeFunction.bind(this),
        _onAjaxLoad: this.completeFunction.bind(this),
        showControls: false
    });
});
