﻿Event.observe(window, 'load', function(evt) {
    //- Object.Extend -//
    Object.extend(Control.Modal.prototype, {
        update: function(html) {
            if (typeof (html) == 'string')
                Control.Modal.container.update(html);
            else {
                Control.Modal.container.update('');
                (html.each) ? html.each(function(node) {
                    Control.Modal.container.appendChild(node);
                }) : Control.Modal.container.appendChild(node);
            }
            if (this.options.fade) {
                if (Control.Modal.effects.containerFade)
                    Control.Modal.effects.containerFade.cancel();
                Control.Modal.effects.containerAppear = new Effect.Appear(Control.Modal.container, {
                    queue: {
                        position: 'end',
                        scope: 'Control.Modal'
                    },
                    to: 1,
                    duration: this.options.fadeDuration / 2
                });
            } else
                Control.Modal.container.show();
            this.position();
            Control.Modal.container.setStyle({ position: 'absolute', top: '25px' });
        }
    });
    if (typeof (Object.Event) != 'undefined')
        Object.Event.extend(Control.Modal);
    Control.Modal.attachEvents();
});

function PrintDirectory() {
    PrintPage(true, 0)
}

function PrintPage(iframeMode, heightOverride) {
    var contentFrameId = 'table.contentFramePane';
    var rightFrameId = 'table.rightFramePane';
    var fullContentFrameId = 'table.contentFullFramePane';
    var contentFrameDim;
    var maxHeight = 0;
    var maxWidth = 0;
    if ($$(contentFrameId).length > 0) {
        contentFrameDim = $$(contentFrameId)[0].getDimensions();
        var rightFrameDim = $$(rightFrameId)[0].getDimensions();
        maxHeight = (contentFrameDim.height >= rightFrameDim.height ? contentFrameDim.height : rightFrameDim.height);
        maxWidth = contentFrameDim.width + rightFrameDim.width + 75;
    } else if ($$(fullContentFrameId).length > 0) {
        contentFrameDim = $$(fullContentFrameId)[0].getDimensions();
        maxHeight = contentFrameDim.height;
        maxWidth = contentFrameDim.width + 65;
    } else {
        return;
    }
    maxWidth = maxWidth;
    maxHeight = maxHeight + 90;
    if (iframeMode == false) {
        try {
            var previewElement = $('MainPane').innerHTML;
            var paneDimension = $('MainPane').getDimensions();
            maxHeight = paneDimension.height + 90;
            if (heightOverride > 0) {
                maxHeight = heightOverride;
            }
            $('PrintContentPane').update(previewElement);
            var directoyPreview = new Control.Modal('PrintWindowId', { position: 'absolute', width: maxWidth, height: maxHeight, iframe: true, fade: false, overlayClassName: 'ShareThisPageOverlayFrame', containerClassName: 'ShareThisPageContainerFrame', opacity: 0.75 });
            directoyPreview.open();
            window.scrollTo(0, 0);
        } catch (e) {
        alert(e);
        }
    } else {
        if (heightOverride > 0) {
            maxHeight = heightOverride;
        }
        var printModal = new Control.Modal('PrintWindowId', { width: maxWidth, height: maxHeight, fade: false, iframe: iframeMode, overlayClassName: 'ShareThisPageOverlayFrame', containerClassName: 'ShareThisPageContainerFrame', opacity: 0.75 });
        printModal.open();
        window.scrollTo(0, 0);
    }
}

//- openPrintPreview -//
function openPrintPreview(iframeMode) {
    PrintPage(iframeMode, 0)
}