
//******************************************************//

//****************** COMMON FUNCTIONS ******************//
// POSITIONS
function Position(x, y)
{
    this.x = x;
    this.y = y;
}

function GetPosition(element)
{
    var result = new Object();
    result.x = 0;
    result.y = 0;
    result.width = 0;
    result.height = 0;
    if (element.offsetParent) {
        result.x = element.offsetLeft;
        result.y = element.offsetTop;
        var parent = element.offsetParent;
        while (parent) {
            result.x += parent.offsetLeft;
            result.y += parent.offsetTop;
            var parentTagName = parent.tagName.toLowerCase();
            if (parentTagName != "table" &&
                parentTagName != "body" &&
                parentTagName != "html" &&
                parentTagName != "div" &&
                parent.clientTop &&
                parent.clientLeft) {
                result.x += parent.clientLeft;
                result.y += parent.clientTop;
            }
            parent = parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x = element.left;
        result.y = element.top;
    }
    else {
        if (element.x) {
            result.x = element.x;
        }
        if (element.y) {
            result.y = element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width = element.offsetWidth;
        result.height = element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
        result.width = element.style.pixelWidth;
        result.height = element.style.pixelHeight;
    }
    return result;
  
}

// OBJECTS
function ObjectIsNull(obj)
{
    if(obj == "undefined" || obj == "" || obj == null)
    {
        return true;
    }
    return false;
}

//Msg from server
var GlobalMsg = {
    NotAllItemsAnswered : '',
    NeedReplied : false,
    IsDisplayed : false,
    RunScript   : false
};

function AlertForAtLeastOneItemNotAnswered()
{
    alert(GlobalMsg.NotAllItemsAnswered); 
}


function ClientCheck(pageID)
{
    if(pageID == "" || pageID == -1)
    {
        return false;
    }
    
    var curPage = document.getElementById("hidCurrentItem").value;
    
    if(curPage == pageID)
    {
        return false;
    }
    
    if (GlobalMsg.NeedReplied)
    {
        if (!checkItemReplied(true))
        {
            return false;
        }
    }
    
    return true;
}

function CloseWindow(msg)
{
    if (msg != "")
    {
        alert(msg);
    }
    window.opener = null;
    window.close();
    window.navigate("about:blank");
}


function WindowOnload()
{
    if (window.onload != null)
    {
        var oldOnload = window.onload;
        window.onload = function(e)
        {
            oldOnload(e);
            SetTimerStyle();
        }
    }
}


function SetTimerStyle()
{
    if(document.getElementById("timeBox").length == 0)
    {
        document.getElementById("timeBox").style.display = "none";
    }
    else
    {
        document.getElementById("timeBox").style.display = (GlobalMsg.IsDisplayed) ? "block" : "none";
        if (GlobalMsg.RunScript) 
            window.setInterval("renderTime()", 1000);
            document.getElementById("lblTimer").style.display = document.getElementById("timeBox").style.display;
    }
    BodyOnLoad();
}
//*****************************************************//

