
jQuery(function () {
    var $ = jQuery;

    /* clear input fields automatically */
    function inputFocus() {
        var field = $(this);
        if ($.trim(field.val()) == $.trim(field.attr("title")))
            field.val("");
    }
    function inputBlur() {
        var field = $(this);
        if ($.trim(field.val()) == "")
            field.val(field.attr("title"));
    }

    $("input:text, input:password").focus(inputFocus).blur(inputBlur);

    /* auto link "read more" to entire blocks */
    function readOver(e) {
        if (e.target.nodeName == "A" || e.target.parentNode.nodeName == "A") return;
        $(this).find("h3 a").css({ "text-decoration": "underline" });
    }
    function readOut() {
        $(this).find("h3 a").css({ "text-decoration": "" });
    }
    function readClick(e) {
        if (e.target.nodeName == "A" || e.target.parentNode.nodeName == "A") return;
        e.preventDefault();
        var url = $(this).find("h3 a").attr("href");
        if (e.shiftKey) window.open(url);
        else document.location.href = url;
    }

    /* layer */
    var panelContent;
    var panelFrame;
    var panelParams;

    window.showIFramePanel = function (src, fixedWidth, fixedHeight) {
        panelParams = { src: src, w: fixedWidth || 540, h: fixedHeight };

        $("#POPUP_LAYER .maLayerPad").empty().append($('<div class="loading"></div><iframe frameborder="0" />'));
        panelFrame = $("#POPUP_LAYER iframe");
        panelFrame.css({ visibility: "hidden", height: 100, width: panelParams.w - 12 });

        showPanel("POPUP_LAYER", 100);

        setTimeout(function () {
            panelFrame.attr("src", src).load(resizeFrame);
        }, 100);
        return false;
    }

    window.showIFramePanelNoResize = function (src, fixedWidth, fixedHeight) {
        panelParams = { src: src, w: fixedWidth || 540, h: fixedHeight };

        $("#POPUP_LAYER .maLayerPad").empty().html($('<div></div><iframe frameborder="0" />'));
        panelFrame = $("#POPUP_LAYER iframe");
        panelFrame.css({ visibility: "visible", height: 520, width: panelParams.w - 12 });

        showPanel("POPUP_LAYER", 520);

        setTimeout(function () {
            panelFrame.attr("src", src);
        }, 100);
        return false;
    }

    function resizeFrame(e) {
        var iframe = panelFrame.get(0);
        var docHeight = 520;

        if (panelParams.h) docHeight = panelParams.h;
        else {
            try {
                var doc = iframe.contentDocument || iframe.Document;
                docHeight = Math.max(100, Math.min(520, $(doc.body).height()));
            }
            catch (err) { }
        }

        var totalHeight = docHeight + 46;
        var pageTop = getScroll();
        var dims = getPageDimensions();
        var endY = pageTop + Math.max(34, (dims.height - totalHeight) / 2);

        panelFrame.css({ height: docHeight, visibility: "hidden" });
        panelContent
			.animate({ top: endY }, { duration: 600, complete: resizeEnd })
			.find(".maLayerPad").animate({ height: docHeight }, { duration: 600 });
    }
    function resizeEnd() {
        setTimeout(fadeIFrame, 50);
    }
    function fadeIFrame() {
        panelContent.find(".loading").remove();
        panelFrame.css({ visibility: "visible" });
    }

    function showPanel(idPanel, innerHeight) {
        var panel = $("#" + idPanel);
        panel.appendTo($("#formMain")); // over page content

        panel.find(".maLayerBg").css({ opacity: 0.3, height: $("body").height() });
        panel.find(".closeLayer a").click(window.hidePanel);
        panel.show();

        panelContent = panel.find(".maLayerPanel");
        panelContent.css("width", panelParams.w);
        panelContent.find(".maLayerTop").css("width", panelParams.w - 16);
        if ($.browser.msie > 0 && parseInt($.browser.version) < 7) panelContent.addClass("ie6");
        if (innerHeight)
            panelContent.find(".maLayerPad").css({ height: innerHeight });
        autoCenter();
        $(window).scroll(autoCenter);
        setTimeout(fadePanel, 50);
    }
    function fadePanel() {
        if (panelContent)
            panelContent.fadeIn(200);
    }

    window.hidePanel = function (e) {
        // For Coupon Tagging On Closing Overlay
        insertTag();
        panelContent = $("#POPUP_LAYER").find(".maLayerPanel");
        panelFrame = $("#POPUP_LAYER iframe");
        divMaLayer = $(".maLayer");

        if (e) e.preventDefault();
        if (panelContent) {
            panelContent.parents(".maLayer").find(".maLayerBg").css({ opacity: 0 });
            panelContent.fadeOut(200, removePanel);
            panelContent = null;
        }
        if (panelFrame) {
            panelFrame.unbind("load", resizeFrame);
            panelFrame.attr("src", "");

        }
        if (divMaLayer) {
            divMaLayer.fadeOut();

        }
        return false;
    }
    function removePanel() {
        var panel = $(this).parents(".maLayer");
        panel.hide().find(".maLayerPad").css({ height: 200 });
        panel.find("frame").attr("src", "").css({ height: 200, visibility: "hidden" });
    }

    function autoCenter() {
        if (panelContent) {
            var pageTop = getScroll();
            var dims = getPageDimensions();
            var endY = pageTop + Math.max(34, (dims.height - panelContent.find(".maLayerPad").height() - 95) / 2);
            panelContent.css({ top: endY });
        }
    }

    function getScroll() {
        if (document.all) return top.document.documentElement.scrollTop;
        else return top.pageYOffset;
    }

    window.showOverlayHtmlContent = function (htmlContent, fixedWidth, fixedHeight) {
        panelParams = { src: "none", w: fixedWidth || 540, h: fixedHeight };

        $("#POPUP_LAYER .maLayerPad").empty().append($('<div class="loading"></div><div></div><iframe frameborder="0" style= "display:none;" />' + htmlContent + '</iframe>'));
        panelFrame = $("#POPUP_LAYER iframe");
        panelFrame.css({ visibility: "hidden", height: 100, width: panelParams.w - 12 });

        showPanel("POPUP_LAYER", 100);
        setTimeout(function () {
            panelFrame.attr("src", "")
            panelFrame.src
            panelFrame.load(resizeFrame);
        }, 100);
        return false;
    }



    function getPageDimensions() {
        var dimensions = { width: 0, height: 0 };
        if ($.browser.msie) {
            dimensions.width = document.documentElement.clientWidth;
            dimensions.height = document.documentElement.clientHeight;
        }
        else if (window.innerWidth && window.innerHeight) {
            dimensions.width = window.innerWidth;
            dimensions.height = window.innerHeight;
        }
        return dimensions;
    }

    $(".js-readmore, .coProductItem")
		.css({ cursor: "pointer" })
		.mouseover(readOver).mouseout(readOut)
		.click(readClick);
});
