﻿window.onerror = function(exception)
{
    var errorDetails = "ToString: " + exception.toString() + " | URL: " + window.location.href + " | User Agent: " + navigator.userAgent;

    // Report error to the server log
    var options = {
        url: "/handlers/ErrorReportingHandler.ashx",
        data: errorDetails,
        type: "POST"
    };

    jQuery.ajax(options);
};

function ReportPagePresenceTimes()
{
    var intervals = [2, 15, 60, 300];

    var options = {
        url: "/handlers/PageTimeHandler.ashx",
        type: "POST"
    };

    function CreateMakeCallFunction(interval)
    {
        return function()
        {
            window.setTimeout(
                function()
                {
                    options.data = interval.toString();
                    jQuery.ajax(options);
                }
                , interval * 1000);
        };
    }

    try
    {
        for (var i = 0; i < intervals.length; ++i)
        {
            CreateMakeCallFunction(intervals[i])();  // Execute
        }
    }
    catch(ex)
    {
        // Do nothing
    }
}

function CloseNewsAlert()
{
    document.getElementsByTagName("body")[0].className = null;
    jQuery(".NewsAlert").remove();
}

// Has problems
//jQuery.ajaxSetup({ dataType: "text", timeout: 15000, ifModified: true });
jQuery.ajaxSetup({ dataType: "text", timeout: 15000, ifModified: false });

ReportPagePresenceTimes();  // Kick it off
