﻿/**** DO NOT EDIT ****/
function Overlay(widthParam, heightParam, showButtonsParam, targetParam) {
    this.titleHeight = 16;
    this.width = 600;
    this.height = 400;
    this.showButtons = true;
    this.previewScreen = '';

    this.previewHolder = null;
    this.previewDiv = null;
    this.target = document.body;

    this.ieVersion = getIEVersion();
    this.standardsMode = (document.compatMode.toLowerCase() == "css1compat") ? true : false;

    var _this = this;

    if (targetParam != undefined) this.target = targetParam;
    if (widthParam != undefined) this.width = widthParam;
    if (heightParam != undefined) this.height = heightParam;
    if (showButtonsParam != undefined) this.showButtons = showButtonsParam;

    var easy2previewHolder = document.createElement("div");
    var pHStyle = easy2previewHolder.style;
    this.previewHolder = easy2previewHolder;
    pHStyle.position = 'fixed';
    pHStyle.zIndex = Overlay.zIndex;
    pHStyle.top = '0px';
    pHStyle.left = '0px';
    pHStyle.display = 'none';
    pHStyle.width = '100%'
    this.target.appendChild(easy2previewHolder);

    this.previewScreen = document.createElement("div");
    this.previewScreen.id = 'previewScreen';
    easy2previewHolder.appendChild(this.previewScreen);

    var previewModule = document.createElement('div');
    var pModStyle = previewModule.style;
    previewModule.id = 'previewModule';
    pModStyle.padding = '0px';
    pModStyle.marginLeft = 'auto';
    pModStyle.marginRight = 'auto';
    pModStyle.width = '100%';
    pModStyle.height = '100%';

    pModStyle.position = 'relative';
    var topPos = (document.documentElement.clientHeight / 2 - (parseInt(this.height) + parseInt(this.titleHeight)) / 2);
    // alert(topPos+" "+document.documentElement.clientHeight+" "+this.height);
    pModStyle.top = topPos + 'px';

    if (this.ieVersion >= 5 && this.ieVersion < 6) pModStyle.top = (document.body.clientHeight / 2 - (this.height + this.titleHeight) / 2) + 'px';
    if (this.standardsMode == false) {
        pModStyle.width = this.width;
        pModStyle.top = (document.body.clientHeight / 2 - (parseInt(this.height) + parseInt(this.titleHeight)) / 2) + 'px';
        if (this.ieVersion > -1) {
            pModStyle.left = document.body.clientWidth / 2 - (this.width / 2) + 'px';
        }
    }
    this.previewScreen.appendChild(previewModule);

    var titleDiv = document.createElement('div');
    titleDiv.id = 'titleDiv';
    var titleStyle = titleDiv.style;
    titleStyle.textAlign = 'right';
    titleStyle.height = this.titleHeight + 'px';
    titleStyle.margin = '10px';
    titleStyle.fontFamily = 'Arial,Helvetica,sans-serif';
    titleStyle.fontWeight = 'bold';


    titleStyle.paddingTop = '3px';
    if (this.showButtons == true) {
        var closeAnchor = document.createElement('a');
        closeAnchor.innerHTML = 'Close [X]';
        closeAnchor.href = '#';
        closeAnchor.style.color = Overlay.closeColor;
        closeAnchor.style.paddingRight = '5px';
        closeAnchor.onclick = function() { _this.close(); return false; };
        titleDiv.appendChild(closeAnchor);
        previewModule.appendChild(titleDiv);
    }


    var previewDiv = document.createElement('div');
    this.previewDiv = previewDiv;
    previewDiv.style.backgroundColor = '#FFFFFF';
    previewDiv.scrolling = 'auto';
    previewModule.appendChild(previewDiv);

    this.onCenteringError = function() {
        _this.close();
    }
    this.addChild = function(div) {
        _this.previewDiv.appendChild(div);
        var pMod = document.getElementById('previewModule');
        var contentHeight = parseInt(_this.previewDiv.offsetHeight);
        if (_this.showButtons) contentHeight = parseInt(_this.height) + parseInt(_this.titleHeight) + parseInt(div.offsetHeight);
        var topPos = (document.documentElement.clientHeight - parseInt(contentHeight)) / 2;
        if (topPos < 0) topPos = 0;
        pMod.style.top = topPos + 'px';
        if ((contentHeight + topPos) > document.documentElement.clientHeight) {
            _this.onCenteringError();
        }

    }
    this.clear = function() {
        this.previewDiv.innerHTML = "";
    }
    this.open = function() {
        var pMod = document.getElementById('previewModule');
        if (_this.ieVersion > -1) {
            pMod.style.width = (parseInt(this.width) + 2) + 'px';
            _this.previewDiv.style.width = (parseInt(this.width) + 2) + 'px';
        } else {
            pMod.style.width = this.width + 'px';
            _this.previewDiv.style.width = this.width + 'px';
        }

        var screenDiv = document.getElementById('previewScreen');
        screenDiv.style.display = '';
        this.previewHolder.style.display = '';
        if (_this.ieVersion > -1) {
            if (_this.ieVersion >= 7) {
                setScreenStyles(screenDiv, true);
            } else {
                setScreenStyles(screenDiv, true);
                setOldIEStyles();
            }
        } else {
            setScreenStyles(screenDiv, false);
        }
    }
    this.close = function() {
        if (_this.previewHolder != null) {
            document.getElementsByTagName("body")[0].removeChild(_this.previewHolder);
        }
    }

    function setScreenStyles(div, isIE) {
        var style = div.style;
        style.width = '100%';
        style.height = '99999px';
        style.background = 'url(' + Overlay.image + ') repeat';
        if (isIE == true) {
            style.background = '';
            style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + Overlay.image + '",sizingMethod="scale")';
            if (_this.standardsMode == false) e2setIE5and6Styles();
        } else {
            style.position = 'fixed';
        }
    }
    function setIE5and6Styles() {
        var pScreenStyles = this.previewScreen.style;
        _this.previewHolder.style.position = 'absolute';
        if (_this.standardsMode == true) {
            pScreenStyles.top = document.documentElement.scrollTop;
            pScreenStyles.width = document.documentElement.clientWidth;
            pScreenStyles.height = document.documentElement.clientHeight;
        } else {
            pScreenStyles.top = document.body.scrollTop;
            pScreenStyles.width = document.body.clientWidth
            pScreenStyles.height = document.body.clientHeight
        }
        window.attachEvent("onscroll", this.scrollHandler);
    }
    function ieScrollHandler() {
        var num;
        if (_this.ieVersion == 6 && _this.standardsMode == true) num = document.documentElement.scrollTop;
        else num = document.body.scrollTop;
        _this.previewHolder.style.top = num;
    }
    function getIEVersion() {
        var ieOffset = navigator.userAgent.toLowerCase().indexOf('msie ');
        if (ieOffset == -1) return -1;
        return (parseFloat(navigator.userAgent.toLowerCase().substr(ieOffset + 5, navigator.userAgent.toLowerCase().indexOf(";", ieOffset))));
    }
}
Overlay.createTopBar = function(saveFn, cancelFn, showInput, saveTxt, cancelTxt) {
    if (showInput == undefined) showInput = true;
    if (saveTxt == undefined) saveTxt = "Save";
    if (cancelTxt == undefined) cancelTxt = "Close";
    var actDiv = document.createElement('div');
    actDiv.className = "saveDiv";

    var tbName = document.createElement('input');
    tbName.type = 'text';
    tbName.id = 'tbName';

    var nameText = document.createElement("span")
    nameText.className = "input";
    nameText.innerHTML = "Content Name:"

    var btnSave = document.createElement('a');
    btnSave.id = "savePopUp";
    btnSave.href = '#';
    btnSave.onclick = function() { saveFn(); };
    btnSave.innerHTML = "<span class='icon'></span>" + saveTxt;

    var btnDontSave = document.createElement('a');
    btnDontSave.id = "cancelPopUp";
    btnDontSave.href = '#';
    btnDontSave.onclick = function() { cancelFn(); };
    btnDontSave.innerHTML = "<span class='icon'></span>" + cancelTxt;

    actDiv.appendChild(btnSave);
    actDiv.appendChild(btnDontSave);
    if (showInput == true) {
        actDiv.appendChild(nameText);
        actDiv.appendChild(tbName);
    }
    return (actDiv);
}
Overlay.zIndex = "99999";
Overlay.closeColor = "#FFFFFF";
Overlay.image = "transPngDark.png";