﻿Utility.Functions = function()
{
};

var Functions = Utility.Functions;

Utility.Functions.TotalWindowHeight = function()
{
    var d = document.documentElement;
    var b = document.body;
    var who= d.offsetHeight? d: b ;
    return Math.max(who.scrollHeight,who.offsetHeight);
};

Utility.Functions.TotalWindowWidth = function()
{
    var x = 0;
    if(typeof(window.innerWidth) == 'number')
    {
        x = window.innerWidth;
    }  
    else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
    {
        x = document.documentElement.clientWidth;
    }
    else if(document.body && ( document.body.clientWidth || document.body.clientHeight))
    {
        x = document.body.clientWidth;
    }
    return x; 
};

Utility.Functions.ScrollTop = function()
{
    var pos = 0;
    if (window.pageYOffset)
    {
          pos = window.pageYOffset
    }
    else if (document.documentElement && document.documentElement.scrollTop)
    {
        pos = document.documentElement.scrollTop
    }
    else if (document.body)
    {
          pos = document.body.scrollTop
    }
    return pos;   
};

Utility.Functions.ShowLoader = function(show)
{
    _overlay = Ext.get('overlay');
    _loading = Ext.get('loading');

    if (show == true)
    {
        Utility.Functions.SetVis(_loading, true);
        _loading.setX((Functions.TotalWindowWidth() / 2) - (_loading.getWidth() / 2));
        _loading.setY(Functions.ScrollTop() + 200, true);
    }
    else
    {
        _loading.setXY([(Functions.TotalWindowWidth() / 2) - (_loading.getWidth() / 2), 2200], {duration: .35, callback: Functions.HideLoader}); 
    }
};

Utility.Functions.HideLoader = function()
{
    _loading = Ext.get('loading');
    Utility.Functions.SetVis(_loading, false);
};

var AddOnLoadEventArgs = '';

Utility.Functions.AddOnLoadEvent = function(func, args)
{
    var oldonload = window.onload;
    
    AddOnLoadEventArgs = args;
    
    if (typeof window.onload != 'function') 
    {
        window.onload = func;
    }
    else 
    {
        window.onload = function() 
        {
            if (oldonload) 
                oldonload();
            func();
        }
    }
};

Utility.Functions.SetVis = function(extObj, show)
{
    if (show)
    {
        extObj.dom.style.visibility = "visible";
        extObj.setStyle("display", "block"); 
    }
    else
    {
        extObj.dom.style.visibility = "hidden";
        extObj.setStyle("display", "none");
    }
};

Utility.Functions.GetQueryVariable = function(variable) 
{
    var query = window.location.search.substring(1);
    var vars = query.split('&');
    for (var i=0;i<vars.length;i++) 
    {
        var pair = vars[i].split('=');
        if (pair[0] == variable) 
        {
            return pair[1];
        }
    }
    return "";
};