if (typeof audi_ngw === "undefined") {
    audi_ngw = {};
}

audi_ngw.namespace = function(B, D) {
    var A = D.split(".");
    for (var C = 0; C < A.length; C++) {
        if (typeof(B[A[C]]) === "undefined") {
            B[A[C]] = {};
        }
        B = B[A[C]];
    }
    return B;
};
audi_ngw.clearTimer = function(A) {
    if (!A) {
        return;
    }
    window.clearTimeout(A);
    window.clearInterval(A);
    return null;
};
audi_ngw.getRandomNumber = function(A) {
    var B = Math.floor(Math.random() * A);
    return B;
};
audi_ngw.html_entidiy_decode = function(C) {
    var B = {
        "&gt;": ">",
        "&lt;": "<",
        "&auml;": "ä",
        "&Auml;": "Ä",
        "&ouml;": "ö",
        "&Ouml;": "Ö",
        "&uuml;": "ü",
        "&Uuml;": "Ü"
    };
    for (var A in B) {
        if (B.hasOwnProperty(A)) {
            C = C.split(A).join(B[A]);
        }
    }
    return C;
};
audi_ngw.logCount = 0;

audi_ngw.log = function(C, A) {
    if (false) {
        if ("undefined" == typeof(A)) {
            A = "log";
        }
        try {
            if ("error" == A) {
                console.error(C);
            } else {
                if ("warn" == A) {
                    console.warn(C);
                } else {
                    console.log(C);
                }
            }
            return true;
        } catch(B) {
            if (audi_ngw.ieDebug) {
                if (0 === jQuery("#debug").size()) {
                    jQuery('<div id="debug"></div>').appendTo("body").css({
                        border: "1px solid #fff",
                        overflow: "auto",
                        display: "block",
                        position: "absolute",
                        left: "5px",
                        top: "5px",
                        width: "200px",
                        height: "300px"
                    });
                }
                audi_ngw.logCount++;
                jQuery("#debug").prepend("<p>" + audi_ngw.logCount + ": " + C + "<hr /></p>");
            }
            return true;
        }
    }
};


