//Main Document.Ready function
$(document).ready(function () {
    hideEmptyEspots();
    fixIframeZindex();

    //Validation / key press functions
    CheckEnter = function (e, buttonToClick) {
        var keynum;

        if (window.event) // IE
        {
            keynum = e.keyCode
        }
        else if (e.which) // Netscape/Firefox/Opera
        {
            keynum = e.which
        }

        //enter key
        if (keynum == 13) {
            $('#' + buttonToClick).click();
        }
    }

    CheckNumericOrDecimal = function (e) {
        var regex = /^[0-9.]+$/;
        var keynum
        var keychar
        var numcheck

        if (window.event) // IE
        {
            keynum = e.keyCode
        }
        else if (e.which) // Netscape/Firefox/Opera
        {
            keynum = e.which
        }
        keychar = String.fromCharCode(keynum)

        // control keys
        if ((keynum == null) || (keynum == 0) || (keynum == 8) ||
                (keynum == 9) || (keynum == 27) || (keynum == 13))
            return true;


        if (regex.test(keychar)) {
            return true;
        }
        else {
            return false;
        }
    }

    CheckAlphaNumeric = function (e) {
        var regex = /^[0-9A-Za-z]+$/;
        var keynum
        var keychar
        var numcheck

        if (window.event) // IE
        {
            keynum = e.keyCode
        }
        else if (e.which) // Netscape/Firefox/Opera
        {
            keynum = e.which
        }
        keychar = String.fromCharCode(keynum)

        // control keys
        if ((keynum == null) || (keynum == 0) || (keynum == 8) ||
                (keynum == 9) || (keynum == 27) || (keynum == 13))
            return true;


        if (regex.test(keychar)) {
            return true;
        }
        else {
            return false;
        }
    }
});

//Given an encoded html string, this function will decode it back to html
function htmlDecode (string) {
    return decodeURIComponent(string).replace(/&lt;/g, '<').replace(/&gt;/g, '>');
}

//Looks at the optional espots and hides them if they are empty
function hideEmptyEspots() {
    $(".promo-espot, #left-espot").each(function () {
        if ($(this).children('div[id*="ControlWrapper_TUPSSRichHtmlField"]').length > 0) {
            if ($.trim($(this).children('div[id*="ControlWrapper_TUPSSRichHtmlField"]').html()) == "") {
                $(this).hide();
            }
        }
        else {
            if ($.trim($(this).html()) == "") {
                $(this).hide();
            }
        }
    });

    //If all promo-espot divs are hidden, also hide the parent espots div
    if ($("#espots").children(".promo-espot:visible").length === 0) {
        $("#espots").hide();
    }
}

//For iframes, adds ?wmode=transparent to the url
function fixIframeZindex() {
    $('iframe').each(function () {
        var url = $(this).attr("src");
        if (url.indexOf("infusion.com") > -1) {
            return;
        }
        if (url.indexOf("?") > -1) {
            $(this).attr("src", url + "&wmode=transparent");
        }
        else {
            $(this).attr("src", url + "?wmode=transparent");
        }
    });
}
