﻿<!-- //
var popup_divContainer = null;
var popup_divPopup = null;

function popup_CheckZIndex()
    {
    if(popup_divContainer != null)
        {
        popup_divContainer.style.zIndex = (parseInt(popup_divContainer.style.zIndex) * 0.1);
        }
    }

function popup_GetCoords(eEvent)
    {
    eEvent = eEvent || window.event;
    if(eEvent.pageX || eEvent.pageY)
        {
        eEvent.preventDefault();
        return { nX:eEvent.pageX, nY:eEvent.pageY };
        }
    eEvent.cancelBubble = true;
    eEvent.returnValue = false;
    return { nX:eEvent.clientX + document.documentElement.scrollLeft - document.body.clientLeft, nY:eEvent.clientY + document.documentElement.scrollTop - document.body.clientTop };
    }
    
function popup_GetOffset(oSrc)
    {
    var nLeft = nTop = 0;
    if(oSrc.offsetParent)
        {
        do
            {
            nLeft += oSrc.offsetLeft;
            nTop += oSrc.offsetTop;
            }
        while(oSrc = oSrc.offsetParent)
        }
    return {nX:nLeft, nY:nTop};
    }

function popup_DragStart(eEvent, strAlign)
    {
    eEvent = eEvent || window.event;
    eSrc = eEvent.currentTarget || eEvent.srcElement;
    eSrc = eSrc.parentNode;
    
    var strCtrlID = eSrc.id.replace("_divPopupTitle", "");
    
    popup_CheckZIndex();
    
    popup_divContainer = document.getElementById(strCtrlID + "_divPopupContainer");
    popup_divPopup = document.getElementById(strCtrlID + "_divPopup");
    
    if(popup_divPopup == null)
        return false;
    
    var objPopupXY = popup_GetOffset(popup_divContainer); // Distance in pixels between the top left of the browser window and the top left of the popup.
    var objMouseXY = popup_GetCoords(eEvent); // Distance in pixels between the top left of the browser window and the mouse click on the popup.
    
    if(popup_divContainer.originXY == null)
        popup_divContainer.originXY = objPopupXY;
        
    popup_divContainer.align = strAlign;
    popup_divContainer.offsetXY = {nX:(objMouseXY.nX - objPopupXY.nX),nY:(objMouseXY.nY - objPopupXY.nY)};
        
    popup_divContainer.style.zIndex = (parseInt(popup_divContainer.style.zIndex) * 10);
    
    if(document.addEventListener)
        {
        document.addEventListener("mousemove", popup_DragMove, true);
        document.addEventListener("mouseup", popup_DragStop, true);
        }
    else
        {
        document.attachEvent("onmousemove", popup_DragMove);
        document.attachEvent("onmouseup", popup_DragStop);
        }
        
    return false;
    }
    
function popup_DragMove(eEvent)
    {
    if(popup_divContainer != null)
        {
        var objMouseXY = popup_GetCoords(eEvent); // Distance in pixels between the top left of the browser window and the mouse click on the popup.
        
        var nLeft = (objMouseXY.nX - popup_divContainer.originXY.nX) - popup_divContainer.offsetXY.nX;
        var nTop = (objMouseXY.nY - popup_divContainer.originXY.nY) - popup_divContainer.offsetXY.nY;
        
        if(popup_divContainer.align == "right")
            nLeft += (popup_divContainer.parentNode.offsetWidth - popup_divContainer.offsetWidth);
        
        popup_divContainer.style.left = nLeft + "px";
        popup_divContainer.style.top = nTop + "px";
        }
        
    return false;
    }
    
function popup_DragStop(eEvent)
    {
    popup_divPopup = null;
    
    if(document.removeEventListener)
        {
        document.removeEventListener("mousemove", popup_DragMove, true);
        document.removeEventListener("mouseup", popup_DragStop, true);
        }
    else
        {
        document.detachEvent("onmousemove", popup_DragMove);
        document.detachEvent("onmouseup", popup_DragStop);
        }
            
    return false;
    }
    
function popup_CalcWidth(strCtrlID)
    {
    var divContainer = document.getElementById(strCtrlID);
    return divContainer.offsetWidth;
    }
    
function popup_CalcHeight(strCtrlID)
    {
    var divContainer = document.getElementById(strCtrlID);
    return divContainer.offsetHeight;
    }
// -->