﻿// JScript File
Btv.ImageUploader = new function() {

    var oThis = this;
    oThis.fncAsync = null;
    var posx = 0;
    var posy = 0;

    function displayUploadImage(fncAsync, e) {
        if (e) {
            oThis.getPos(e);
        }

        if (fncAsync) {
            oThis.fncAsync = fncAsync;
        }

        try {
            var body = document.body;

            var overlayGreyOutDiv = document.createElement('div');
            overlayGreyOutDiv.id = 'overlay-grey-out-id';
            overlayGreyOutDiv.className = 'overlay_grey_out';
            overlayGreyOutDiv.style.position = 'absolute';
            overlayGreyOutDiv.style.top = '0px';

            var overlayBoxDiv = document.createElement('div');
            overlayBoxDiv.id = 'overlay-box-id';
            overlayBoxDiv.className = 'overlay-box-s';
            overlayBoxDiv.style.position = 'absolute';
            if (oThis.fncAsync) {
                overlayBoxDiv.style.top = posy + 'px';
            }
            else {
                overlayBoxDiv.style.top = '0px';
            }

            var overlayBoxTopDiv = document.createElement('div');
            overlayBoxTopDiv.className = 'overlay-box-top-s';

            var overlayBoxBodyDiv = document.createElement('div');
            overlayBoxBodyDiv.className = 'overlay-box-body-s';

            var overlayBoxBody2Div = document.createElement('div');
            overlayBoxBody2Div.className = 'overlay-box-body3';

            var overlayBoxBottomDiv = document.createElement('div');
            overlayBoxBottomDiv.className = 'overlay-box-bottom-s';

            var destroyLink = document.createElement('a');
            destroyLink.className = 'close_popup';
            destroyLink.href = 'javascript:Btv.ImageUploader.destroyUploadImage();';

            var destroyLinkImg = document.createElement('img');
            destroyLinkImg.src = '/browse-image/images/close_x.jpg';

            destroyLink.appendChild(destroyLinkImg);

            var header = document.createElement('h2');
            header.appendChild(document.createTextNode('Upload an Image'));

            var windowTopperDiv = document.createElement('div');
            var windowHeaderDiv = document.createElement('div');

            var uploadIframe = document.createElement('iframe');
            uploadIframe.id = 'imageUploadId';
            uploadIframe.name = 'imageUploadId';
            uploadIframe.allowTransparency = 'true';
            uploadIframe.frameBorder = '0';
            uploadIframe.width = '350px';
            uploadIframe.src = '/upload-image/addimageframe.aspx';

            overlayBoxBody2Div.appendChild(destroyLink);
            overlayBoxBody2Div.appendChild(header);
            overlayBoxBody2Div.appendChild(windowTopperDiv);
            overlayBoxBody2Div.appendChild(windowHeaderDiv);
            overlayBoxBody2Div.appendChild(uploadIframe);

            overlayBoxBodyDiv.appendChild(overlayBoxBody2Div);

            overlayBoxDiv.appendChild(overlayBoxTopDiv);
            overlayBoxDiv.appendChild(overlayBoxBodyDiv);
            overlayBoxDiv.appendChild(overlayBoxBottomDiv);

            body.appendChild(overlayGreyOutDiv);
            body.appendChild(overlayBoxDiv);

        }
        catch (e) {
            alert(e.message);
        }
    }

    oThis.displayUploadImage = displayUploadImage;

    oThis.loadImageUrlFromIframe = function(imageUrl) {
        if (oThis.fncAsync) {
            oThis.destroyUploadImage();
            oThis.fncAsync(imageUrl);
        }
        else {
            switch (page) {
                case 'buildtribute':
                    buildTributeLoadImage(-1, -1, imageUrl);
                    break;
            }
        }
    }

    function buildTributeLoadImage(scopeId, contentId, imageUrl) {
        var selectedImage = new SelectedImage(imageUrl, scopeId, contentId);
        onSourceImageClick(selectedImage);
        oThis.destroyUploadImage();
    }

    oThis.destroyUploadImage = function() {
        var body = document.body;

        var overlayGreyOutDiv = document.getElementById('overlay-grey-out-id');
        if (overlayGreyOutDiv != null) {
            body.removeChild(overlayGreyOutDiv);
        }

        var overlayBoxDiv = document.getElementById('overlay-box-id');
        if (overlayBoxDiv != null) {
            body.removeChild(overlayBoxDiv);
        }
    }

    function SelectedImage(imageUrl, scopeId, contentId) {
        this.imageUrl = imageUrl;
        this.scopeId = scopeId;
        this.contentId = contentId;
    }

    function addEvent(obj, type, fn) {
        if (obj.addEventListener)
            obj.addEventListener(type, fn, false);
        else if (obj.attachEvent) {
            obj["e" + type + fn] = fn;
            obj[type + fn] = function() { obj["e" + type + fn](window.event); }
            obj.attachEvent("on" + type, obj[type + fn]);
        }
    }

    oThis.getPos = function(e) {
        if (!e) var e = window.event;
        if (e.pageX || e.pageY) {
            posx = e.pageX;
            posy = e.pageY;
        }
        else if (e.clientX || e.clientY) {
            posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
            posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
        }

        posy -= 200;
    }
}

var displayUploadImage = Btv.ImageUploader.displayUploadImage;
var loadImageUrlFromIframe = Btv.ImageUploader.loadImageUrlFromIframe;