jQuery(window).bind("unload", function() {
    jQuery("*").add(window).add(document).unbind();
});
audi_ngw.arrayRemove = function(A, C) {
    var E;
    if (!C) {
        return;
    }
    if (isNaN(C)) {
        E = 0;
        for (var B = 0, D = A.length; B < D; B++) {
            if (C == A[B]) {
                E = B;
            }
        }
    } else {
        E = C;
    }
    A.splice(E, 1);
    return A;
};
audi_ngw.namespace(audi_ngw, "global");
audi_ngw.global.initiate = function() {
    jQuery("#audi_navigation_model > li > ul").each(function() {
        jQuery("li:last", this).after('<li class="last">&nbsp;</li>');
    });
    var A;
    jQuery(".adviceTooltipJs").removeClass("adviceTooltipJs");
    jQuery(".adviceTooltip").hover(function(B) {
        jQuery(this).addClass("adviceTooltipHover").find(".adviceContainer").fadeIn(250, function() {
            if (!jQuery(this).parent().hasClass("adviceTooltipHover")) {
                jQuery(this).hide();
            }
        });
    },
    function() {
        jQuery(this).removeClass("adviceTooltipHover");
        A = window.setInterval(function() {
            jQuery(".adviceTooltip").not(".adviceTooltipHover").find(".adviceContainer").hide();
            window.clearInterval(A);
        },
        1000);
    });
    jQuery("#audi_navigation_model > li, #audi_navigation_model_extended > li").hover(function() {
        jQuery("a", this).addClass("active");
        audi_ngw.flash.pauseAll();
        audi_ngw.flash.overlayHide();
        var B = jQuery("> ul", this).css("visibility", "visible").hide().slideDown("normal", function() {
            jQuery("#audi_navigation_iframe").css({
                height: B.outerHeight() + "px",
                width: B.outerWidth() - 2 + "px"
            });
            if (0 !== jQuery(this).parents("#audi_navigation_model_extended").size()) {
                var C = parseInt(jQuery(this).css("left"), 10);
                jQuery("#audi_navigation_iframe").css("left", C + "px");
            }
        });
        if (jQuery.browser.msie === true && parseFloat(jQuery.browser.version) < 6.5) {
            jQuery('<iframe id="audi_navigation_iframe" src="">').appendTo(B.parent());
        }
    },
    function() {
        jQuery("a", this).removeClass("active");
        jQuery("> ul", this).css("visibility", "hidden");
        jQuery("#audi_navigation_iframe").remove();
        audi_ngw.flash.overlayShow();
        audi_ngw.flash.resumeAll();
    });
    jQuery("#audi_navigation_model li li").hover(function() {
        jQuery(this).addClass("hover");
    },
    function() {
        jQuery(this).removeClass("hover");
    });
    jQuery("#audi_navigation_main_sitemap, #audi_navigation_main > li").hover(function() {
        jQuery("a", this).addClass("active");
        audi_ngw.flash.overlayHide();
        audi_ngw.flash.pauseAll();
        var B = jQuery(".audi_navigation_main_overlay, .audi_navigation_main_sub", this).hide().slideDown("normal", function() {
            jQuery("#audi_navigation_iframe").css({
                height: B.outerHeight() + "px",
                width: B.outerWidth() - 2 + "px"
            });
        });
        if (jQuery.browser.msie === true && parseFloat(jQuery.browser.version) < 6.5) {
            if ("audi_navigation_main_sitemap" == B.parent().attr("id")) {
                jQuery('<iframe id="audi_navigation_iframe" src="">').prependTo(B.parent());
            } else {
                jQuery('<iframe id="audi_navigation_iframe" src="">').appendTo(B.parent());
            }
        }
    },
    function() {
        jQuery("a", this).removeClass("active");
        jQuery("#audi_navigation_iframe").remove();
        jQuery(".audi_navigation_main_overlay, .audi_navigation_main_sub", this).stop().hide().css("height", "");
        audi_ngw.flash.overlayShow();
        audi_ngw.flash.resumeAll();
    });
    jQuery("#audi_navigation_main_sitemap").hover(function() {
        jQuery(this).addClass("audi_navigation_main_sitemap_button_active");
    },
    function() {
        jQuery(this).removeClass("audi_navigation_main_sitemap_button_active");
    });
    jQuery(window).resize(function() {
        $mainContainer = jQuery("#audi_container_main");
        if (0 === $mainContainer.size()) {
            return false;
        }
        var G = false;
        if (0 !== jQuery(".template-a-1 .audi_main_flash_stage, .template-a-2 .audi_main_flash_stage").size()) {
            if (0 !== jQuery(".noScale").size() || 0 !== jQuery(".teaser_big").size()) {
                return;
            }
            var D = jQuery(window).height();
            var K = 598;
            var L = 757;
            var M = 295 + 24;
            M = 71 + 35 + 9 + 135 + 4 + 44 + 5 + 25;
            var C = parseInt(jQuery(".audi_main_flash_stage").css("min-height"), 10);
            var H = parseInt(jQuery(".audi_main_flash_stage").css("max-height"), 10);
            var I = 0;
            K = M + C;
            L = M + H;
            if (D > K) {
                I = D - M;
                I = (I % 2 === 0) ? I + 1 : I;
                I = Math.min(I, H);
            } else {
                I = C;
            }
            if (H > I) {
                G = true;
            }
            jQuery(".audi_main_flash_stage").height(I);
            jQuery(".con_teaser_home_splitstage_dynamic").height(I).find("li").height(I / 2 - 24).find(".teaser_home_image").height((I / 2 - 24) - 30);
        }
        var J = jQuery(window).height();
        var F = $mainContainer.offset();
        var B = F.top + $mainContainer.height() + parseInt($mainContainer.css("margin-top"), 10);
        var E = J - B;
        if (true === G || 50 < E) {
            jQuery("#audi_container_main").removeClass("audi_main_container_footer");
            if (jQuery.browser.mozilla && (jQuery.browser.version.split(".")[0] + "." + jQuery.browser.version.split(".")[1]) < 1.9) {
                jQuery("#audi_container_footer").css("position", "relative");
            } else {
                jQuery("#audi_container_footer").addClass("audi_container_footer_relative");
            }
        } else {
            jQuery("#audi_container_main").addClass("audi_main_container_footer");
            if (jQuery.browser.mozilla && (jQuery.browser.version.split(".")[0] + "." + jQuery.browser.version.split(".")[1]) < 1.9) {
                jQuery("#audi_container_footer").css("position", "fixed").removeClass("audi_container_footer_relative");
            } else {
                jQuery("#audi_container_footer").removeClass("audi_container_footer_relative");
            }
        }
    });
    jQuery(window).resize();
    window.setTimeout("jQuery(window).resize()", 1000);
    audi_ngw_enable_regionselector = function(B) {
        jQuery(".audi_container_emo_flash").unbind("mouseover").unbind("mouseout");
        jQuery("#audi_con_com_region").css("display", "block");
    };
    if (jQuery(".sIFR").hasClass("audi_h1_border")) {
        _parentlen = jQuery(".sIFR").parent().width() - 2;
        jQuery(".audi_h1_border").width(_parentlen);
    }
};
audi_ngw.namespace(audi_ngw, "track");
audi_ngw.track.onClick = function(A) {
    if (A.hasClass("track_click")) {
        return audi_ngw.config.onClickTrack(A.metadata().track_options);
    }
};
audi_ngw.track.flashTrack = function(A) {
    return audi_ngw.config.onClickTrack(A);
};
audi_ngw.track.onAjaxLoad = function(A) {
    if (A.hasClass("track_load")) {
        return audi_ngw.config.onAjaxLoadTrack(A.metadata().track_options);
    }
};
audi_ngw.track.onClickStub = function(A) {
    audi_ngw.log("## STUB: audi_ngw.track.onClickStub" + A);
};
audi_ngw.track.onAjaxLoadStub = function(A) {
    audi_ngw.log("## STUB: audi_ngw.track.onAjaxLoadStub" + A);
};
audi_ngw.track.onAjaxModalContentReady = function(B, C) {
    if (!audi_ngw.url.hasXHRContent(C, B.timeStamp)) {
        return false;
    }
    var A = "#";
    A += audi_ngw.url.getContentId();
    A += " .track_load";
    $(A).each(function() {
        audi_ngw.track.onAjaxLoad(jQuery(this));
    });
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.track.onAjaxSnippetReady = function(B, C) {
    var A = C.sId;
    A += " .track_load";
    $(A).each(function() {
        audi_ngw.track.onAjaxLoad(jQuery(this));
    });
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.track.initiate = function() {
    this.__className = "audi_ngw.track";
    this.__classVersion = "1.0";
    audi_ngw.event.bind("ajaxModalContentReady.track", audi_ngw.track.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.track.onAjaxSnippetReady);
};
audi_ngw.namespace(audi_ngw, "preload");
audi_ngw.preload._aSSrc = [];
audi_ngw.preload._aCached = [];
audi_ngw.preload.add = function() {
    if (arguments[0].constructor == String) {
        audi_ngw.preload._aSSrc.push(audi_ngw.url.prefixUrlWithDomain(arguments[0]));
    }
    if (arguments[0].constructor == Array) {
        jQuery(arguments[0]).each(function(B, A) {
            audi_ngw.preload._aSSrc.push(audi_ngw.url.prefixUrlWithDomain(A));
        });
    }
    audi_ngw.preload.run();
};
audi_ngw.preload.run = function() {
    if (audi_ngw.preload._aSSrc.length) {
        audi_ngw.preload._doRun();
    }
};
audi_ngw.preload._doRun = function() {
    jQuery(audi_ngw.preload._aSSrc).each(function(C, B) {
        if (jQuery.inArray(B, audi_ngw.preload._aCached) === -1) {
            audi_ngw.preload._aCached.push(B);
            var A = jQuery('<img src="" />').attr("src", B);
            audi_ngw.preload._aSSrc.shift();
            A = null;
        }
    });
};
audi_ngw.namespace(audi_ngw, "event");
audi_ngw.event.ajaxModalContentReadyRegistered = [];
audi_ngw.event.ajaxModalContentReadyCount = 0;
audi_ngw.event.ajaxModalContentReadyCountCopy = 0;
audi_ngw.event.trigger = function(B, A) {
	audi_ngw.log("event.trigger: "+B);
    switch (B) {
    case "ajaxModalContentPrepared":
        audi_ngw.event.ajaxModalContentReadyCount--;
        jQuery(document).trigger("ajaxModalContentPrepared");
        break;
    case "ajaxPageLoadContentReady":
        jQuery(document).trigger("ajaxPageLoadContentReady");
        break;
    case "ajaxSnippetReady":
        jQuery(document).trigger("ajaxSnippetReady", A);
        break;
    case "ajaxSnippetPrepared":
        jQuery(document).trigger("ajaxSnippetPrepared", A);
        break;
    }
};
audi_ngw.event.unbind = function(B) {
    var A = B.split(".")[1];
    B = B.split(".")[0];
    switch (B) {
    case "ajaxModalContentReady":
        if (jQuery.inArray(A, audi_ngw.event.ajaxModalContentReadyRegistered) === -1 || !A) {
            return;
        }
        jQuery(document).unbind("ajaxModalContentReady" + A);
        audi_ngw.event.ajaxModalContentReadyRegistered = audi_ngw.arrayRemove(audi_ngw.event.ajaxModalContentReadyRegistered, A);
        audi_ngw.event.ajaxModalContentReadyCount--;
        audi_ngw.event.ajaxModalContentReadyCountCopy--;
        break;
    case "ajaxPageLoadContentReady":
        jQuery(document).unbind("ajaxPageLoadContentReady", fn);
        break;
    case "ajaxSnippetReady":
        jQuery(document).unbind("ajaxSnippetReady", fn);
        break;
    case "ajaxSnippetPrepared":
        jQuery(document).unbind("ajaxSnippetPrepared", fn);
        break;
    }
};
audi_ngw.event.bind = function(C, B) {
    var A = C.split(".")[1];
    C = C.split(".")[0];
    switch (C) {
    case "ajaxModalContentReady":
        if (jQuery.inArray(A, audi_ngw.event.ajaxModalContentReadyRegistered) !== -1 || !A) {
            return;
        }
        jQuery(document).bind("ajaxModalContentReady." + A, B);
        audi_ngw.event.ajaxModalContentReadyRegistered.push(A);
        audi_ngw.event.ajaxModalContentReadyCount++;
        audi_ngw.event.ajaxModalContentReadyCountCopy++;
        break;
    case "ajaxPageLoadContentReady":
        jQuery(document).bind("ajaxPageLoadContentReady", B);
        break;
    case "ajaxSnippetReady":
        jQuery(document).bind("ajaxSnippetReady", B);
        break;
    case "ajaxSnippetPrepared":
        jQuery(document).bind("ajaxSnippetPrepared", B);
        break;
    }
};
audi_ngw.namespace(audi_ngw, "event.ajaxTriggers");
audi_ngw.event.ajaxTriggers.parseDom = function(B) {
    var A = B;
    A += " .trigger_load";
    jQuery(A).each(function() {
        audi_ngw.event.ajaxTriggers._trigger(jQuery(this));
    });
};
audi_ngw.event.ajaxTriggers._trigger = function(A) {
	audi_ngw.log("_trigger: "+A);
    if (A.is("a") === true) {
        audi_ngw.navigation.doPrepareLink(A);
    }
    var B = A.metadata().trigger_options;
    if (B && B.sType) {
        A.trigger(B.sType, (B.sData || {}));
        A.removeClass("trigger_load");
    }
    if (A.is("a") === true && A.attr("rel") === "nohistory") {
        window.location.href = A.attr("href");
    }
};
audi_ngw.event.ajaxTriggers.onAjaxSnippetPrepared = function(A, B) {
    if (!B) {
        return;
    }
    audi_ngw.event.ajaxTriggers.parseDom(B.sId);
    audi_ngw.event.trigger("ajaxSnippetComplete");
};
audi_ngw.event.ajaxTriggers.initiate = function() {
	audi_ngw.log("ajaxTriggers.initiate");
    audi_ngw.event.bind("ajaxSnippetPrepared", audi_ngw.event.ajaxTriggers.onAjaxSnippetPrepared);
};
audi_ngw.namespace(audi_ngw, "api.helper");
audi_ngw.api.helper.aExecQueueFn = [];
audi_ngw.api.helper.aExecQueueId = [];
audi_ngw.api.helper.tExecTimer = null;
audi_ngw.api.helper.iExecutionTries = 0;
audi_ngw.api.helper.iMaxRepitions = 40;
audi_ngw.api.helper.iExecTimeoutMs = 250;
audi_ngw.api.helper.strict = function(A, C) {
    var B = false;
    if (C === Function) {
        B = jQuery.isFunction(A);
    } else {
        B = (A.constructor == C);
    }
    if (B === true) {
        return true;
    } else {
        return false;
    }
};
audi_ngw.api.helper.execute = function(D, A) {
    var C;
    if (jQuery.isFunction(D)) {
        A = A || String(D);
        try {
            C = jQuery.inArray(A, audi_ngw.api.helper.aExecQueueId);
            if (C !== -1) {
                audi_ngw.api.helper.aExecQueueFn.splice(C, 1);
                audi_ngw.api.helper.aExecQueueId.splice(C, 1);
            }
            D();
            return true;
        } catch(B) {
            C = jQuery.inArray(A, audi_ngw.api.helper.aExecQueueId);
            if (C === -1) {
                audi_ngw.api.helper.aExecQueueFn.push(D);
                audi_ngw.api.helper.aExecQueueId.push(A);
            }
            if (!audi_ngw.api.helper.tExecTimer) {
                audi_ngw.api.helper.tExecTimer = window.setInterval(function() {
                    audi_ngw.api.helper.executeQueue();
                },
                audi_ngw.api.helper.iExecTimeoutMs);
            }
            return false;
        }
    } else {
        return false;
    }
};
audi_ngw.api.helper.executeQueue = function() {
    for (var A = 0; A < audi_ngw.api.helper.aExecQueueId.length; A++) {
        audi_ngw.api.helper.execute(audi_ngw.api.helper.aExecQueueFn[A], audi_ngw.api.helper.aExecQueueId[A]);
    }
    if (audi_ngw.api.helper.aExecQueueId.length === 0 || audi_ngw.api.helper.iExecutionTries++>=audi_ngw.api.helper.iMaxRepitions) {
        audi_ngw.api.helper.tExecTimer = audi_ngw.clearTimer(audi_ngw.api.helper.tExecTimer);
        audi_ngw.api.helper.iExecutionTries = 0;
        audi_ngw.api.helper.aExecQueueFn = [];
        audi_ngw.api.helper.aExecQueueId = [];
    }
};
audi_ngw.namespace(audi_ngw, "api");
audi_ngw.api.openModal = function(B, A) {
    audi_ngw.api.helper.strict(A, Object);
    audi_ngw.api.helper.execute(A.onOpen);
    A.onOpen = null;
    audi_ngw.api.helper.execute(function() {
        audi_ngw.layer.modal.api.show(B, A);
    },
    "audi_ngw.layer.modal.api.show");
    A.onClose = null;
};
audi_ngw.api.openDetail = function(B, A) {
    audi_ngw.api.helper.strict(B, String);
    audi_ngw.api.helper.strict(A, Object);
    audi_ngw.api.helper.execute(A.onOpen);
    A.onOpen = null;
    audi_ngw.api.helper.execute(function() {
        audi_ngw.layer.modal.api.show(B, A);
    },
    "audi_ngw.layer.modal.api.detail");
    A.onClose = null;
};
audi_ngw.api.openAdvice = function(B, A) {
    audi_ngw.api.helper.strict(B, String);
    audi_ngw.api.helper.strict(A, Object);
    audi_ngw.api.helper.execute(A.onOpen);
    A.onOpen = null;
    audi_ngw.api.helper.execute(function() {
        audi_ngw.layer.modal.api.show(B, A);
    },
    "audi_ngw.layer.modal.api.detail");
    A.onClose = null;
};
audi_ngw.api.openLogin = function(B, A) {
    audi_ngw.api.helper.strict(B, String);
    audi_ngw.api.helper.strict(A, Object);
    audi_ngw.api.helper.execute(A.onOpen);
    A.onOpen = null;
    audi_ngw.api.helper.execute(audi_ngw.layer.modal.api.login(B, A));
    A.onClose = null;
};
audi_ngw.api.track = function(A, B, C) {
    audi_ngw.api.helper.strict(A, String);
    audi_ngw.api.helper.strict(B, String);
};
audi_ngw.api.bindClickEvents = function(A) {
    return audi_ngw.navigation.prepareLinks(A);
};
audi_ngw.namespace(audi_ngw, "api.iframe");
audi_ngw.api.iframe.updated = function() {
    audi_ngw.iframe.onUpdate();
};
audi_ngw.api.iframe.loaded = function() {
    audi_ngw.iframe.onLoad();
};
audi_ngw.api.iframe.unloaded = function() {
    audi_ngw.iframe.onUnload();
};
audi_ngw.api.iframe.height = function(A) {
    if (!audi_ngw.api.helper.strict(A, Number)) {
        return;
    }
    audi_ngw.iframe.setHeight(A);
};
audi_ngw.namespace(audi_ngw, "api.flash");
audi_ngw.api.flash.width = function(C, A) {
    A = parseInt(A, 10);
    try {
        audi_ngw.flash.setWidth(C, A);
    } catch(B) {
        return false;
    }
};
audi_ngw.api.flash.height = function(C, A) {
    A = parseInt(A, 10);
    try {
        audi_ngw.flash.setHeight(C, A);
    } catch(B) {
        return false;
    }
};
audi_ngw.namespace(audi_ngw, "iframe");
audi_ngw.iframe.sIdIframe = "#audi_iframe";
audi_ngw.iframe.heightAdded = 50;
audi_ngw.iframe.onUpdate = function() {
    if (!audi_ngw.iframe.hasIFrame()) {
        return;
    }
    try {
        var B = jQuery(jQuery("#audi_iframe").get(0).contentWindow.document.body);
        var A = (B.find("#audi_container_main").size()) ? B.find("#audi_container_main").outerHeight() : B.outerHeight();
        jQuery("#audi_iframe").height(A + audi_ngw.iframe.heightAdded + "px");
        if (jQuery("#audi_iframe").hasClass("modal_scroll_top")) {
            audi_ngw.animation.modalScrollTop();
        }
        _headlineNode = B.find("#audi_modal_header.push_modal_header h1");
        if (_headlineNode.length > 0) {
            if (_headlineNode.hasClass("flashReplaced")) {
                jQuery("#audi_modal_header h1").replaceWith('<h1 class="sIFR">' + _headlineNode.find("span.aural").text() + "</h1>");
                audi_ngw.flash.replaceLayerHeadlines();
            } else {
                jQuery("#audi_modal_header h1").html(_headlineNode.html());
            }
        }
        B.find("button.cancel").click(function() {
            audi_ngw.layer.modal.hide();
            return false;
        });
        if (B.find("div#parentReload").length) {
            window.location = window.location;
            return false;
        }
        if (B.find("div#parentLocation").length) {
            meta = jQuery(B.find("div#parentLocation")).metadata();
            window.location = meta.location;
            return false;
        }
        if (B.find("div#parentClick").length) {
            meta = jQuery(B.find("div#parentClick")).metadata();
            jQuery(meta.element).click();
            return false;
        }
    } catch(C) {}
};
audi_ngw.iframe.onUnload = function() {
    if (!audi_ngw.iframe.hasIFrame()) {
        return;
    }
};
audi_ngw.iframe.setHeight = function(A) {
    if (!audi_ngw.iframe.hasIFrame()) {
        return;
    }
    jQuery(audi_ngw.iframe.sIdIframe).height(A);
};
audi_ngw.iframe.hasIFrame = function() {
    var A = jQuery(audi_ngw.iframe.sIdIframe).size();
    A = !!A;
    return A;
};
audi_ngw.iframe.onResize = function() {
    if (!audi_ngw.iframe.hasIFrame()) {
        return;
    }
    jQuery(window).resize(audi_ngw.iframe.onUpdate);
};
audi_ngw.iframe.onLoad = function(A) {
    if (!audi_ngw.iframe.hasIFrame()) {
        return;
    }
    audi_ngw.iframe.onUpdate();
    audi_ngw.api.helper.execute(A);
};
audi_ngw.iframe.loadFromGeneratedSelect = function(C) {
    var A = jQuery(C.target) || jQuery(C);
    var B = A.val();
    if (!audi_ngw.url.validate(B)) {
        return B;
    }
    jQuery(audi_ngw.dom.select._sIdIFrame).attr("src", B);
    return B;
};
audi_ngw.iframe.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    if (jQuery("#audi_iframe").size() && jQuery("#audi_iframe").hasClass("set_onload")) {
        jQuery("#audi_iframe").load(audi_ngw.iframe.onLoad);
    }
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.iframe.setCssOnHTML = function() {
    if (window.parent != window.self) {
        jQuery("html").css({
            overflow: "hidden"
        });
    }
};
audi_ngw.iframe.setCssOnHTML();
audi_ngw.iframe.initiate = function() {
    if (audi_ngw.iframe.hasIFrame()) {
        if (jQuery("#audi_iframe").hasClass("set_onload")) {
            jQuery("#audi_iframe").load(audi_ngw.iframe.onLoad);
        } else {
            audi_ngw.iframe.onUpdate();
        }
    }
    audi_ngw.iframe.setCssOnHTML();
    audi_ngw.event.bind("ajaxModalContentReady.iFrame", audi_ngw.iframe.onAjaxModalContentReady);
};
audi_ngw.namespace(audi_ngw, "print");
audi_ngw.print.open = function(A) {
    return window.open(A, "funcPrint");
};
audi_ngw.print.unsetInlineCss = function() {
    if (jQuery(".hasModal").size()) {
        jQuery("html").css({
            overflow: ""
        });
        jQuery("#audi_modal_super_wrapper").css({
            position: "",
            left: "",
            top: ""
        });
        jQuery("#audi_modal_wrapper").css({
            width: "auto"
        });
        jQuery("#audi_modal_container").css({
            position: "",
            left: "",
            top: "",
            width: ""
        });
        jQuery("#audi_modal_overlay").css({
            display: ""
        });
    }
    jQuery("#audi_navigation_breadcrumb").css({
        visibility: "",
        height: "",
        "line-height": "",
        "font-size": "",
        "text-indent": "",
        position: "",
        left: "",
        top: "",
        width: ""
    });
    jQuery(".func_pagelinks, .toolbox").css({
        display: ""
    });
    jQuery("#audi_gallery_fullscreen").css({
        display: ""
    });
};
audi_ngw.print.setCss = function() {
    jQuery("link[media*='screen']").eq(0).attr("href", jQuery("link[media*='print']").eq(0).attr("href")).end().slice(1).attr("media", "tty").remove();
    jQuery(audi_ngw.print._oOptions.sHTMLPrintPreviewLink).appendTo(jQuery("head").get(0));
};
audi_ngw.print.removeScripts = function() {
    jQuery("*").unbind();
};
audi_ngw.print.addPreviewElements = function() {
    jQuery(audi_ngw.print._oOptions.sIdAddPrintPreviewLabel).prepend(audi_ngw.print._oOptions.sHTMLPrintPreviewLabel);
    jQuery(audi_ngw.print._oOptions.sIdAddPrintPreviewElement).before(audi_ngw.print._oOptions.sHTMLPrintPreviewElement);
    jQuery("body").append(audi_ngw.print._oOptions.sHTMLPrintPreviewElement);
    jQuery(".audi_print_bar a").unbind("click.print").bind("click.print", audi_ngw.print.clickPrint);
};
audi_ngw.print.clickPrint = function() {
    window.print();
};
audi_ngw.print.setPreview = function() {
    if (jQuery(".audi_print_bar").size()) {
        return;
    }
    audi_ngw.flash.disableFlash = true;
    audi_ngw.print.removeScripts();
    audi_ngw.print.unsetInlineCss();
    audi_ngw.print.addPreviewElements();
    audi_ngw.print.setCss();
    return false;
};
audi_ngw.print.initiate = function() {
    this.__className = "audi_ngw.print";
    this.__classVersion = "1.2";
    this._oOptions = {};
    this._oOptions.sHTMLPrintPreviewLink = '<link charset="utf-8" media="screen" type="text/css" href="' + audi_ngw.config.cssPrintPreview + '" rel="stylesheet"/>';
    this._oOptions.sIdAddPrintPreviewLabel = "#audi_container_header";
    this._oOptions.sHTMLPrintPreviewLabel = '<p id="audi_print_label">' + audi_ngw.dictionary.PRINTLABEL + "</p>";
    this._oOptions.sIdAddPrintPreviewElement = "#audi_container_page";
    this._oOptions.sHTMLPrintPreviewElement = '<div class="audi_print_bar"><a href="#"><img alt="Drucken" src="' + audi_ngw.docroot + 'files/allgmein/audi_sprite_icon_print.gif"/>' + audi_ngw.dictionary.PRINT + "</a></div>";
    jQuery(window).bind("load.print", function() {
        jQuery(window).unbind("load.print");
        if (window.name == "funcPrint") {
            audi_ngw.print.setPreview();
            window.name = "";
            window.setTimeout(function() {
                window.print();
            },
            500);
        }
    });
};
audi_ngw.namespace(audi_ngw, "flash");
audi_ngw.flash.hasFlash = false;
audi_ngw.flash.disableFlash = false;
audi_ngw.flash.hasSIFR = false;
audi_ngw.flash.sNeededFlashVersion = null;
audi_ngw.flash.overlayHide = function() {
    jQuery("#audi_gallery_fullscreen").hide();
};
audi_ngw.flash.overlayShow = function() {
    jQuery("#audi_gallery_fullscreen").show();
};
audi_ngw.flash.setWidth = function(C, B) {
    var A = jQuery("#" + C);
    if (1 == A.size()) {
        A.css("overflow", "hidden");
        A.width(B);
        return true;
    }
    return false;
};
audi_ngw.flash.setHeight = function(C, A) {
    var B = jQuery("#" + C);
    if (1 == B.size()) {
        B.height(A).attr("height", A);
        return true;
    }
    return false;
};
audi_ngw.flash.replaceBreadcrumb = function() {
    if (false === audi_ngw.sIFRenabled) {
        return false;
    }
    var A = jQuery("#audi_navigation_breadcrumb").css("font-size");
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_navigation_breadcrumb",
        sSelectorElement: "*",
        sFontSize: A
    });
};
audi_ngw.flash.adviceLayerHeadlines = function() {
    audi_ngw.flash.replace({
        sSelectorWrapper: ".audi_template_d",
        sSelectorElement: "h4.sIFR",
        sFontSize: "14px"
    });
};
audi_ngw.flash.replaceLayerHeadlines = function() {
    if ("undefined" !== typeof(audi_ngw.sIFRenabled) && false === audi_ngw.sIFRenabled) {
        return false;
    }
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_modal_container",
        sSelectorElement: "h1.sIFR",
        sFontSize: "18px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_modal_container",
        sSelectorElement: "h2.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_modal_container",
        sSelectorElement: "h3.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_modal_container",
        sSelectorElement: "h4.sIFR",
        sFontSize: "11px"
    });
};
audi_ngw.flash.replaceHeadlines = function() {
    if ("undefined" !== typeof(audi_ngw.sIFRenabled) && false === audi_ngw.sIFRenabled) {
        return false;
    }
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_container_header.myaudi_widget",
        sSelectorElement: "h1.sIFR",
        sFontSize: "11px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_container_header.myaudi_widget",
        sSelectorElement: "h2.sIFR",
        sFontSize: "10px",
        sTextColor: "#2b2e33"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_container_header.myaudi_card_header",
        sSelectorElement: "h1.sIFR",
        sFontSize: "26px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_container_header.myaudi_card_header",
        sSelectorElement: "h2.sIFR",
        sFontSize: "14px",
        sTextColor: "#2b2e33"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_nav_distributor",
        sSelectorElement: "h2.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_teaser_content",
        sSelectorElement: "h3.sIFR",
        sFontSize: "11px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "div.audi_teaser_content",
        sSelectorElement: "h3.sIFR",
        sFontSize: "11px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#con_news_pageheadline",
        sSelectorElement: "h1.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_content_wrapper",
        sSelectorElement: "h1.sIFR",
        sFontSize: "18px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_modal_header",
        sSelectorElement: "h1.sIFR",
        sFontSize: "18px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_teaser_area",
        sSelectorElement: "h2.sIFR",
        sFontSize: "11px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_content_wrapper",
        sSelectorElement: "h3.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: ".audi_template_d",
        sSelectorElement: "h4.sIFR",
        sFontSize: "14px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_content_wrapper",
        sSelectorElement: "h2.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_modal_body",
        sSelectorElement: "h2.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_content_wrapper",
        sSelectorElement: "legend.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_marginalia",
        sSelectorElement: "h3.sIFR",
        sFontSize: "13px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_navigation_footer",
        sSelectorElement: "h4.sIFR",
        sFontSize: "11px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_container_header",
        sSelectorElement: "h1.sIFR",
        sFontSize: "15px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: ".audi_myaudi_login .carlisting",
        sSelectorElement: "h2.sIFR.inactive",
        sFontSize: "22px",
        sTextColor: "#adaeb2"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: ".audi_myaudi_login .carlisting",
        sSelectorElement: "h2.sIFR",
        sFontSize: "22px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: ".audi_myaudi_login",
        sSelectorElement: "h2.sIFR",
        sFontSize: "11px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: "#audi_navigation_model_extended",
        sSelectorElement: "h5.sIFR",
        sFontSize: "18px"
    });
    audi_ngw.flash.replace({
        sSelectorWrapper: ".adviceContainer",
        sSelectorElement: "h4.sIFR",
        sFontSize: "14px"
    });
};
audi_ngw.flash.replace = function(D) {
    if (audi_ngw.flash.disableFlash === true || audi_ngw.flash.hasFlash === false || audi_ngw.flash.hasSIFR === false) {
        return;
    }
    var C;
    var A = audi_ngw.FlashSrcBreadcrumb;
    var F = audi_ngw.FlashSrcHeadlines;
    var B = D.sSelectorWrapper;
    B += " ";
    B += D.sSelectorElement;
    switch (B) {
    case "#audi_navigation_breadcrumb *":
        C = jQuery("#audi_navigation_breadcrumb");
        if (C.hasClass("flashReplaced")) {
            return false;
        }
        audi_ngw.flash._doReplace(C, {
            sFlashSrc: A,
            sFontSize: D.sFontSize
        },
        {
            sType: "breadcrumb"
        });
        C.addClass("flashReplaced").removeClass("sIFR");
        break;
    case "#audi_modal_container h1.sIFR":
    case "#audi_content_wrapper h1.sIFR":
        C = jQuery(B.split(" ")[0]);
        if (C.find("h1.sIFR span.first_half").size()) {
            audi_ngw.flash._doReplace(C.find("h1.sIFR span.first_half"), {
                sTextColor: "#ffffff",
                sFontSize: D.sFontSize,
                sFlashSrc: F
            },
            {
                sType: "h1.multiline"
            });
            audi_ngw.flash._doReplace(C.find("h1.sIFR span.second_half"), {
                sTextColor: "#2b2f33",
                sFontSize: D.sFontSize,
                sFlashSrc: F
            },
            {
                sType: "h1.multiline"
            });
        } else {
            var E = C.find("h1.sIFR");
            if (!E.size()) {
                return false;
            }
            if (!E.find("span").size()) {
                E.wrapInner(document.createElement("span"));
            }
            audi_ngw.flash._doReplace(C.find("h1.sIFR span"), {
                sTextColor: "#ffffff",
                sFontSize: D.sFontSize,
                sFlashSrc: F
            },
            {
                sType: "h1.singleline"
            });
        }
        C.find("h1.sIFR").addClass("flashReplaced").removeClass("sIFR");
        break;
    default:
        C = jQuery(D.sSelectorWrapper);
        E = C.find(D.sSelectorElement);
        if (!E.size()) {
            return false;
        }
        if (!E.find("span").size()) {
            E.wrapInner(document.createElement("span"));
        }
        
        audi_ngw.log("default: "+D.sSelectorElemen);
        audi_ngw.flash._doReplace(C.find(D.sSelectorElement + " span"), {
            sTextColor: D.sTextColor || "#ffffff",
            sFontSize: D.sFontSize,
            sFlashSrc: F
        },
        {
            sType: "headlines"
        });
        C.find(D.sSelectorElement).addClass("flashReplaced").removeClass(D.sSelectorElement.split(".")[1]);
        break;
    }
};
audi_ngw.flash._doReplace = function(B, G, I) {
    B.find("div").each(function() {
        div = jQuery(this);
        meta = div.metadata();
        if (meta.replace_size) {
            div.wrapInner('<font size="' + meta.replace_size + '"></font>');
            div.replaceWith(div.find("font"));
        }
    });
    var A = (G && G.hoverColor) ? G.hoverColor: "#d5d5d5";
    var C = (G && G.sTextColor) ? G.sTextColor: "#ffffff";
    var H = (G && G.css) ? G.css: "";
    var J = (G && G.sFontSize) ? parseInt(G.sFontSize.slice(0, -2), 10) : "";
    var F = (G && G.sFontSize) ? "font-size: " + G.sFontSize + ";": "";
    var E = (G && G.sFlashSrc) ? G.sFlashSrc: "undefined";
    var D = ["* { color: " + C + "; " + F + "}", ".active, a:hover{color: " + A + ";}"].join(" ");
    B.each(function(K) {
        var T = jQuery(this);
        var V = 2;
        var N = innerXHTML(this);
        var L = {};
        L.height = (I.sType == "h1.multiline") ? parseInt(T.height(), 10) + V: parseInt(T.parent().height(), 10) + V;
        L.width = parseInt(T.parent().width(), 10);
        
        audi_ngw.log("parent: "+T.parent().get(0).tagName);
        audi_ngw.log("parent: "+T.parent().height());
        if (L.height === 0 || L.width === 0) {
            var R = T.audi_identify()[0].id;
            var P = document.getElementById(R);
            var U = P.cloneNode(true);
            U.id = "audi_generic_copy";
            U.className = P.parentNode.tagName.toLowerCase() + " " + P.parentNode.parentNode.className + " " + N.replace(/[^a-zA-Z]/g, "_") + " forceDisplay";
            document.body.appendChild(U);
            L.height = jQuery("#audi_generic_copy").outerHeight() + 3;
            L.width = jQuery("#audi_generic_copy").width();
            U.parentNode.removeChild(U);
            U = null;
        }
        if (T.attr("class").indexOf("second_half") !== -1) {
            var M = jQuery(".second_half").css("marginLeft");
        }
        var S = {};
        S.wmode = "transparent";
        S.allowScriptAccess = "always";
        var Q = {};
        Q.css = escape(D);
        Q.shadow = (T.parent().hasClass("hasShadow"));
        Q.txt = escape(encodeURI(N.toString().replace(/&gt;/g, "")));
        L.width = "100%";
        if (I.sType === "breadcrumb") {
            K = "audi_navigation_breadcrumb";
            L.src = E;
            if (jQuery("#" + K + "_replaced").length === 0) {
                jQuery("<div>").attr("id", (K + "_replaced")).prependTo(jQuery("#" + K).parent());
            }
            audi_ngw.flash.embed(L.src, K + "_replaced", L.width, L.height, audi_ngw.flash.sNeededFlashVersion, "", Q, S);
            jQuery("#" + K).addClass("flashReplaced").css({
                visibility: "hidden",
                height: "1px",
                "line-height": "1px",
                "font-size": "1px",
                width: "1px",
                "text-indent": "-999em",
                position: "absolute",
                left: "0",
                top: "0"
            });
        } else {
            K = audi_ngw.dom.identify(T);
            L.src = E;
            var O = T.parent().find("span.aural");
            if (!T.parent().find("span.aural").size()) {
                jQuery('<span class=""></span>').addClass("aural").text(N).insertAfter(T);
            } else {
                O = O.eq(0);
                O.text(O.text() + " " + N);
            }
            audi_ngw.flash.embed(L.src, K, L.width, L.height, audi_ngw.flash.sNeededFlashVersion, "", Q, S, {
                style: "height: " + L.height + "px"
            });
            jQuery("#" + K).addClass(T.attr("class"));
            if (T.attr("class").indexOf("second_half") !== -1) {
                jQuery("#" + K).wrap('<span class="second_headline"></span>').parent().css("marginLeft", M);
            }
        }
    });
};
audi_ngw.flash.forceRepaint = function() {
    audi_ngw.animation.forceRepaint();
};
audi_ngw.flash.initiate = function(B) {
    var A = (B) ? "#" + B: "";
    A += " .media";
    audi_ngw.flash.objects = [];
    if (audi_ngw.flash.disableFlash === true) {
        return;
    }
    jQuery(A).each(function() {
        var D = jQuery(this);
        var F = D.metadata();
        var E = {};
        E.version = ("undefined" == typeof(F.version)) ? audi_ngw.flash.sNeededFlashVersion: F.version;
        E.width = ("undefined" == typeof(F.width)) ? D.width() : F.width;
        E.height = ("undefined" == typeof(F.height)) ? D.height() : F.height;
        E.src = ("undefined" == typeof(F.src)) ? D.attr("src").replace(/jpg/, "swf") : F.src;
        var G = {};
        G.allowScriptAccess = ("undefined" == typeof(F.allowScriptAccess)) ? "always": F.allowScriptAccess;
        G.allowFullScreen = ("undefined" == typeof(F.allowFullScreen)) ? "true": F.allowFullScreen;
        G.scale = ("undefined" == typeof(F.scale)) ? "noscale": F.scale;
        G.menu = ("undefined" == typeof(F.menu)) ? "false": F.menu;
        G.wmode = ("undefined" == typeof(F.wmode)) ? "opaque": F.wmode;
        if (D.parents("#audi_modal_wrapper").size()) {
            G.wmode = "window";
        }
        if ("undefined" != typeof(F.base)) {
            G.base = F.base;
        }
        if ("undefined" != typeof(F.archive)) {
            G.archive = F.archive;
        }
        if ("undefined" != typeof(F.classid)) {
            G.classid = F.classid;
        }
        if ("undefined" != typeof(F.codebase)) {
            G.codebase = F.codebase;
        }
        if ("undefined" != typeof(F.codetype)) {
            G.codetype = F.codetype;
        }
        if ("undefined" != typeof(F.data)) {
            G.data = F.data;
        }
        if ("undefined" != typeof(F.declare)) {
            G.declare = F.declare;
        }
        if ("undefined" != typeof(F.height)) {
            G.height = F.height;
        }
        if ("undefined" != typeof(F.hspace)) {
            G.hspace = F.hspace;
        }
        if ("undefined" != typeof(F.name)) {
            G.name = F.name;
        }
        if ("undefined" != typeof(F.standby)) {
            G.standby = F.standby;
        }
        if ("undefined" != typeof(F.tabindex)) {
            G.tabindex = F.tabindex;
        }
        if ("undefined" != typeof(F.type)) {
            G.type = F.type;
        }
        if ("undefined" != typeof(F.usemap)) {
            G.usemap = F.usemap;
        }
        if ("undefined" != typeof(F.vspace)) {
            G.vspace = F.vspace;
        }
        if ("undefined" != typeof(F.width)) {
            G.width = F.width;
        }
        if ("undefined" != typeof(F.ctalabel)) {
            F.ctalabel = escape(F.ctalabel);
        }
        if ("undefined" != typeof(F.ctalink)) {
            F.ctalink = escape(F.ctalink);
        }
        if ("undefined" != typeof(F.expressinstall)) {
            F.expressinstall = audi_ngw.flashExpressInstallUrl;
        }
        F.parent_id = D.parent().audi_identify().attr("id");
        var C = jQuery("#" + F.parent_id + " a.cta-button");
        if (jQuery("#audi_container_emo").size() === 0 && C.size() == 1) {
            jQuery("#" + F.parent_id).parent().wrap(jQuery('<div id="" class="cta-wrapper" />')).append(C);
        }
        E["class"] = jQuery("#" + F.parent_id).attr("class");
        audi_ngw.flash.embed(E.src, F.parent_id, E.width, E.height, E.version, F.expressinstall, F, G, E);
        audi_ngw.flash.objects.push(F.parent_id);
    });
};
audi_ngw.flash.checkVersion = function() {
    try {
        var A = [audi_ngw.flashreqversion.major, audi_ngw.flashreqversion.minor, audi_ngw.flashreqversion.rev];
        audi_ngw.flash.sNeededFlashVersion = A.join(".");
        audi_ngw.flash.hasFlash = swfobject.hasFlashPlayerVersion(audi_ngw.flash.sNeededFlashVersion);
        if (audi_ngw.flash.disableFlash === true || audi_ngw.flash.hasFlash === false) {
            jQuery("html").removeClass("hide_sIFR");
        }
    } catch(B) {}
};
audi_ngw.flash.pause = function(B) {
    try {
        jQuery("#" + B)[0].freeze();
    } catch(A) {}
};
audi_ngw.flash.resume = function(B) {
    try {
        jQuery("#" + B)[0].unfreeze();
    } catch(A) {}
};
audi_ngw.flash.pauseAll = function() {
    jQuery(audi_ngw.flash.objects).each(function() {
        audi_ngw.flash.pause(String(this));
    });
};
audi_ngw.flash.resumeAll = function() {
    jQuery(audi_ngw.flash.objects).each(function() {
        audi_ngw.flash.resume(String(this));
    });
};
audi_ngw.flash.soundOn = function(B) {
    try {
        jQuery("#" + B)[0].soundOn();
    } catch(A) {}
};
audi_ngw.flash.soundOff = function(B) {
    try {
        jQuery("#" + B)[0].soundOff();
    } catch(A) {}
};
audi_ngw.flash.remove = function(B) {
    var A = jQuery(B).attr("id") || audi_ngw.DOM.identify(B);
    swfobject.removeSWF(A);
};
audi_ngw.flash.pageLoaded = function(A) {
	audi_ngw.log("pageLoaded: " + A)
    window.setTimeout(function() {
        try {
            swfobject.getObjectById(A).onPageLoad();
        } catch(B) {}
    },
    100);
    return;
};
audi_ngw.flash.getFlashMovie = function(A) {
    try {
        return swfobject.getObjectById(A);
    } catch(B) {}
};
if ("undefined" == typeof(audi_ngw.sIFRenabled) || false !== audi_ngw.sIFRenabled) {
    audi_ngw.flash.hasSIFR = true;
    jQuery("html").addClass("hide_sIFR");
}
audi_ngw.flash.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.flash.replaceLayerHeadlines();
    audi_ngw.flash.initiate(audi_ngw.url.getContentId());
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.flash.onAjaxSnippetReady = function(A, B) {
    audi_ngw.flash.replaceHeadlines();
    audi_ngw.flash.replaceLayerHeadlines();
    audi_ngw.flash.initiate(B.sId.slice(1));
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.flash.embed = function(D, J, G, I, A, C, B, F, H) {
    try {
        swfobject.embedSWF(D, J, G, I, A, C, B, F, H);
        jQuery("#" + J).SetReturnValue = function() {};
    } catch(E) {}
};
audi_ngw.flash.prepare = function() {
    if (!audi_ngw.flashExpressInstallUrl) {
        audi_ngw.flashExpressInstallUrl = "";
    }
    audi_ngw.flash.checkVersion();
    audi_ngw.event.bind("ajaxModalContentReady.flash", audi_ngw.flash.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.flash.onAjaxSnippetReady);
    audi_ngw.flash.replaceBreadcrumb();
    audi_ngw.flash.replaceHeadlines();
    jQuery(audi_ngw.flash.objects).each(function() {
        var A = String(this);
        audi_ngw.api.helper.execute(function() {
            audi_ngw.flash.pageLoaded(A);
        },
        ("audi_ngw.flash.pageLoaded_" + A));
    });
};
audi_ngw.namespace(audi_ngw, "videoplayer");
audi_ngw.videoplayer.onPlaybackComplete = function(A) {
    jQuery("#" + A).siblings(".audi_guided_tour").show();
};
audi_ngw.videoplayer.onStartPlayback = function(A) {};
audi_ngw.namespace(audi_ngw, "dom");
audi_ngw.dom._oRegisteredUniqueElements = {};
$.fn.audi_identify = function() {
    audi_ngw.dom.identify(this);
    return this;
};
$.fn.audi_unsetUnique = function() {
    this.each(function() {
        audi_ngw.dom.unsetUnique(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_setUnique = function() {
    this.each(function() {
        audi_ngw.dom.setUnique(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
audi_ngw.dom._identifyBase = ["audi_genericId_", new Date().getTime()].join("");
audi_ngw.dom._identifyCounter = 0;
audi_ngw.dom.identify = function(B) {
    var A = jQuery(B).attr("id");
    if (!A || A === null || A == "null") {
        jQuery(B).attr("id", ((audi_ngw.dom._identifyBase + "_" + audi_ngw.dom._identifyCounter++).toString()));
    }
    return jQuery(B).attr("id");
};
audi_ngw.dom.unsetUnique = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    audi_ngw.dom._oRegisteredUniqueElements[A] = false;
    delete audi_ngw.dom._oRegisteredUniqueElements[A];
};
audi_ngw.dom.setUnique = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    audi_ngw.dom._oRegisteredUniqueElements[A] = true;
};
audi_ngw.dom.getUnique = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    return !! audi_ngw.dom._oRegisteredUniqueElements[A] || false;
};
audi_ngw.namespace(audi_ngw, "url");
audi_ngw.url.getParam = function(D) {
	audi_ngw.log("url.getParam: " + D);
    var A = window.location.href;
    if (A.indexOf("?") > -1) {
        var B = A.split("?")[1].split("&");
        for (var C = 0; C < B.length; C++) {
            if (B[C].indexOf(D) > -1) {
                return B[C].split("=")[1];
            }
        }
    }
    return null;
};
audi_ngw.url.hasXHRContent = function(B, C) {
    if (!B || !C) {
        return false;
    }
    if (audi_ngw.url.hasXHRContentCache.split(":")[0] != C) {
        var A = (B.responseText.indexOf("audi_content_wrapper") !== -1) ? 1 : 0;
        audi_ngw.url.hasXHRContentCache = C + ":" + A;
        return !! A;
    }
    return !! parseInt(audi_ngw.url.hasXHRContentCache.split(":")[1], 10);
};
audi_ngw.url.getContentId = function() {
    return "audi_modal_container";
};
audi_ngw.url.validate = function(A) { 
	audi_ngw.log("url.validate: " + A);
    var B = "//" + window.location.host;
    if ( - 1 === A.indexOf("://")) {
    	audi_ngw.log("url.validate if 1");
        return true;
    }
    if (audi_ngw.config.sHostHTTPS === audi_ngw.config.sHostHTTP) {
        if (window.location.protocol === "http:" && A.indexOf("http:") === -1) {
        	audi_ngw.log("url.validate if 2");
            return false;
        } else {
            if (window.location.protocol === "https:" && A.indexOf("https:") === -1) {
            	audi_ngw.log("url.validate else1 if1");
                return false;
            }
        }
    } else {
    	audi_ngw.log("A:"+A);
    	audi_ngw.log("B:"+B);
        if ( - 1 === A.indexOf(B) && -1 === A.indexOf(audi_ngw.config.sHostHTTPS) && -1 === A.indexOf(audi_ngw.config.sHostHTTP)) {
            audi_ngw.log("url.validate else2 if1");
			return false;
			//return true //guntram
        }
    }
    return true;
};
audi_ngw.url.validateContext = function(B) {
	audi_ngw.log("url.validateContext: " + B);
    var A;
    if ( - 1 !== B.indexOf("://") && audi_ngw.config.sHostHTTPS === audi_ngw.config.sHostHTTP) {
        if (window.location.protocol === "http:" && B.indexOf("http:") === -1) {
            return false;
        } else {
            if (window.location.protocol === "https:" && B.indexOf("https:") === -1) {
                return false;
            }
        }
    } else {
        if ((B.indexOf(audi_ngw.config.sHostHTTPS) !== -1 && window.location.protocol === "http:")) {
            A = new RegExp(audi_ngw.config.sHostHTTP, "g");
            window.location.href = window.location.href.replace(A, audi_ngw.config.sHostHTTPS);
            return false;
        }
        if ((B.indexOf(audi_ngw.config.sHostHTTP) !== -1 && window.location.protocol === "https:")) {
            A = new RegExp(audi_ngw.config.sHostHTTPS, "g");
            window.location.href = window.location.href.replace(A, audi_ngw.config.sHostHTTP);
            return false;
        }
    }
    return true;
};
audi_ngw.url.addAjaxFragment = function(B, A) {
	audi_ngw.log("addAjaxFragment: " + B + " | " +A)
    A = A || audi_ngw.fragmentSelector;
    if (A && B.indexOf(A) === -1) {
    	//guntram auskommentiert beim lexikon. wird das sonst noch verwendet?
       // B = B.replace(/([^?#]*)(\..*)/, "$1." + A + "$2");
    }
    audi_ngw.log("addAjaxFragment return: " + B)
    return B;
};
audi_ngw.url.removeAjaxFragment = function(B, A) {
    A = A || audi_ngw.fragmentSelector;
    if (A && B.indexOf(A) !== -1) {
        B = B.replace("." + A, "");
    }
    return B;
};
audi_ngw.url.getContext = function(B) {
    var A;
    if ((B.indexOf(audi_ngw.config.sHostHTTP) !== -1 && window.location.protocol === "https:")) {
        A = new RegExp(audi_ngw.config.sHostHTTP, "g");
        B = B.replace(A, audi_ngw.config.sHostHTTPS);
        return B;
    }
    if ((B.indexOf(audi_ngw.config.sHostHTTPS) !== -1 && window.location.protocol === "http:")) {
        A = new RegExp(audi_ngw.config.sHostHTTP, "g");
        B = B.replace(A, audi_ngw.config.sHostHTTPS);
        return B;
    }
    return B;
};
audi_ngw.url.isHTTPSContext = function() {
    return (window.location.protocol === "https:");
};
audi_ngw.url.prefixUrlWithDomain = function(A) {
	audi_ngw.log("url.prefixUrlWithDomain: " + A);
    if (!A) {
        return;
    }
    if (A.indexOf("http://") === -1 && A.indexOf("http://") === -1) {
        if (window.location.protocol === "https:") {
            A = audi_ngw.config.sHostHTTPS + A;
        } else {
            A = audi_ngw.config.sHostHTTP + A;
        }
    }
    return A;
};
audi_ngw.url.hasXHRContentCache = "0:0";
audi_ngw.namespace(audi_ngw, "region");
audi_ngw.region.initiate = function() {
    var A = jQuery.cookie("countryselector");
    if (null !== A) {
        A = A.toLowerCase();
    }
    jQuery(".audi_region_form button.hide").show();
    jQuery(".audi_region_form").unbind("submit").bind("submit", function() {
        var B = jQuery(this);
        var C = jQuery(".regions[name=audi_region]", B).val();
        if (0 !== C && "undefined" !== typeof(C)) {
            var D = jQuery("option[value=" + C + "]:first");
            if ("layerModal" == D.attr("rel")) {
                var E = "source=" + C + "&container=layerModal";
                audi_ngw.navigation.historyLoad(E);
            } else {
                window.open(C, "audi");
            }
        }
        return false;
    });
    jQuery(".audi_continent").show().unbind("change").bind("change", function() {
        var B = jQuery(this).parents(".audi_region_form");
        var E = false;
        var D = false;
        jQuery(".regions", B).hide().attr({
            name: "",
            disabled: "disabled"
        });
        var G = jQuery(".audi_continent", B).val();
        if (null !== A) {
            E = jQuery(".regions .iso_" + A, B).attr("selected", "selected").parent();
            if (1 == E.size()) {
                var F = E.attr("class");
                var C = F.match(/audi_region_[a-zA-z]*/g);
                if (C) {
                    F = C[0].substr(C[0].lastIndexOf("_") + 1, C[0].length);
                    D = jQuery(".audi_" + F, B);
                    jQuery(".audi_continent option[value=" + F + "]", B).attr("selected", "selected");
                }
            }
            A = null;
        }
        if (false !== E && false !== D) {
            D.attr("disabled", "").show();
            E.attr("disabled", "").attr({
                name: "audi_region",
                disabled: ""
            }).show();
        } else {
            if (0 !== G) {
                jQuery(".audi_region_" + G, B).attr({
                    name: "audi_region",
                    disabled: ""
                }).show();
            } else {
                jQuery(".regions:first", B).attr("name", "audi_region").show().val(0);
            }
        }
    }).trigger("change");
};
audi_ngw.region.show = function() {
    jQuery(".audi_con_com_region").show();
};
audi_ngw.namespace(audi_ngw, "form.validation");
$.fn.audi_validateRequired = function() {
    this.each(function() {
        audi_ngw.form.validation.validatorForRequiredFields(jQuery(this));
    });
    return this;
};
audi_ngw.form.validation._addEvents = function() {
    var A = audi_ngw.form.validation;
    jQuery("form." + A._oOptions._sClassNameValidateRequired).submit(audi_ngw.form.validation.validateRequired);
};
audi_ngw.form.validation.blurError = function(A) {
    jQuery("li.hasError").hide();
};
audi_ngw.form.validation.focusError = function(B) {
    var A = jQuery(B.target) || jQuery(B);
    A.triggerHandler("blur.formError");
    A.siblings("ul").find("li.hasError").show();
};
audi_ngw.form.validation.resetErrors = function(A) {
    var B = audi_ngw.form.validation._oOptions._sClassNameErrorElement;
    A.find("." + B).removeClass(B);
};
audi_ngw.form.validation.validateRequired = function(B) {
    var A = jQuery(B.target) || jQuery(B);
    audi_ngw.form.validation._doValidateRequired(A, B);
};
audi_ngw.form.validation._doValidateRequired = function(A, C) {
    var B = audi_ngw.form.validation;
    B._iErrors = 0;
    A.find("." + B._oOptions._sClassNameErrorRow).removeClass(B._oOptions._sClassNameErrorRow).end().find("." + B._oOptions._sClassNameErrorElement).removeClass(B._oOptions._sClassNameErrorElement).end().find("." + B._oOptions._sClassNameRequiredMarker).audi_validateRequired();
    if (B._iErrors > 0 && C) {
        C.preventDefault();
    }
};
audi_ngw.form.validation.validatorForRequiredFields = function(B) {
    var C = audi_ngw.form.validation;
    switch (B.get(0).tagName.toLowerCase()) {
    case "input":
        if (B.is(":radio")) {
            var A = !B.parents("div.row").find('[name="' + B.attr("name") + '"]:checked').size();
            if (A) {
                C._setError(B);
            }
            break;
        }
        if (B.is(":checkbox") && !B.is(":checked")) {
            C._setError(B);
            break;
        }
        if (B.is(":text,:password") && !B.val()) {
            C._setError(B);
            break;
        }
        break;
    case "select":
        if (!B.val()) {
            C._setError(B);
        }
        break;
    case "textarea":
        if (!B.val()) {
            C._setError(B);
        }
        break;
    }
    return this;
};
audi_ngw.form.validation._setError = function(A) {
    var B = audi_ngw.form.validation;
    A.addClass(B._oOptions._sClassNameErrorElement).parents("div.row").addClass(B._oOptions._sClassNameErrorRow);
    B._iErrors++;
    return A;
};
audi_ngw.form.validation.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.form.validation._addEvents();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.form.validation.onAjaxSnippetReady = function(A, B) {
    audi_ngw.form.validation._addEvents(B.sId);
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.form.validation.initialize = function(A) {
    var B = audi_ngw.form.validation;
    B.__className = "audi_ngw.form.validation";
    B.__classVersion = "1.1";
    B._iErrors = 0;
    B._oOptions = {};
    B._oOptions._sClassNameRequiredMarker = "required";
    B._oOptions._sClassNameValidateRequired = "validate_required";
    B._oOptions._sClassNameErrorRow = "error";
    B._oOptions._sClassNameErrorElement = "hasError";
    audi_ngw.event.bind("ajaxModalContentReady.formValidation", audi_ngw.form.validation.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.form.validation.onAjaxSnippetReady);
    B._addEvents();
};
audi_ngw.namespace(audi_ngw, "form.simpleAjax");
$.fn.audi_simpleAjax = function() {
    audi_ngw.dom.simpleAjax._doSubmit(this);
    return this;
};
audi_ngw.form.simpleAjax._addEvents = function(B) {
    var C = audi_ngw.form.simpleAjax;
    var A = B || "";
    A += " form.";
    A += C._oOptions._sClassNameMarker;
    forms = jQuery(A);
    forms.unbind("submit").bind("submit.simpleAjax", audi_ngw.form.simpleAjax.submit).parents(".audi_generated_corners_background").find(".close").unbind("click.simpleAjax").bind("click.simpleAjax", audi_ngw.form.simpleAjax.hide);
};
audi_ngw.form.simpleAjax.submit = function(D) {
    D.preventDefault();
    var C = audi_ngw.form.simpleAjax;
    var A = "form.";
    A += C._oOptions._sClassNameMarker;
    A += ".";
    A += C._oOptions._sClassNameActiveMarker;
    if (jQuery(A).size()) {
        return;
    }
    var B = jQuery(D.target) || jQuery(D);
    audi_ngw.form.simpleAjax._doSumbit(B, D);
    return false;
};
audi_ngw.form.simpleAjax._doSumbit = function(B) {
    var D = audi_ngw.form.simpleAjax;
    $callback = function() {};
    if (B.hasClass("audiCallbackLoginResponse")) {
        $callback = audi_ngw.myaudi.handleLoginResponse;
    }
    B.parent().end().addClass(D._oOptions._sClassNameActiveMarker).audi_setLoading();
    var A = B.find(":input").serializeArray();
    var C = audi_ngw.url.getContext(B.attr("action"));
    $.post(C, A, function(E) {
        audi_ngw.form.simpleAjax.onSuccess(E, $callback);
    });
};
audi_ngw.form.simpleAjax.onSuccess = function(E, G) {
    var D = audi_ngw.form.simpleAjax;
    var C = null;
    var A = "form.";
    A += D._oOptions._sClassNameMarker;
    A += ".";
    A += D._oOptions._sClassNameActiveMarker;
    if (jQuery("#audi_modal_super_wrapper").css("display") !== "none") {
        audi_ngw.layer.modal._$elLayer.find("#audi_modal_body").html(jQuery("<div/>").append(E.replace(/<script(.|\s)*?\/script>/g, "")).find(" #audi_modal_body > *"));
        var F = E.match(/<script(.|\s)*?\/script>/g);
        if (F !== null && F.length) {
            var B = jQuery("<div/>").append(F.join(" ")).empty().remove();
            B = null;
        }
        C = "#audi_modal_body";
        G(C);
    } else {
        jQuery(A).replaceWith(jQuery("<div/>").append(E.replace(/<script(.|\s)*?\/script>/g, "")).find(" #audi_content_wrapper > *"));
        C = "#audi_container_page";
    }
    audi_ngw.event.trigger("ajaxSnippetReady", [{
        sId: C
    }]);
};
audi_ngw.form.simpleAjax.hide = function(B) {
    var A = jQuery(B.target) || jQuery(B);
    audi_ngw.form.simpleAjax._doHide(A);
};
audi_ngw.form.simpleAjax._doHide = function(A) {
    var B = audi_ngw.form.simpleAjax;
    A.parents(".audi_generated_corners_background").find("form." + B._oOptions._sClassNameActiveMarker).removeClass(B._oOptions._sClassNameActiveMarker).audi_unsetLoading();
};
audi_ngw.form.simpleAjax.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.form.simpleAjax._addEvents();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.form.simpleAjax.onAjaxSnippetReady = function(A, B) {
    audi_ngw.form.simpleAjax._addEvents(B.sId);
    audi_ngw.event.trigger("ajaxSnippetPrepared", [A, B]);
};
audi_ngw.form.simpleAjax.initialize = function(A) {
    var B = audi_ngw.form.simpleAjax;
    B.__className = "audi_ngw.form.simpleAjax";
    B.__classVersion = "1.2";
    B._oOptions = {};
    B._oOptions._sClassNameMarker = "simpleAjax";
    B._oOptions._sClassNameActiveMarker = "runningRequest";
    audi_ngw.event.bind("ajaxModalContentReady.formSimpleAjax", audi_ngw.form.simpleAjax.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.form.simpleAjax.onAjaxSnippetReady);
    B._addEvents();
};
audi_ngw.namespace(audi_ngw, "animation");
$.fn.audi_slideDownToggleParentNext = function() {
    this.each(function() {
        if (jQuery(this).parent().next().css("display") == "none") {
            audi_ngw.animation.slideDown(jQuery(this).parent().next());
        } else {
            audi_ngw.animation.slideUp(jQuery(this).parent().next());
        }
    });
    return this;
};
$.fn.audi_slideDown = function() {
    this.each(function() {
        audi_ngw.animation.slideDown(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_slideUp = function() {
    this.each(function() {
        audi_ngw.animation.slideUp(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_animate = function() {
    this.each(function() {
        audi_ngw.animation.animate(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_setLoading = function() {
    this.each(function() {
        audi_ngw.animation.setLoading(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_unsetLoading = function() {
    this.each(function() {
        audi_ngw.animation.unsetLoading(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_unsetRunning = function() {
    this.each(function() {
        audi_ngw.animation.unsetRunning(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_setRunning = function() {
    this.each(function() {
        audi_ngw.animation.setRunning(jQuery(this).audi_identify().attr("id"));
    });
    return this;
};
$.fn.audi_absolutize = function() {
    audi_ngw.animation.absolutize(this);
    return this;
};
$.fn.audi_deAbsolutize = function() {
    audi_ngw.animation.deAbsolutize(this);
    return this;
};
audi_ngw.animation.options = {};
audi_ngw.animation.options.SLIDESPEEDBASE = 100;
audi_ngw.animation.options.SLIDESPEEDFACTOR = 1.5;
audi_ngw.animation._oRegisteredLoaders = {};
audi_ngw.animation._oRegisteredRunningAnimations = {};
audi_ngw.animation._oStoredAbsolutizePositions = {};
audi_ngw.animation.modalScrollTop = function() {
    $("#audi_modal_super_wrapper").animate({
        scrollTop: 0
    },
    30);
};
audi_ngw.animation.slideDown = function(A, B) {
    audi_ngw.dom.identify(A);
    if (!audi_ngw.animation.getRunning(jQuery(A).attr("id"))) {
        audi_ngw.animation.setRunning(jQuery(A).attr("id"));
        jQuery(A).prev().addClass("open");
        jQuery(A).slideDown(audi_ngw.animation.getSlideSpeed(jQuery(A)), function() {
            jQuery(A).addClass("open");
            audi_ngw.animation.unsetRunning(jQuery(A).attr("id"));
            if (B && typeof B.fnCb == "function") {
                B.fnCb();
            }
        });
    }
};
audi_ngw.animation.slideUp = function(A, B) {
    audi_ngw.dom.identify(A);
    if (!audi_ngw.animation.getRunning(jQuery(A).attr("id"))) {
        audi_ngw.animation.setRunning(jQuery(A).attr("id"));
        jQuery(A).slideUp(audi_ngw.animation.getSlideSpeed(jQuery(A)), function() {
            jQuery(this).removeClass("open");
            jQuery(this).prev().removeClass("open");
            audi_ngw.animation.unsetRunning(jQuery(A).attr("id"));
            if (B && typeof B.fnCb == "function") {
                B.fnCb();
            }
        });
    }
};
audi_ngw.animation.getSlideSpeed = function(A) {
    return (A.outerHeight() * audi_ngw.animation.options.SLIDESPEEDFACTOR) + audi_ngw.animation.options.SLIDESPEEDBASE;
};
audi_ngw.animation.setLoading = function(C) {
    var B = (typeof C == "string") ? C: ((typeof C == "object") ? C.sId: "#audi_container_main");
    B = (B.indexOf("#") === -1) ? "#" + B: B;
    var A = C.sCN || "preload";
    jQuery(B).addClass(A);
    this._oRegisteredLoaders[B] = A;
};
audi_ngw.animation.unsetLoading = function(A) {
    A = A || "#audi_container_main";
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    if (!this._oRegisteredLoaders[A]) {
        return;
    }
    jQuery(A).removeClass(this._oRegisteredLoaders[A]);
    delete this._oRegisteredLoaders[A];
};
audi_ngw.animation.getLoading = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    return !! this._oRegisteredLoaders[A];
};
audi_ngw.animation.onComplete = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    audi_ngw.animation.unsetRunning(A);
};
audi_ngw.animation.unsetRunning = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    audi_ngw.animation._oRegisteredRunningAnimations[A] = false;
    delete audi_ngw.animation._oRegisteredRunningAnimations[A];
};
audi_ngw.animation.setRunning = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    audi_ngw.animation._oRegisteredRunningAnimations[A] = true;
};
audi_ngw.animation.getRunning = function(A) {
    A = (A.indexOf("#") === -1) ? "#" + A: A;
    return !! audi_ngw.animation._oRegisteredRunningAnimations[A] || false;
};
audi_ngw.animation.absolutize = function(C) {
    var A = jQuery(C);
    var B = A.audi_identify()[0].id;
    audi_ngw.animation._oStoredAbsolutizePositions[B] = {
        top: A.offset().top || "auto",
        position: A.css("position") || "static"
    };
    A.css({
        top: A.offset().top,
        position: A.css("position", "absolute ! important")
    });
};
audi_ngw.animation.deAbsolutize = function(C) {
    var A = jQuery(C);
    var B = A.attr("id");
    if (audi_ngw.animation._oStoredAbsolutizePositions[B]) {
        A.css({
            top: "auto" || audi_ngw.animation._oStoredAbsolutizePositions[B].top,
            position: audi_ngw.animation._oStoredAbsolutizePositions[B].position
        });
        audi_ngw.animation._oStoredAbsolutizePositions[B] = null;
        delete audi_ngw.animation._oStoredAbsolutizePositions[B];
    }
};
audi_ngw.animation.forceRepaint = function(A) {
    if (jQuery.browser.opera && jQuery.browser.version < 9.45) {
        jQuery("body").css({
            border: "1px solid transparent"
        });
        jQuery("body").css({
            border: "none"
        });
    }
    if (A && jQuery.browser.msie && (parseInt(jQuery.browser.version, 10) == 7 || parseInt(jQuery.browser.version, 10) == 6)) {
        jQuery("body").css({
            zoom: "1"
        });
        jQuery("body").css({
            zoom: ""
        });
    }
};
audi_ngw.animation.slideToggleParentNext = function() {
    jQuery(this).audi_slideDownToggleParentNext();
    return false;
};
audi_ngw.animation.initiate = function() {
    jQuery(".slideToggleParentNext").unbind("click.slideToggleParentNext").bind("click.slideToggleParentNext", audi_ngw.animation.slideToggleParentNext);
};
audi_ngw.namespace(audi_ngw, "animation.slideDistributor");
audi_ngw.animation.slideDistributor._balanceWrapperHeight = function() {
    var B = this._options.sIdWrapper;
    B += " *";
    var A = jQuery(B).height();
    if (A > jQuery(this._options.sIdWrapper).height()) {
        jQuery(this._options.sIdWrapper).height(A);
    }
};
audi_ngw.animation.slideDistributor._addClickEvents = function() {
    var A = this;
    var B = this._options.sIdWrapper;
    B += " ul li ";
    jQuery(B).parent("ul.first").children().children("a").click(function(C) {
        A.animate(this);
    });
    jQuery(B).parent("ul.second").children().children("a").click(function(C) {
        A.animate(this);
    });
    jQuery(B).parent("ul.third").children().children("a").click(function(C) {
        A.animate(this);
    });
};
audi_ngw.animation.slideDistributor.animate = function(B) {
    var D = audi_ngw.animation.slideDistributor;
    if (D.getRunning() === true) {
        return;
    }
    if (!D._options) {
        audi_ngw.animation.slideDistributor.initialize({});
    }
    var C = {};
    var A = "";
    if (B.length === 0) {
        A = D._options.sIdWrapper;
        A += " ul:first";
        jQuery(".viewport").css("display", "block");
        C = {
            $elAnimate: jQuery(A),
            _iToDepth: 0,
            onComplete: function() {
                jQuery(".viewport").removeClass("viewport");
                jQuery("ul.first").css("display", "block").addClass("viewport");
                D.unsetRunning(D);
            }
        };
        this._doTransformation(C);
        C.onComplete = null;
        return;
    }
    A = D._options.sIdWrapper;
    A += " ul:first";
    C = {
        $elAnimate: jQuery(A),
        curElement: B
    };
    D._doAnimate(C);
};
audi_ngw.animation.slideDistributor._doAnimate = function(B) {
    var C = this;
    if (C.getRunning() === true) {
        return;
    }
    C.setRunning(C);
    var A = jQuery(B.curElement);
    B._iToDepth = this._getDesiredDepth(A);
    if (B._iToDepth === false) {
        return;
    }
    B.onComplete = function() {
        jQuery(C._options.sIdWrapper + " ul").not(A.parents("ul")).css("display", "none");
        jQuery(".current").removeClass("current");
        A.parents("li").addClass("current");
        jQuery(".viewport").css("display", "block");
        C._onComplete(C);
    };
    this._doTransformation(B);
    B.onComplete = null;
};
audi_ngw.animation.slideDistributor._doTransformation = function(A) {
    var B = this;
    audi_ngw.animation.slideDistributor.setRunning(B);
    var C = -1 * (A._iToDepth) * (this._options.iNavWidth);
    A.$elAnimate.animate({
        left: C + "px"
    },
    "normal", "swing", A.onComplete);
};
audi_ngw.animation.slideDistributor._onComplete = function(A) {
    A.unsetRunning(A);
};
audi_ngw.animation.slideDistributor._getDesiredDepth = function(C) {
    var E = audi_ngw.animation.slideDistributor;
    var B = jQuery(C);
    if (B.parent().parent().hasClass("viewport") === false) {
        if ((B).parents(".viewport").length !== 0) {
            jQuery(E._options.sIdWrapper + " ul").not(B.parents("ul")).css("display", "none");
            B.parents("ul").css("display", "block");
            jQuery(".viewport").removeClass("viewport");
            B.parent().parent().css("display", "block").addClass("viewport");
            B.parents("ul").css("display", "block");
            B.next("ul").css("display", "block");
            jQuery(".viewport").removeClass("viewport");
            B.next().css("display", "block").addClass("viewport");
            if (B.parents("ul.third").length !== 0) {
                return 2;
            }
            if (B.parents("ul.second").length !== 0) {
                return 2;
            }
            if (B.parents("ul.first").length !== 0) {
                return 1;
            }
        } else {
            if ((B).next(".viewport").length !== 0 || (B).next().children(".viewport").length !== 0 || (B).next().children().children(".viewport").length !== 0) {
                jQuery(".second").not(B.parents("ul")).css("display", "none");
                B.parents("ul").css("display", "block");
                B.next("ul").css("display", "block");
                jQuery(".viewport").removeClass("viewport");
                B.next().css("display", "block").addClass("viewport");
                if (B.parents("ul.third").length !== 0) {
                    return 3;
                }
                if (B.parents("ul.second").length !== 0) {
                    return 2;
                }
                if (B.parents("ul.first").length !== 0) {
                    return 1;
                }
            } else {
                jQuery("ul.second").not(B.parents("ul")).css("display", "none");
                jQuery("ul.third").not(B.parents("ul")).css("display", "none");
                var A = E._options.sIdWrapper;
                A += " ul:first";
                jQuery(".viewport").css("display", "block");
                var D = {
                    $elAnimate: jQuery(A),
                    _iToDepth: 0,
                    onComplete: function() {
                        jQuery(E._options.sIdWrapper + " ul").not(B.parents("ul")).css("display", "none");
                        jQuery(".viewport").removeClass("viewport");
                        B.parents("ul.first").css("display", "block").addClass("viewport");
                        E.unsetRunning(E);
                        audi_ngw.animation.slideDistributor.animate(B);
                    }
                };
                this._doTransformation(D);
                D.onComplete = null;
                return false;
            }
        }
    } else {
        jQuery(E._options.sIdWrapper + " ul").not(B.parents("ul")).css("display", "none");
        B.parents("ul").css("display", "block");
        jQuery(".viewport").removeClass("viewport");
        B.next().css("display", "block").addClass("viewport");
        if (B.parents("ul.third").length !== 0) {
            return 3;
        }
        if (B.parents("ul.second").length !== 0) {
            return 2;
        }
        if (B.parents("ul.first").length !== 0) {
            return 1;
        }
    }
};
audi_ngw.animation.slideDistributor.getRunning = function() {
    return audi_ngw.animation.getRunning(audi_ngw.animation.slideDistributor.__className);
};
audi_ngw.animation.slideDistributor.unsetRunning = function() {
    audi_ngw.animation.unsetRunning(audi_ngw.animation.slideDistributor.__className);
};
audi_ngw.animation.slideDistributor.setRunning = function() {
    audi_ngw.animation.setRunning(audi_ngw.animation.slideDistributor.__className);
};
audi_ngw.animation.slideDistributor.initialize = function(A) {
    this.__className = "audi_ngw.animation.slideDistributor";
    this.__classVersion = "1.2";
    this.unsetRunning();
    this._options = {};
    this._options.sIdWrapper = "#" + A.sIdWrapper;
    this._options.sClassNameVisible = ".visible";
    this._options.iNavWidth = "242";
    this._balanceWrapperHeight();
};
audi_ngw.namespace(audi_ngw, "animation.simpleAccordion");
audi_ngw.animation.simpleAccordion._addEvents = function(C) {
    var A = audi_ngw.animation.simpleAccordion.getOptions(C);
    var B = jQuery("#" + A.sIdContainer + " > " + A.sListType + ", ." + A.sIdContainer + " > " + A.sListType).children(A.sAnchorElType);
    if ("" !== A.sClassExceptedElements) {
        B = B.not("." + A.sClassExceptedElements);
    }
    B.unbind("click.simpleAccordion").bind("click.simpleAccordion", function() {
        audi_ngw.animation.simpleAccordion.toggle(this, A.sIdContainer);
        return false;
    });
    if (A.sIdToggleAll) {
        jQuery("." + A.sIdToggleAll).click(function() {
            if (jQuery(this).attr("checked")) {
                audi_ngw.animation.simpleAccordion.openAllElements(A.sIdContainer);
            }
            if (!jQuery(this).attr("checked")) {
                audi_ngw.animation.simpleAccordion.closeAllElements(A.sIdContainer);
            }
        });
    }
};
audi_ngw.animation.simpleAccordion.toggle = function(B, A) {
    audi_ngw.animation.simpleAccordion._doToggle(B, A);
};
audi_ngw.animation.simpleAccordion.getOptions = function(A) {
    return audi_ngw.animation.simpleAccordion._oRegisteredSimpleAccordions[A] || false;
};
audi_ngw.animation.simpleAccordion._doToggle = function(C, B) {
    var A = audi_ngw.animation.simpleAccordion.getOptions(B);
    if (jQuery(C).hasClass("open")) {
        audi_ngw.animation.simpleAccordion.closeElement(C);
    } else {
        if (A.fCloseAll) {
            audi_ngw.animation.simpleAccordion.closeAllElements(A.sIdContainer);
            audi_ngw.animation.simpleAccordion.openElement(C);
        } else {
            audi_ngw.animation.simpleAccordion.openElement(C);
        }
    }
};
audi_ngw.animation.simpleAccordion.closeElement = function(A) {
    audi_ngw.animation.slideUp(jQuery(A).next(), {
        fnCb: function() {
            _iframe = jQuery(A).parents(".template-iframe-modal");
            if (_iframe.length) {
                window.parent.audi_ngw.iframe.onUpdate();
            }
        }
    });
};
audi_ngw.animation.simpleAccordion.openElement = function(A) {
    audi_ngw.animation.slideDown(jQuery(A).next(), {
        fnCb: function() {
            _iframe = jQuery(A).parents(".template-iframe-modal");
            if (_iframe.length) {
                window.parent.audi_ngw.iframe.onUpdate();
            }
        }
    });
};
audi_ngw.animation.simpleAccordion.openAllElements = function(B) {
    var A = audi_ngw.animation.simpleAccordion.getOptions(B);
    var C = jQuery("#" + A.sIdContainer + " > " + A.sListType + ", ." + A.sIdContainer + " > " + A.sListType).children(A.sAnchorElType);
    if ("" !== A.sClassExceptedElements) {
        C = C.not("." + A.sClassExceptedElements);
    }
    C.each(function() {
        audi_ngw.animation.simpleAccordion.openElement(jQuery(this));
    });
};
audi_ngw.animation.simpleAccordion.closeAllElements = function(B) {
    var A = audi_ngw.animation.simpleAccordion.getOptions(B);
    var C = jQuery("#" + A.sIdContainer + " > " + A.sListType + ", ." + A.sIdContainer + " > " + A.sListType).children(A.sAnchorElType);
    if ("" !== A.sClassExceptedElements) {
        C = C.not("." + A.sClassExceptedElements);
    }
    C.each(function() {
        audi_ngw.animation.simpleAccordion.closeElement(jQuery(this));
    });
};
audi_ngw.animation.simpleAccordion.initialize = function(A) {
    this.__className = "audi_ngw.animation.simpleAccordion";
    this.__classVersion = "1.2";
    this._oRegisteredSimpleAccordions = {};
    audi_ngw.animation.simpleAccordion.register({
        sIdContainer: "audi_foldout_faq",
        sIdToggleAll: "",
        sClassExceptedElements: "",
        sListType: "dl",
        sAnchorElType: "dt",
        sContentElType: "dd",
        sClassOpen: "open",
        fCloseAll: true
    });
    audi_ngw.animation.simpleAccordion.register({
        sIdContainer: "audi_foldout",
        sIdToggleAll: "audi_foldout_toggleall",
        sClassExceptedElements: "singleLn",
        sListType: "dl",
        sAnchorElType: "dt",
        sContentElType: "dd",
        sClassOpen: "open",
        fCloseAll: false
    });
    audi_ngw.animation.simpleAccordion.register({
        sIdContainer: "audi_func_downloadcenter_pulldown",
        sIdToggleAll: "",
        sClassExceptedElements: "",
        sListType: "dl",
        sAnchorElType: "dt",
        sContentElType: "dd",
        sClassOpen: "open",
        fCloseAll: false
    });
    audi_ngw.animation.simpleAccordion.register({
        sIdContainer: "con_gallery_foldout",
        sIdToggleAll: "",
        sClassExceptedElements: "",
        sListType: "li",
        sAnchorElType: "a",
        sContentElType: "div",
        sClassOpen: "open",
        fCloseAll: true
    });
    audi_ngw.animation.simpleAccordion.register({
        sIdContainer: "myaudi_foldout",
        sIdToggleAll: "",
        sClassExceptedElements: "",
        sListType: "dl",
        sAnchorElType: "dt",
        sContentElType: "dd",
        sClassOpen: "open",
        fCloseAll: true
    });
    audi_ngw.animation.simpleAccordion.register({
        sIdContainer: "myaudi_foldout2",
        sIdToggleAll: "myaudi_foldout_toggleall",
        sClassExceptedElements: "singleLn",
        sListType: "dl",
        sAnchorElType: "dt",
        sContentElType: "dd",
        sClassOpen: "open",
        fCloseAll: true
    });
    audi_ngw.animation.simpleAccordion.register({
        sIdContainer: "con_ablage_foldout",
        sIdToggleAll: "",
        sClassExceptedElements: "",
        sListType: "li",
        sAnchorElType: "a",
        sContentElType: "div",
        sClassOpen: "open",
        fCloseAll: true
    });
};
audi_ngw.animation.simpleAccordion.onAjaxModalContentReady = function(B, C) {
    if (!audi_ngw.url.hasXHRContent(C, B.timeStamp)) {
        return false;
    }
    var A = jQuery("#" + audi_ngw.url.getContentId());
    audi_ngw.animation.simpleAccordion.initialize(A);
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.animation.simpleAccordion.onAjaxSnippetReady = function(B, C) {
    var A = jQuery(C.sId);
    audi_ngw.animation.simpleAccordion.initialize(A);
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.animation.simpleAccordion.register = function(A) {
    this._oRegisteredSimpleAccordions[A.sIdContainer] = A;
    this._addEvents(A.sIdContainer);
};
audi_ngw.animation.simpleAccordion.prepare = function() {
    audi_ngw.event.bind("ajaxModalContentReady.animationSimpleAccordion.", audi_ngw.animation.simpleAccordion.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.animation.simpleAccordion.onAjaxSnippetReady);
};



audi_ngw.namespace(audi_ngw, "animation.accordionPagelevel");
audi_ngw.animation.accordionPagelevel._addClickEvents = function() {

    var A = this;
    var B = this._options.sIdWrapper;
    B += " ul li ";
    jQuery(B).parent("ul.first").children().children("a").click(function(C) {
        A.animate(C, A, 1);
    });
    jQuery(B).parent("ul.second").children().children("a").click(function(C) {
        A.animate(C, A, 2);
    });
    jQuery(B).parent("ul.third").children().children("a").click(function(C) {
        A.animate(C, A, 3);
    });
};
audi_ngw.animation.accordionPagelevel.animate = function(B) {
    B = B.eq(B.size() - 1);
    var C = audi_ngw.animation.accordionPagelevel;
    var A = C._getCurrentDepth(B);
    if (A === false) {
        return false;
    }
    if (!C._options) {
        audi_ngw.animation.accordionPagelevel.initialize();
    }
    C._doAnimate(B, C, A);
};
audi_ngw.animation.accordionPagelevel._doAnimate = function(B, C, A) {
    if (audi_ngw.animation.getRunning(C.__className) === true) {
        return;
    }
    switch (A) {
    case 1:
        if (jQuery(B).next().css("display") == "block") {
            C._closeCurrents(B, " .third", true);
            C._removeMarkerClass([" .second", " .third"]);
            break;
        }
        C._closeCurrents(B, " .first", true);
        C._closeCurrents(B, " .second", false);
        C._closeCurrents(B, " .third", false);
        C._removeMarkerClass([" .first", " .second", " .third"]);
        this._addCurrentMarkers(B, 1);
        break;
    case 2:
        if (jQuery(B).parent().parent().css("display") == "block") {
            if (jQuery(B).next().css("display") != "block") {
                C._closeCurrents(B, [" .third"]);
            }
            C._removeMarkerClass([" .second", " .third"]);
            this._addCurrentMarkers(B, 2);
            break;
        }
        C._closeCurrents(B, " .first", true);
        C._closeCurrents(B, " .second", false);
        C._closeCurrents(B, " .third", true);
        C._removeMarkerClass([" .first", " .second", " .third"]);
        audi_ngw.animation.setRunning(C.__className);
        jQuery(B).parent().parent().slideDown("normal", function() {
            C._onComplete(C);
        });
        this._addCurrentMarkers(B, 2);
        break;
    case 3:
        if (jQuery(B).parent().parent().css("display") == "block") {
            C._removeMarkerClass([" .third"]);
            this._addCurrentMarkers(B, 3);
            break;
        }
        if (jQuery(B).parents("ul.second").css("display") == "block") {
            C._closeCurrents(B, " .third", true);
            C._removeMarkerClass([" .second", " .third"]);
            audi_ngw.animation.setRunning(C.__className);
            jQuery(B).parents("ul.third").slideDown("normal", function() {
                C._onComplete(C);
            });
            this._addCurrentMarkers(B, 2);
            break;
        }
        if (jQuery(B).parents("ul.second").css("display") != "block") {
            C._closeCurrents(B, " .first", true);
            C._closeCurrents(B, " .second", false);
            C._closeCurrents(B, " .third", false);
            C._removeMarkerClass([" .first", " .second", " .third"]);
            jQuery(B).parents("ul.second").slideDown("normal", function() {
                C._onComplete(C);
            });
            jQuery(B).parents("ul.first").slideDown("normal", function() {
                C._onComplete(C);
            });
            jQuery(B).parents("ul.third").slideDown("normal", function() {
                C._onComplete(C);
            });
            this._addCurrentMarkers(B, 3);
            break;
        }
        C._closeCurrents(B, " .first", true);
        C._closeCurrents(B, " .second", false);
        C._closeCurrents(B, " .third", true);
        C._removeMarkerClass([" .first", " .second", " .third"]);
        audi_ngw.animation.setRunning(C.__className);
        jQuery(B).parent().parent().slideDown("normal", function() {
            C._onComplete(C);
        });
        break;
    }
    if (jQuery(B).next().is("UL")) {
        audi_ngw.animation.setRunning(C.__className);
        jQuery(B).next().slideDown("normal", function() {
            C._onComplete(C);
        });
    }
    if (A === 3) {
        jQuery(B).parent().parent().prev().removeClass("current");
    }
};
audi_ngw.animation.accordionPagelevel._addCurrentMarkers = function(C, A) {
    var B = jQuery(C);
    switch (A) {
    case 3:
        B.parent().parent().parent().parent().prev().addClass("current");
        B.parent().parent().parent().parent().parent().addClass("current");
        B.parent().parent().prev().addClass("current");
        B.parent().parent().parent().addClass("current");
        B.parent().addClass("current");
        B.addClass("current");
        break;
    case 2:
        B.parent().parent().prev().addClass("current");
        B.parent().parent().parent().addClass("current");
        B.parent().addClass("current");
        B.addClass("current");
        break;
    case 1:
        B.parent().addClass("current");
        B.addClass("current");
        break;
    }
};
audi_ngw.animation.accordionPagelevel._closeCurrents = function(D, E, C) {
    var A = audi_ngw.animation.accordionPagelevel;
    if (!A._options) {
        audi_ngw.animation.accordionPagelevel.initialize();
    }
    var B = A._options.sIdWrapper;
    if (C === true) {
        B += " .current ";
    } else {
        B += " ";
    }
    B += E;
    jQuery(B).slideUp("normal", function() {
        A._onComplete(A);
    });
};
audi_ngw.animation.accordionPagelevel._removeMarkerClass = function(B) {
    var A = this;
    jQuery(B).each(function(D) {
        var C = A._options.sIdWrapper;
        C += B[D];
        C += " .current ";
        jQuery(C).removeClass("current");
    });
};
audi_ngw.animation.accordionPagelevel._onComplete = function(A) {
    audi_ngw.animation.unsetRunning(A.__className);
};
audi_ngw.animation.accordionPagelevel._getCurrentDepth = function(A) {
    if (jQuery(A).parents(".third").length !== 0) {
        return 3;
    }
    if (jQuery(A).parents(".second").length !== 0) {
        return 2;
    }
    if (jQuery(A).parents(".first").length !== 0) {
        return 1;
    }
};
audi_ngw.animation.accordionPagelevel.getRunning = function() {
    return audi_ngw.animation.unsetRunning(audi_ngw.animation.accordionPagelevel.__className);
};
audi_ngw.animation.accordionPagelevel.initialize = function(A) {
//		audi_ngw.log(A.sIdWrapper);
    A = A || {};
    this.__className = "audi_ngw.animation.accordionPagelevel";
    this.__classVersion = "1.2";
    this._options = {};
    this._options.sIdWrapper = "#" + A.sIdWrapper || "#audi_nav_pagelevel";
    this._options.sClassNameCurrent = ".current";
};
audi_ngw.namespace(audi_ngw, "animation.teaser");
audi_ngw.animation.teaser._addEvents = function() {
    jQuery("#audi_teaser_area li.con_teaser_news a#slide_button").bind("click", audi_ngw.animation.teaser.toggle);
};
audi_ngw.animation.teaser.toggle = function(A) {
    audi_ngw.animation.teaser._doToggle(jQuery(A.target));
    return false;
};
audi_ngw.animation.teaser._doToggle = function(A) {
    audi_ngw.dom.teaser.stopRotation();
    A.siblings("a").toggle();
    if (A.hasClass("active")) {
        audi_ngw.dom.teaser.rotateTo(audi_ngw.dom.identify(A.parent()), 0);
        audi_ngw.dom.teaser.startRotation(A.parent());
        A.parent().parent().find("ul.slide").hide();
        A.removeClass("active");
        return;
    }
    A.parent().parent().find("ul.slide").find(":last-child").addClass("lastChild").end().slideToggle("100", function() {
        audi_ngw.animation.forceRepaint();
        A.addClass("active");
    });
};
audi_ngw.animation.teaser.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.animation.teaser._addEvents();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.animation.teaser.initialize = function() {
    this.__className = "audi_ngw.animation.teaser";
    this.__classVersion = "1.1";
    audi_ngw.event.bind("ajaxModalContentReady.animationTeaser", audi_ngw.animation.teaser.onAjaxModalContentReady);
    audi_ngw.animation.teaser._addEvents();
};
audi_ngw.namespace(audi_ngw, "layer.statics");
audi_ngw.layer.statics.lastEventShow = null;
audi_ngw.layer.statics._addEvents = function(B) {
    var A = audi_ngw.layer.statics.getOptions(B);
    jQuery(A.sIdContainer + " > a[rel!='wallpaper']").unbind("click.staticsLayer").bind("click.staticsLayer", {
        oOptions: A
    },
    audi_ngw.layer.statics.show);
    jQuery(A.sIdContainer + " " + A.sClassClose).unbind("click.staticsLayer").bind("click.staticsLayer", {
        oOptions: A
    },
    audi_ngw.layer.statics.hide);
};
audi_ngw.layer.statics.absolutize = function(A) {
    if (jQuery.browser.mozilla && (jQuery.browser.version.split(".")[0] + "." + jQuery.browser.version.split(".")[1]) < 1.9) {
        if (A.css("position") !== "relative") {
            A.audi_absolutize();
        }
    }
};
audi_ngw.layer.statics.deAbsolutize = function(A) {
    if (jQuery.browser.mozilla && (jQuery.browser.version.split(".")[0] + "." + jQuery.browser.version.split(".")[1]) < 1.9) {
        if (A.css("position") !== "relative") {
            A.audi_deAbsolutize();
        }
    }
};
audi_ngw.layer.statics.show = function(C) {
    C.preventDefault();
    audi_ngw.layer.statics.lastEventShow = C;
    var B = audi_ngw.layer.statics._oOptions = C.data.oOptions || null;
    audi_ngw.layer.statics.event = C;
    var A = jQuery(C.target) || jQuery(C);
    if (A.hasClass("open") || A.parent(".open").size()) {
        return;
    }
    if (!audi_ngw.layer.statics._bRunningAnimation) {
        if (!jQuery(A).parent().hasClass("active_overlay") && !jQuery(A).parent().parent().hasClass("active_overlay")) {
            if (B) {
                audi_ngw.layer.statics._doShow(jQuery(B.sIdContainer + " " + B.sClassElement));
            } else {
                audi_ngw.layer.statics._doShow(A);
            }
        }
    }
    return false;
};
audi_ngw.layer.statics._doShow = function(A) {
    A = A;
    audi_ngw.form.validation.resetErrors(A);
    var E = audi_ngw.layer.statics.lastEventShow;
    var D = audi_ngw.layer.statics._oOptions || null;
    if (audi_ngw.layer.statics.getOpenElement() === false) {
        if (A.parents("#audi_navigation_footer").size()) {
            audi_ngw.layer.statics.absolutize(jQuery("#audi_container_footer"));
        }
        if (D.sIdContainer === "#func_toolbox_wallpaper" && jQuery.browser.msie === true && parseInt(jQuery.browser.version) < 8) {
            var C = 0;
            var B = (jQuery("#func_toolbox_wallpaper").position().left) + (jQuery.browser.version > 6.5 ? 16 : 0);
            A.css("left", parseInt(B, 10) + "px");
        }
        audi_ngw.layer.statics.setOpenElement(A);
        A.parent().addClass("active_overlay");
        audi_ngw.layer.statics._bRunningAnimation = true;
        A.removeClass("closed");
        audi_ngw.animation.slideDown(A, {
            fnCb: function() {
                if (A.parents("#audi_navigation_footer").size()) {
                    audi_ngw.layer.statics.deAbsolutize(jQuery("#audi_container_footer"));
                }
                audi_ngw.layer.statics._bRunningAnimation = false;
                audi_ngw.animation.forceRepaint();
                if (!jQuery.browser.opera) {
                    A.find(":input").not('[type="image"], [type="submit"]').eq(0).focus();
                }
            }
        });
    } else {
        audi_ngw.layer.statics.hide(jQuery(audi_ngw.layer.statics.getOpenElement()), {
            fnCb: function() {
                audi_ngw.layer.statics._doShow(A);
            }
        });
    }
};
audi_ngw.layer.statics.hide = function(C, B) {
    if (C.preventDefault) {
        C.preventDefault();
    }
    var A = audi_ngw.layer.statics.getOpenElement();
    audi_ngw.layer.statics._doHide(A, B);
    return false;
};
audi_ngw.layer.statics._doHide = function(A, B) {
    if (A.parents("#audi_navigation_footer").size()) {
        audi_ngw.layer.statics.absolutize(jQuery("#audi_container_footer"));
    }
    audi_ngw.layer.statics._bRunningAnimation = true;
    audi_ngw.animation.slideUp(A, {
        fnCb: function() {
            A.addClass("closed");
            A.parent().removeClass("active_overlay");
            if (A.parents("#audi_navigation_footer").size()) {
                audi_ngw.layer.statics.deAbsolutize(jQuery("#audi_container_footer"));
            }
            audi_ngw.layer.statics.setOpenElement(false);
            audi_ngw.layer.statics._bRunningAnimation = false;
            if (B && typeof B.fnCb == "function") {
                B.fnCb();
            }
        }
    });
};
audi_ngw.layer.statics.getOptions = function(A) {
    return audi_ngw.layer.statics._oRegisteredItems[A] || false;
};
audi_ngw.layer.statics.getOpenElement = function() {
    return audi_ngw.layer.statics._sOpenElement || false;
};
audi_ngw.layer.statics.setOpenElement = function(A) {
    audi_ngw.layer.statics._sOpenElement = A;
};
audi_ngw.layer.statics.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.layer.statics.register({
        sIdContainer: "#func_toolbox_wallpaper",
        sClassElement: ".overlay",
        sClassClose: ".close"
    });
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.layer.statics.initialize = function(A) {
    this.__className = "audi_ngw.layer.statics";
    this.__classVersion = "1.2";
    this._oRegisteredItems = {};
    this._sOpenElement = "";
    this._bRunningAnimation = false;
    audi_ngw.event.bind("ajaxModalContentReady.layerStatics", audi_ngw.layer.statics.onAjaxModalContentReady);
};
audi_ngw.layer.statics.register = function(A) {
    this._oRegisteredItems[A.sIdContainer] = A;
    this._addEvents(A.sIdContainer);
};
audi_ngw.layer.statics.prepare = function() {
    audi_ngw.layer.statics.initialize();
    audi_ngw.layer.statics.register({
        sIdContainer: "#audi_navigation_footer_newsletter",
        sClassElement: ".audi_navigation_footer_overlay",
        sClassClose: ".close"
    });
    audi_ngw.layer.statics.register({
        sIdContainer: "#audi_navigation_footer_audicode",
        sClassElement: ".audi_navigation_footer_overlay",
        sClassClose: ".close"
    });
    audi_ngw.layer.statics.register({
        sIdContainer: "#audi_navigation_footer_dealer_offices",
        sClassElement: ".audi_navigation_footer_overlay",
        sClassClose: ".close"
    });
    audi_ngw.layer.statics.register({
        sIdContainer: "#func_toolbox_wallpaper",
        sClassElement: ".overlay",
        sClassClose: ".close"
    });
    audi_ngw.layer.statics.register({
        sIdContainer: "#audi_navigation_footer_language",
        sClassElement: ".audi_navigation_footer_overlay",
        sClassClose: ".close"
    });
};
audi_ngw.namespace(audi_ngw, "animation.navdistributor3col.teaser");
audi_ngw.animation.navdistributor3col.teaser.prepareContent = function() {
    if (!jQuery(".distributor_teaser li.has_teaser_css").size()) {
        return false;
    }
    jQuery(".distributor_teaser li.has_teaser_css").removeClass("has_teaser_css").addClass("has_teaser");
    jQuery(".distributor_teaser img.has_teaser").bind("mouseover.teaser", audi_ngw.animation.navdistributor3col.teaser.show);
    jQuery(".distributor_teaser img.has_teaser").siblings("span.teaser").bind("mouseout.teaser", audi_ngw.animation.navdistributor3col.teaser.hide);
};
audi_ngw.animation.navdistributor3col.teaser.show = function(A) {
    A.stopPropagation();
    jQuery(".distributor_teaser li.has_teaser.hover").removeClass("hover").find("> img");
    if (jQuery(this).siblings("span.teaser").size() !== 0 && jQuery(this).siblings("span.teaser").text() !== "") {
        jQuery(this).parents("li.has_teaser").addClass("hover");
    }
};
audi_ngw.animation.navdistributor3col.teaser.hide = function(A) {
    A.stopPropagation();
    jQuery(this).parents("li.has_teaser").removeClass("hover");
};
audi_ngw.animation.navdistributor3col.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.animation.navdistributor3col.teaser.prepareContent();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.animation.navdistributor3col.teaser.initialize = function() {
    this.__className = "audi_ngw.animation.navdistributor3col.teaser";
    this.__classVersion = "1.2";
    audi_ngw.animation.navdistributor3col.teaser.prepareContent();
    audi_ngw.event.bind("ajaxModalContentReady.animationNavdistributor3col", audi_ngw.animation.navdistributor3col.onAjaxModalContentReady);
};
audi_ngw.namespace(audi_ngw, "animation.teasercalendar");
audi_ngw.animation.teasercalendar.prepareContent = function() {
    var A = jQuery("#con_teaser_calendar ul").eq(0);
    var B = jQuery("#con_teaser_calendar_datasource").attr("href");
    if (B) {
        B = audi_ngw.url.getContext(B);
    }
    if (A.size() && B) {
        A.load((B + " ul li"), null, function(D, C, E) {
            if (C !== "error") {
                audi_ngw.event.trigger("ajaxSnippetReady", [{
                    sId: "#con_teaser_calendar"
                }]);
            }
        });
    }
};
audi_ngw.animation.teasercalendar.initialize = function() {
    this.__className = "audi_ngw.animation.teasercalendar";
    this.__classVersion = "1.3";
    audi_ngw.animation.teasercalendar.prepareContent();
};
audi_ngw.namespace(audi_ngw, "animation.teaserclicktip");
audi_ngw.animation.teaserclicktip.prepareContent = function() {
    if (!jQuery(".teaserclicktip li.has_teaser_css").size()) {
        return false;
    }
    jQuery("li.has_teaser_css").removeClass("has_teaser_css").addClass("has_teaser");
    jQuery("a.teaserclicktip_more").one("mouseover", audi_ngw.animation.teaserclicktip.show);
};
audi_ngw.animation.teaserclicktip.show = function(A) {
    A.stopPropagation();
    jQuery("li.has_teaser").removeClass("hover");
    if (jQuery(this).children("span").size() !== 0 && jQuery(this).children("span").text() !== "") {
        jQuery(this).parent("div.innerteaser").parent("li.has_teaser").addClass("hover");
        jQuery(this).one("mouseout", audi_ngw.animation.teaserclicktip.hide);
    }
};
audi_ngw.animation.teaserclicktip.hide = function(A) {
    A.stopPropagation();
    jQuery(this).parent().parent().removeClass("hover");
    jQuery(this).one("mouseover", audi_ngw.animation.teaserclicktip.show);
};
audi_ngw.animation.teaserclicktip.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.animation.teaserclicktip.prepareContent();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.animation.teaserclicktip.initialize = function() { 
	audi_ngw.log("teaserclicktip.initialize","log");
    this.__className = "audi_ngw.animation.teaserclicktip";
    this.__classVersion = "1.2";
    audi_ngw.event.bind("ajaxModalContentReady.animationTeaserClickTip", audi_ngw.animation.teaserclicktip.onAjaxModalContentReady);
    audi_ngw.animation.teaserclicktip.prepareContent();
};
audi_ngw.namespace(audi_ngw, "animation.emointro");
audi_ngw.animation.emointro._setUp = function() {
    var A = audi_ngw.animation.emointro;
    A._$element = jQuery(A._options.sIdWrapper);
    A._$elHitbox = A._$element.find("#audi_container_emo_button");
    A._$elNavi = A._$element.find("#audi_container_emo_slider");
    A._$elHitbox.mouseover(audi_ngw.animation.emointro.animate);
    A._$elNavi.hover(function() {},
    audi_ngw.animation.emointro.animate);
};
audi_ngw.animation.emointro.animate = function(B) {
    var A = audi_ngw.animation.emointro;
    if (audi_ngw.animation.getRunning(A.__className)) {
        return false;
    }
    audi_ngw.animation.setRunning(A.__className);
    if (A._$elHitbox.hasClass(A._options.sClassVisible)) {
        audi_ngw.animation.emointro._doHide(A._$element);
    } else {
        audi_ngw.animation.emointro._doShow(A._$element);
    }
    return false;
};
audi_ngw.animation.emointro._doShow = function(A) {
    audi_ngw.flash.pauseAll();
    A.animate({
        marginLeft: 0 + "px"
    },
    audi_ngw.animation.emointro.onCompleteShow);
};
audi_ngw.animation.emointro.onCompleteShow = function() {
    var A = audi_ngw.animation.emointro;
    A._$elHitbox.removeClass(A._options.sClassHidden);
    A._$elHitbox.addClass(A._options.sClassVisible);
    audi_ngw.animation.emointro._onCompleteDefault(A);
};
audi_ngw.animation.emointro._doHide = function(B) {
    audi_ngw.flash.resumeAll();
    var C = audi_ngw.animation.emointro;
    var A = C._options.iWidth;
    B.animate({
        marginLeft: ( - 1 * A) + "px"
    },
    audi_ngw.animation.emointro.onCompleteHide);
};
audi_ngw.animation.emointro.onMovieComplete = function() {
    var A = audi_ngw.animation.emointro;
    audi_ngw.animation.emointro._doShow(A._$element);
    A._$elNavi.unbind("mouseout");
    A._$elNavi.unbind("mouseenter");
    A._$elNavi.unbind("mouseleave");
    A._$elHitbox.unbind("*").fadeOut(function() {
        audi_ngw.animation.emointro._$elHitbox.remove();
    });
};
audi_ngw.animation.emointro.onCompleteHide = function() {
    var A = audi_ngw.animation.emointro;
    A._$elHitbox.removeClass(A._options.sClassVisible);
    A._$elHitbox.addClass(A._options.sClassHidden);
    audi_ngw.animation.emointro._onCompleteDefault(A);
};
audi_ngw.animation.emointro._onCompleteDefault = function(A) {
    A.timer = window.setTimeout(function() {
        audi_ngw.animation.unsetRunning(A.__className);
        audi_ngw.animation.emointro.timer = audi_ngw.clearTimer(audi_ngw.animation.emointro.timer);
    },
    250);
};
audi_ngw.animation.emointro.initialize = function(A) {
    A = A || {};
    this.__className = "audi_ngw.animation.emointro";
    this.__classVersion = "1.1";
    this._options = {};
    this._options.sIdWrapper = A.sIdWrapper || "#audi_container_emo";
    this._options.iWidth = 267;
    this._options.sClassVisible = "audi_container_emo_button_out";
    this._options.sClassHidden = "audi_container_emo_button_in";
    this._setUp();
    this.timer = window.setTimeout(function() {
        audi_ngw.animation.emointro._doHide(audi_ngw.animation.emointro._$element);
        audi_ngw.animation.emointro.timer = audi_ngw.clearTimer(audi_ngw.animation.emointro.timer);
    },
    1000);
};
audi_ngw.namespace(audi_ngw, "dom.teaser");
audi_ngw.dom.teaser.control = function(D) {
    var B = [];
    var A = [];
    var E = (audi_ngw.dom.teaser.sDate ? new Date(audi_ngw.dom.teaser.sDate.replace(/_/g, " ")) : null) || new Date();
    var C = E.getDay();
    D.children().each(function() {
        var I = jQuery(this);
        var L = I.metadata();
        I.removeClass("current");
        if ("undefined" !== typeof(L.validFromDay) && "undefined" !== typeof(L.validToDay) && "undefined" !== typeof(L.validFrom) && "undefined" !== typeof(L.validTo)) {
            var G = L.validFrom.split(":");
            var K = L.validTo.split(":");
            var F = false;
            if (3 === G.length && 3 === K.length) {
                F = true;
                var H = new Date();
                var J = new Date();
                H.setHours(parseInt(G[0], 10));
                H.setMinutes(parseInt(G[1], 10));
                H.setSeconds(parseInt(G[2], 10));
                J.setHours(parseInt(K[0], 10));
                J.setMinutes(parseInt(K[1], 10));
                J.setSeconds(parseInt(K[2], 10));
            }
            if (true === F && L.validFromDay <= C && L.validToDay >= C && H <= E && J >= E) {
                B.push(I);
            }
        } else {
            if ("undefined" === typeof(L.validFromDay) && "undefined" === typeof(L.validToDay) && "undefined" !== typeof(L.validFrom) && "undefined" !== typeof(L.validTo)) {
                if (new Date(L.validFrom) <= E && new Date(L.validTo) >= E) {
                    B.push(I);
                }
            } else {
                if ("undefined" === typeof(L.validFromDay) && "undefined" === typeof(L.validToDay) && "undefined" === typeof(L.validFrom) && "undefined" === typeof(L.validTo)) {
                    B.push(I);
                }
            }
        }
    });
    jQuery(B[audi_ngw.getRandomNumber(B.length)]).addClass("current");
};
audi_ngw.dom.teaser.startRotation = function(A) {
    audi_ngw.dom.teaser._timerRotation = window.setInterval(function() {
        audi_ngw.dom.teaser.rotate(A);
    },
    audi_ngw.dom.teaser.iRotationMs);
};
audi_ngw.dom.teaser.stopRotation = function() {
    audi_ngw.dom.teaser._timerRotation = audi_ngw.clearTimer(audi_ngw.dom.teaser._timerRotation);
};
audi_ngw.dom.teaser.rotateTo = function(A, B) {
    audi_ngw.dom.teaser._doRotate(jQuery("#" + A), B);
};
audi_ngw.dom.teaser.rotate = function(A) {
    A = jQuery(A);
    var B = audi_ngw.dom.identify(A);
    audi_ngw.dom.teaser._doRotate(A, null);
};
audi_ngw.dom.teaser._setRotationOptionsbyId = function(B) {
    var A = jQuery("#" + B);
    if (!audi_ngw.dom.teaser._aRotation[B]) {
        audi_ngw.dom.teaser._aRotation[B] = {
            sId: B,
            iCurrent: 0,
            iMax: (A.find("ul li a").size() - 1)
        };
    }
    return audi_ngw.dom.teaser._aRotation[B];
};
audi_ngw.dom.teaser._doRotate = function(A, D) {
    var C = A.attr("id");
    audi_ngw.dom.teaser._setRotationOptionsbyId(C);
    var B = A.find("ul + a");
    B.not(".slide_button").remove().end().remove();
    D = (D || D === 0) ? D - 1 : audi_ngw.dom.teaser._aRotation[C].iCurrent;
    audi_ngw.dom.teaser._aRotation[C].iCurrent = D = (D >= 0 && D < audi_ngw.dom.teaser._aRotation[C].iMax) ? ++D: 0;
    A.find("ul li a").eq(D).clone(true).css({
        display: "none"
    }).appendTo(A).fadeIn(650);
};
audi_ngw.dom.teaser.onAjaxModalContentReady = function(B, C) {
    if (!audi_ngw.url.hasXHRContent(C, B.timeStamp)) {
        return false;
    }
    var A = jQuery("#" + audi_ngw.url.getContentId());
    if (jQuery(".more_teaser_news").size()) {
        audi_ngw.dom.teaser.startRotation(jQuery(".more_teaser_news"));
    }
    A.find(".audi_teaser_control").each(function() {
        audi_ngw.dom.teaser.control(jQuery(this));
    });
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.dom.teaser.initialize = function(A) {
    this.__className = "audi_ngw.dom.teaser";
    this.__classVersion = "1.0";
    audi_ngw.dom.teaser._timerRotation = null;
    audi_ngw.dom.teaser.iRotationMs = 5000;
    this.sDate = audi_ngw.edit ? audi_ngw.url.getParam("preview_date") : null;
    audi_ngw.dom.teaser._aRotation = [];
    jQuery(".audi_teaser_control").each(function() {
        audi_ngw.dom.teaser.control(jQuery(this));
    });
    audi_ngw.event.bind("ajaxModalContentReady.domTeaser", audi_ngw.dom.teaser.onAjaxModalContentReady);
    if (jQuery(".more_teaser_news").size()) {
        audi_ngw.dom.teaser.startRotation(jQuery(".more_teaser_news"));
    }
};
audi_ngw.namespace(audi_ngw, "dom.rounded_corners");
$.fn.audi_createRoundedCorners = function() {
    audi_ngw.dom.rounded_corners._doCreate(this);
    return this;
};
audi_ngw.dom.rounded_corners.create = function(A) {
    audi_ngw.dom.rounded_corners._doCreate(jQuery(A));
};
audi_ngw.dom.rounded_corners._doCreate = function(B) {
    var A = audi_ngw.dom.rounded_corners;
    B.each(function() {
        var C = jQuery(this);
        if (C.hasClass(A.sClassNameSuccessfulMarker)) {
            return this;
        }
        var E = ((!C.parents("#" + audi_ngw.url.getContentId()).size() || C.hasClass("audi_template_d"))) ? "sHTMLTop": "sHTMLTopModal";
        var D = ((!C.parents("#" + audi_ngw.url.getContentId()).size() || C.hasClass("audi_template_d"))) ? "sHTMLBottom": "sHTMLBottomModal";
        if (C.hasClass("has_tabs")) {
            jQuery(".audi_tab_navigation").after(A._options.sHTMLTopTabs);
        } else {
            C.prepend(A._options[E]);
        }
        C.append(A._options[D]).removeClass(A._options.sClassNameAddMarker).addClass(A._options.sClassNameSuccessfulMarker).wrapInner('<div class="audi_generated_corners_background"></div>');
    });
    return this;
};
audi_ngw.dom.rounded_corners.createOn = function(B) {
    var A;
    var C = audi_ngw.dom.rounded_corners;
    if (B) {
        A = "#";
        A += B;
        A += " .";
        A += C._options.sClassNameAddMarker;
    } else {
        A = "body .";
        A += C._options.sClassNameAddMarker;
    }
    jQuery(A).audi_createRoundedCorners();
};
audi_ngw.dom.rounded_corners.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.dom.rounded_corners.createOn(audi_ngw.url.getContentId());
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.dom.rounded_corners.onAjaxSnippetReady = function(A, B) {
    audi_ngw.dom.rounded_corners.createOn(B.sId.slice(1));
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.dom.rounded_corners.initialize = function() {
    this.__className = "audi_ngw.dom.rounded_corners";
    this.__classVersion = "1.2";
    this._options = {};
    this._options.sHTMLTop = '<span class="audi_generated_top"><span class="generated_right"></span><span class="generated_middle"></span><span class="generated_left"></span></span>';
    this._options.sHTMLTopTabs = '<div id="audi_modal_round_head" class="1"><div id="audi_modal_top_right"></div><div class="audi_modal_bg_bar"></div><div id="audi_modal_top_left_notround"></div></div>';
    this._options.sHTMLBottom = '<span class="audi_generated_bottom"><span class="generated_right"></span><span class="generated_middle"></span><span class="generated_left"></span></span>';
    this._options.sHTMLTopModal = '<div id="audi_modal_round_head" class="2"><div id="audi_modal_top_right"></div><div class="audi_modal_bg_bar"></div><div id="audi_modal_top_left"></div></div>';
    this._options.sHTMLBottomModal = '<div id="audi_modal_round_bottom"><div id="audi_modal_bottom_right"></div><div class="audi_modal_bg_bar"></div><div id="audi_modal_bottom_left"></div></div>';
    this._options.sClassNameAddMarker = "audi_generated_rounded_corners";
    this._options.sClassNameSuccessfulMarker = "has_audi_generated_rounded_corners";
    audi_ngw.event.bind("ajaxModalContentReady.domRoundedCorners", audi_ngw.dom.rounded_corners.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.dom.rounded_corners.onAjaxSnippetReady);
    audi_ngw.dom.rounded_corners.createOn();
};
audi_ngw.namespace(audi_ngw, "dom.select");
$.fn.audi_anchorsToOptions = function() {
    this.each(function() {
        audi_ngw.dom.select._doCreate(jQuery(this));
    });
    return this;
};
audi_ngw.dom.select.create = function(A) {
    audi_ngw.dom.select._doCreate(jQuery(A));
};
audi_ngw.dom.select._doCreate = function(A) {
    if (!A.size()) {
        return this;
    }
    var D = audi_ngw.dom.select;
    var E = jQuery(D._options.sHTMLOption);
    var C = A.attr("id");
    var B = jQuery(D._options.sHTMLSelect).attr("id", C).attr("className", A.attr("className")).removeClass(D._options.sClassNameMarker).change(A.metadata().to_select.onChange);
    A.find("li a").each(function() {
        var G = jQuery(this);
        var F = "";
        E.clone(true).attr("value", G.attr("href")).attr("class", G.attr("class")).text(G.text()).appendTo(B);
    });
    if (!B.find(".selected").size()) {
        E.clone(true).attr("value", "").attr("class", "selected").text(audi_ngw.dictionary.OPTION_CHOOSE).prependTo(B);
    }
    B.find(".selected").attr("selected", "selected").removeClass("selected");
    A.replaceWith(B);
    if (B.metadata().to_select.bTrigger === true && B.find("option[selected]").attr("value")) {
        B.triggerHandler("change");
    }
    B = null;
    E = null;
    return this;
};
audi_ngw.dom.select.createOn = function(B) {
    var A;
    var C = audi_ngw.dom.select;
    if (B) {
        A = "#";
        A += B;
        A += " ul.";
        A += C._options.sClassNameMarker;
    } else {
        A = "ul.";
        A += C._options.sClassNameMarker;
    }
    jQuery(A).audi_anchorsToOptions();
};
audi_ngw.dom.select.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.dom.select.createOn(audi_ngw.url.getContentId());
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.dom.select.onAjaxSnippetReady = function(A, B) {
    audi_ngw.dom.select.createOn(B.sId.slice(1));
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.dom.select.initialize = function() {
    this.__className = "audi_ngw.dom.select";
    this.__classVersion = "1.2";
    this._options = {};
    this._options.sHTMLSelect = "<select></select>";
    this._options.sHTMLOption = '<option value="HREF"></option>';
    this._options.sClassNameMarker = "to_select";
    this._sIdIFrame = "#audi_iframe";
    audi_ngw.dom.select.createOn("audi_content_wrapper");
    audi_ngw.event.bind("ajaxModalContentReady.domSelect", audi_ngw.dom.select.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.dom.select.onAjaxSnippetReady);
};
audi_ngw.namespace(audi_ngw, "dom.filter");
audi_ngw.dom.filter._addEvents = function(A) {
    A = A || "";
    jQuery(A + ' *[rel="filter"]').unbind("click.filter").bind("click.filter", audi_ngw.dom.filter.run);
};
audi_ngw.dom.filter.run = function(C) {
	audi_ngw.log("filter:"+C.target)
    C.preventDefault();
    var A = jQuery(C.target) || jQuery(C);
    if (A.eq(0).get(0).tagName.toLowerCase() == "select" || A.eq(0).get(0).tagName.toLowerCase() == "option") {
        A = jQuery('option[value="' + A.val() + '"]');
    }
    audi_ngw.log("filter3:"+A.val())
    var B = audi_ngw.dom.filter._getOptions(A);
    audi_ngw.dom.filter._doRun(B.sIdSource, B.sIdTarget, B.sFilter);
    return false;
};
audi_ngw.dom.filter._doRun = function(B, C, F) {
	audi_ngw.log("filter2:"+B+" | "+C+" | "+F+" | ")
    if (jQuery("#" + B).size() !== 1 || jQuery("#" + C).size() !== 1 || !F) {
        return;
    }
    var A = ".";
    A += F;
    var E = jQuery("#" + B).find(A);
    if (!E.size()) {
        return false;
    }
    var D = jQuery("#" + C).empty();
    E.clone(true).appendTo(D);
    D.find("a").eq(0).trigger("click");
    D = null;
    E = null;
    return true;
};
audi_ngw.dom.filter._getOptions = function(B) {
    var A = B.metadata().filterOptions || {};
    var C = {
        sIdSource: A.sIdSource || audi_ngw.dom.filter._defaults.sIdSource,
        sIdTarget: A.sIdTarget || audi_ngw.dom.filter._defaults.sIdTarget,
        sFilter: A.sFilter || null
    };
    return C;
};
audi_ngw.dom.filter.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.dom.filter._addEvents("#" + audi_ngw.url.getContentId());
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.dom.filter.onAjaxSnippetReady = function(A, B) {
    audi_ngw.dom.filter._addEvents(B.sId);
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.dom.filter.initialize = function() {
    this.__className = "audi_ngw.dom.filter";
    this.__classVersion = "1.5";
    this._options = {};
    this._defaults = {};
    this._defaults.sIdSource = "filerBluePrint";
    this._defaults.sIdTarget = "filterCopy";
    audi_ngw.dom.filter._addEvents();
};
audi_ngw.dom.filter.prepare = function() {
    audi_ngw.dom.filter.initialize();
    audi_ngw.event.bind("ajaxModalContentReady.domFilter", audi_ngw.dom.filter.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.dom.filter.onAjaxSnippetReady);
};
audi_ngw.namespace(audi_ngw, "layer");
audi_ngw.layer.setIE6Fix = function(B, I, C) {
    if (jQuery.browser.msie === true && parseFloat(jQuery.browser.version) < 6.5) {
        var F = audi_ngw.layer;
        var E = jQuery(B);
        var H = (B == "body") ? jQuery("body") : E.parent();
        if (!F._elIframe && !C) {
            F._elIframe = jQuery('<iframe id="audi_layer_iframe" src="">').css({
                opacity: 1,
                position: "absolute",
                zIndex: "8000",
                height: E.outerHeight() + "px",
                width: E.outerWidth() + "px"
            }).appendTo(H);
        }
        if (!F._elIframeModalAdvice && C) {
            F._elIframeModalAdvice = jQuery('<iframe id="audi_layer_iframe" src="">').css({
                opacity: 1,
                position: "absolute",
                zIndex: "8000",
                height: E.outerHeight() + "px",
                width: E.outerWidth() + "px"
            }).appendTo(H);
        }
        var D = F._elIframe;
        var A = F._elIframeModalAdvice;
        if (B == "body") {
            jQuery(window).bind("resize.IFRAMEFIX", audi_ngw.layer.onResizeIframeDimensions);
            D.css({
                left: 0,
                top: 0,
                height: (jQuery("body").outerHeight()) + "px",
                width: (jQuery("body").outerWidth()) + "px"
            });
        }
        if (B != "body") {
            var G = (C === true) ? A: D;
            G.css({
                left: I.left || E.position().left + "px",
                bottom: I.bottom || 0,
                height: E.outerHeight() + "px",
                width: E.outerWidth() + "px"
            });
            return;
        }
        D = null;
        A = null;
    }
    return this;
};
audi_ngw.layer.setIE6FixResize = function(B) {
    if (jQuery.browser.msie === true && parseFloat(jQuery.browser.version) < 6.5) {
        var A = jQuery(B);
        var C = (jQuery("#audi_modal_overlay").css("display") != "none") ? audi_ngw.layer._elIframeModalAdvice: audi_ngw.layer._elIframe;
        C.css({
            height: A.outerHeight() + "px",
            width: A.outerWidth() + "px"
        });
        C = null;
    }
};
audi_ngw.layer.onResizeIframeDimensions = function() {
    audi_ngw.layer._elIframe.css({
        left: 0,
        top: 0,
        height: (jQuery("body").outerHeight()) + "px",
        width: (jQuery("body").outerWidth()) + "px"
    });
};
audi_ngw.layer.unsetIE6Fix = function() {
    if (jQuery.browser.msie === true && jQuery.browser.version < 6.5) {
        var A = audi_ngw.layer;
        if (A._elIframeModalAdvice) {
            A._elIframeModalAdvice.remove();
            A._elIframeModalAdvice = null;
        }
        if (jQuery("#audi_modal_overlay").css("display") == "none" && A._elIframe) {
            A._elIframe.remove();
            A._elIframe = null;
            jQuery(window).unbind("resize.IFRAMEFIX");
        }
    }
    return this;
};
audi_ngw.layer.cloneContent = function(B, C) {
    var A = document.getElementById(B).cloneNode(true);
    audi_ngw.layer[C]._$elLayerClone = jQuery(A).attr("id", B + "_clone").addClass("clone").show().appendTo(jQuery("#" + B).parent());
    A = null;
    return audi_ngw.layer[C]._$elLayerClone;
};
audi_ngw.layer._calculatePosition = function(H, G, D) {
    var I, A, C, J;
    switch (G) {
    case "element":
        var B = audi_ngw.layer.simple;
        var E = jQuery("#audi_container_main").outerHeight();
        var F = D.position();
        J = F.left;
        C = E - F.top + D.height();
        I = E - F.top + D.height();
        break;
    case "center":
        J = Math.floor(((jQuery("#audi_container_page").outerWidth() / 2) - (H.outerWidth() / 2)));
        I = Math.floor((jQuery("#audi_container_page").outerHeight() / 2) - (H.outerHeight() / 2));
        C = Math.floor((jQuery("#audi_container_page").outerHeight() / 2) + (H.outerHeight()));
        break;
    }
    J += "px";
    I += "px";
    C += "px";
    return {
        iHeight: H.outerHeight(),
        iWidth: H.outerWidth(),
        sLeft: J,
        sTop: I,
        sBottom: C
    };
};
audi_ngw.layer.setContent = function(B) {
    var C = audi_ngw.layer.getOptions(B);
    var D = C.sType;
    var A = audi_ngw.layer[D]._$elLayer;
    audi_ngw.layer._doSetContent(A, B, D, C);
};
audi_ngw.layer._doSetContent = function(H, F, D, G) {
    var I = audi_ngw.layer[D];
    var B = G.sContentType;
    var A;
    var C;
    switch (B) {
    case "ajax":        
		A = G.sContent;
        C = audi_ngw.layer.cloneContent(audi_ngw.layer[D]._options.sIdToClone, D);
        H.empty();
        C.empty();
        jQuery.ajax({
            url: A,
            type: "GET",
            dataType: "html",
            complete: function(N, K, P) {
                var M = N.responseText;
                if (K != "error" && M.indexOf("audi_content_wrapper") !== -1 && M.indexOf("audi_modal_container") === -1) {
                    C.html(jQuery("<div/>").append(M.replace(/<script(.|\s)*?\/script>/g, "")).find(" #audi_content_wrapper > *"));
                    var O = M.match(/<script(.|\s)*?\/script>/g);
                    if (O !== null && O.length) {
                        var L = jQuery("<div/>").append(O.join(" ")).empty().remove();
                        L = null;
                    }
                } else {
                    audi_ngw.layer.simple.hide();
                    return false;
                }
            }
        });
        break;
    case "ajax-layer":  
		if (audi_ngw.url.validate(G.sContent) === false) {
            return false;
        }
       
        if (!G.sSelectorContainer) {
         audi_ngw.log("3371");
            A = G.sContent;
            H.empty().css("width", "auto");
            jQuery.ajax({
                url: A,
                type: "GET",
                dataType: "html",
                complete: function(O, K, Q) {
                    var N = O.responseText;
                    audi_ngw.log("indexOf: 3380: "+N.indexOf("audi_content_wrapper"));
                    if (K != "error" && N.indexOf("audi_content_wrapper") !== -1 && N.indexOf("audi_modal_container") === -1) {
                   	audi_ngw.log("success: 3382");
						H.html(jQuery("<div/>").append(N.replace(/<script(.|\s)*?\/script>/g, "")).find(" #audi_content_wrapper > *"));
						audi_ngw.log("3384");
                        var P = N.match(/<script(.|\s)*?\/script>/g);
                        audi_ngw.log("3385: P "+P);
                        if (P !== null && P.length) {
                      		//wegen smarty debug auskommentiert
                            //wieder entkommentiert weil sonst der technik modellvergleich nicht funktioniert. hat was mit den javascripts aus den ajaxdateien zu tun
                            var M = jQuery("<div/>").append(P.join(" ")).empty().remove();
                            M = null;
                        }
                        audi_ngw.log("3389");
                        audi_ngw.navigation.setTitle(N);
                        jQuery(document).unbind("ajaxModalContentPrepared").bind("ajaxModalContentPrepared", function() {
                            audi_ngw.log("3391: " + audi_ngw.event.ajaxModalContentReadyCount)
                            if (audi_ngw.event.ajaxModalContentReadyCount === 0) {
                                audi_ngw.layer.xhrReallocate(H, H, F, D, G);
                                audi_ngw.event.ajaxModalContentReadyCount = audi_ngw.event.ajaxModalContentReadyCountCopy;
                                jQuery(document).unbind("ajaxModalContentPrepared");
                                return true;
                            }
                        });
                        jQuery(document).trigger("ajaxModalContentReady", [O]);
                        var L = window.location.href;
                        L = L.split("#");
                        audi_ngw.log("3400 L[1]: " + L[1])
                        audi_ngw.log("3401: " + audi_ngw.navigation.history)
                        audi_ngw.log("3402: history.length" + audi_ngw.navigation.history.length)
                        if ("object" == typeof(audi_ngw.navigation.history) && 1 == jQuery("#audi_modal_header").parents(".detailview_image, .func_sendfriend").size()) {
                            if ( - 1 == jQuery.inArray(L[1], audi_ngw.navigation.history)) {
                                audi_ngw.log("3404: push 1");
                                audi_ngw.navigation.history.push(L[1]);
                            }
                        } else {
                            audi_ngw.log("3408: push 2");  
                            audi_ngw.navigation.history = [L[1]];
                        }
                    } else {
                        audi_ngw.layer.modal.hide();
                        audi_ngw.layer.simple.hide();
                        audi_ngw.layer.advice.hide();
                        return false;
                    }
                }
            });
        } else {      	
            A = G.sContent;
            H = jQuery(G.sSelectorContainer);
            C = audi_ngw.layer.cloneContent(G.sSelectorContainer.slice(1), D);
            C.empty();
            H.empty();
            C.empty();
            jQuery.ajax({
                url: A,
                type: "GET",
                dataType: "html",
                complete: function(N, K, P) {
                    var M = N.responseText;  
                    if (K != "error" && M.indexOf("audi_modal_container") === -1) {
                        C.html(jQuery("<div/>").append(M.replace(/<script(.|\s)*?\/script>/g, "")).find(G.sSelectorContainer + " > *"));
                        var O = M.match(/<script(.|\s)*?\/script>/g);
                        if (O !== null && O.length) {
                            var L = jQuery("<div/>").append(O.join(" ")).empty().remove();
                            L = null;
                        }
                        audi_ngw.navigation.setTitle(M);
                        jQuery(document).unbind("ajaxModalContentPrepared").bind("ajaxModalContentPrepared", function() {
                            audi_ngw.log("------ajaxModalContentPrepared:", audi_ngw.event.ajaxModalContentReadyCount);
                            if (audi_ngw.event.ajaxModalContentReadyCount === 0) {
                                audi_ngw.layer.xhrReallocate(H, C, F, D, G);
                                audi_ngw.log("RESERT EVENTS TO: ", audi_ngw.event.ajaxModalContentReadyCountCopy, audi_ngw.event.ajaxModalContentReadyCount);
                                audi_ngw.event.ajaxModalContentReadyCount = audi_ngw.event.ajaxModalContentReadyCountCopy;
                                jQuery(document).unbind("ajaxModalContentPrepared");
                                return true;
                            }
                        });
                        jQuery(document).trigger("ajaxModalContentReady", [P]);
                        return true;
                    } else {
                        audi_ngw.layer.modal.hide();
                        audi_ngw.layer.simple.hide();
                        audi_ngw.layer.advice.hide();
                        return false;
                    }
                }
            });
        }
        break;
    case "text":
        H.empty().audi_unsetLoading().text(G.sContent);
        break;
    case "confirm_dialog":
        _options = G.sContent[0];
        $_c = '<div class="col_3 has_audi_generated_rounded_corners">';
        $_c += '<div id="audi_modal_round_head" class="2"><div id="audi_modal_top_right"/><div class="audi_modal_bg_bar"/><div id="audi_modal_top_left"/></div>';
        $_c += '<div id="audi_modal_header">';
        $_c += '<h1 class="sIFR">' + _options.confirmHeadline + '</h1><a id="modal_close" href="#"><span>' + audi_ngw.dictionary.CLOSE + '</span><img alt="' + audi_ngw.dictionary.CLOSE + '" src="' + audi_ngw.docroot + 'files/allgemein/icon_close_modal_layer.gif"/></a>';
        $_c += "</div>";
        $_c += '<div id="audi_modal_body">';
        $_c += "<p>" + _options.confirmMessage + "</p>";
        if (_options.yesButton) {
            $_c += '<button class="dialog_yes_button" value="basic" type="submit"><div class="submit basic"><span>' + _options.yesButton + "</span></div></button>";
        }
        if (_options.noButton) {
            $_c += '<button class="dialog_no_button" value="basic" type="submit"><div class="submit basic"><span>' + _options.noButton + "</span></div></button>";
        }
        $_c += "</div>";
        $_c += '<div id="audi_modal_round_bottom"><div id="audi_modal_bottom_right"/><div class="audi_modal_bg_bar"/><div id="audi_modal_bottom_left"/></div>';
        H.empty().audi_unsetLoading().html($_c);
        audi_ngw.question.bindListeners();
        audi_ngw.layer.xhrReallocate(H, C, F, D, G);
        audi_ngw.flash.replaceLayerHeadlines();
        audi_ngw.flash.initiate("audi_modal_header");
        break;
    case "html":
        _sRes = G.sContent;
        H.html(jQuery("<div/>").append(_sRes.replace(/<script(.|\s)*?\/script>/g, "")).find(" #audi_content_wrapper > *"));
        var E = _sRes.match(/<script(.|\s)*?\/script>/g);
        if (E !== null && E.length) {
            var J = jQuery("<div/>").append(E.join(" ")).empty().remove();
            J = null;
        }
        audi_ngw.navigation.setTitle(_sRes);
        jQuery(document).unbind("ajaxModalContentPrepared").bind("ajaxModalContentPrepared", function() {
            audi_ngw.log("------ajaxModalContentPrepared:", audi_ngw.event.ajaxModalContentReadyCount);
            if (audi_ngw.event.ajaxModalContentReadyCount === 0) {
                audi_ngw.layer.xhrReallocate(H, C, F, D, G);
                audi_ngw.log("RESERT EVENTS TO: ", audi_ngw.event.ajaxModalContentReadyCountCopy, audi_ngw.event.ajaxModalContentReadyCount);
                audi_ngw.event.ajaxModalContentReadyCount = audi_ngw.event.ajaxModalContentReadyCountCopy;
                jQuery(document).unbind("ajaxModalContentPrepared");
                return true;
            }
        });
        jQuery(document).trigger("ajaxModalContentReady", G.sXHRObj);
        break;
    default:
        break;
    }
};
audi_ngw.layer.xhrReallocate = function(C, B, E, G, D) {
    var A = {};
    var F = audi_ngw.layer[G];
    if (typeof F._calculatePosition == "function") {
        A = F._calculatePosition(B, D.sPosition, E);
    } else {
        A = audi_ngw.layer._calculatePosition(B, D.sPosition, E);
    }
    F._doXhrReallocation(C, A);
};
audi_ngw.layer.getOptions = function(C, A) {
    var E = C.metadata() || {};
    if (!E.layerOptions) {
        E.layerOptions = {};
    }
    if (!E.sType && !A) {
        throw new Error("layerOptions: Missing required layer type 'sType'");
    }
    var B = (A) ? A: E.layerOptions.sType.split(".")[1];
    var D = {
        sBottom: E.layerOptions.sBottom,
        sPosition: E.layerOptions.sPosition || audi_ngw.layer[B].oDefaults.sPosition,
        hasOutsideClick: (E.layerOptions.hasOutsideClick === "undefined" || E.layerOptions.hasOutsideClick === undefined) ? audi_ngw.layer[B].oDefaults.hasOutsideClick: E.layerOptions.hasOutsideClick,
        hasHideDelayed: (E.layerOptions.hasHideDelayed === "undefined" || E.layerOptions.hasHideDelayed === undefined) ? audi_ngw.layer[B].oDefaults.hasHideDelayed: E.layerOptions.hasHideDelayed,
        sContentType: E.layerOptions.sContentType || audi_ngw.layer[B].oDefaults.sContentType,
        sContent: E.layerOptions.sContent || audi_ngw.layer[B].oDefaults.sContent,
        sWidth: E.layerOptions.sWidth || null,
        sHeight: E.layerOptions.sHeight || null,
        sRel: C.attr("rel") || null,
        sSelectorContainer: E.layerOptions.sSelectorContainer || null
    };
    if (D.sContentType === "ajax") {
        D.sContent = audi_ngw.url.addAjaxFragment(C.attr("href"));
    }
    return D;
};
audi_ngw.layer.bind = function(D, E, B) {
    var A = audi_ngw.layer[E];
    var C = A._$elLayer;
    B = (typeof B == "function") ? B: function() {};
    switch (D) {
    case "outsideClick":
        jQuery(document).bind("click.simple", B, A._doOutsideClick);
        break;
    case "hideDelayed":
        A._oTimers.hideDelayed = window.setTimeout(function() {
            if (audi_ngw.dom.getUnique(A._options.sIdLayer) === true) {
                C.fadeOut(A.oDefaults.iFadeOutMS, A.hide);
            }
        },
        A.oDefaults.iHideDelayedMs);
        break;
    }
    B = null;
};
audi_ngw.namespace(audi_ngw, "layer.advice.api");
audi_ngw.namespace(audi_ngw, "layer.advice");
audi_ngw.layer.advice._setUp = function(C) {
    var A = this;
    if (!A._options) {
        A.initialize();
    }
    var D = [];
    var B = (C) ? ("#" + C + " ") : "";
    B += ' a[rel="layerAdvice"]';
    jQuery(B).unbind("click.advice").bind("click.advice", A.showAnimated).unbind("click.mouseover").bind("click.mouseover", A.markerShow).unbind("click.mouseout").bind("click.mouseout", A.markerHide).unbind("click.mousemove").bind("click.mousemove", A.markerShow).map(function() {
        D.push(jQuery(this).attr("href").split("#")[1]);
    });
    B = null;
    B = (C) ? ("#" + C + " ") : "";
    B += 'div[id^="';
    B += A._options.sIdSliceAdviceLayer.slice(1);
    B += '"]';
    jQuery(B).map(function() {
        var E = jQuery.inArray(jQuery(this).attr("id"), D);
        if (E !== -1) {
            D.splice(E, 1);
        }
        if (jQuery(this).attr("id").indexOf(audi_ngw.dom._identifyBase) === -1) {
            audi_ngw.layer.advice.setUnique(jQuery(this));
        }
    }).end().hide().addClass(A._options.sCNAdviceLayer.slice(1)).css("position", "absolute").css("display", "none").find("h4").before(A._options.sHTMLIconClose).end().find("img.close").unbind("click.layerAdvice").bind("click.layerAdvice", A.layerHideAnimated);
    A._aMissingFootnotes = D;
    if (!jQuery(A._options.sIdAdviceMarker).size()) {
        jQuery("body").append('<img src="' + A._options.sSrcAdviceMarker + '" id="' + A._options.sIdAdviceMarker.slice(1) + '"></div>');
        A._$elAdviceMarker = jQuery(A._options.sIdAdviceMarker).hide();
    }
    if (A._aMissingFootnotes.length > 0) {
        audi_ngw.layer.advice.getAllFootnotes(C || "#audi_content_wrapper");
        A._aMissingFootnotes = [];
    }
};
audi_ngw.layer.advice.getAllFootnotes = function(G) {
    var L = audi_ngw.layer.advice;
    var K = L._oReqGetAll;
    var J = K.sUrlBase;
    var C = K.sUrlSuffix;
    var E = K.sUrlDivider;
    var A = L._aMissingFootnotes.length;
    var F = L._aMissingFootnotes;
    var B = 0;
    var I = [""];
    var H = [];
    G = (G.indexOf("#") === -1) ? "#" + G: G;
    G = (G == "#audi_modal_container") ? "#audi_modal_body": G;
    for (var D = 0; D <= A; D++) {
        if (((H.join("_") + ".shtml").length + J.length + 1) > 1700 || D == A) {
            I[B] = J + E + H.join(E) + C;
            H = [];
            B++;
        }
        var M = F.pop();
        if (M) {
            H.push(M.slice(9));
        }
    }
    A = I.length;
    for (D = 0; D < A; D++) {
        jQuery.ajax({
            url: audi_ngw.url.getContext(I[D]),
            type: K.sType,
            cache: true,
            success: function(N) {
                var O = jQuery("<div />").append(N).find("[id]").each(function(Q, R) {
                    var P = jQuery(R);
                    audi_ngw.layer.advice.setUnique(P);
                });
                jQuery(G).append(O);
                O = null;
                G = G.slice(1);
                audi_ngw.layer.advice._setUp(G);
                audi_ngw.dom.rounded_corners.createOn(G);
                audi_ngw.flash.adviceLayerHeadlines();
                audi_ngw.navigation.prepareLinks(G);
            }
        });
    }
};
audi_ngw.layer.advice.setUnique = function(B) {
    var C = B.attr("id");
    var D = jQuery("a[href$='" + C + "']");
    var A = C.indexOf("footnote_uid_") === 0;
    var E = A ? "": ("_" + audi_ngw.dom._identifyBase + "_" + audi_ngw.dom._identifyCounter++).toString();
    D.attr("href", D.attr("href") + E);
    B.attr("id", C + E);
};
audi_ngw.layer.advice.markerShow = function(A) {
    audi_ngw.layer.advice._doMarkerShow(this, A.pageX, A.pageY);
};
audi_ngw.layer.advice._doMarkerShow = function(C, E, D) {
    var A = audi_ngw.layer.advice;
    var B = jQuery(this);
    A._sTitle = B.attr("title");
    B.attr("title", "");
    A._$elAdviceMarker.css({
        left: E + A._options.iAdvideMarkerOffsetX,
        top: D + A._options.iAdvideMarkerOffsetY
    }).show();
};
audi_ngw.layer.advice.markerHide = function(A) {
    audi_ngw.layer.advice._doMarkerHide(this);
};
audi_ngw.layer.advice._doMarkerHide = function(B) {
    var A = audi_ngw.layer.advice;
    A._$elAdviceMarker.hide();
    jQuery(B).attr("title", A._sTitle);
};
audi_ngw.layer.advice.hide = function() {
    audi_ngw.layer.advice.layerHideAnimated();
};
audi_ngw.layer.advice.layerHideAnimated = function(C) {
    if (audi_ngw.animation.getRunning(audi_ngw.layer.advice.__className) === true || !audi_ngw.layer.advice._$elLayer) {
        return;
    }
    audi_ngw.animation.setRunning(audi_ngw.layer.advice.__className);
    var A = audi_ngw.layer.advice;
    var B = A._$elLayer;
    if (!A._$elLayer || (A._$elLayer.attr("id") != B.attr("id"))) {
        A._doHideAllFootnotes();
    }
    audi_ngw.layer.advice._doLayerHideAnimated(B);
};
audi_ngw.layer.advice._doLayerHideAnimated = function(B) {
    var A = audi_ngw.layer.advice;
    jQuery(B).slideUp(300, function() {
        audi_ngw.animation.onComplete(audi_ngw.layer.advice.__className);
        audi_ngw.layer.unsetIE6Fix();
        A._$elLayer = null;
    });
};
audi_ngw.layer.advice._doHideAllFootnotes = function() {
    audi_ngw.log("3708: hide footnotes");
    var A = audi_ngw.layer.advice;
    if (!A._options) {
        audi_ngw.layer.advice.initialize({});
    }
    var B = 'div[id^="';
    B += A._options.sIdSliceAdviceLayer.slice(1);
    B += '"]';
    jQuery(B).hide();
    audi_ngw.layer.unsetIE6Fix();
    A._$elLayer = null;
};
audi_ngw.layer.advice.showAnimated = function(A) {
    if (audi_ngw.animation.getRunning(audi_ngw.layer.advice.__className) === true) {
        return;
    }
    A.preventDefault();
    audi_ngw.animation.setRunning(audi_ngw.layer.advice.__className);
    audi_ngw.layer.advice._doShowAnimated(A, A.target);
};
audi_ngw.layer.advice._doShowAnimated = function(A, C) {
    var B = audi_ngw.layer.advice;
    if (B._$elLayer) {
        B._$elLayer.hide();
    }
    var G = jQuery(C);
    var F = (G.get(0).tagName.toLowerCase() === "a") ? G.attr("href").split("#")[1] : G.parents("a").eq(0).attr("href").split("#")[1];
    var I = "#";
    I += F;
    var J = jQuery(I);
    var D = false;
    if (!J.size()) {
        J = jQuery(B._sHTMLFootnote).clone(true).attr("id", G.attr("href").split("#")[1]).audi_setLoading().appendTo("#audi_content_wrapper").find("img.close").bind("click.layerAdvice", B.layerHideAnimated).end();
        D = true;
    }
    B._$elLayer = J;
    var H = (G.parents("#audi_modal_body").size()) ? true: false;
    var E = B._calculatePosition(A, G, H);
    J.css({
        visibility: "hidden",
        display: "block",
        left: E.sLeft,
        bottom: E.sBottom
    });
    audi_ngw.layer.setIE6Fix(B._$elLayer, {
        top: "",
        right: "",
        bottom: E.sBottom,
        left: E.sLeft
    },
    H);
    J.css({
        display: "none",
        visibility: "visible"
    }).slideDown(300, function() {
        if (D === true) {
            jQuery.get(G.attr("href").split("#")[0], {},
            function(K) {
                J.find(".ajax_content").replaceWith(K);
                audi_ngw.layer.setIE6FixResize(J);
            });
        }
        audi_ngw.animation.onComplete(audi_ngw.layer.advice.__className);
    });
};
audi_ngw.layer.advice._calculatePosition = function(A, H, E) {
    var B = audi_ngw.layer.advice;
    var G = (E) ? "#audi_modal_body": B._options.sIdWrapper;
    var D = jQuery(G).outerHeight();
    var J = jQuery(G).offset().top;
    var F = {
        left: A.pageX,
        top: A.pageY
    };
    var I = H.position().left + B._options.iAdvideLayerOffsetX;
    I += "px";
    var C = D + J - F.top + B._options.iAdvideLayerOffsetY;
    C += "px";
    return {
        sLeft: I,
        sBottom: C
    };
};
audi_ngw.layer.advice.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.layer.advice._setUp(audi_ngw.url.getContentId());
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.layer.advice.onAjaxSnippetReady = function(A, B) {
    audi_ngw.layer.advice._setUp(B.sId.slice(1));
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.layer.advice.initialize = function(A) {
    this.__className = "audi_ngw.layer.advice";
    this.__classVersion = "1.4";
    this._$elLayer = null;
    this._oReqGetAll = {
        sType: "GET",
        sUrlBase: audi_ngw.config.sURLGetAllFootnotesBase,
        sUrlSuffix: audi_ngw.config.sURLGetAllFootnotesSuffix,
        sUrlDivider: audi_ngw.config.sURLGetAllFootnotesDivider
    };
    this._aMissingFootnotes = [];
    A = {
        sIdWrapper: "audi_container_main",
        sSrcAdviceMarker: "" + audi_ngw.docroot + "/files/allgemein/advice_marker.png",
        sIdAdviceMarker: "audi_template_d_advice_marker",
        sCNAdviceLayer: "audi_template_d",
        sIdSliceAdviceLayer: "footnote",
        sHTMLIconClose: '<img src="' + audi_ngw.docroot + 'files/allgemein/icon_close_advice_layer.gif" class="close" width="11" height="11" alt="close layer" />',
        iAdvideMarkerOffsetX: 18,
        iAdvideMarkerOffsetY: 17,
        iAdvideLayerOffsetX: -40,
        iAdvideLayerOffsetY: 10
    };
    this._options = {};
    this._options.sIdWrapper = "#" + A.sIdWrapper;
    this._options.sIdAdviceMarker = "#" + A.sIdAdviceMarker;
    this._options.sCNAdviceLayer = "." + A.sCNAdviceLayer;
    this._options.sSrcAdviceMarker = A.sSrcAdviceMarker;
    this._options.sIdSliceAdviceLayer = "#" + A.sIdSliceAdviceLayer;
    this._options.sHTMLIconClose = A.sHTMLIconClose;
    this._options.iAdvideMarkerOffsetX = A.iAdvideMarkerOffsetX;
    this._options.iAdvideMarkerOffsetY = A.iAdvideMarkerOffsetY;
    this._options.iAdvideLayerOffsetX = A.iAdvideLayerOffsetX;
    this._options.iAdvideLayerOffsetY = A.iAdvideLayerOffsetY;
    this._sHTMLFootnote = '<div class="audi_template_d advice has_audi_generated_corners" id="" style="display: none; position: absolute;"><div class="audi_generated_corners_background"><span class="audi_generated_top"><span class="generated_right"></span><span class="generated_middle"></span><span class="generated_left"></span></span><img width="11" height="11" alt="close layer" class="close" src="/files/allgemein/icon_close_advice_layer.gif"/><div class="ajax_content" style="text-align: center;"><img src="' + audi_ngw.docroot + 'img/preloader_modal.gif" height="30" width="30" style="padding: 20px; text-align: center;"/></div><span class="audi_generated_bottom"><span class="generated_right"></span><span class="generated_middle"></span><span class="generated_left"></span></span></div></div>';
    this._setUp();
};
audi_ngw.layer.advice.prepare = function(A) {
    audi_ngw.layer.advice.initialize({});
    audi_ngw.event.bind("ajaxModalContentReady.layerAdvice", audi_ngw.layer.advice.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.layer.advice.onAjaxSnippetReady);
};
audi_ngw.namespace(audi_ngw, "layer.modal");
audi_ngw.namespace(audi_ngw, "layer.modal.api");
audi_ngw.layer.modal.api.show = function(D, C) {
    var B = audi_ngw.layer.modal;
    var A = B._$elLayer;
    C = C || {};
    if (typeof D == "object") {
        B._oLayerOptions = {
            sPosition: "center",
            hasOutsideClick: false,
            hasHideDelayed: false,
            sRel: "layerModal",
            sContentType: "confirm_dialog",
            sContent: D,
            sWidth: null || C.sWidth,
            sHeight: null || C.sHeight
        };
    } else {
        B._oLayerOptions = {
            sPosition: "center",
            hasOutsideClick: false,
            hasHideDelayed: false,
            sRel: "layerModal",
            sContentType: "ajax-layer",
            sContent: audi_ngw.url.addAjaxFragment(D),
            sWidth: null || C.sWidth,
            sHeight: null || C.sHeight
        };
    }
    audi_ngw.layer.modal._doShow(A, null, B._oLayerOptions);
    audi_ngw.layer.modal.apiOnClose = (typeof C.onClose == "function") ? C.onClose: function() {};
};
audi_ngw.layer.modal.api.login = function(D, C) {
    var B = audi_ngw.layer.modal;
    var A = B._$elLayer;
    C = C || {};
    B._oLayerOptions = {
        sPosition: "center",
        hasOutsideClick: false,
        hasHideDelayed: false,
        sRel: "layerModal",
        sContentType: "ajax-layer",
        sContent: audi_ngw.url.addAjaxFragment(D) || audi_ngw.config.sLoginUrl,
        sWidth: null || C.sWidth,
        sHeight: null || C.sHeight
    };
    audi_ngw.layer.modal._doShow(A, null, B._oLayerOptions);
    audi_ngw.layer.modal.apiOnClose = (typeof C.onClose == "function") ? C.onClose: function() {};
};
audi_ngw.layer.modal._setUp = function() {
    if (jQuery("#audi_modal_container")) {
        jQuery("<div></div>").attr("id", "audi_modal_container").appendTo("body");
    }
    jQuery(this._options.sIdModalContainer).before(this._options.sHTMLModalOverlay);
    jQuery(this._options.sIdModalContainer).wrap(this._options.sHTMLModalSuperWrapper).wrap(this._options.sHTMLModalWrapper);
    this._$elLayer = jQuery(this._options.sIdModalContainer);
    if (jQuery.browser.mozilla && parseFloat(jQuery.browser.version) < 1.9) {
        jQuery("#audi_modal_super_wrapper").css("position", "fixed");
    }
    this._$elLayerWrapper = jQuery("#audi_modal_super_wrapper").hide();
    this._$elModal = jQuery("#audi_modal_overlay").hide();
};
audi_ngw.layer.modal._addClose = function(B) {
    var C = audi_ngw.layer.modal;
    var A = "#";
    A += B || audi_ngw.url.getContentId();
    A += " #audi_modal_header";
    jQuery(A).append(C._options.sHTMLModalCloseButton);
};
audi_ngw.layer.modal.setPosition = function(C, B, F) {
    var E = audi_ngw.layer.modal;
    F = F || E._oLayerOptions.sPosition;
    if (!B || B.sTop == "0px") {
        return;
    }
    if (0 < jQuery("#audi_modal_container .layer_fullscreen").size()) {
        var A = jQuery(window).height();
        var D = jQuery(window).width();
        if (jQuery.browser.msie === true && parseFloat(jQuery.browser.version) < 6.5) {
            D = D - 2;
            A = A - 6;
        }
        jQuery("#audi_modal_container").css({
            height: A,
            width: D,
            left: 0,
            top: 0
        });
        A = A - jQuery("#audi_modal_container #audi_modal_header").outerHeight() - 6;
        jQuery("#audi_modal_container #audi_modal_body").css({
            height: A,
            width: D
        });
        return;
    }
    switch (F) {
    case "centerStatic":
        C.css({
            top:
            B.sTop,
            left: B.sLeft
        });
        break;
    case "center":
        C.stop().animate({
            top:
            B.sTop,
            left: B.sLeft,
            easing: "linear"
        },
        150);
        break;
    case "centerOnResize":
        C.stop().animate({
            top:
            B.sTop,
            left: B.sLeft,
            easing: "linear"
        },
        150);
        if (jQuery.browser.msie) {
            $("#audi_modal_wrapper").width(C.outerWidth() + "px");
            $("#audi_modal_wrapper").height(C.outerHeight() + "px");
        }
        break;
    }
};
audi_ngw.layer.modal._calculatePosition = function(F, E, D) {
    var G, A, C, I;
    var H = audi_ngw.layer.modal;
    F = H._$elLayer;
    switch (E) {
    case "centerStatic":
    case "center":
        var B = (jQuery.browser.msie === true && jQuery.browser.version < 7) ? document.documentElement.clientHeight: jQuery("body").innerHeight();
        if (B < F.height()) {
            G = H._options.iMinPaddingTop;
        } else {
            G = (((B / 2) - (F.height() / 2)) > H._options.iMinPaddingTop) ? ((B / 2) - (F.height() / 2)) : H._options.iMinPaddingTop;
            G = parseInt(G, 10);
        }
        if (!F.height()) {
            G = 0;
        }
        I = Math.floor(((jQuery("body").outerWidth() / 2) - (F.outerWidth() / 2)));
        break;
    }
    I += "px";
    G += "px";
    C += "px";
    return {
        iHeight: (!F.outerHeight() && H._oLayerOptions && H._oLayerOptions.sHeight) ? parseInt(H._oLayerOptions.sHeight, 10) : F.outerHeight(),
        iWidth: (!F.outerWidth() && H._oLayerOptions && H._oLayerOptions.sWidth) ? parseInt(H._oLayerOptions.sWidth, 10) : F.outerWidth(),
        sLeft: I,
        sTop: G,
        sBottom: C
    };
};
audi_ngw.layer.modal._doXhrReallocation = function(B, A) {
    var C = audi_ngw.layer.modal;
    if (audi_ngw.dom.getUnique(B.attr("id")) !== true) {
        C._doHide(B);
        return false;
    }
    if (C._oLayerOptions.sWidth || C._oLayerOptions.sHeight) {
        audi_ngw.layer.modal.setPosition(B, A);
        audi_ngw.layer.modal._doXhrReallocationComplete(B);
        return false;
    }
    if ("center" == C._oLayerOptions.sPosition) {
        if (C._oLayerOptions.sSelectorContainer) {
            B.animate({
                height: A.iHeight + "px"
            },
            "fast", "", audi_ngw.layer.modal._doXhrReallocationComplete);
        } else {
            if (0 === jQuery("#audi_modal_container .layer_fullscreen").size()) {
                if ("undefinedpx" !== A.sLeft) {
                    B.css("left", A.sLeft);
                }
                if ("undefinedpx" !== A.sTop) {
                    B.css("top", A.sTop);
                }
                B.css("width", A.iWidth + "px");
            } else {
                jQuery("#audi_modal_container").css({
                    width: "100%",
                    height: "100%",
                    left: "0px",
                    top: "0px"
                });
            }
            audi_ngw.layer.modal._doXhrReallocationComplete(B);
        }
    }
    return true;
};
audi_ngw.layer.modal._doXhrReallocationComplete = function() {
    var B = audi_ngw.layer.modal;
    var A = arguments[0] || jQuery(this);
    window.setTimeout(function() {
        if (audi_ngw.dom.getUnique(A.attr("id")) !== true) {
            audi_ngw.layer.modal._doHide(A);
            return;
        }
        if (B._oLayerOptions.sHeight) {
            A.height(B._oLayerOptions.sHeight);
        } else {
            A.css("height", "");
        }
        if (B._oLayerOptions.sSelectorContainer) {
            if (B._oLayerOptions.sSelectorContainer == "#audi_modal_body") {
                jQuery("#audi_modal_body_tmp").remove();
                jQuery("#audi_modal_header_tmp").remove();
                jQuery("#audi_modal_body").css("overflow", "auto");
                jQuery("#audi_modal_container").css({
                    overflow: "auto"
                });
            } else {
                jQuery(B._oLayerOptions.sSelectorContainer).audi_unsetLoading();
            }
        } else {
            B._$elLayerWrapper.audi_unsetLoading();
        }
        if (jQuery("#modal_close")) {
            jQuery("#modal_close").unbind("click.layerModalClose").bind("click.layerModalClose", audi_ngw.layer.modal.hide);
        }
        B.setPosition(B._$elLayer, B._calculatePosition(B._$elLayer, B._oLayerOptions.sPosition), "centerStatic");
        if (jQuery.browser.msie === true) {
            $("#audi_modal_wrapper").css("overflow", "");
            $("#audi_modal_super_wrapper").css("overflow", "");
            if (parseFloat(jQuery.browser.version) < 6.5) {
                $(window).resize();
            }
        }
    },
    300);
};
audi_ngw.layer.modal._doCenterPosition = function() {
    var A = audi_ngw.layer.modal;
    A.setPosition(A._$elLayer, A._calculatePosition(A._$elLayer, A._oLayerOptions.sPosition), "centerOnResize");
};
audi_ngw.layer.modal.delayedHide = function() {
    window.setTimeout(audi_ngw.layer.modal._doHide, 300);
    return false;
};
audi_ngw.layer.modal.hide = function() {
    if ("object" == typeof(audi_ngw.navigation.history) && 1 < audi_ngw.navigation.history.length && 1 == jQuery("#audi_modal_header").parents(".detailview_image, .func_sendfriend").size()) {
    	
		
        audi_ngw.navigation.history.pop();
        var B = audi_ngw.navigation.history.length - 1;
        var A = audi_ngw.navigation.history[B];
        audi_ngw.navigation.historyLoad(A);
        return false;
    } else {
        if ("object" == typeof(audi_ngw.navigation.history) && 1 === audi_ngw.navigation.history.length) {
            audi_ngw.navigation.history = "";
        }
    }
    audi_ngw.layer.modal._doHide();
    return false;
};
audi_ngw.layer.modal.isVisible = function() {
    var A = jQuery("#audi_modal_super_wrapper").css("display");
    if ("block" === A) {
        return true;
    }
    return false;
};
audi_ngw.layer.modal._doHide = function() {
    var A = audi_ngw.layer.modal;
    A._oTimers.hideDelayed = audi_ngw.clearTimer(A._oTimers.hideDelayed);
    delete A._oTimers.hideDelayed;
    jQuery(window).unbind("resize.modal", audi_ngw.layer.modal._doCenterPosition);
    A._$elLayerWrapper.audi_unsetLoading();
    A._$elLayer.hide();
    if (jQuery.browser.msie) {
        A._$elLayer.find("object, embed").each(function() {
            audi_ngw.flash.remove(this);
        });
    }
    A._$elLayer.empty().audi_unsetUnique().attr("className", "").css({
        height: "",
        width: "",
        top: "",
        right: "",
        bottom: "",
        left: "",
        opacity: 1
    });
    if (A._$elLayerClone) {
        A._$elLayerClone.empty().remove();
        A._$elLayerClone = null;
    }
    this._oLayerOptions = {};
    audi_ngw.flash.overlayShow();
    A._$elLayerWrapper.hide();
    A._$elModal.hide();
    jQuery("body").removeClass("hasModal");
    audi_ngw.layer.simple.hide();
    if (A._oLayerOptions.sSelectorContainer) {
        jQuery(A._oLayerOptions.sSelectorContainer).audi_unsetUnique();
    }
    audi_ngw.layer.unsetIE6Fix();
    jQuery("body", "html").css({
        height: "",
        width: ""
    });
    jQuery("html").css("overflow", "");
    jQuery("#audi_content_wrapper .audi_flash_replace").each(function() {
        var B = jQuery(this);
        B.css("height", "");
        if (B.attr("tagName").toLowerCase() == "object") {
            B.show();
        } else {
            B.find("object").show();
        }
    });
    if (jQuery.isFunction(audi_ngw.layer.modal.apiOnClose)) {
        audi_ngw.layer.modal.apiOnClose();
    }
    return false;
};
audi_ngw.layer.modal.showHistory = function(C) {
    var B = audi_ngw.layer.modal;
    var A = B._$elLayer;
    B._oLayerOptions = {
        sPosition: "center",
        hasOutsideClick: false,
        hasHideDelayed: false,
        sContentType: "ajax-layer",
        sRel: "layerModal",
        sContent: audi_ngw.url.addAjaxFragment(C),
        sWidth: null,
        sHeight: null
    };
    $eventElement = null;
    audi_ngw.layer.modal._doShow(A, $eventElement, B._oLayerOptions);
};
audi_ngw.layer.modal.showContent = function(E, A) {
    if (arguments[0].preventDefault) {
        E.preventDefault();
    }
    if (jQuery("#audi_modal_overlay").css("display") !== "block") {
        audi_ngw.layer.modal.showHistory(arguments[0]);
        return false;
    }
    var D = audi_ngw.layer.modal;
    var B = D._$elLayer;
    var C = C || {};
    D._oLayerOptions = {
        sPosition: "center",
        hasOutsideClick: false,
        hasHideDelayed: false,
        sContentType: "ajax-layer",
        sRel: "layerModalContent",
        sContent: audi_ngw.url.addAjaxFragment(sURL),
        sWidth: null,
        sHeight: null
    };
    $eventElement = null;
    D._oLayerOptions.sSelectorContainer = A || "#audi_modal_body";
    D._doShow(B, _$eventElement, D._oLayerOptions);
};
audi_ngw.layer.modal.show = function(E) {
    if (jQuery.browser.msie === true) {
        document.getElementById("audi_modal_overlay").style.display = "block";
    }
    E.preventDefault();
    var D = audi_ngw.layer.modal;
    var A = D._$elLayer;
    var C = C || {};
    var B = jQuery(E.target) || jQuery(E);
    D._oLayerOptions = audi_ngw.layer.getOptions(B, "modal");
    D._doShow(A, B, D._oLayerOptions);
};
audi_ngw.layer.modal._doShow = function(B, D, C) {
    var E = audi_ngw.layer.modal;
    if (E._$elLayerClone) {
        return;
    }    
    var A = {};
    E._$elLayer.attr("class", "");
    E._$elLayer.attr("class", "");
    audi_ngw.layer.advice._doHideAllFootnotes();
    audi_ngw.layer.setIE6Fix("body", {});
    window.scroll(0, 0);
    jQuery("body", "html").css({
        height: "100%",
        width: "100%"
    });
    jQuery("html").css("overflow", "hidden");
    jQuery("#audi_content_wrapper .audi_flash_replace").each(function() {
        var F = jQuery(this);
        F.css("height", F.height());
        if (F.attr("tagName").toLowerCase() == "object") {
            F.hide();
        } else {
            F.find("object").hide();
        }
    });
    jQuery("#audi_modal_super_wrapper").css({
        overflow: ""
    });
    jQuery("#audi_modal_wrapper").css({
        overflow: ""
    });
    if (jQuery.browser.msie === true) {
        jQuery("#audi_modal_wrapper").css({
            left: "0",
            top: "0",
            height: "1%"
        });
        $("#audi_modal_wrapper").css("overflow", "hidden");
        $("#audi_modal_super_wrapper").css("overflow", "hidden");
    }
    if (C.sSelectorContainer) {
        B = jQuery(C.sSelectorContainer);
        if (C.sSelectorContainer == "#audi_modal_body") {
            jQuery("#audi_modal_body").css("overflow", "hidden");
            jQuery("#audi_modal_body").append('<div id="audi_modal_body_tmp" class="preload"></div>');
            jQuery("#audi_modal_body_tmp").css({
                overflow: "hidden",
                " height": jQuery("#audi_modal_body").outerHeight() + "px"
            });
            if (jQuery("#audi_modal_header").size()) {
                jQuery("#audi_modal_header").append('<div id="audi_modal_header_tmp"></div>');
                jQuery("#audi_modal_header").css("overflow", "hidden");
                jQuery("#audi_modal_header_tmp").css({
                    overflow: "hidden",
                    height: jQuery("#audi_modal_header").outerHeight() + "px"
                });
            }
        } else {
            jQuery(C.sSelectorContainer).audi_setLoading();
        }
    } else {
        E._$elLayerWrapper.audi_setLoading();
    }
    E._$elModal.show();
    jQuery("body").addClass("hasModal");
    E._$elLayerWrapper.show();
    B.audi_setUnique();
    if (C.sWidth) {
        B.width(C.sWidth);
        E._$elLayerClone.width(C.sWidth);
    }
    if (C.sHeight) {
        B.height(C.sHeight);
        E._$elLayerClone.height(C.sHeight);
    }
    if (typeof E._doSetContent == "function") {
        A = E.setContent(B, "modal", C);
    } else {
        A = audi_ngw.layer._doSetContent(B, D, "modal", C);
    }
    if (0 < jQuery("#audi_modal_container .layer_fullscreen").size()) {
        if (typeof E._calculatePosition == "function") {
            A = E._calculatePosition(B, C.sPosition, D);
        } else {
            A = audi_ngw.layer._calculatePosition(B, C.sPosition, D);
        }
    }
    if (!C.sSelectorContainer) {
        audi_ngw.layer.modal.setPosition(B, A, "centerStatic");
        jQuery(window).bind("resize.modal", audi_ngw.layer.modal._doCenterPosition);
        audi_ngw.flash.overlayHide();
        B.show();
        audi_ngw.layer.modal._doCenterPosition();
    }
};
audi_ngw.layer.modal.loadAjaxContentAdvice = function(D, C) {
	audi_ngw.log("loadAjaxContentAdvice: " + D)
    if (arguments[0].preventDefault) {
        event.preventDefault();
    }
//guntram    
//    if (jQuery("#audi_modal_overlay").css("display") !== "block") {
//        audi_ngw.layer.modal.showHistory(D);
//        return false;
//    }
    if (!C || 1 !== C.size()) {
        D = D.replace(/http:\/\/localhost\/combined\//, "");
        var A = '#audi_advice_leftcol_container a[href$="' + D + '"]';
        C = jQuery(A).eq(0);
    }
    C.parents().siblings().removeClass("active");
    C.parent().addClass("active");
    var B = "advice_fragment";
    audi_ngw.log("loadAjaxContentAdvice: " + D + " | " +B)
    jQuery("#audi_advice_rightcol_container").height(jQuery("#audi_advice_rightcol_container").height() + "px").empty().audi_setLoading();
    jQuery.get(audi_ngw.url.addAjaxFragment(D, B), function(F) {
    	audi_ngw.log("loadAjaxContent get: " + F)
        jQuery("#audi_advice_rightcol_container").replaceWith(F).audi_unsetLoading().height("");
        var E = "#audi_advice_rightcol_container";
        audi_ngw.event.trigger("ajaxSnippetReady", [{
            sId: E
        }]);
    });
};
audi_ngw.layer.modal.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.layer.modal._addClose();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.layer.modal.onAjaxSnippetReady = function(A, B) {
    if (jQuery("#audi_modal_overlay").css("display") !== "none") {
        audi_ngw.layer.modal._doCenterPosition();
        audi_ngw.layer.modal._addClose(B.sId.slice(1));
    }
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.layer.modal.initialize = function(A) {
    this.__className = "audi_ngw.layer.modal";
    this.__classVersion = "1.2";
    this._options = {};
    this._options.iMinPaddingTop = 20;
    this._options.sIdToClone = "audi_modal_container";
    this._options.sIdModalContainer = "#audi_modal_container";
    this._options.sIdModalHeader = "#audi_modal_header";
    this._options.sIdModalHeaderH1 = "#audi_modal_header h1";
    this._options.sIdModalBody = "#audi_modal_body";
    this._options.sIdModalTabNavigation = "#audi_tab_navigation";
    this._options.sIdModalWrapper = "#audi_modal_wrapper";
    this._options.sHTMLModalSuperWrapper = '<div id="audi_modal_super_wrapper"></div>';
    this._options.sHTMLModalWrapper = '<div id="audi_modal_wrapper"></div>';
    this._options.sHTMLModalCloseButton = '<a href="#" id="modal_close"><span>' + audi_ngw.dictionary.CLOSE + '</span><img src="' + audi_ngw.docroot + 'http://www.audi.at/files/allgemein/icon_close_modal_layer.gif" alt="Schließen" /></a>';
    this._options.sHTMLModalOverlay = '<div id="audi_modal_overlay"></div>';
    this.oDefaults = {
        hasOutsideClick: false,
        hasHideDelayed: false,
        iHideDelayedMs: 0,
        iFadeOutMS: 0,
        sContentType: "ajax-layer",
        sPosition: "center",
        sContent: "DEFAULT TEXT"
    };
    this._oTimers = {};
    this._$elLayer = null;
    this._$elLayerWrapper = null;
    this._$elModal = null;
    this._$elLayerClone = null;
    this._setUp();
    audi_ngw.event.bind("ajaxModalContentReady.layerModal", audi_ngw.layer.modal.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.layer.modal.onAjaxSnippetReady);
};
audi_ngw.namespace(audi_ngw, "layer.simple");
audi_ngw.layer.simple._setUp = function() {
    var A = "#";
    A += this._options.sIdLayer;
    if (!jQuery(A).size()) {
        jQuery("<div>").attr("id", this._options.sIdLayer).hide().addClass(this._options.sIClassNamesLayer).appendTo("body");
    }
    this._$elLayer = jQuery(A);
    this._$elLayer.css({
        zIndex: 9500,
        position: "absolute"
    }).hide();
};
audi_ngw.layer.simple.hide = function() {
    var A = audi_ngw.layer.simple._$elLayer;
    audi_ngw.layer.simple._doHide(A);
};
audi_ngw.layer.simple._doHide = function(A) {
    var B = audi_ngw.layer.simple;
    B._oTimers.hideDelayed = audi_ngw.clearTimer(B._oTimers.hideDelayed);
    delete B._oTimers.hideDelayed;
    audi_ngw.layer.unsetIE6Fix();
    jQuery(document).unbind("click");
    A.hide().audi_unsetLoading().audi_unsetUnique().empty().attr("className", "").addClass("template_d").css({
        height: "",
        width: "",
        top: "",
        right: "",
        bottom: "",
        left: "",
        opacity: 1
    });
    if (audi_ngw.layer.simple._$elLayerClone) {
        audi_ngw.layer.simple._$elLayerClone.empty().remove();
        audi_ngw.layer.simple._$elLayerClone = null;
    }
    jQuery(window).unbind("resize.simple", audi_ngw.layer.simple._doCenterPosition);
    this._$eventElement = null;
    this._oLayerOptions = {};
};
audi_ngw.layer.simple.show = function(E) {
    if (arguments[0].preventDefault) {
        E.preventDefault();
    }
    var A = audi_ngw.layer.simple._$elLayer;
    var D = audi_ngw.layer.simple;
    var C = C || {};
    D._$eventElement = jQuery(E.target);
    var B = jQuery(E.target);
    D._oLayerOptions = audi_ngw.layer.getOptions(B, "simple");
    audi_ngw.layer.simple._doShow(A, B, D._oLayerOptions);
};
audi_ngw.layer.simple._doShow = function(B, D, C) {
    var E = audi_ngw.layer.simple;
    var A = {};
    if (audi_ngw.dom.getUnique(B.attr("id")) === true) {
        return;
    }
    audi_ngw.layer.setIE6Fix("body", {});
    if (audi_ngw.layer.modal._$elModal.css("display") !== "none") {
        B.addClass("hasModal");
    }
    B.audi_setUnique().audi_setLoading();
    if (C.sWidth) {
        B.width(C.sWidth);
    }
    if (C.sHeight) {
        B.height(C.sHeight);
    }
    if (typeof E._doSetContent == "function") {
        A = E.setContent(B, "simple", C);
    } else {
        A = audi_ngw.layer._doSetContent(B, D, "simple", C);
    }
    if (typeof E._calculatePosition == "function") {
        A = E._calculatePosition(B, C.sPosition, D);
    } else {
        A = audi_ngw.layer._calculatePosition(B, C.sPosition, D);
    }
    audi_ngw.layer.simple.setPosition(B, A);
    if (E._oLayerOptions.hasHideDelayed && E._oLayerOptions.sContentType !== "ajax") {
        audi_ngw.layer.bind("hideDelayed", "simple");
    }
    if (C.hasOutsideClick) {
        window.setTimeout(function() {
            audi_ngw.layer.bind("outsideClick", "simple");
        },
        50);
    }
    B.show();
};
audi_ngw.layer.simple._calculatePosition = function(H, G, D) {
    var I, A, C, J;
    switch (G) {
    case "element":
        var B = audi_ngw.layer.simple;
        var E = jQuery("body").outerHeight();
        var F = B._$eventElement.offset();
        J = F.left;
        C = E - F.top + 10;
        I = F.top - H.outerHeight();
        break;
    case "center":
        J = Math.floor(((jQuery("body").outerWidth() / 2) - (H.outerWidth() / 2)));
        I = ((jQuery("body").innerHeight() / 2) - (H.height() / 2));
        C = Math.floor((jQuery("#audi_container_page").outerHeight() / 2) + (H.outerHeight()));
        break;
    }
    J += "px";
    I += "px";
    C += "px";
    return {
        iHeight: H.outerHeight(),
        iWidth: H.outerWidth(),
        sLeft: J,
        sTop: I,
        sBottom: C
    };
};
audi_ngw.layer.simple.setPosition = function(B, A, D) {
    var C = audi_ngw.layer.simple;
    D = D || C._oLayerOptions.sPosition;
    switch (D) {
    case "center":
        B.css({
            height:
            B.height() + "px",
            left: A.sLeft,
            top: A.sTop,
            position: "absolute",
            opacity: 1
        });
        break;
    case "centerOnResize":
        B.css({
            height:
            B.height() + "px",
            position: "absolute",
            opacity: 1
        }).stop().animate({
            top: A.sTop,
            left: A.sLeft,
            easing: "linear"
        },
        150);
        break;
    case "element":
        B.css({
            height:
            B.height() + "px",
            left: A.sLeft,
            bottom: A.sBottom,
            position: "absolute",
            opacity: 1
        });
        break;
    }
    jQuery(window).bind("resize.simple", audi_ngw.layer.simple._doCenterPosition);
};
audi_ngw.layer.simple._doCenterPosition = function() {
    var A = audi_ngw.layer.simple;
    A.setPosition(A._$elLayer, A._calculatePosition(A._$elLayer, A._oLayerOptions.sPosition), "centerOnResize");
};
audi_ngw.layer.simple._doXhrReallocation = function(B, A) {
    var C = audi_ngw.layer.simple;
    if (audi_ngw.dom.getUnique(B.attr("id")) !== true) {
        C._doHide(B);
        return false;
    }
    if (C._oLayerOptions.sWidth || C._oLayerOptions.sHeight) {
        audi_ngw.layer.simple._doXhrReallocationComplete(B);
        return false;
    }
    switch (C._oLayerOptions.sPosition) {
    case "center":
        B.animate({
            width:
            A.iWidth + "px",
            height: A.iHeight + "px",
            left: A.sLeft,
            top: A.sTop
        },
        "fast", "", audi_ngw.layer.simple._doXhrReallocationComplete);
        break;
    case "element":
        B.animate({
            width:
            A.iWidth + "px",
            height: A.iHeight + "px",
            left: A.sLeft,
            bottom: A.sBottom
        },
        "fast", "", audi_ngw.layer.simple._doXhrReallocationComplete);
        break;
    }
    return true;
};
audi_ngw.layer.simple._doXhrReallocationComplete = function() {
    var A = audi_ngw.layer.simple;
    $element = arguments[0] || jQuery(this);
    window.setTimeout(function() {
        if (audi_ngw.dom.getUnique($element.attr("id")) !== true) {
            audi_ngw.layer.simple._doHide($element);
            return;
        }
        $element.audi_unsetLoading().html(audi_ngw.layer.simple._$elLayerClone.html());
        audi_ngw.layer.simple._$elLayerClone.empty().remove();
        audi_ngw.layer.simple._$elLayerClone = null;
        if (A._oLayerOptions.hasHideDelayed) {
            audi_ngw.layer.bind("hideDelayed", "simple");
        }
    },
    300);
};
audi_ngw.layer.simple._doOutsideClick = function(C) {
    var B = audi_ngw.layer.simple;
    var A = jQuery(C.target);
    if (A.attr("id") === B._options.sIdLayer || A.parents("#" + B._options.sIdLayer).size()) {
        return;
    } else {
        jQuery(document).unbind("click.simple");
        audi_ngw.layer.simple.hide();
    }
};
audi_ngw.layer.simple.initialize = function(A) {
    this.__className = "audi_ngw.layer.simple";
    this.__classVersion = "1.2";
    this._oTimers = {};
    this._options = {};
    this._$elLayer = null;
    this._$eventElement = null;
    this._$elLayerClone = null;
    this._options.sIdLayer = "audi_layer_simple";
    this._options.sIdToClone = "audi_layer_simple";
    this._options.sIClassNamesLayer = "template_d";
    this._oLayerOptions = {};
    this._setUp();
    this.oDefaults = {
        hasOutsideClick: true,
        hasHideDelayed: false,
        iHideDelayedMs: 4000,
        iFadeOutMS: 600,
        sContentType: "text",
        sPosition: "center",
        sContent: "[DEFAULT TEXT]"
    };
};
audi_ngw.namespace(audi_ngw, "question");
audi_ngw.question.showDialog = function(B, A) {
    audi_ngw.event.bind("ajaxModalContentReady.questionBinder", audi_ngw.question.onAjaxModalContentReady);
    audi_ngw.question.posCallback = A.posCallback ? A.posCallback: function() {};
    audi_ngw.question.posCallbackBeforeClose = A.posCallbackBeforeClose ? A.posCallbackBeforeClose: function() {};
    audi_ngw.question.negCallback = A.negCallback ? A.negCallback: function() {};
    audi_ngw.question.negCallbackBeforeClose = A.negCallbackBeforeClose ? A.negCallbackBeforeClose: function() {};
    audi_ngw.question.autoHide = A.noAutoHide ? A.noAutoHide: false;
    audi_ngw.api.openModal(B, {});
};
audi_ngw.question.showModalForm = function(B, A) {
    if (A.sErrorClass) {
        audi_ngw.question.sErrorClass = A.sErrorClass;
    }
    oldposCallbackBeforeClose = A.posCallbackBeforeClose ? A.posCallbackBeforeClose: function() {};
    A.posCallbackBeforeClose = function() {
        oldposCallbackBeforeClose();
        var C = jQuery("#audi_modal_container form");
        jQuery.ajax({
            complete: function(E, D) {
                if (D == "success") {
                    audi_ngw.question.modalform = 2;
                    audi_ngw.layer._doSetContent(audi_ngw.layer.modal._$elLayer, null, "modal", {
                        sContent: E.responseText,
                        sContentType: "html",
                        sXHRObj: E
                    });
                }
            },
            data: C.serializeArray(),
            url: C.attr("action")
        });
    };
    A.noAutoHide = true;
    audi_ngw.question.showDialog(B, A);
    audi_ngw.question.modalform = 1;
};
audi_ngw.question.hide = function() {
    audi_ngw.question.modalform = false;
    audi_ngw.layer.modal.hide();
};
audi_ngw.question.bindListeners = function() {
    var A = jQuery("#audi_modal_body button.dialog_yes_button");
    var B = jQuery("#audi_modal_body button.dialog_no_button");
    if (A) {
        A.bind("click.questionButton", function(C) {
            audi_ngw.event.unbind("ajaxModalContentReady.questionBinder");
            audi_ngw.question.posCallbackBeforeClose();
            if (!audi_ngw.question.autoHide) {
                audi_ngw.question.hide();
            }
            audi_ngw.question.posCallback();
            return false;
        });
    }
    if (B) {
        B.bind("click.questionButton", function(C) {
            audi_ngw.event.unbind("ajaxModalContentReady.questionBinder");
            audi_ngw.question.negCallbackBeforeClose();
            audi_ngw.question.hide();
            audi_ngw.question.negCallback();
            return false;
        });
    }
    if ((audi_ngw.question.modalform == 2) && ((jQuery("#audi_modal_body ." + audi_ngw.question.sErrorClass).length === 0) || jQuery("#audi_modal_body form").length === 0)) {
        window.setTimeout(audi_ngw.question.hide, audi_ngw.config.myAudiFormConfirmationDelay);
    }
};
audi_ngw.question.showConfirmation = function(A) {
    audi_ngw.question.showDialog(A, {});
};
audi_ngw.question.onAjaxModalContentReady = function(A, B) {
    audi_ngw.question.bindListeners();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.namespace(audi_ngw, "survey");
audi_ngw.survey.surveyDomElementSelector = ".audi_survey";
audi_ngw.survey.check = function(C) {
    if (true === audi_ngw.config.surveyDisable) {
        return;
    }
    if (null !== jQuery.cookie(audi_ngw.config.surveySessionCookieName)) {
        return;
    }
    if (!C) {
        C = jQuery("body");
    }
    var B = jQuery(audi_ngw.survey.surveyDomElementSelector, C);
    if (0 === B.size()) {
        return;
    }
    var A = B.metadata();
    if (!A.survey) {
        return;
    }
    $surveys = jQuery.each(A.survey, function() {
        var F = this;
        if (!F.name || !F.url) {
            return true;
        }
        if (null !== jQuery.cookie(audi_ngw.config.surveyCookiePrefix + F.name)) {
            return;
        }
        if (F.start && F.end) {
            F.start = new Date(F.start);
            F.end = new Date(F.end);
            var D = new Date();
            if (F.start > D || F.end < D) {
                return true;
            }
        }
        if (!F.frequency) {
            F.frequency = audi_ngw.config.surveyFrequency;
        }
        var E = Math.random();
        if (E < F.frequency) {
            audi_ngw.navigation.popup(F.url, F.popup);
            jQuery.cookie(audi_ngw.config.surveyCookiePrefix + F.name, "true", {
                expires: 365,
                path: "/"
            });
            jQuery.cookie(audi_ngw.config.surveySessionCookieName, "true");
            return false;
        }
    });
    return;
};
audi_ngw.survey.onAjaxModalContentReady = function(B, C) {
    var A = jQuery("#" + audi_ngw.url.getContentId());
    audi_ngw.survey.check(A);
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.survey.onAjaxSnippetReady = function(B, C) {
    var A = jQuery(C.sId);
    audi_ngw.survey.check(A);
    audi_ngw.event.trigger("ajaxSnippetPrepared", [B, C]);
};
audi_ngw.survey.initiate = function() {
    if (true === audi_ngw.config.surveyDisable) {
        return;
    }
    audi_ngw.event.bind("ajaxModalContentReady.survey", audi_ngw.survey.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.survey.onAjaxSnippetReady);
    audi_ngw.survey.check();
};
audi_ngw.namespace(audi_ngw, "gallery");
audi_ngw.gallery.imageWidth = 93;
audi_ngw.gallery.separator = " | ";
audi_ngw.gallery.update = function(C) {
    var A = jQuery(".audi_gallery_active .audi_gallery_items a", C).size();
    var B = A - jQuery(".audi_gallery_active .audi_gallery_items a.active", C).parent().nextAll().size();
    jQuery(".audi_gallery_active .audi_gallery_slider_status", C).text(B + audi_ngw.gallery.separator + A);
};
audi_ngw.gallery.fullscreen = function() {
		audi_ngw.log("fullscreen");
    var B = jQuery("#audi_gallery_fullscreen");
    if (0 === B.size()) {
        return;
    }
    var C = {};
    C.width = B.width();
    C.height = B.height();
    C.version = audi_ngw.flash.sNeededFlashVersion;
    if ("undefined" == typeof(audi_ngw.gallery.images)) {
        audi_ngw.gallery.images = "";
        jQuery(".audi_gallery_active .audi_gallery_items a").each(function() {
            audi_ngw.gallery.images = audi_ngw.gallery.images + jQuery(this).metadata().fullscreen + ",";
        });
    }
    var A = [];
    A.search = jQuery(".audi_gallery_active .audi_gallery_items a.active").metadata().fullscreen;
    if (!A.search) {
        jQuery("#audi_gallery_fullscreen").hide();
        return false;
    }
    A.pos = audi_ngw.gallery.images.indexOf(A.search);
    A.newEnd = audi_ngw.gallery.images.substr(0, A.pos);
    A.newBegin = audi_ngw.gallery.images.substr(A.pos);
    audi_ngw.gallery.images = A.newBegin + A.newEnd;
    var D = B.parent().metadata();
    D.images = audi_ngw.gallery.images;
    var E = {};
    E.allowScriptAccess = "always";
    E.allowFullScreen = "true";
    E.scale = "noscale";
    E.menu = "false";
    D.parent_id = "audi_gallery_fullscreen";
    audi_ngw.flash.embed(D.swf, D.parent_id, C.width, C.height, C.version, "", D, E);
    if (jQuery("#audi_modal_overlay").css("display") !== "block") {
        jQuery("#audi_gallery_fullscreen").show();
    } else {
        jQuery("#audi_gallery_fullscreen").hide();
    }
};
audi_ngw.gallery.changeActive = function(B) {
    if (true !== B.hasClass("audi_gallery")) {
        return false;
    }
    if ("undefined" !== typeof(audi_ngw.gallery.images)) {
        delete(audi_ngw.gallery.images);
    }
    jQuery(".audi_gallery_active").removeClass("audi_gallery_active");
    B.addClass("audi_gallery_active");
    $foldout = B.parent().find("> a");
    if (false === $foldout.hasClass("open")) {
        $foldout.trigger("click.simpleAccordion");
    }
    var A = B.find("a.active");
    if (1 !== A.size()) {
        A.removeClass("active");
        B.find("a:first").addClass("active");
        A = B.find("a.active");
    }
    A.click();
    audi_ngw.gallery.update();
    jQuery(".audi_gallery_active .audi_gallery_items a").hover(function() {
        jQuery(this).addClass("hover");
    },
    function() {
        jQuery(this).removeClass("hover");
    });
};
audi_ngw.gallery.updateToolbox = function(C, E) {
    var F = C.find(".wallpaper");
    F.find("a").css("display", "inline");
    var B = F.find("ul").empty();
    var D;
    F.find(".open .close").click();
    C.find("li").hide().css("display", "none");
    if ("undefined" !== typeof(E.wallpaper)) {
        for (D = 0; E.wallpaper[D]; D++) {
            B.append('<li><a href="' + E.wallpaper[D].href + '" rel="wallpaper" target="_blank">' + E.wallpaper[D].title + "</a></li>");
        }
        B.find("li:first").addClass("firstChild");
        F.css("display", "inline");
        audi_ngw.layer.statics.register({
            sIdContainer: "#func_toolbox_wallpaper",
            sClassElement: ".overlay",
            sClassClose: ".close"
        });
    } else {
        F.hide();
    }
    if ("undefined" !== typeof(E.toolbox)) {
        for (D = 0; E.toolbox[D]; D++) {
            var A = C.find("." + E.toolbox[D].identifier);
            if (1 == A.size()) {
                A.find("a").attr("href", E.toolbox[D].href).css("display", "inline").parent().css("display", "inline").find("span").text(E.toolbox[D].title);
            }
        }
    }
    audi_ngw.navigation.prepareLinks(C);
};
audi_ngw.gallery.click = function() {
    $element = jQuery(this);
    $element.parents(".audi_gallery_active").find(".active").removeClass("active");
    $element.addClass("active");
    audi_ngw.gallery.update();
    var A = jQuery(".audi_gallery_active").metadata().type;
    if ("image" === A) {
        audi_ngw.gallery.clickImage($element);
    } else {
        if ("video" === A) {
            audi_ngw.gallery.clickVideo($element, "audi_gallery_video");
        } else {
            if ("guided_tour" === A) {
                audi_ngw.gallery.clickVideo($element, "audi_gallery_guided_tour");
            } else {
                if ("ringtone" === A) {
                    audi_ngw.gallery.clickRingtone($element);
                } else {
                    if ("mobileVideo" === A) {
                        audi_ngw.gallery.clickVideo($element, "audi_gallery_mobilevideo");
                    } else {
                        if ("mobileImage" === A) {
                            audi_ngw.gallery.clickMobileImage($element);
                        }
                    }
                }
            }
        }
    }
    return false;
};
audi_ngw.gallery.clickImage = function(A) {
    jQuery("#audi_gallery_fullscreen, #audi_gallery_video").hide();
    jQuery("#audi_gallery_image, .audi_gallery_toolbox").show().removeClass("audi_hide");
    elementData = A.metadata();
    var F = jQuery("#audi_gallery_image");
    var E = F.find("img");
    var D = elementData.big;
    var C = E.attr("src");
    F.css("background-image", "url(" + D + ")");
    E.animate({
        opacity: "0"
    },
    500, "linear", function() {
        E.attr("src", D);
        audi_ngw.gallery.fullscreen();
    });
    var B = jQuery("#audi_gallery_image").parent().find(".audi_gallery_toolbox .toolbox");
    audi_ngw.gallery.updateToolbox(B, elementData);
    return false;
};
audi_ngw.gallery.clickVideo = function(K, A) {
    var E = K.metadata();
    var B;
    if (1 !== jQuery("object#" + A).size()) {
        K = jQuery("#" + A);
        var C = {};
        C.width = K.width();
        C.height = K.height();
        C.version = audi_ngw.flash.sNeededFlashVersion;
        var D = {};
        D.allowScriptAccess = "always";
        D.allowFullScreen = "true";
        D.scale = "noscale";
        D.menu = "false";
        D.wmode = "opaque";
        var H = K.metadata();
        E.xmldata = H.xmldata;
        E.parent_id = A;
        audi_ngw.flash.embed(H.swf, A, C.width, C.height, C.version, "", E, D);
        audi_ngw.flash.pageLoaded(A);
    } else {
        audi_ngw.flash.pageLoaded(A);
        try {
            jQuery("#" + A)[0].playVideo(E.videoFile);
        } catch(J) {}
    }
    if ("audi_gallery_video" == A) {
        jQuery("#audi_gallery_fullscreen, #audi_gallery_image").hide();
        jQuery("#audi_gallery_video").show().removeClass("audi_hide");
        B = jQuery("#audi_gallery_video").parent().find(".audi_gallery_toolbox .toolbox");
        audi_ngw.gallery.updateToolbox(B, E);
    } else {
        if ("audi_gallery_guided_tour" == A) {
            var I = E.guidedTour;
            var L = jQuery("#audi_gallery_guided_tour").siblings(".audi_guided_tour");
            L.hide();
            L.find("h4").text(I.headline);
            var G = L.find("ul").empty();
            for (var F = 0; I.links[F]; F++) {
                G.append('<li><a href="' + I.links[F].href + '" class="arrow">' + I.links[F].title + "</a></li>");
            }
        } else {
            audi_ngw.gallery.updateOrderlink(E);
            jQuery("#audi_gallery_mobilesound, #audi_gallery_mobileimage").hide();
            jQuery("#audi_gallery_mobilevideo").show();
            B = jQuery("#audi_gallery_mobile").parent().find(".audi_gallery_toolbox .toolbox");
            audi_ngw.gallery.updateToolbox(B, E);
        }
    }
    return false;
};
audi_ngw.gallery.clickRingtone = function(A) {
    var C = A.metadata();
    jQuery("#audi_gallery_mobilevideo").hide();
    jQuery("#audi_gallery_mobilesound, #audi_gallery_mobileimage").show();
    if (1 !== jQuery("object#audi_gallery_mobilesound").size()) {
        var D = {};
        D.width = A.width();
        D.height = A.height();
        D.version = audi_ngw.flash.sNeededFlashVersion;
        var E = jQuery("#audi_gallery_mobilesound").metadata();
        E.mp3file = C.mp3file;
        var H = {};
        H.allowScriptAccess = "always";
        H.allowFullScreen = "true";
        H.scale = "noscale";
        H.menu = "false";
        H.wmode = "opaque";
        audi_ngw.flash.embed(E.swf, "audi_gallery_mobilesound", D.width, D.height, D.version, "", E, H);
    } else {
        try {
            jQuery("object#audi_gallery_mobilesound")[0].playMP3(C.mp3file);
        } catch(G) {}
    }
    var F = A.parents(".audi_gallery").metadata().image;
    jQuery("#audi_gallery_mobileimage").css("background-image", "url(" + F + ")");
    jQuery("#audi_gallery_mobile h3").html(C.headline);
    jQuery("#audi_gallery_mobile p").html(C.text);
    audi_ngw.gallery.updateOrderlink(C);
    var B = jQuery("#audi_gallery_mobile").parent().find(".audi_gallery_toolbox .toolbox");
    audi_ngw.gallery.updateToolbox(B, C);
};
audi_ngw.gallery.updateOrderlink = function(B) {
    var A = jQuery("#audi_gallery_orderlink");
    if (B.orderlink) {
        A.attr("href", B.orderlink).show();
        audi_ngw.navigation.prepareLinks(jQuery("#audi_gallery_orderlink").parent());
    } else {
        A.attr("href", "#").hide();
    }
};
audi_ngw.gallery.clickMobileImage = function(A) {
    var C = A.metadata();
    jQuery("#audi_gallery_mobilevideo, #audi_gallery_mobilesound").hide();
    jQuery("#audi_gallery_mobileimage").show();
    jQuery("#audi_gallery_mobileimage").css("background-image", "url(" + C.image + ")");
    jQuery("#audi_gallery_mobile h3").html(C.headline);
    jQuery("#audi_gallery_mobile p").html(C.text);
    audi_ngw.gallery.updateOrderlink(C);
    var B = jQuery("#audi_gallery_mobile").parent().find(".audi_gallery_toolbox .toolbox");
    audi_ngw.gallery.updateToolbox(B, C);
};
audi_ngw.gallery.onAjaxSnippetReady = function(B, C) {
    var A = jQuery(C.sId);
    audi_ngw.gallery.initiate(A);
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.gallery.initiate = function(A) {
    if (jQuery("div.audi_gallery", A).size() === 0) {
        return false;
    }
    jQuery(".audi_gallery_slider, .audi_gallery_slider_status", A).show();
    jQuery("div.audi_gallery", A).each(function() {
        var C = jQuery("ul", this);
        jQuery(this).addClass("audi_gallery_js");
        if (jQuery(this).hasClass("audi_gallery_small")) {
            jQuery(this).addClass("audi_gallery_small_js");
        }
        var B = C.children("li").size() * audi_ngw.gallery.imageWidth;
        var E = 706 - B;
        E = E * -1;
        C.width(B);
        if (0 < E) {
            jQuery(".audi_gallery_slider", this).show();
            var D = jQuery(".audi_gallery_slider", this).slider({
                animate: true,
                min: 0,
                max: E,
                slide: function(F, G) {
                    C.css("left", "-" + G.value + "px");
                }
            });
        }
        if (705 > B) {
            jQuery(".audi_gallery_slider", this).hide();
        }
    });
    jQuery("#con_gallery_foldout > li > a", A).click(function() {
        audi_ngw.gallery.changeActive(jQuery(this).next());
    });
    jQuery(".audi_gallery_items a", A).click(audi_ngw.gallery.click);
    if (1 !== jQuery(".audi_gallery_active", A).size()) {
        audi_ngw.gallery.changeActive(jQuery(".audi_gallery:first", A));
    }
    audi_ngw.gallery.update(A);
};
audi_ngw.gallery.prepare = function() {
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.gallery.onAjaxSnippetReady);
};
audi_ngw.namespace(audi_ngw, "tooltip");
audi_ngw.tooltip.show = function(A) {
    var E = A.attr("alt");
    if (!E) {
        return false;
    }
    var D = A.offset();
    var C = D.left - 10 + A.width();
    var B = D.top + 10 - A.height();
    jQuery("body").append('<div id="audi_tooltip">' + E + "<span /></div>");
    jQuery("#audi_tooltip").css("left", C).css("top", B);
};
audi_ngw.tooltip.hide = function() {
    jQuery("#audi_tooltip").remove();
};
audi_ngw.tooltip.onAjaxSnippetReady = function(B, C) {
    var A = jQuery(C.sId);
    audi_ngw.tooltip.initiate(A);
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.tooltip.onAjaxModalContentReady = function(B, C) {
    var A = jQuery("#" + audi_ngw.url.getContentId());
    audi_ngw.tooltip.initiate(A);
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.tooltip.initiate = function(A) {
    jQuery(".audi_tooltip", A).unbind("hover").hover(function() {
        audi_ngw.tooltip.show(jQuery(this));
    },
    function() {
        audi_ngw.tooltip.hide();
    });
};
audi_ngw.tooltip.prepare = function() {
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.tooltip.onAjaxSnippetReady);
    audi_ngw.event.bind("ajaxModalContentReady.tooltip", audi_ngw.tooltip.onAjaxModalContentReady);
    audi_ngw.tooltip.initiate(jQuery("body"));
};
(function(A) {
    A.fn.jSuggest = function(J) {
        var B = A.extend({},
        A.fn.jSuggest.defaults, J);
        var I = ".jSuggestHover";
        var H = "jSuggestHover";
        var E = this.value;
        var G = this;
        var F = this.value;
        var D = "#jSuggestContainer";
        var C;
        A("body").append('<div id="jSuggestContainer" class="audi_livesearch"></div>');
        A(D).hide();
        A(this).bind("keyup click", function(L) {
            G = this;
            F = this.value;
            if (this.value.length >= B.minchar && A.trim(this.value) != "Search Terms") {
                var K = A(this).offset();
                A(D).css({
                    position: "absolute",
                    top: K.top + A(this).outerHeight() + "px",
                    left: K.left,
                    width: A(this).outerWidth() - 2 + "px",
                    zIndex: B.zindex
                }).show();
                if (L.keyCode == 27) {
                    A(D).hide();
                } else {
                    if (L.keyCode == 13) {
                        if (A(I).length == 1) {
                            A(G).val(A(I).text());
                            A(D).hide();
                            E = G.value;
                        }
                    } else {
                        if (G.value != E) {
                            window.clearTimeout(C);
                            E = G.value;
                            A(D).find("ul").remove();
                            B.data = A(this).serialize();
                            C = window.setTimeout(function() {
                                A.ajax({
                                    type: B.type,
                                    url: B.url,
                                    data: B.data,
                                    success: function(M) {
                                        A(D).find("ul").remove();
                                        A(D).append(M);
                                        A("#jSuggestContainer ul li").bind("mouseover", function() {
                                            A(I).removeClass(H);
                                            A(this).addClass(H);
                                            F = A(this).text();
                                            if (B.autoChange) {
                                                A(G).val(A(I).text());
                                            }
                                        });
                                        A("#jSuggestContainer ul li").click(function() {
                                            A(this).addClass(H);
                                            A(G).val(F);
                                        });
                                        audi_ngw.navigation.prepareLinks(A("#jSuggestContainer ul li"));
                                        A("#as_ul").hover(function() {},
                                        function() {
                                            window.setTimeout(function() {
                                                A(D).css("display", "none");
                                            },
                                            1000);
                                        });
                                    }
                                });
                            },
                            B.delay);
                        }
                    }
                }
            } else {
                A(I).removeClass(H);
                A(D).hide();
            }
            return false;
        });
        A(document).bind("click", function() {
            A(D).hide();
            E = G.value;
        });
    };
    A.fn.jSuggest.defaults = {
        minchar: 3,
        opacity: 1,
        zindex: 20000,
        delay: 2500,
        loadingImg: "ajax-loader.gif",
        loadingText: "Loading...",
        autoChange: false,
        url: "",
        type: "GET",
        data: ""
    };
})(jQuery);
audi_ngw.namespace(audi_ngw, "livesearch");
audi_ngw.livesearch.initiate = function() {
    jQuery("#audi_livesearch_input").attr("autocomplete", "off").bind("focus", function() {
        jQuery(this).addClass("focus");
    }).bind("blur", function() {
        jQuery(this).removeClass("focus");
    });
    jQuery("#audi_livesearch_input").jSuggest({
        url: audi_ngw.config.sJSuggestUrl,
        type: "GET",
        data: "",
        loadingText: "",
        loadingImg: "",
        minchar: 1,
        autoChange: false,
        delay: 250
    });
    jQuery("#audi_search_button").click(function() {
        jQuery("#audi_livesearch_form").trigger("submit");
    });
};
audi_ngw.namespace(audi_ngw, "form");
audi_ngw.form.initiate = function(A) {
    audi_ngw.form.styleFormUploads(A);
};
audi_ngw.form.styleFormUploads = function(A) {
    jQuery("div.fileupload").addClass("fileuploadjs").each(function() {
        var C = jQuery(this);
        var B = C.find(":file");
        B.change(function() {
            _file = B.attr("value");
            C.find("span.fileupload").text(_file);
        });
    });
};
audi_ngw.form.onAjaxSnippetReady = function(B, C) {
    var A = jQuery(C.sId);
    audi_ngw.form.initiate(A);
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.form.onAjaxModalContentReady = function(B, C) {
    var A = jQuery(C.sId);
    audi_ngw.form.initiate(A);
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.form.prepare = function() {
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.form.onAjaxSnippetReady);
    audi_ngw.event.bind("ajaxModalContentReady.formUpdater", audi_ngw.form.onAjaxModalContentReady);
    audi_ngw.form.initiate(jQuery("body"));
};
audi_ngw.namespace(audi_ngw, "myaudi");
audi_ngw.myaudi.imageWidth = 93;
audi_ngw.myaudi.separator = " | ";
audi_ngw.myaudi.getCookieDomain = function() {
    var B = window.location.hostname;
    var C = "";
    if (B.indexOf(".") >= 0) {
        var A = new RegExp("co.uk");
        if (A.test(B)) {
            A = new RegExp("([^\\.]+\\.[^\\.]+\\.[^\\.]+)$");
            match = A.exec(B);
            C = match[1];
        } else {
            A = new RegExp("([^\\.]+\\.[^\\.]+)$");
            match = A.exec(B);
            C = match[1];
        }
    }
    return C;
};
audi_ngw.myaudi.initMyAudiStatus = function() {
    if (!audi_ngw.config.myAudiEnabled || !audi_ngw.config.myAudiSSOEnabled) {
        return;
    }
    jQuery.cookie("cookies_enabled", true, {
        path: "/",
        domain: audi_ngw.myaudi.getCookieDomain()
    });
    if (!jQuery.cookie("cookies_enabled")) {
        if (jQuery(".myaudi_ablage_cookie_check").length > 0) {
            window.location.href = audi_ngw.config.myAudiNoCookiesUrl;
        }
        return false;
    }
    jQuery.cookie("cookies_enabled", null, {
        path: "/",
        domain: audi_ngw.myaudi.getCookieDomain()
    });
    login_uuid = jQuery.cookie(audi_ngw.config.myAudiCookieLoginUUID);
    login_tokenid = jQuery.cookie(audi_ngw.config.myAudiCookieLoginTokenID);
    if (!login_uuid && !login_tokenid) {
        _call = (audi_ngw.url.isHTTPSContext()) ? audi_ngw.config.myAudiAnonSSORegisterCallUrlHttps: audi_ngw.config.myAudiAnonSSORegisterCallUrl;
        jQuery.getJSON(_call + "?cb=?", function(A) {
            audi_ngw.myaudi.checkStatus(false);
        });
    } else {
        audi_ngw.myaudi.checkStatus(true);
    }
};
audi_ngw.myaudi.checkStatus = function(A) {
    if (!audi_ngw.config.myAudiEnabled || !audi_ngw.config.myAudiSSOEnabled) {
        return;
    }
    opt_in_confirm = jQuery.cookie(audi_ngw.config.myAudiCookieOptInConfirm);
    if (opt_in_confirm) {
        _url = (opt_in_confirm == 1) ? audi_ngw.config.myAudiOptInConfirm: audi_ngw.config.myAudiOptInConfirmLoginNeeded;
        audi_ngw.question.showDialog(jQuery(_url), {});
    }
    jQuery.cookie(audi_ngw.config.myAudiCookieOptInConfirm, null, {
        path: "/",
        domain: audi_ngw.myaudi.getCookieDomain()
    });
    show_merge_data_dialog = jQuery("#" + audi_ngw.config.myAudiMergeDataId);
    if (show_merge_data_dialog.length > 0) {
        var B = show_merge_data_dialog.metadata();
        audi_ngw.question.showDialog(jQuery(audi_ngw.config.myAudiMergeDataDialog), {
            posCallback: function() {
                audi_ngw.api.openModal(B.url, {});
                return false;
            }
        });
        jQuery.cookie(audi_ngw.config.myAudiCookieMergeData, null, {
            path: "/",
            domain: audi_ngw.myaudi.getCookieDomain()
        });
    }
    login_status = jQuery.cookie(audi_ngw.config.myAudiCookieStatus);
    if (!login_status) {
        _call = (audi_ngw.url.isHTTPSContext()) ? audi_ngw.config.myAudiGetStatusCallHttps: audi_ngw.config.myAudiGetStatusCall;
        jQuery.getJSON(_call + "?cb=?", function(C) {
            audi_ngw.myaudi.handleAgentUrls(C);
            if (audi_ngw.config.myAudiStatusEnabled) {
                audi_ngw.myaudi.getUserData();
                _httpAndHttpsOnDifferentHosts = audi_ngw.config.myAudiGetStatusCallHttps.replace(/^https/, "http") != audi_ngw.config.myAudiGetStatusCall;
                if (_httpAndHttpsOnDifferentHosts && A) {
                    _crossDomainCall = (!audi_ngw.url.isHTTPSContext()) ? audi_ngw.config.myAudiGetStatusCallHttps: audi_ngw.config.myAudiGetStatusCall;
                    jQuery.getJSON(_crossDomainCall + "?cb=?", function(D) {});
                }
            }
        });
    } else {
        if (audi_ngw.config.myAudiStatusEnabled) {
            audi_ngw.myaudi.getUserData();
        }
    }
};
audi_ngw.myaudi.getUserData = function() {
    if (!audi_ngw.config.myAudiEnabled || !audi_ngw.config.myAudiSSOEnabled || !audi_ngw.config.myAudiStatusEnabled || !audi_ngw.config.myAudiLoginEnabled) {
        return;
    }
    login_status = jQuery.evalJSON(jQuery.cookie(audi_ngw.config.myAudiCookieStatus));
    if (login_status && login_status.partnerID) {
        jQuery("#audi_navigation_footer a.dealersearchlink").attr("href", jQuery("#audi_navigation_footer a.dealersearchlink").attr("href") + login_status.partnerID).show();
        jQuery("#audi_navigation_footer a.dealersearchlink").attr("title", audi_ngw.dictionary.MY_DEALER);
        jQuery("#audi_navigation_footer a.dealersearchlink").html(audi_ngw.dictionary.MY_DEALER);
    }
    if (login_status && login_status.status) {
        jQuery("#audi_navigation_footer_status").show();
    }
    login_tokenid = jQuery.cookie(audi_ngw.config.myAudiCookieLoginTokenID);
    if (login_tokenid) {
        _call = (audi_ngw.url.isHTTPSContext()) ? audi_ngw.config.myAudiUserDataCallHttps: audi_ngw.config.myAudiUserDataCall;
        oldCache = jQuery.ajaxSettings.cache;
        jQuery.ajaxSetup({
            cache: true
        });
        jQuery.getJSON(_call + "?cb=?", function(A) {
            audi_ngw.myaudi.handleUserData(A);
        });
    }
};
audi_ngw.myaudi.handleUserData = function(A) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    login_tokenid = jQuery.cookie(audi_ngw.config.myAudiCookieLoginTokenID);
    if (login_tokenid) {
        jQuery("#audi_navigation_footer .myaudi_username").text(A.name);
        jQuery("#audi_navigation_footer .myaudi_status").show();
    }
    audi_ngw.myaudi.handleAgentUrls(A);
};
audi_ngw.myaudi.handleAgentUrls = function(A) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    if (window.location.protocol === "http:" && A.agenturls) {
        jQuery(A.agenturls).each(function() {
            jQuery("body").append('<img src="' + this + '" alt="" />');
        });
    }
    if (A.sslagenturls) {
        jQuery(A.sslagenturls).each(function() {
            jQuery("body").append('<img src="' + this + '" alt="" />');
        });
    }
};
audi_ngw.myaudi.handleLoginResponse = function(A) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    if (jQuery(A).find("#myaudi_login_success").length) {
        setTimeout(audi_ngw.myaudi.hideLoginLayer, 5000);
    }
};
audi_ngw.myaudi.hideLoginLayer = function() {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    audi_ngw.layer.modal.hide();
    audi_ngw.myaudi.initMyAudiStatus();
};
audi_ngw.myaudi.initQuestionLink = function() {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    $link = jQuery(this);
    audi_ngw.question.showDialog($link.attr("href"), {
        posCallbackBeforeClose: function() {
            $func = $link.metadata().savehandler;
            $func($link);
        },
        posCallback: function() {
            $func = $link.metadata().validationHandler;
            $func($link);
        }
    });
    return false;
};
audi_ngw.myaudi.reShowFormHandler = function(A) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    audi_ngw.question.showConfirmation(jQuery({
        confirmHeadline: $formData.saveConfirmHeadline,
        confirmMessage: $formData.saveConfirmMessage,
        yesButton: $formData.saveYesButton,
        noButton: $formData.saveNoButton
    }));
};
audi_ngw.myaudi.createNewCar = function() {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    $form = jQuery("form.create_new_car_form");
    $form.submit(function(A) {
        _form = jQuery(this);
        audi_ngw.question.showModalForm(_form.attr("action"), {
            sErrorClass: audi_ngw.config.myAudiFormErrorIndicatorClass
        });
        return false;
    });
};
audi_ngw.myaudi.initDeleteAccount = function() {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    $form = jQuery("form.myaudi_delete_account");
    $form.submit(function() {
        $formData = jQuery($form.metadata());
        audi_ngw.question.showDialog($formData, {
            posCallbackBeforeClose: function() {
                window.location.href = $form.attr("action");
            }
        });
        return false;
    });
};
audi_ngw.myaudi.saveNote = function(A) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    $form = jQuery("#audi_modal_container form");
    if ($form) {
        jQuery.post($form.attr("action"), $form.serializeArray());
    }
};
audi_ngw.myaudi.initMyAudiProfileFormListener = function() {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    jQuery("form.form_listener_tab").each(function() {
        $form = jQuery(this);
        $form.attr("predata", jQuery.md5($form.serialize()));
        $form.find('.audi_tab_navigation a[rel="tabForm"]').bind("click.changeForm", audi_ngw.myaudi.handleFormChangeLink);
    });
};
audi_ngw.myaudi.handleFormChangeLink = function(B) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    var A = jQuery(B.target) || jQuery(B);
    changedForm = false;
    jQuery("form.form_listener_tab").each(function() {
        var C = jQuery(this);
        if (C.attr("predata") && (jQuery.md5(C.serialize()) != C.attr("predata"))) {
            changedForm = C;
        }
    });
    if (changedForm) {
        $form = changedForm;
        $formData = $form.metadata();
        audi_ngw.question.showDialog(jQuery($formData), {
            posCallback: function() {
                A.siblings(".form_savelink").click();
                return false;
            },
            negCallback: function() {
                A.siblings(".form_cancellink").click();
                return false;
            }
        });
    } else {
        A.siblings(".form_cancellink").click();
    }
    return false;
};
audi_ngw.myaudi.loadWicketContent = function(C) {
    var A = jQuery(C.target) || jQuery(C);
    var B = A.find("option:selected");
    var D = B.metadata();
    jQuery("#" + D.clickLink).click();
    return false;
};
audi_ngw.myaudi.loadDummyWicketContent = function(B, A) {
    audi_ngw.myaudi.startWicketLoading(A);
    B = jQuery(B);
    jQuery("#" + A).parent().load(B.attr("href") + " #" + A, function() {
        audi_ngw.myaudi.endWicketLoading(A);
    });
};
audi_ngw.myaudi.startWicketLoading = function(A) {
    jQuery("#" + A + " object").hide();
    audi_ngw.animation.setLoading({
        sId: A,
        sCN: "preload"
    });
};
audi_ngw.myaudi.endWicketLoading = function(A) {
    audi_ngw.event.trigger("ajaxSnippetReady", [{
        sId: "#" + A
    }]);
    audi_ngw.animation.unsetLoading("#" + A);
};
audi_ngw.myaudi.fullscreen = function(C) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    var B = jQuery("#audi_myaudi_ablage_fullscreen");
    if (0 === B.size()) {
        return;
    }
    var D = {};
    D.width = B.width();
    D.height = B.height();
    D.version = audi_ngw.flash.sNeededFlashVersion;
    if ("undefined" == typeof(audi_ngw.myaudi.images)) {
        audi_ngw.myaudi.images = "";
        jQuery(".audi_myaudi_ablage_active .audi_myaudi_ablage_content_graphics .audi_myaudi_ablage_items a").each(function() {
            audi_ngw.myaudi.images = audi_ngw.myaudi.images + jQuery(this).metadata().fullscreen + ",";
        });
    }
    var A = [];
    _meta = jQuery(".audi_myaudi_ablage_active .audi_myaudi_ablage_content_graphics .audi_myaudi_ablage_items a.active").metadata();
    A.search = _meta.fullscreen;
    if (!A.search) {
        jQuery("#audi_myaudi_ablage_fullscreen").hide();
        return false;
    }
    A.pos = audi_ngw.myaudi.images.indexOf(A.search);
    A.newEnd = audi_ngw.myaudi.images.substr(0, A.pos);
    A.newBegin = audi_ngw.myaudi.images.substr(A.pos);
    audi_ngw.myaudi.images = A.newBegin + A.newEnd;
    var E = B.parent().metadata();
    E.images = audi_ngw.myaudi.images;
    var F = {};
    F.allowScriptAccess = "always";
    F.allowFullScreen = "true";
    F.scale = "noscale";
    F.menu = "false";
    E.parent_id = "audi_myaudi_ablage_fullscreen";
    audi_ngw.flash.embed(E.swf, E.parent_id, D.width, D.height, D.version, "expressInstall.swf", E, F);
    if (jQuery("#audi_modal_overlay").css("display") !== "block") {
        jQuery("#audi_myaudi_ablage_fullscreen").show();
    } else {
        jQuery("#audi_myaudi_ablage_fullscreen").hide();
    }
};
audi_ngw.myaudi.onAjaxSnippetReady = function(B, C) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    var A = jQuery(C.sId);
    audi_ngw.myaudi.initiate(A);
    if (jQuery("#myaudi_update_user_status").length) {
        audi_ngw.myaudi.initMyAudiStatus();
    }
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.myaudi.onAjaxSnippedPrepared = function(A) {
    audi_ngw.myaudi.initMyAudiAblage();
};
audi_ngw.myaudi.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    if (jQuery("#myaudi_update_user_status").length) {
        audi_ngw.myaudi.initMyAudiStatus();
    }
    audi_ngw.myaudi.initAblageDetailsView();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.myaudi.initInlineLoginForm = function() {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    if (jQuery(".my_audi_login_inline").length > 0) {
        jQuery("input.myaudi_login_checkbox").change(function() {
            _chkbox = jQuery(this);
            if (_chkbox.attr("checked")) {
                jQuery(".my_audi_login_inline").show();
            } else {
                jQuery(".my_audi_login_inline").hide();
            }
        });
    }
};
audi_ngw.myaudi.initiate = function(A) {
    if (!audi_ngw.config.myAudiEnabled) {
        return;
    }
    logoutHandler = jQuery.cookie("myAudiLogoutHandler");
    if (logoutHandler) {
        jQuery.cookie("myAudiLogoutHandler", null);
        audi_ngw.myaudi.handleAgentUrls(jQuery.evalJSON(logoutHandler));
        audi_ngw.myaudi.initMyAudiStatus();
    } else {
        audi_ngw.myaudi.initMyAudiStatus();
    }
    audi_ngw.myaudi.initMyAudiProfileFormListener();
    audi_ngw.myaudi.initMyAudiAblage(A);
    audi_ngw.myaudi.createNewCar();
    audi_ngw.myaudi.initDeleteAccount();
    audi_ngw.myaudi.initInlineLoginForm();
    audi_ngw.myaudi.initMyAudiCard();
    audi_ngw.myaudi.initDeleteLinkQuestion(A);
};
audi_ngw.myaudi.initDeleteLinkQuestion = function(A) {
    jQuery(".con_table_costmanagement .delete_link", A).bind("click.deleteLink", function() {
        var B = jQuery(this);
        audi_ngw.question.showDialog(jQuery(audi_ngw.config.myAudiDeleteCostTableEntryDialog), {
            posCallback: function() {
                window.location = B.attr("href");
                return false;
            }
        });
        return false;
    });
    jQuery(".myaudi_my_dealer a.delete", A).bind("click.deleteLink", function() {
        var B = jQuery(this);
        audi_ngw.question.showDialog(jQuery(audi_ngw.config.myAudiDeleteDealerDialog), {
            posCallback: function() {
                window.location = B.attr("href");
                return false;
            }
        });
        return false;
    });
    jQuery(".myaudi_mein_fahrzeug_block li.delete a", A).bind("click.deleteLink", function() {
        var B = jQuery(this);
        var C = B.metadata();
        if (C.showConfirm === true) {
            audi_ngw.question.showDialog(jQuery(C), {
                posCallback: function() {
                    window.location = B.attr("href");
                    return false;
                }
            });
            return false;
        }
        return true;
    });
};
audi_ngw.myaudi.handleLogoutRequest = function(A) {
    jQuery.getJSON(A.attr("href") + "?cb=?", function(B) {
        jQuery.cookie("myAudiLogoutHandler", jQuery.toJSON(B), {
            path: "/",
            domain: audi_ngw.myaudi.getCookieDomain()
        });
        window.location.reload();
    });
};
audi_ngw.myaudi.initMyAudiCard = function() {
    jQuery("form.clipboardform input").each(function() {
        jQuery(this).attr("value2", jQuery(this).attr("value"));
    });
    jQuery("form.clipboardform input").bind("click.copyText, focus, keyup, keydown", function() {
        inp = jQuery(this);
        inp.val(inp.attr("value2"));
        inp.select();
        return false;
    });
    jQuery(".myaudi_card_options .bookmark").click(function() {
        if (jQuery.browser.msie) {
            _link = jQuery(this);
            return window.external.AddFavorite(this, _link.attr("title"));
        }
    });
};
audi_ngw.myaudi.initMyAudiAblage = function(B) {
    var A = jQuery('.myaudi_ablage .audi_tab_navigation li.active a[rel="tabAblage"]', B);
    if (!A.length) {
        A = jQuery('.myaudi_ablage .audi_tab_navigation li:first a[rel="tabAblage"]', B);
    }
    A.trigger("click");
};
audi_ngw.myaudi.initMyAudiAblageActive = function(C) {
    var A = jQuery(C.target) || jQuery(C);
    if (A.parents('a[rel="tabAblage"]').length > 0) {
        A = A.parents('a[rel="tabAblage"]');
    }
    audi_ngw.navigation.tab._doSimpleClick(A);
    meta = A.metadata();
    var B = meta.tabOptions.sSelectorRelated;
    $tab = jQuery(B);
    if (jQuery(".ablage_enhanced", $tab).length > 0) {
        audi_ngw.myaudi.initEnhancedAblage($tab, A);
    }
    if (jQuery(".ablage_listing", $tab).length > 0) {
        audi_ngw.myaudi.initListingAblage($tab, A);
    }
    return false;
};
audi_ngw.myaudi.initListingAblage = function(B, A) {
    var C = B.find(".ablage_listing .ablage_items > li").length;
    if (C) {
        jQuery(".con_textimage_combo1_2col", B).hide();
        jQuery("a.delete", B).unbind("click.deleteAblageItem").bind("click.deleteAblageItem", function() {
            _activeItem = jQuery(this).parents("li.ablage_entry");
            jQuery.ajax({
                url: jQuery(this).attr("href")
            });
            empty = true;
            if ((_activeItem.next().length === 0) && (_activeItem.prev().length === 0)) {
                audi_ngw.myaudi.switchToAblageEmpty(B, A);
            }
            _activeItem.remove();
            A.find("span").text(jQuery(".ablage_listing .ablage_items > li", B).length);
            return false;
        });
    } else {
        audi_ngw.myaudi.switchToAblageEmpty(B, A);
    }
};
audi_ngw.myaudi.initEnhancedAblage = function(D, A) {
    var F = true;
    var E = D.find(".ablage_enhanced .ablage_items > li").length;
    if (E) {
        jQuery(".con_textimage_combo1_2col", D).hide();
        containerWidth = (E * audi_ngw.myaudi.imageWidth) + 94;
        var B = D.find(".ablage_enhanced .ablage_items");
        B.width(containerWidth);
        slideWidth = containerWidth - 704;
        if (slideWidth > 0) {
            var C = jQuery(".ablage_slider", D).slider({
                handle: ".ablage_slider_handle",
                animate: true,
                min: 0,
                max: slideWidth,
                slide: function(G, H) {
                    B.css("left", "-" + H.value + "px");
                }
            });
        }
        B.find("> li > a, > li > div").hover(function() {
            jQuery(this).addClass("hover");
        },
        function() {
            jQuery(this).removeClass("hover");
        });
        jQuery("> li > a > img", B).each(function() {
            img = jQuery(this);
            img.wrap("<div />").parent().css("background-image", "url(" + img.attr("src") + ")");
            img.hide();
        });
        jQuery("> li > a, > li > div.ablage_deleted", B).unbind("click.ablage_item").bind("click.ablage_item", function(J) {
            _item = jQuery(J.target) || jQuery(J);
            J.stopPropagation();
            J.preventDefault();
            _item = jQuery(this);
            _listItem = _item.parent();
            if (_listItem.hasClass("active") && !_listItem.hasClass("deleted") && !F) {
                jQuery("a.details", _listItem).click();
                return false;
            }
            F = false;
            jQuery("> li > a.active, > li > div.ablage_deleted.active", B).removeClass("active");
            jQuery("> li.active", B).removeClass("active");
            jQuery(".ablage_toolbar", B).hide();
            _item.addClass("active");
            _item.siblings(".ablage_toolbar").show();
            _activeItem = _item.parents("li");
            _activeItem.addClass("active");
            activeItemsCount = _item.parent("li").prevAll().length + 1;
            jQuery(".ablage_slider_status", D).text(activeItemsCount + audi_ngw.myaudi.separator + E);
            jQuery("span", A).text(E);
            if (C) {
                var H = jQuery(".ablage_entry.active").position().left;
                var G = H + 186;
                var K = parseInt(B.css("left"), 10) * -1;
                var I = K + 704;
                if (G > I) {
                    scrollPosition = 704 - G;
                    B.css("left", scrollPosition + "px");
                } else {
                    if (H < K) {
                        scrollPosition = H;
                        B.css("left", "-" + scrollPosition + "px");
                    }
                }
            }
            return false;
        });
        activeItem = B.find("li > a.active, > li > div.ablage_deleted.active");
        if (activeItem.length == 1) {
            activeItem.click();
        } else {
            B.find("li > a:first").click();
        }
        jQuery(".ablage_toolbar a.delete", D).unbind("click.deleteAblageItem").bind("click.deleteAblageItem", function(G) {
            _link = jQuery(G.target) || jQuery(G);
            _activeItem = _link.parents("li.ablage_entry");
            jQuery.ajax({
                url: _link.attr("href")
            });
            if (_activeItem.next().length > 0) {
                _next = _activeItem.next().find("> a, > div");
                _activeItem.remove();
                E--;
                _next.click();
            } else {
                if (_activeItem.prev().length > 0) {
                    _prev = _activeItem.prev().find("> a, > div");
                    _activeItem.remove();
                    E--;
                    _prev.click();
                } else {
                    _activeItem.remove();
                    E--;
                    audi_ngw.myaudi.switchToAblageEmpty(D, A);
                }
            }
            return false;
        });
    } else {
        audi_ngw.myaudi.switchToAblageEmpty(D, A);
    }
};
audi_ngw.myaudi.initAblageDetailsView = function() {
    $element = jQuery(".ablage_details_view");
    var D;
    if ($element.length > 0) {
        elementData = $element.metadata();
        var C = $element.find(".toolbox");
        var E = C.find(".wallpaper");
        E.find("a").css("display", "inline");
        var B = E.find("ul").empty();
        E.find(".open .close").click();
        C.find("li").hide().css("display", "none");
        if ("undefined" !== typeof(elementData.wallpaper)) {
            for (D = 0; elementData.wallpaper[D]; D++) {
                B.append('<li><a href="' + elementData.wallpaper[D].href + '" rel="wallpaper" target="_blank">' + elementData.wallpaper[D].title + "</a></li>");
            }
            B.find("li:first").addClass("firstChild");
            E.css("display", "inline");
            audi_ngw.layer.statics.register({
                sIdContainer: "#func_toolbox_wallpaper",
                sClassElement: ".overlay",
                sClassClose: ".close"
            });
        } else {
            E.hide();
        }
        if ("undefined" !== typeof(elementData.toolbox)) {
            for (D = 0; elementData.toolbox[D]; D++) {
                var A = C.find("." + elementData.toolbox[D].identifier);
                if (1 == A.size()) {
                    A.find("a").attr("href", elementData.toolbox[D].href).css("display", "inline").parent().css("display", "inline").find("span").text(elementData.toolbox[D].title);
                }
            }
        }
        audi_ngw.navigation.prepareLinks(C);
    }
};
audi_ngw.myaudi.switchToAblageEmpty = function(B, A) {
    jQuery(".con_textimage_combo1_2col", B).show();
    jQuery(".ablage_enhanced", B).hide();
    jQuery(".ablage_listing", B).hide();
    jQuery("span", A).text("0");
};
audi_ngw.myaudi.prepare = function() {
    if (audi_ngw.config.myAudiEnabled) {
        audi_ngw.myaudi.initiate(jQuery("body"));
        audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.myaudi.onAjaxSnippetReady);
        audi_ngw.event.bind("ajaxModalContentReady.updateMyAudiStatus", audi_ngw.myaudi.onAjaxModalContentReady);
        audi_ngw.event.bind("ajaxSnippetPrepared", audi_ngw.myaudi.onAjaxSnippedPrepared);
    }
};
audi_ngw.namespace(audi_ngw, "breadcrumb");
audi_ngw.breadcrumb._createHTMLTemplate = function() {
    var A = document.createElement("li");
    var B = document.createElement("a");
    B.className = "";
    B.rel = "";
    A.appendChild(B);
    return A;
};
audi_ngw.breadcrumb._addHTMLElement = function(C) {
    var B = audi_ngw.breadcrumb;
    var A = B._htmlTemplate.cloneNode(true);
    if (C.depth !== 0) {
        jQuery(A).prepend(document.createTextNode(B._oOptions.sTextDivider));
    }
    jQuery(A).children().attr({
        href: C.href || "#",
        rel: "breadcrumb"
    }).attr("class", "breadcrumb").text(C.text || "&nbsp;").parent().appendTo(jQuery(B._elBreadcrumbStage).children("ul"));
};
audi_ngw.breadcrumb._emptyBreadcrumbHTML = function() {
    var B = this._oOptions;
    var A = "#";
    A += B.sIdBreadcrumb;
    jQuery(A).empty();
};
audi_ngw.breadcrumb.update = function(A) {
    var B = audi_ngw.breadcrumb;
    if (!B._oOptions) {
        audi_ngw.breadcrumb.initialize({});
    }
    if (jQuery("#" + B._oOptions.sIdBreadcrumb + ' a[href="' + A.attr("href") + '"]').length !== 0 || !A.size()) {
        B.removeLastDOM();
    } else {
        B.addDOM(A);
    }
    audi_ngw.breadcrumb.toggleLastElement(audi_ngw.navigation.parameters.source);
    B._updateFlash();
};
audi_ngw.breadcrumb.resetSpans = function() {
    var B = audi_ngw.breadcrumb;
    var A = jQuery(B._elBreadcrumbStage).find("li").not(":last-child").children("span").each(function(D, C) {
        var E = jQuery(C);
        jQuery('<a href="" rel="" class=""></a>').attr("href", E.attr("rel")).attr("class", E.attr("class")).attr("rel", (E.hasClass("breadcrumb") ? "breadcrumb": "pagelevel")).text(E.text()).replaceAll(E);
    });
    B._updateFlash();
};
audi_ngw.breadcrumb.toggleLastElement = function(F) {
    var E = audi_ngw.breadcrumb;
    E.resetSpans();
    var D = jQuery(E._elBreadcrumbStage).find("li").children();
    var B = D.eq(D.size() - 1);
    var C = B.get(0).tagName.toLowerCase();
    var A = (B.attr("rel") != "breadcrumb") ? B.attr("rel") : B.attr("href");
    var G = B.text();
    if (C === "span" && A != F) {
        jQuery('<a href="" rel=""></a>').attr("href", A).attr("class", B.attr("class")).attr("rel", (B.hasClass("breadcrumb") ? "breadcrumb": "pagelevel")).text(G).replaceAll(B);
    }
    if (!F || (C === "a" && A == F)) {
        jQuery('<span rel=""></span>').attr("class", B.attr("class")).attr("rel", A).text(G).replaceAll(B);
    }
    E._updateFlash();
};
audi_ngw.breadcrumb.addDOM = function(A) {
    var B = audi_ngw.breadcrumb;
    var D = A.text();
    if (!D || D == "&nbsp;") {
        return;
    }
    var C = {
        depth: null,
        text: D,
        href: A.attr("href")
    };
    B._addHTMLElement(C);
};
audi_ngw.breadcrumb.removeLastDOM = function() {
    var B = audi_ngw.breadcrumb;
    var A = jQuery(B._elBreadcrumbStage).find("ul").children();
    A.eq(A.size() - 1).remove();
};
audi_ngw.breadcrumb._updateFlash = function() {
    var A = audi_ngw.breadcrumb;
    var C = (jQuery("#" + A._oOptions.sIdBreadcrumb).html());
    if (jQuery.browser.msie) {
        C = C.toString().replace(/&gt;/g, "").replace(/((<(li|LI))(.*?)(<\/(a|A|span|SPAN)>)(?!\s*<\/(li|LI)>))/g, "$1</$3>").replace(/(\w+)(=+)([^"<>\' ]+)(\s+|\/|>)+/g, '$1$2"$3"$4');
    }
    try {
        audi_ngw.flash.getFlashMovie(A._oOptions.sIdBreadcrumb + "_replaced").refreshReplacement(encodeURI(C));
    } catch(B) {
        window.setTimeout(arguments.callee, 250);
    }
};
audi_ngw.breadcrumb.initialize = function(A) {
    var B = audi_ngw.breadcrumb;
    B.__className = "audi_ngw.breadcrumb";
    B.__classVersion = "1.2";
    B._oOptions = {};
    B._oOptions.aOPrefix = A.aOPrefix || [{
        depth: 0,
        text: "Startseite",
        href: "/"
    }];
    B._oOptions.sIdBreadcrumb = A.sIdBreadcrumb || "audi_navigation_breadcrumb";
    B._oOptions.sIdNavigation = A.sIdNavigation || "audi_nav_distributor";
    B._oOptions.sTextDivider = A.sTextDivider || " > ";
    B._htmlTemplate = B._createHTMLTemplate();
    B._elBreadcrumbStage = document.getElementById(B._oOptions.sIdBreadcrumb);
};
audi_ngw.namespace(audi_ngw, "navigation.tab");
audi_ngw.navigation.tab._addEvents = function(B) {
    var C = audi_ngw.navigation.tab;
    var A = (B) ? "#" + B + " " + C._oOptions._sSelectorTabs: C._oOptions._sSelectorTabs;
    jQuery(A).each(function(E, D) {
        jQuery(D).parent().unbind("mouseover.navigationTab").bind("mouseover.navigationTab", audi_ngw.navigation.tab.setHover).unbind("mouseout.navigationTab").bind("mouseout.navigationTab", audi_ngw.navigation.tab.unsetHover).find("a").width($(this).parent().width()).css({
            paddingLeft: "0",
            paddingRight: "0",
            "text-align": "center"
        });
    });
};
audi_ngw.navigation.tab.handleClick = function(C) {
    var B = audi_ngw.navigation.tab;
    var A = jQuery(C.target) || jQuery(C);
    if (A.attr("rel") === "tabAjax") {
        B._doAjaxClick(A);
    } else {
        if (A.attr("rel") === "layerModalContent") {
            audi_ngw.layer.modal.showContent(C, "#audi_modal_body");
            A.parent().removeClass(B._oOptions._sClassNameHover).siblings("." + B._oOptions._sClassNameActive).removeClass(B._oOptions._sClassNameActive).end().addClass(B._oOptions._sClassNameActive);
            return false;
        } else {
            if (A.attr("rel") === "tabStatic") {
                B._doSimpleClick(A);
            } else {
                if (A.attr("rel") === "tabForm") {
                    B._doSimpleClick(A);
                }
            }
        }
    }
    return false;
};
audi_ngw.navigation.tab.showStatic = function(A) {
    audi_ngw.navigation.tab._doSimpleClick(A);
};
audi_ngw.navigation.tab._doSimpleClick = function(B) {
    var C = audi_ngw.navigation.tab;
    var D = B.parent().parent().parent().audi_identify().attr("id");
    var A = B.metadata().tabOptions || {};
    if (A.sIdRelated) {
        A.sSelectorRelated = A.sIdRelated;
    }
    if (!A.sSelectorRelated) {
        throw new Error("[audi_ngw.navigation.tab.handleClick]: missing sSelectorRelated at metadata.tabOptions");
    }
    C._setTabsVisible(B, jQuery("#" + D + " " + A.sSelectorRelated));
};
audi_ngw.navigation.tab.linkHandlingAjaxClick = function(A, B) {
    audi_ngw.navigation.tab._doAjaxClick(A, null, B);
};
audi_ngw.navigation.tab._doAjaxClick = function(B, D, C) {
    var E = audi_ngw.navigation.tab;
    D = (D) ? "#" + D: "";
    C = (C) ? C: "";
    if (C.indexOf("#") === 0) {
        C = C.slice(1);
    }
    var G = B.parent().parent().parent().audi_identify().attr("id");
    var A = B.metadata().tabOptions || {};
    if (A.sIdRelated) {
        A.sSelectorRelated = A.sIdRelated;
    }
    if (!A.sSelectorRelated) {
        throw new Error("[audi_ngw.navigation.tab.handleClick]: missing sSelectorRelated at metadata.tabOptions");
    }
    var F = jQuery(D + " #" + G + " " + A.sSelectorRelated);
    if (!F.size()) {
        throw new Error("[audi_ngw.navigation.tab.handleClick]: missing target element");
    }
    E._setTabsVisible(B, F);
    audi_ngw.navigation.loadPage(B.attr("href"), jQuery(D + " #" + G + " #" + C), null, C);
};
audi_ngw.navigation.tab.setHover = function(C) {
    var B = audi_ngw.navigation.tab;
    var A = jQuery(this);
    if (!A.hasClass(B._oOptions._sClassNameActive)) {
        A.addClass(B._oOptions._sClassNameHover);
    }
};
audi_ngw.navigation.tab.unsetHover = function(C) {
    var B = audi_ngw.navigation.tab;
    var A = jQuery(this);
    A.removeClass(B._oOptions._sClassNameHover);
};
audi_ngw.navigation.tab._setTabsVisible = function(C, A) {
    var B = audi_ngw.navigation.tab;
    C.parent().removeClass(B._oOptions._sClassNameHover).siblings("." + B._oOptions._sClassNameActive).removeClass(B._oOptions._sClassNameActive).end().addClass(B._oOptions._sClassNameActive);
    A.siblings().removeClass("active").hide();
    A.addClass("active").show().css("display", "inline-block");
    audi_ngw.animation.forceRepaint(true);
};
audi_ngw.navigation.tab.onAjaxModalContentReady = function(A, B) {
    if (!audi_ngw.url.hasXHRContent(B, A.timeStamp)) {
        return false;
    }
    audi_ngw.navigation.tab._addEvents(audi_ngw.url.getContentId());
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.navigation.tab.onAjaxSnippetReady = function(A, B) {
    audi_ngw.navigation.tab._addEvents(B.sId.slice(1));
    audi_ngw.event.trigger("ajaxSnippetPrepared");
};
audi_ngw.navigation.tab.initialize = function(A) {
    var B = audi_ngw.navigation.tab;
    B.__className = "audi_ngw.navigation.tab";
    B.__classVersion = "1.2";
    B._oOptions = {};
    B._oOptions._sClassNameHover = "rollover";
    B._oOptions._sClassNameActive = "active";
    B._oOptions._sSelectorTabs = 'ul.audi_tab_navigation li a[rel="tabStatic"],ul.audi_tab_navigation li a[rel="tabAblage"], ul.audi_tab_navigation li a[rel="tabAjax"], ul.audi_tab_navigation li a[rel="layerModalContent"]';
    audi_ngw.navigation.tab._addEvents();
};
audi_ngw.navigation.tab.prepare = function() {
    audi_ngw.event.bind("ajaxModalContentReady.navigationTab", audi_ngw.navigation.tab.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.navigation.tab.onAjaxSnippetReady);
    audi_ngw.navigation.tab.initialize({});
};
audi_ngw.namespace(audi_ngw, "navigation");
audi_ngw.namespace(audi_ngw, "navigation.prepareLinks");
audi_ngw.namespace(audi_ngw, "navigation.handleClick");
audi_ngw.namespace(audi_ngw, "navigation.parameters");
audi_ngw.namespace(audi_ngw, "navigation.parseParameters");
audi_ngw.namespace(audi_ngw, "navigation.loadPage");
audi_ngw.namespace(audi_ngw, "navigation.container");
audi_ngw.navigation.container.page = "audi_content_wrapper";
audi_ngw.navigation.currentPagelevel = "";
audi_ngw.navigation.title = document.title;
audi_ngw.navigation.history = "";
//audi_ngw.config.version = "1.0.1";
audi_ngw.navigation.prepareLinks = function(A) {
    jQuery("a", A).each(function() {
        audi_ngw.navigation.doPrepareLink(jQuery(this));
    });
};
audi_ngw.navigation.loadGalleryExtended = function() {
    var A = jQuery(this).val();
    if (A && true === audi_ngw.url.validate(A)) {
        var B = "source=" + A + "&container=galleryExtended";
        return audi_ngw.navigation.historyLoad(B);
    }
    return true;
};
audi_ngw.navigation.doPrepareLink = function(C) {

    var A = C.attr("rel");
    var B = C.attr("href");
    if ("nohistory" == A) {
        C.bind("click.track", function(D) {
            audi_ngw.track.onClick($(D.target));
        });
        return true;
    } else {
        if ("print" == A) {
            C.unbind("click").click(function(E) {
                var D = jQuery(this).attr("href");
                audi_ngw.navigation.popup(D, {
                    name: "funcPrint",
                    maximized: "true",
                    scrollbars: "true"
                });
                return false;
            });
            C.bind("click.track", function(D) {
                audi_ngw.track.onClick($(D.target));
            });
        } else {
            if ("popup" == A || "popupOnload" == A) {
                C.unbind("click").click(function(E) {
                    var F = jQuery(this).metadata();
                    var D = jQuery(this).attr("href");
                    if ("undefined" != typeof(F.popupOnload)) {
                        F.redirect = D;
                        D = F.popupOnload;
                    }
                    strClass = jQuery(this).attr("class");
                    if (strClass.indexOf("audi_share") >= 0) {
                            F.resizable = true;
                            F.scrollbars = true;
                    }

                    
                    audi_ngw.log("closest:"+ strClass.indexOf("audi_share"))
                    return audi_ngw.navigation.popup(D, F);
                });
                C.bind("click.track", function(D) {
                    audi_ngw.track.onClick($(D.target));
                });
            } else {
                if ("layerAdvice" == A) {
                    C.unbind("click").click(function(D) {
                        if (false === audi_ngw.url.validate(B)) {
                            window.open(B, "external");
                            return false;
                        }
                        audi_ngw.layer.advice.showAnimated(D);
                        return false;
                    });
                    C.bind("click.track", function(D) {
                        audi_ngw.track.onClick($(D.target));
                    });
                } else {
                    if ("layerSimple" == A) {
                        C.unbind("click").click(function(D) {
                            audi_ngw.layer.simple.show(D);
                            return false;
                        });
                        C.bind("click.track", function(D) {
                            audi_ngw.track.onClick($(D.target));
                        });
                    } else {
                        if ("ajaxContentAdvice" == A) {
                            C.unbind("click").click(function(E) {
//                                if (false === audi_ngw.url.validate(B)) {
//                                    window.open(B, "external");
//                                    return false;
//                                }
                                var D = jQuery(this);
                                audi_ngw.layer.modal.loadAjaxContentAdvice(this.href, D);
                                return false;
                            });
                            C.bind("click.track", function(D) {
                                audi_ngw.track.onClick($(D.target));
                            });
                        } else {
                            if ("tabStatic" == A) {
                                C.unbind("click").bind("click", function(D) {
                                    audi_ngw.navigation.tab.handleClick(D);
                                    return false;
                                });
                                C.bind("click.track", function(D) {
                                    audi_ngw.track.onClick($(D.target));
                                });
                            } else {
                                if ("tabAblage" == A) {
                                    C.unbind("click").bind("click", function(D) {
                                        audi_ngw.myaudi.initMyAudiAblageActive(D);
                                        return false;
                                    });
                                    C.bind("click.track", function(D) {
                                        audi_ngw.track.onClick($(D.target));
                                    });
                                } else {
                                    if ("tabForm" == A) {
                                        C.unbind("click").bind("click", function(D) {
                                            audi_ngw.myaudi.handleFormChangeLink(D);
                                            return false;
                                        });
                                        C.bind("click.track", function(D) {
                                            audi_ngw.track.onClick($(D.target));
                                        });
                                    } else {
                                        if ("page" == A || "distributor" == A || "tabAjax" == A || "layerModal" == A || "layerModalContent" == A || "imgPopUp" == A) {
										//if ("distributor" == A || "tabAjax" == A || "layerModal" == A || "layerModalContent" == A || "imgPopUp" == A) {
												audi_ngw.log("layerModal: "+A);
											   	C.unbind("click").click(function(F) {
									   				audi_ngw.log(audi_ngw.url.validate(B))
                                                if (false === audi_ngw.url.validate(B)) {
                                                    if ("page" == A) {
                                                        //window.location.href = B;
                                                        window.open(B, "external")
                                                    } else {
                                                        window.open(B, "external");
                                                    }
                                                    return false;
                                                }
                                                var E = jQuery(this);
                                                if ("tabAjax" == A && 0 < E.parents("#audi_modal_wrapper").size()) {
                                                    A = "tabAjaxLayer";
                                                }
                                                //guntram
                                                if("imgPopUp" == A) {
                                                	var G = "source=" + audi_ngw.config.loadImgPhp + E.attr("href") + "&container=layerModal";
                                               	}
                                                 else {
                                                	var G = "source=" + E.attr("href") + "&container=" + A;
                                                }
                                                
                                                audi_ngw.log("9:" + G);
                                                var D = audi_ngw.navigation.historyLoad(G);
                                                if (true === D) {}                                                
                                                return false;
                                            });
                                            //C.bind("click.track", function(D) {
//                                                audi_ngw.track.onClick($(D.target));
//                                            
//											
//                                            });
                                        } else {
                                            if ("myAudiLogout" == A) {
                                                C.unbind("click").click(function(D) {
                                                    audi_ngw.myaudi.handleLogoutRequest(C);
                                                    return false;
                                                });
                                                C.bind("click.track", function(D) {
                                                    audi_ngw.track.onClick($(D.target));
                                                });
                                            } else {
                                                C.bind("click.track", function(D) {
                                                    audi_ngw.track.onClick($(D.target));
                                                });
                                                return true;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
};
audi_ngw.navigation.onAjaxModalContentReady = function(B, C) {
	audi_ngw.log("onAjaxModalContentReady:");
    var A = jQuery("#" + audi_ngw.url.getContentId());
    audi_ngw.navigation.prepareLinks(A);
    audi_ngw.navigation.ajaxLoad(A);
    jQuery(".audi_js").removeClass("audi_js");
    jQuery(".func_pagelinks").show();
    audi_ngw.gallery.initiate(A);
    jQuery("#audi_content_wrapper a[rel*=popupOnload]", A).click();
    audi_ngw.event.trigger("ajaxModalContentPrepared");
};
audi_ngw.navigation.onAjaxSnippetReady = function(B, C) {
    var A = jQuery(C.sId);
    audi_ngw.navigation.prepareLinks(A);
    audi_ngw.navigation.ajaxLoad(A);
    jQuery(".audi_js").removeClass("audi_js");
    jQuery(".func_pagelinks").show();
    jQuery("#audi_content_wrapper a[rel*=popupOnload]", A).click();
    audi_ngw.event.trigger("ajaxSnippetPrepared", [B, C]);
};
audi_ngw.navigation.historyLoad = function(E) {
	audi_ngw.log("historyLoad: " + E);
    if (audi_ngw.animation.accordionPagelevel.getRunning() || audi_ngw.animation.slideDistributor.getRunning()) {

        return false;
    }
    var D = E.split("source=")[1].split("&")[0];
    var A;
    var B = (window.location.href.split("#")[0] + "#" + E);
    if ((B.indexOf(audi_ngw.config.sHostHTTPS) !== -1 && window.location.protocol === "http:")) {
        A = new RegExp(audi_ngw.config.sHostHTTP, "g");
        window.location.href = B.replace(A, audi_ngw.config.sHostHTTPS);
        return false;
    }
    if ((B.indexOf(audi_ngw.config.sHostHTTP) !== -1 && window.location.protocol === "https:")) {
        A = new RegExp(audi_ngw.config.sHostHTTPS, "g");
        window.location.href = B.replace(A, audi_ngw.config.sHostHTTP);
        return false;
    }
    E = E.replace(/#/, "");
    E = E.replace(/container=breadcrumb/, "container=distributor");
    E = E.replace(/\%2F/g, "/");
    var C = window.location.href;
    if ( - 1 == C.indexOf("layerModal")) {
        audi_ngw.navigation.history = "";
    }
    if ("object" == typeof(SWFAddress)) {
        return SWFAddress.setValue(E);
    } else {
        if ("object" == typeof($.address)) {
            jQuery.address.value(E);
        } else {
        	audi_ngw.log(E);
            return jQuery.history.load(E);
        }
    }
};
audi_ngw.navigation.loadFromSelect = function(C) {
    var A = jQuery(C.target) || jQuery(C);
    var B = A.val();
    var D = A.find("option[value=" + B + "]").metadata();
    if ("undefined" !== typeof(D.type) && "popup" == D.type && true === audi_ngw.url.validate(B)) {
        return audi_ngw.navigation.popup(B, D);
    }
    window.location.href = B;
    return false;
};
audi_ngw.navigation.popup = function(A, B) {
    B.width = ("undefined" == typeof(B.width)) ? 640 : B.width;
    B.height = ("undefined" == typeof(B.height)) ? 480 : B.height;
    B.scrollbars = ("undefined" !== typeof(B.scrollbars) && ("true" === B.scrollbars || true === B.scrollbars)) ? "yes": "no";
    B.resizable = ("undefined" !== typeof(B.resizable) && ("true" === B.resizable || true === B.resizable)) ? "yes": "no";
    B.maximized = ("undefined" !== typeof(B.maximized) && ("true" === B.maximized || true === B.maximized)) ? "yes": "no";
    B.menubar = ("undefined" !== typeof(B.menubar) && ("true" === B.menubar || true === B.menubar)) ? "yes": "no";
    B.toolbar = ("undefined" !== typeof(B.toolbar) && ("true" === B.toolbar || true === B.toolbar)) ? "yes": "no";
    if ("yes" === B.maximized) {
        B.width = screen.availWidth;
        B.height = screen.availHeight;
    }
    var D = "width=" + B.width + ",height=" + B.height + ",scrollbars=" + B.scrollbars + ",resizable=" + B.resizable + ",menubar=" + B.menubar + ",toolbar=" + B.toolbar;
    B.name = B.name || "audi_" + parseInt(Math.random(), 10);
    audi_ngw.log("popup:"+D);
    var C = window.open(A, B.name, D);
    if (null !== C && "undefined" !== typeof(B.redirect) && false !== audi_ngw.url.validate(B.redirect)) {
        window.location.href = B.redirect;
    }
    return false;
};
audi_ngw.handleFlashLink = function(C, A, B) {
    
    if ("popup" === A) {
        return audi_ngw.navigation.popup(C, B);
    }
    if (false === audi_ngw.url.validate(C)) {
        window.open(C, "external");
        return false;
    }
    if (false === audi_ngw.url.validateContext(C)) {
        return false;
    }
    if ("layerModal" !== A || "layerModalContent" !== A) {
        return audi_ngw.layer.modal.showHistory(C);
    }
    return false;
};
audi_ngw.navigation.handleClick = function(A) {
	audi_ngw.log("entryPage: "+audi_ngw.navigation.parameters.container);
	
	linkNeuA = A.replace(/\|/g, "&");
	audi_ngw.log("linkNeuA:"+linkNeuA);
	A = linkNeuA.replace(/\*/g, "?");
    var E;
    if (A.value) {
        E = A.value;
    } else {
        E = A;
    }
    audi_ngw.log("6470 E:"+E);
    var F = E.substr(0, 1);
    if ("/" == F) {
        E = E.substr(1);
    }
    var C = false;
    try {
        audi_ngw.navigation._parseParameters(E);
    } catch(G) {
        C = true;
    }
    if ("undefined" === typeof(audi_ngw.navigation.entryPage)) {    	
		
        audi_ngw.navigation.entryPage = window.location.href;
        if ("" === E) {
            return false;
        }
    } else {
        if ("" === E && "undefined" !== typeof(audi_ngw.navigation.entryPage)) {
            audi_ngw.navigation.parameters.source = audi_ngw.navigation.entryPage;
            if (0 !== jQuery("#audi_nav_distributor").size()) {
                audi_ngw.navigation.parameters.container = "distributor";
            } else {
                audi_ngw.navigation.parameters.container = "page";
            }
        } else {
            if ("" === E || true === C) {
                audi_ngw.navigation.parameters.source = window.location.href;
                if (1 == jQuery("#audi_nav_distributor").size()) {
                    audi_ngw.navigation.parameters.container = "distributor";
                } else {
                    audi_ngw.navigation.parameters.container = "page";
                }
            } else {
                if ("" !== E && true === C) {
                    return true;
                }
            }
        }
    }    
    if ((audi_ngw.navigation.parameters.source.indexOf("https:") !== -1 && window.location.protocol === "http:")) {
        window.location.href = window.location.href.replace(/http:/g, "https:");
        return false;
    }
    if ((audi_ngw.navigation.parameters.source.indexOf("http:") !== -1 && window.location.protocol === "https:")) {
        window.location.href = window.location.href.replace(/https:/g, "http:");
        return false;
    }
    if (false === audi_ngw.url.validate(audi_ngw.navigation.parameters.source) && audi_ngw.navigation.parameters.container != "popup") {
        window.open(audi_ngw.navigation.parameters.source, "external");
        return false;
    }
    if (false === audi_ngw.url.validateContext(audi_ngw.navigation.parameters.source)) {
        return false;
    }
    var J = audi_ngw.url.removeAjaxFragment(audi_ngw.navigation.parameters.source);
    var H;
    if ("page" == audi_ngw.navigation.parameters.container) {
        audi_ngw.navigation.currentPagelevel = jQuery("#audi_nav_pagelevel .current");
        H = jQuery("#audi_nav_pagelevel a[href*=" + J + "], #audi_tab_navigation a[href*=" + J + "], #audi_navigation_gallery_extended option[value*=" + J + "]");
        if (H.size() === 0 && audi_ngw.navigation.parameters.source != audi_ngw.navigation.entryPage) {
            return false;
        }
        var D = audi_ngw.layer.modal.isVisible();
        audi_ngw.layer.modal.hide();
        if (true === D) {
            return false;
        }
        audi_ngw.animation.accordionPagelevel.animate(H);
        audi_ngw.navigation.loadPage(audi_ngw.navigation.parameters.source, jQuery("#" + audi_ngw.navigation.container.page));
        return false;
    } else {
        if ("layerModal" == audi_ngw.navigation.parameters.container) {
        	audi_ngw.log("layerModal");
        	//audi_ngw.log(audi_ngw.navigation.parameters.source+" | "+audi_ngw.navigation.parameters.get)
            audi_ngw.layer.modal.showHistory(audi_ngw.navigation.parameters.source + audi_ngw.navigation.parameters.get);
            return false;
        } else {
            if ("layerModalContent" == audi_ngw.navigation.parameters.container) {
                audi_ngw.layer.modal.showHistory(audi_ngw.navigation.parameters.source + audi_ngw.navigation.parameters.get);
                return false;
            } else {
                if ("galleryExtended" == audi_ngw.navigation.parameters.container) {
                    audi_ngw.navigation.loadPage(audi_ngw.navigation.parameters.source, jQuery("#audi_gallery_extended_container"), audi_ngw.fragmentGallerySelector);
                } else {
                    if ("tabAjax" == audi_ngw.navigation.parameters.container) {
                        H = jQuery(".audi_tab_navigation a[href*=" + J + "]");
                        var I = jQuery("#audi_modal_wrapper .audi_tab_navigation a[href*=" + J + "]");
                        if (0 !== I.size()) {
                            H = I;
                        } else {
                            audi_ngw.layer.modal.hide();
                        }
                        var B = H.metadata().tabOptions.sSelectorRelated;
                        if (0 !== jQuery("#audi_navigation_gallery_extended_form").size() && 0 !== H.size()) {
                            audi_ngw.navigation.tab.linkHandlingAjaxClick(H, B);
                        } else {
                            if (0 !== I.size()) {
                                audi_ngw.navigation.tab.linkHandlingAjaxClick(H, "audi_modal_wrapper", B);
                            } else {
                                audi_ngw.navigation.loadPage(audi_ngw.navigation.parameters.source, jQuery("#" + audi_ngw.navigation.container.page));
                            }
                        }
                        return false;
                    } else {
                        if ("tabAjaxLayer" == audi_ngw.navigation.parameters.container) {
                            H = jQuery("#audi_modal_wrapper .audi_tab_navigation a[href*=" + J + "]");
                            if (0 === H.size()) {
                                audi_ngw.layer.modal.showHistory(audi_ngw.navigation.parameters.source + audi_ngw.navigation.parameters.get);
                            } else {
                                audi_ngw.navigation.tab.linkHandlingAjaxClick(H, "audi_modal_tab_navigation_container");
                            }
                            return false;
                        } else {
                            if ("distributor" == audi_ngw.navigation.parameters.container || "breadcrumb" == audi_ngw.navigation.parameters.container) {
                                H = jQuery("#audi_nav_distributor a[href*=" + audi_ngw.navigation.parameters.source + "]");
                                if ("breadcrumb" == audi_ngw.navigation.parameters.container) {
                                    if (true === H.parents("ul").hasClass("first")) {
                                        audi_ngw.navigation.parameters.source = audi_ngw.navigation.entryPage;
                                        H = jQuery("#audi_nav_distributor a[href*=" + J + "]");
                                    } else {
                                        H = H.parents("li").children("a");
                                    }
                                }
                                if (H.size() === 0 && audi_ngw.navigation.entryPage != audi_ngw.navigation.parameters.source) {
                                    return false;
                                }
                                audi_ngw.layer.modal.hide();
                                audi_ngw.animation.slideDistributor.animate(H.get());
                                audi_ngw.breadcrumb.update(H);
                                audi_ngw.navigation.loadPage(audi_ngw.navigation.parameters.source, jQuery("#" + audi_ngw.navigation.container.page));
                            } else {
                            	if("popup" == audi_ngw.navigation.parameters.container) {
                            		audi_ngw.navigation._parsePopupParameters();
                            		A = audi_ngw.navigation.popupParameters
                               		audi_ngw.navigation._openPopup(audi_ngw.navigation.parameters.source)
                           		}
                                else {
                                return true;
                            	}
                            }
                        }
                    }
                }
            }
        }
    }
    return false;
};
audi_ngw.navigation.loadPage = function(D, B, C, A) {
	audi_ngw.log("load page");
	audi_ngw.log("navigation.loadPage: " + A);
    audi_ngw.navigation._prepareEnvironment(B);
    if (!C) {
        C = audi_ngw.fragmentSelector;
    }
    D = audi_ngw.url.addAjaxFragment(D, C);
    if (!A) {
        A = audi_ngw.navigation.container.page;
    }
    if (A.indexOf("#") === 0) {
        A = A.slice(1);
    }
    var E = B.attr("id");
    jQuery.ajax({
        url: D + audi_ngw.navigation.parameters.get,
        type: "GET",
        dataType: "html",
        complete: function(K) {
            var I = K.responseText;
            var F = K.status;
            var G;
            if ("error" != F) {
                G = jQuery("#" + E);
                if (jQuery.browser.msie) {
                    jQuery("object, embed", G).each(function() {
                        audi_ngw.flash.remove(this);
                    });
                }
                G.html(jQuery("<div/>").append(I.replace(/<script(.|\s)*?\/script>/g, "")).find(" #" + A + " > *"));
                var L = I.split(A)[1].match(/<script(.|\s)*?\/script>/g);
                if (L !== null && L.length) {
                    var H = jQuery("<div/>").append(L.join(" ")).empty().remove();
                    H = null;
                }
                jQuery("#audi_content_wrapper").removeClass("template-c-2").removeClass("template-c-3").addClass((I.match(/id=\"audi_content_wrapper\".*?class=\"(.*)\"/) || [""])[1]);
                G = jQuery("#" + E);
                audi_ngw.navigation._restoreEnvironment(G);
                audi_ngw.navigation.setTitle(I);
                var J = G.find(".audi_clicktip_teaser");
                if (1 === J.size()) {
                    jQuery(".audi_navigation_sub .audi_clicktip_teaser").remove();
                    J.insertAfter("#audi_nav_pagelevel");
                    audi_ngw.animation.teaserclicktip.prepareContent();
                }
                audi_ngw.event.trigger("ajaxSnippetReady", [{
                    sId: "#" + A
                }]);
                return false;
            } else {
                audi_ngw.navigation._restoreEnvironment(G);
                audi_ngw.animation.accordionPagelevel.animate(audi_ngw.navigation.currentPagelevel);
                return false;
            }
        }
    });
    return false;
};
audi_ngw.navigation.ajaxLoad = function(A) {
    jQuery(".audi_ajax_load", A).each(function() {
        var B = jQuery(this);
        var C = B.metadata();
        if ("undefined" != typeof(C.url) && true === audi_ngw.url.validate(C.url)) {
            B.removeClass("audi_ajax_load");
            C.url = audi_ngw.url.getContext(C.url);
            jQuery.get(C.url, null, function(D) {
                if (jQuery.browser.msie) {
                    jQuery("object, embed", B).each(function() {
                        audi_ngw.flash.remove(this);
                    });
                }
                B.html(D);
                audi_ngw.navigation.updatePage(B.parent());
            });
        }
    });
};
audi_ngw.navigation.updatePage = function(A) {
    audi_ngw.navigation.prepareLinks(A);
    audi_ngw.animation.simpleAccordion.initialize(A);
    audi_ngw.flash.initiate();
    audi_ngw.navigation.ajaxLoad(A);
    if ("undefined" != audi_ngw.navigation.windowLoaded) {
        audi_ngw.flash.initiate();
    }
    jQuery(".audi_js").removeClass("audi_js");
    jQuery(".func_pagelinks").show();
    audi_ngw.navigation.tab.initialize({});
    audi_ngw.gallery.initiate(A);
    audi_ngw.dom.rounded_corners.createOn();
    audi_ngw.layer.advice.initialize();
    //jQuery("#audi_content_wrapper a[rel*=popupOnload]", A).click();
};
audi_ngw.navigation.setTitle = function(B) {
    var A = "";
    if ("undefined" != typeof(B) && B.indexOf("<title>") !== -1 && B.indexOf("</title>") !== -1) {
        A = audi_ngw.html_entidiy_decode(B.split("title>")[1].split("<")[0].replace(/#/g, ""));
    }
    if ("" === A) {
        return true;
    }
    audi_ngw.navigation.title = A;
    return audi_ngw.navigation.doSetTitle();
};
audi_ngw.navigation.doSetTitle = function() {
    if ("" === audi_ngw.navigation.title) {
        return false;
    }
    document.title = audi_ngw.navigation.title;
    var A = jQuery("#jQuery_history");
    if (0 !== A.size()) {
        A[0].document.title = audi_ngw.navigation.title;
        window.setTimeout(function() {
            A[0].document.title = audi_ngw.navigation.title;
            document.title = audi_ngw.navigation.title;
        },
        500);
    }
    return true;
};

audi_ngw.navigation._openPopup = function(A) {
	B = audi_ngw.navigation.popupParameters;
	if(B.width == 'fullsize' || B.height == 'fullsize')
		{
			B.width = window.screen.availWidth;
			B.height = window.screen.availHeight;
		}
    B.left = (screen.availWidth/2)-(B.width/2);
    B.top = (screen.availHeight/2)-(B.height/2);
	var C = [];	
	jQuery.each(B,function(key,val) {
		if(key != 'name'){
			C.push(key+"="+val);
		}
	})
	popOptions = C.join(",");
	audi_ngw.log("_openPopup:"+popOptions);  
	window.open(A,B.name,popOptions)
    //openFullscreenWindow(A)
   
};

audi_ngw.navigation._parsePopupParameters = function() {
	B = audi_ngw.navigation.parameters.popup;    
    audi_ngw.log("_parsePopupParameters:"+B);
    var A = B.split("+");
	audi_ngw.navigation.popupParameters = {
        name: A[0],
		width: A[1],
        height: A[2],
        scrollbars: A[3],
        resizable: A[4]
    };    
};

audi_ngw.navigation._parseParameters = function(B) {
	audi_ngw.log("_parseParameters:"+B);
    audi_ngw.navigation.parameters = {
        source: "",
        container: "",
        popup: "",
        get: ""
    };
    var A = B.split("&"); 
    if (A.length >= 2) {
        var C = [];
        jQuery(A).each(function() {           
			audi_ngw.log("url._parseParameters each: "+this);
            var D = this.split("?");
            if (D.length >= 2) {
                C.push(D[0]);
                C.push(D[1]);
            } else {
                C.push(D[0]);
            }
        });
        jQuery(C).each(function() {
            var E = this.split("=");
            if (E.length != 2) {
                throw "ParameterException";
            } else {
                if ("source" != E[0] && "container" != E[0] && "popup" != E[0]) {
              		audi_ngw.log("url._parseParameters if: "+E[1]);
                    var D = E[0] + "=" + E[1];
                    if (0 !== audi_ngw.navigation.parameters.get.length) {
                        D = audi_ngw.navigation.parameters.get + "&" + D;
                    } else {
                        D = "?" + D;
                    }
                    audi_ngw.navigation.parameters.get = D;
                } else {
                	audi_ngw.log("url._parseParameters else: "+E[1]);
                    audi_ngw.navigation.parameters[E[0]] = E[1];
                    audi_ngw.log("url._parseParameters decodeURI: "+audi_ngw.navigation.parameters[E[0]]);
                }
            }
        });
        if (audi_ngw.navigation.parameters.source === "" || audi_ngw.navigation.parameters.container === "") {
            throw "ParameterException";
        }
    }
};
audi_ngw.navigation._prepareEnvironment = function(A) {
    jQuery("#audi_container_footer").css("visibility", "hidden");
    if (jQuery("#audi_content_wrapper").height()) {
        jQuery("#audi_content_wrapper").css("height", jQuery("#audi_content_wrapper").height() + "px");
    }
    if (A) {
        if (A.outerHeight() === 0) {
            A.css({
                minHeight: "150px"
            });
        }
        audi_ngw.animation.setLoading({
            sId: audi_ngw.dom.identify(A),
            sCN: "preload"
        });
    } else {
        audi_ngw.animation.setLoading({
            sId: "#audi_content_wrapper",
            sCN: "preload"
        });
    }
};
audi_ngw.navigation._restoreEnvironment = function(A) {
    jQuery("#audi_content_wrapper").css("height", "");
    jQuery("#audi_container_footer").css("visibility", "");
    if (A) {
        audi_ngw.animation.unsetLoading(A.attr("id"));
    } else {
        audi_ngw.animation.unsetLoading("#audi_content_wrapper");
    }
    audi_ngw.animation.unsetLoading("#audi_content_wrapper");
};
audi_ngw.namespace(audi_ngw, "controller");
audi_ngw.controller.domReady = function() {
    if ($.browser.msie && $.browser.version < 6) {
        return false;
    }
    audi_ngw.docroot = "";
//    if ("undefined" == typeof audi_ngw.docroot) {
//        audi_ngw.docroot = jQuery('head link[rel="shortcut icon"]').attr("href").split("img/")[0];
//    }
//    audi_ngw.FlashSrcBreadcrumb = audi_ngw.docroot + audi_ngw.FlashSrcBreadcrumb;
//    audi_ngw.FlashSrcHeadlines = audi_ngw.docroot + audi_ngw.FlashSrcHeadlines;
//    audi_ngw.flashExpressInstallUrl = audi_ngw.docroot + audi_ngw.flashExpressInstallUrl;
//    jQuery.each(audi_ngw.config.prefixThisUrls, function(B, C) {
//        audi_ngw.config[C] = audi_ngw.url.prefixUrlWithDomain(audi_ngw.config[C]);
//    });
    audi_ngw.global.initiate();
    audi_ngw.flash.prepare();
    audi_ngw.layer.statics.prepare();
    audi_ngw.track.initiate();
    audi_ngw.event.ajaxTriggers.initiate();
    audi_ngw.iframe.initiate();
//    audi_ngw.print.initiate();
//    audi_ngw.survey.initiate();
//    audi_ngw.region.initiate();
    audi_ngw.form.validation.initialize({});
//    audi_ngw.form.simpleAjax.initialize({});
	  audi_ngw.animation.initiate();
    audi_ngw.animation.slideDistributor.initialize({
        sIdWrapper: "audi_nav_distributor"
    });
    audi_ngw.animation.simpleAccordion.prepare();
	audi_ngw.animation.accordionPagelevel.initialize({
        sIdWrapper: "audi_nav_pagelevel"
    });
//    audi_ngw.animation.teaser.initialize();
//    audi_ngw.animation.navdistributor3col.teaser.initialize();
//    audi_ngw.animation.teasercalendar.initialize();
    audi_ngw.animation.teaserclicktip.initialize();
    audi_ngw.animation.emointro.initialize({
        sIdWrapper: "#audi_container_emo"
    });
    audi_ngw.dom.teaser.initialize();
    audi_ngw.dom.rounded_corners.initialize();
    audi_ngw.dom.filter.prepare();
    audi_ngw.layer.advice.prepare();
    audi_ngw.layer.modal.initialize({});
    audi_ngw.layer.simple.initialize();
    audi_ngw.gallery.prepare();
//    audi_ngw.tooltip.prepare();
//    audi_ngw.livesearch.initiate();
//    audi_ngw.form.prepare();
    audi_ngw.dom.select.initialize();
//    audi_ngw.breadcrumb.initialize({});
//    audi_ngw.navigation.tab.prepare();
//    var A = jQuery("link[rel*=interstitial]");
//    if (0 < A.size()) {
//        audi_ngw.layer.modal.showHistory(A.attr("href"));
//        audi_ngw.track.onClick(A);
//    }
    audi_ngw.navigation.updatePage(jQuery("body"));
    audi_ngw.myaudi.prepare();
    if ("object" == typeof(SWFAddress)) {
        SWFAddress.addEventListener(SWFAddressEvent.CHANGE, audi_ngw.navigation.handleClick);
    } else {
        if ("object" == typeof($.address)) {
            jQuery.address.change(audi_ngw.navigation.handleClick);
        } else {
        	audi_ngw.log("history.init");
			jQuery.history.init(audi_ngw.navigation.handleClick);
        }
    }
    audi_ngw.event.bind("ajaxModalContentReady.navigation", audi_ngw.navigation.onAjaxModalContentReady);
    audi_ngw.event.bind("ajaxSnippetReady", audi_ngw.navigation.onAjaxSnippetReady);
    jQuery(window).load(audi_ngw.controller.onLoad);
};
audi_ngw.controller.onLoad = function() {
    audi_ngw.navigation.windowLoaded = true;
};
jQuery(audi_ngw.controller.domReady);


function openWindow(pUrl, pParameter, pWidth, pHeight) {
  // center popup on screen
  pParameter = (pParameter == '' || typeof(pParameter) == 'undefined')?'status=yes,toolbar=yes,location=yes,scrollbars=yes,resizable=yes':pParameter;
  if (pWidth) {
    var winX = (screen.availWidth/2)-(pWidth/2);
    pParameter += ",width=" + pWidth;
  }
  
  if (pHeight) {
    var winY = (screen.availHeight/2)-(pHeight/2);
    pParameter += ",height=" + pHeight + ",top=" + winY + ",scrY=" + winY;
  }

  var win = null;
  
  win = window.open(pUrl, '', pParameter);  
}
function openFullscreenWindow(pUrl) {// resize fullscreen
    pTarget = '_blank';
    pParameter = 'status=no,toolbar=no,location=no,scrollbars=no,resizable=yes,width=' + window.screen.availWidth + ',height=' + window.screen.availHeight;
    win = window.open(pUrl, pTarget, pParameter);  
    win.moveTo(0,0);
    
}


