var tracking_ShowModal = 'Show Modal';
var tracking_ProductViewLabel = 'Product View';

$(function () {
	$(document).delegate(".modalBackground, #ol_multiMediaWrapper", "click", function () {
		$("#ol_multiMediaWrapper").empty();
		$("#modalSubmission").hide();
		$("#ol_multiMediaWrapper").hide();
	});
});

function showModal(ref) {
    if ($('#ol_' + ref).size() > 0) {
        private_showModal('ol_' + ref);
    }
    else {
        var contextObj = { varRef: ref };
        JackLinks.Page.ModalPageRetrieve(ref, showModal_callback, contextObj);
    }
}

function showModalProductOverlay(ref) {
    recordOutboundLinkLabeled(tracking_ShowModal, ref, tracking_ProductViewLabel);
    showModal(ref);
}

function showModal_callback(res) {
    if (res.error && res.error.Message != 'Unknown') {
        alert($(res.error).attr("Message"));
    }
    else {
        var xContent = $(res.value).find("root");
        $("body").append(xContent.text());


        private_showModal('ol_' + res.context.varRef);
    }
}

function private_showModal(ref) {
    if ($("#"+ ref).css("display") == "block") {
        if (ref == 'ol_ContactUs') {
            // push popup overlay back to normal spot
            $('.PageOverlay').css('position', 'relative');
            $('.PageOverlay').css('margin-left', 'auto');
            $('.PageOverlay').css('margin-top', '');
            $('.PageOverlay').css('left', '');
        }
        document.getElementById(ref).style.display = "none";
        document.getElementById('modalSubmission').style.display = "none";
        window.onscroll = null;

    } else {
        document.getElementById(ref).style.top = getScrollY();
        document.getElementById(ref).style.display = "block";
        document.getElementById('modalSubmission').style.display = "block";
        document.getElementById('modalSubmission').style.top = getScrollY();
        window.onscroll = function () {
            document.getElementById('modalSubmission').style.top = getScrollY();
        };
    }
}

function Modal_Open(ref) {
    document.getElementById(ref).style.top = getScrollY();
    document.getElementById(ref).style.display = "block";
    window.onscroll = function () { document.getElementById(ref).style.top = getScrollY(); };
}

function ModalFixed_Open(ref) {
    document.getElementById(ref).style.top = getScrollY();
    document.getElementById(ref).style.display = "block";
}

function Modal_Close(ref) {
    document.getElementById(ref).style.display = "none";
}

function getScrollY() {
    scrollY = 0;
    if (document.documentElement && document.documentElement.scrollTop) {
        scrollY = document.documentElement.scrollTop;
    } else if (document.body && document.body.scrollTop) {
        scrollY = document.body.scrollTop;
    } else if (window.pageYOffset) {
        scrollY = window.pageYOffset;
    } else if (window.scrollY) {
        scrollY = window.scrollY;
    }
    return scrollY + "px";
}

function showFooterMenu(ref) {
    var menu = "FooterMenu" + ref;
    var nav = "nav" + ref;
    if (document.getElementById(nav).offsetLeft > 747) {
        document.getElementById(menu).style.left = "747px";
    } else {
        document.getElementById(menu).style.left = (document.getElementById(nav).offsetLeft - 10) + "px";
    }
    menu_in(menu);
}

function getScrollFooter(ref) {
    scrollY = 0;
    if (document.documentElement && document.documentElement.scrollTop) {
        scrollY = document.documentElement.scrollTop;
    } else if (document.body && document.body.scrollTop) {
        scrollY = document.body.scrollTop;
    } else if (window.pageYOffset) {
        scrollY = window.pageYOffset;
    } else if (window.scrollY) {
        scrollY = window.scrollY;
    }
    return (scrollY + document.documentElement.clientHeight - ref);
}

function toggleArticle(ref) {
    var wrapperElement = $("#ArticleWrapper" + ref);
    var shareChannel = wrapperElement.attr("channel");
    var shareSubChannel = wrapperElement.attr("subChannel");
    var shareArticle = wrapperElement.attr("article");



    var abstractDiv = "ArticleAbstract" + ref;
    var articleDiv = "Article" + ref;
    var articleArrow = "ArticleArrow" + ref;
    var articleMore = "ArticleMore" + ref;

    //$("#" + abstractDiv).slideToggle();
    $("#" + articleDiv).slideToggle();
    $("#" + articleMore).toggle('slow');
    if (document.getElementById(articleArrow).src.indexOf('arrowContract.gif') != -1) {
        document.getElementById(articleArrow).src = 'Resources/Images/arrowExpand.gif';
        document.getElementById(abstractDiv).style.color = "#bebdbd";
    } else {
        document.getElementById(articleArrow).src = 'Resources/Images/arrowContract.gif';
        document.getElementById(abstractDiv).style.color = "#777777";

        var trackingPage = "Article_" + shareChannel + shareSubChannel + shareArticle + ".aspx";

        //Recording as an even so we can tell how many people navigate directly to a article item page.
        recordOutboundLink("Article Read More", shareArticle);
        //_gaq.push(['_trackPageview', "/" + trackingPage]);
    }
}

function ModalSwitchWindows(from, to) {
    var id = $(from).parents(".PageOverlayContainer")[0].id;
    showModal(id.replace('ol_', ''));
    showModal(to);
}

function ModalSwitchProdutWindow(from, to) {
    var id = $(from).parents(".PageOverlayContainer")[0].id;
    showModal(id.replace('ol_', ''));
    showModalProductOverlay(to);
}

function showSearch() {
    $("#HeaderSearchInput").slideToggle();
}

function clearSearch() {
    document.getElementById('search').value = '';
}

var ua = navigator.userAgent.toLowerCase();
if ((ua.indexOf("firefox/2.0") != -1) || (ua.indexOf("firefox/3.0") != -1)) {
    alert("Just a head's up, your browser seems to be out of date.\n\nWe don't want you to miss out on any of the fun.\nIn order to have the best experience on JackLinks.com\nyou'll need to upgrade your browser to a newer version.\n\nIt's easy... and it's free. Upgrade now at\nwww.firefox.com and you'll be ready to go.")
}

function searchKeyUp(evt) {
    // If it’s Mozilla/FF use evt; else use window.event
    evt = evt ? evt : event;

    var keyCode = evt.keyCode;

    if (keyCode == 13) {
        // do this if it IS the enter key
        Search();
        return false;
    }
}
