function checkDefined(o)
{
    return ((typeof(o) != "undefined") && (null != o));
}

function checkString(s)
{
    return ((typeof(s) == "string") && (s.length > 0));
}

function checkFloat(f, min, max)
{
    if(parseFloat(f) || (0 == f))
    {
        if(checkDefined(min))
        {
            if(f < min)
            {
                return false;
            }
        }
        if(checkDefined(max))
        {
            if(f > max)
            {
                return false;
            }
        }
        return true;
    }
    return false;            
}

function checkInt(f, min, max)
{
      if((null != f) && ((typeof(f) != "string") || ("" != f)) && !isNaN(f))
      {
        if(checkDefined(min))
        {
            if(f < min)
            {
                return false;
            }
        }
        if(checkDefined(max))
        {
            if(f > max)
            {
                return false;
            }
        }
        return true;
    }
    return false;            
}

function checkObject(o)
{
    return (typeof(o) == "object" && (null != o));
}

function checkFunction(o)
{
    return (typeof(o) == "function");
}

function checkGuid(str)
{
    var re = /^\{?[a-fA-F\d]{8}-?([a-fA-F\d]{4}-?){3}[a-fA-F\d]{12}\}?$/; 
    return re.test(str); 
}

function checkArray(array, minLength, maxLength)
{
    var arrayCheck = (array instanceof Array);

    if (checkInt(minLength))
    {
        arrayCheck = arrayCheck && (array.length >= minLength);
    }

    if (checkInt(maxLength))
    {
        arrayCheck = arrayCheck && (array.length <= maxLength);
    }

    return arrayCheck;
}

function getUrlParam(param, df)
{
    var params = document.location.search.split('&');
    for (var i = 0; i < params.length; i++)
    {
        var qm = (i == 0 ? "?" : "");
        if (params[i].slice(0, params[i].indexOf('=')).toLowerCase() == (qm + param.toLowerCase()))
        {
            return unescape(params[i].slice(params[i].indexOf('=') + 1));
        }
    }
    return df;
}

function HTMLEncodeString(s)
{
    if((typeof(s) == "string") && (s.length > 0))
    {
        s = s.replace(/\&/g, "&amp;");
        s = s.replace(/\</g, "&lt;");
        s = s.replace(/\>/g, "&gt;");
        s = s.replace(/\"/g, "&quot;");
        s = s.replace(/\'/g, "&#39;");
    }
    return s;
}

/***/
function pageBeforeUnload()
{
    __flash_unloadHandler = function() {};
    __flash_savedUnloadHandler = function() {};
}

if (window.attachEvent)
{
    window.attachEvent("onbeforeunload", pageBeforeUnload); 
}

else if (window.addEventListener)
{
    window.addEventListener("beforeunload", pageBeforeUnload, false);
}    
