﻿//////////////////////////////////
// Popup window scripts
//////////////////////////////////


function popupTimerTick(s, e) 
{
    var iframeElement = popupControl.GetContentIFrame();
    var frame = GetPopupFrameOfIFrame(iframeElement);
    var doc = frame.document;
    var test = doc.getElementById('popupHiddenField');
    if (test != null) 
    {
        if (test.value == 'initialized') 
        {
            popupTimer.SetEnabled(false);
            CalculatePopupControlSize(iframeElement, doc);
            s.SetEnabled(false);
            loading.Hide();
        }
    }
}

function CalculatePopupControlSize(popupiframe, contentDocument) 
{

    var windowElement = popupControl.GetWindowElement(-1);
    var scrollX = contentDocument.documentElement.scrollWidth;
    var scrollY = contentDocument.documentElement.scrollHeight;
    var offsetX = windowElement.offsetWidth - popupiframe.offsetWidth - 5;
    var offsetY = windowElement.offsetHeight - popupiframe.offsetHeight - 5;
    var width = scrollX + offsetX;
    var height = scrollY + offsetY;

    popupControl.SetSize(width, height);

}

function GetPopupFrameOfIFrame(iframeElement) 
{
    var name = (new Date()).toString();
    var backup = iframeElement.contentWindow.name;
    iframeElement.contentWindow.name = name;
    var frameIndex = this.internalGetFrameByWindowName(name);
    iframeElement.contentWindow.name = backup;
    return window.frames[frameIndex];
}

function internalGetFrameByWindowName(name) 
{
    var count = window.top.frames.length;
    for (var i = 0; i < count; i++) 
    {
        if (window.top.frames[i].window.name === name)
            return i;
    }
    return -1;
}

