﻿var linkAdMouseOver = false;
var linkAdClickTracked = false;
var linkClickTrackedv1 = false;
var linkClickTrackedv2 = false;
var linkRedirectSecs = 0;
var linkRecordSecs = 0;
var linkFocused = null;
var linkCode = "";
var linkRecKey = "";
var linkCtrKey = "";
var linkDestUrl = "";
var linkRefererUrl = "";

// Attach blur functions to the document
if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
    document.onfocusout = function() {
        if (this._activeElement != document.activeElement)
            this._activeElement = document.activeElement;
        else
            onBlur();
    };
}
else {
    document.onblur = function() { onBlur() };
    window.onblur = function() { onBlur() };
}

// attach unload events to the document
window.onbeforeunload = function() { onUnload() };
window.onunload = function() { onUnload() };

// Focus the page on mouse over
document.onmouseover = function() { self.focus(); };

function AdBriteInit(linkUrl) {

    // Check to see if the adbrite object loaded.
    if (typeof ADBRITE == "undefined")
        return;

    // Modify the AdBrite Skip Link
    AdBriteInit_ModifyLink(linkUrl);

}

function AdBriteInit_ModifyLink(linkUrl) {

    var AdBriteSkipThisAd = document.getElementById('AdBriteSkipThisAd');

    // Check to see if the adbrite skip link has loaded.
    if (AdBriteSkipThisAd != null) {
        // Remove the current onclick event
        AdBriteSkipThisAd.onclick = null;
        AdBriteSkipThisAd.removeAttribute("onclick");

        // Add the new onclick event
        AdBriteSkipThisAd.onclick = function() { ADBRITE.INTERMISSION.hide_intermission(); redirectLink(linkUrl); return false; }

    }
    else {
        // Retry after delay period
        setTimeout(function() { AdBriteInit_ModifyLink(linkUrl); }, 100);
    }

}

function initLink() {

    // Set the record click function timeout version 1
    setTimeout(function() { recordClick() }, linkRecordSecs * 1000);

    // Test of the record click system version 2
    recordClickv2(linkRecordSecs, false);

    // Set the countdown function
    if (linkRedirectSecs > 0)
        redirectTimer(linkRedirectSecs);
}

function redirectTimer(seconds) {

    if (isFocused() != null && isFocused() == false) {
        setTimeout(function() { redirectTimer(seconds) }, 1000);
        return;
    }

    var objSeconds = document.getElementById("loaderSeconds");
    seconds = seconds - 1;
    objSeconds.innerHTML = seconds;

    if (seconds > 0)
        setTimeout(function() { redirectTimer(seconds) }, 1000);
    else
        redirectLink(linkDestUrl);
}

function recordClick() {

    linkClickTrackedv1 = true;

    var imageURL = "/RecordClick.aspx?id=" + linkCode + "&key=" + linkRecKey + "&ref=" + linkRefererUrl + "&cacheBust=" + Math.floor(89999999 * Math.random() + 10000000);
    var trackingImage = new Image();
    trackingImage.src = imageURL;
}

function recordClickv2(seconds, bypass) {

    if (bypass != true && isFocused() != null && isFocused() == false) {
        setTimeout(function() { recordClickv2(seconds, bypass) }, 1000);
        return;
    }

    seconds = seconds - 1;

    if (seconds > 0)
        setTimeout(function() { recordClickv2(seconds, bypass) }, 1000);
    else {

        linkClickTrackedv2 = true;
    
        var imageURL = "/RecordClickv2.aspx?id=" + linkCode + "&key=" + linkRecKey + "&ref=" + linkRefererUrl + "&cacheBust=" + Math.floor(89999999 * Math.random() + 10000000);
        var trackingImage = new Image();
        trackingImage.src = imageURL;
    }
}

function recordAdClick() {

    linkAdClickTracked = true;

    var imageURL = "/RecordAdClick.aspx?id=" + linkCode + "&key=" + linkCtrKey + "&cacheBust=" + Math.floor(89999999 * Math.random() + 10000000);
    var trackingImage = new Image();
    trackingImage.src = imageURL;
}

function linkSkip() {
    linkAdClickTracked = true;

    if (!linkClickTrackedv1)
        recordClick();

    if (!linkClickTrackedv2)
        recordClickv2(0, true);
}
function isFocused() {
    if (typeof document.hasFocus != "undefined") {
        linkFocused = document.hasFocus();
    }
    return linkFocused;
}
function onBlur() {
    if (linkAdMouseOver && !linkAdClickTracked)
        recordAdClick();
}
function onUnload() {
    if (linkAdMouseOver && !linkAdClickTracked)
        recordAdClick();
}
function trackMouseover() {
    linkAdMouseOver = true;
}
function trackMouseout() {
    linkAdMouseOver = false;
}
function redirectLink(destUrl) {
    document.location.href = destUrl;
}
function closeTopFrame(e) {

    linkAdClickTracked = true;

    if (!linkClickTrackedv1)
        recordClick();

    if (!linkClickTrackedv2)
        recordClickv2(0, true);

    var childFrame = parent.document.getElementById("frame2");
    e.href = childFrame.src;
}