/* variables set in page header*/
var RESOURCES_PATH;
RESOURCES_PATH = RESOURCES_PATH !== undefined ? RESOURCES_PATH : "./_layouts/"; // set default

var CONTACT_FORM;
CONTACT_FORM = CONTACT_FORM !== undefined ? CONTACT_FORM : "http://corporate.evonik.com/en/send-an-email.html"; // set default

/*var USE_SIFR;
USE_SIFR = USE_SIFR !== undefined ? USE_SIFR : true; // set default*/

// define the available resource prefixes
// used to get different resources for special sites like Market Sites
var RESOURCE_PREFIXES = {
    corporate_site: ''
							, market_site: 'mw-'
							, brand_world: 'bp-'
}

// get the current site type
var CURRENT_SITE_TYPE;
CURRENT_SITE_TYPE = CURRENT_SITE_TYPE !== undefined ? CURRENT_SITE_TYPE : "corporate_site"; // set default

/* global variables */
var SAFARI_STYLESHEET_REFERENCE = RESOURCES_PATH + "styles/evonik/internet/" + RESOURCE_PREFIXES[CURRENT_SITE_TYPE] + "styles-safari.css";
var MACOS_STYLESHEET_REFERENCE = RESOURCES_PATH + "styles/evonik/internet/" + RESOURCE_PREFIXES[CURRENT_SITE_TYPE] + "styles-macos.css";
var SIFR_PATH = RESOURCES_PATH + "Websites/internet/sifr/sifr.swf";
var SIFR_SWF_FILEPATH;
if (SIFR_SWF_FILEPATH !== undefined)
{
    SIFR_PATH = SIFR_SWF_FILEPATH;
}

/********************************************************************/
/* START: browser detection                                         */
var Info = new function()
{
    var userAgent = navigator.userAgent.toLowerCase();
    var b = {};
    b.isIE = userAgent.indexOf("msie") != -1;
    b.isIE7 = b.isIE && (typeof window.XMLHttpRequest != "undefined");
    b.isIEpre7 = b.isIE && !b.isIE7;
    b.isSafari = userAgent.indexOf("safari") != -1;
    b.isMozilla = userAgent.indexOf("gecko") != -1 && b.isSafari == false;
    b.isFirefox = b.isMozilla == true && userAgent.indexOf("firefox") != -1;
    b.isOpera = typeof window.opera != "undefined";
    this.browser = b;
    this.os = {
        isLinux: (navigator.platform.indexOf("Linux") == 0),
        isMac: (navigator.platform.indexOf("Mac") == 0),
        isWin: (navigator.platform.indexOf("Win") == 0)
    }
}
/* END: browser detection                                           */
/********************************************************************/
/********************************************************************/
/* START: serve special styles                                      */
if (Info.os.isMac) document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + MACOS_STYLESHEET_REFERENCE + "\" />");
if (Info.browser.isSafari) document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + SAFARI_STYLESHEET_REFERENCE + "\" />");

if (Info.os.isLinux) USE_SIFR = false;
/* END: serve special styles                                        */
/********************************************************************/
/********************************************************************/
/* START: Fix Flickering Background Images                          */
if (window.createPopup && document.compatMode && document.compatMode == "CSS1Compat" && !window.XMLHttpRequest)
{
    try
    {
        document.execCommand("BackgroundImageCache", false, true);
    } catch (e) { }
}
/* END: Fix Flickering Background Images                            */
/********************************************************************/
/********************************************************************/
/* START: SWFObject v1.5.1                                          */
/**
* SWFObject v1.5.1: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
*
* SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*
*/
if (typeof deconcept == "undefined") { var deconcept = {}; } if (typeof deconcept.util == "undefined") { deconcept.util = {}; } if (typeof deconcept.SWFObjectUtil == "undefined") { deconcept.SWFObjectUtil = {}; } deconcept.SWFObject = function(_1, id, w, h, _5, c, _7, _8, _9, _a) { if (!document.getElementById) { return; } this.DETECT_KEY = _a ? _a : "detectflash"; this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY); this.params = {}; this.variables = {}; this.attributes = []; if (_1) { this.setAttribute("swf", _1); } if (id) { this.setAttribute("id", id); } if (w) { this.setAttribute("width", w); } if (h) { this.setAttribute("height", h); } if (_5) { this.setAttribute("version", new deconcept.PlayerVersion(_5.toString().split("."))); } this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion(); if (!window.opera && document.all && this.installedVer.major > 7) { if (!deconcept.unloadSet) { deconcept.SWFObjectUtil.prepUnload = function() { __flash_unloadHandler = function() { }; __flash_savedUnloadHandler = function() { }; window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs); }; window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload); deconcept.unloadSet = true; } } if (c) { this.addParam("bgcolor", c); } var q = _7 ? _7 : "high"; this.addParam("quality", q); this.setAttribute("useExpressInstall", false); this.setAttribute("doExpressInstall", false); var _c = (_8) ? _8 : window.location; this.setAttribute("xiRedirectUrl", _c); this.setAttribute("redirectUrl", ""); if (_9) { this.setAttribute("redirectUrl", _9); } }; deconcept.SWFObject.prototype = { useExpressInstall: function(_d) { this.xiSWFPath = !_d ? "expressinstall.swf" : _d; this.setAttribute("useExpressInstall", true); }, setAttribute: function(_e, _f) { this.attributes[_e] = _f; }, getAttribute: function(_10) { return this.attributes[_10] || ""; }, addParam: function(_11, _12) { this.params[_11] = _12; }, getParams: function() { return this.params; }, addVariable: function(_13, _14) { this.variables[_13] = _14; }, getVariable: function(_15) { return this.variables[_15] || ""; }, getVariables: function() { return this.variables; }, getVariablePairs: function() { var _16 = []; var key; var _18 = this.getVariables(); for (key in _18) { _16[_16.length] = key + "=" + _18[key]; } return _16; }, getSWFHTML: function() { var _19 = ""; if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "PlugIn"); this.setAttribute("swf", this.xiSWFPath); } _19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + (this.getAttribute("style") || "") + "\""; _19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" "; var _1a = this.getParams(); for (var key in _1a) { _19 += [key] + "=\"" + _1a[key] + "\" "; } var _1c = this.getVariablePairs().join("&"); if (_1c.length > 0) { _19 += "flashvars=\"" + _1c + "\""; } _19 += "/>"; } else { if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "ActiveX"); this.setAttribute("swf", this.xiSWFPath); } _19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + (this.getAttribute("style") || "") + "\">"; _19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />"; var _1d = this.getParams(); for (var key in _1d) { _19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />"; } var _1f = this.getVariablePairs().join("&"); if (_1f.length > 0) { _19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />"; } _19 += "</object>"; } return _19; }, write: function(_20) { if (this.getAttribute("useExpressInstall")) { var _21 = new deconcept.PlayerVersion([6, 0, 65]); if (this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version"))) { this.setAttribute("doExpressInstall", true); this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl"))); document.title = document.title.slice(0, 47) + " - Flash Player Installation"; this.addVariable("MMdoctitle", document.title); } } if (this.skipDetect || this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version"))) { var n = (typeof _20 == "string") ? document.getElementById(_20) : _20; n.innerHTML = this.getSWFHTML(); return true; } else { if (this.getAttribute("redirectUrl") != "") { document.location.replace(this.getAttribute("redirectUrl")); } } return false; } }; deconcept.SWFObjectUtil.getPlayerVersion = function() { var _23 = new deconcept.PlayerVersion([0, 0, 0]); if (navigator.plugins && navigator.mimeTypes.length) { var x = navigator.plugins["Shockwave Flash"]; if (x && x.description) { _23 = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")); } } else { if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0) { var axo = 1; var _26 = 3; while (axo) { try { _26++; axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26); _23 = new deconcept.PlayerVersion([_26, 0, 0]); } catch (e) { axo = null; } } } else { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); } catch (e) { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); _23 = new deconcept.PlayerVersion([6, 0, 21]); axo.AllowScriptAccess = "always"; } catch (e) { if (_23.major == 6) { return _23; } } try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); } catch (e) { } } if (axo != null) { _23 = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")); } } } return _23; }; deconcept.PlayerVersion = function(_29) { this.major = _29[0] != null ? parseInt(_29[0]) : 0; this.minor = _29[1] != null ? parseInt(_29[1]) : 0; this.rev = _29[2] != null ? parseInt(_29[2]) : 0; }; deconcept.PlayerVersion.prototype.versionIsValid = function(fv) { if (this.major < fv.major) { return false; } if (this.major > fv.major) { return true; } if (this.minor < fv.minor) { return false; } if (this.minor > fv.minor) { return true; } if (this.rev < fv.rev) { return false; } return true; }; deconcept.util = { getRequestParameter: function(_2b) { var q = document.location.search || document.location.hash; if (_2b == null) { return q; } if (q) { var _2d = q.substring(1).split("&"); for (var i = 0; i < _2d.length; i++) { if (_2d[i].substring(0, _2d[i].indexOf("=")) == _2b) { return _2d[i].substring((_2d[i].indexOf("=") + 1)); } } } return ""; } }; deconcept.SWFObjectUtil.cleanupSWFs = function() { var _2f = document.getElementsByTagName("OBJECT"); for (var i = _2f.length - 1; i >= 0; i--) { _2f[i].style.display = "none"; for (var x in _2f[i]) { if (typeof _2f[i][x] == "function") { _2f[i][x] = function() { }; } } } }; if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }; } var getQueryParamValue = deconcept.util.getRequestParameter; var FlashObject = deconcept.SWFObject; var SWFObject = deconcept.SWFObject;
/* END: SWFObject v1.5.1                                            */
/***************************************************************************/
/********************************************************************/
/* START: flash player detection                                    */

if (typeof Info != "undefined" && typeof deconcept.util != "undefined" && typeof deconcept.SWFObjectUtil != "undefined")
{
    var flashVersion = deconcept.SWFObjectUtil.getPlayerVersion(); // SWFObject
    Info.flash = {};
    Info.flash.major = flashVersion.major;
    Info.flash.minor = flashVersion.minor;
    Info.flash.rev = flashVersion.rev;
}

/* END: flash player detection                                      */
/********************************************************************/
/*************************************************************/
/* START: sIFR v2.0.6                                               */
/*
Copyright 2004 - 2008 Mark Wubben and Mike Davidson. Prior contributions by Shaun Inman and Tomas Jogin.
	
This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/
if (USE_SIFR)
{
    var hasFlash = function() { var a = 6; if (navigator.appVersion.indexOf("MSIE") != -1 && navigator.appVersion.indexOf("Windows") > -1) { document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & ' + a + '))) \n</script\> \n'); if (window.hasFlash != null) return window.hasFlash } if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) { var b = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description; return parseInt(b.substr(b.indexOf(".") - 2, 2), 10) >= a } return false } (); String.prototype.normalize = function() { return this.replace(/\s+/g, " ") }; if (Array.prototype.push == null) { Array.prototype.push = function() { var i = 0, a = this.length, b = arguments.length; while (i < b) { this[a++] = arguments[i++] } return this.length } } if (!Function.prototype.apply) { Function.prototype.apply = function(a, b) { var c = []; var d, e; if (!a) a = window; if (!b) b = []; for (var i = 0; i < b.length; i++) { c[i] = "b[" + i + "]" } e = "a.__applyTemp__(" + c.join(",") + ");"; a.__applyTemp__ = this; d = eval(e); a.__applyTemp__ = null; return d } } function named(a) { return new named.Arguments(a) } named.Arguments = function(a) { this.oArgs = a }; named.Arguments.prototype.constructor = named.Arguments; named.extract = function(a, b) { var c, d; var i = a.length; while (i--) { d = a[i]; if (d != null && d.constructor != null && d.constructor == named.Arguments) { c = a[i].oArgs; break } } if (c == null) return; for (e in c) if (b[e] != null) b[e](c[e]); return }; var parseSelector = function() { var a = /^([^#.>`]*)(#|\.|\>|\`)(.+)$/; function r(s, t) { var u = s.split(/\s*\,\s*/); var v = []; for (var i = 0; i < u.length; i++) v = v.concat(b(u[i], t)); return v } function b(c, d, e) { c = c.normalize().replace(" ", "`"); var f = c.match(a); var g, h, i, j, k, n; var l = []; if (f == null) f = [c, c]; if (f[1] == "") f[1] = "*"; if (e == null) e = "`"; if (d == null) d = document; switch (f[2]) { case "#": k = f[3].match(a); if (k == null) k = [null, f[3]]; g = document.getElementById(k[1]); if (g == null || (f[1] != "*" && !o(g, f[1]))) return l; if (k.length == 2) { l.push(g); return l } return b(k[3], g, k[2]); case ".": if (e != ">") h = m(d, f[1]); else h = d.childNodes; for (i = 0, n = h.length; i < n; i++) { g = h[i]; if (g.nodeType != 1) continue; k = f[3].match(a); if (k != null) { if (g.className == null || g.className.match("(\\s|^)" + k[1] + "(\\s|$)") == null) continue; j = b(k[3], g, k[2]); l = l.concat(j) } else if (g.className != null && g.className.match("(\\s|^)" + f[3] + "(\\s|$)") != null) l.push(g) } return l; case ">": if (e != ">") h = m(d, f[1]); else h = d.childNodes; for (i = 0, n = h.length; i < n; i++) { g = h[i]; if (g.nodeType != 1) continue; if (!o(g, f[1])) continue; j = b(f[3], g, ">"); l = l.concat(j) } return l; case "`": h = m(d, f[1]); for (i = 0, n = h.length; i < n; i++) { g = h[i]; j = b(f[3], g, "`"); l = l.concat(j) } return l; default: if (e != ">") h = m(d, f[1]); else h = d.childNodes; for (i = 0, n = h.length; i < n; i++) { g = h[i]; if (g.nodeType != 1) continue; if (!o(g, f[1])) continue; l.push(g) } return l } } function m(d, o) { if (o == "*" && d.all != null) return d.all; return d.getElementsByTagName(o) } function o(p, q) { return q == "*" ? true : p.nodeName.toLowerCase().replace("html:", "") == q.toLowerCase() } return r } (); var sIFR = function() { var a = "http://www.w3.org/1999/xhtml"; var b = false; var c = false; var d; var ah = []; var al = document; var ak = al.documentElement; var am = window; var au = al.addEventListener; var av = am.addEventListener; var f = function() { var g = navigator.userAgent.toLowerCase(); var f = { a: g.indexOf("applewebkit") > -1, b: g.indexOf("safari") > -1, c: navigator.product != null && navigator.product.toLowerCase().indexOf("konqueror") > -1, d: g.indexOf("opera") > -1, e: al.contentType != null && al.contentType.indexOf("xml") > -1, f: true, g: true, h: null, i: null, j: null, k: null }; f.l = f.a || f.c; f.m = !f.a && navigator.product != null && navigator.product.toLowerCase() == "gecko"; if (f.m && g.match(/.*gecko\/(\d{8}).*/)) f.j = new Number(g.match(/.*gecko\/(\d{8}).*/)[1]); f.n = g.indexOf("msie") > -1 && !f.d && !f.l && !f.m; f.o = f.n && g.match(/.*mac.*/) != null; if (f.d && g.match(/.*opera(\s|\/)(\d+\.\d+)/)) f.i = new Number(g.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]); if (f.n || (f.d && f.i < 7.6)) f.g = false; if (f.a && g.match(/.*applewebkit\/(\d+).*/)) f.k = new Number(g.match(/.*applewebkit\/(\d+).*/)[1]); if (am.hasFlash && (!f.n || f.o)) { var aj = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description; f.h = parseInt(aj.charAt(aj.indexOf(".") - 1)) } if (g.match(/.*(windows|mac).*/) == null || f.o || f.c || (f.d && (g.match(/.*mac.*/) != null || f.i < 7.6)) || (f.b && f.h < 7) || (!f.b && f.a && f.k < 312) || (f.m && f.j < 20020523)) f.f = false; if (!f.o && !f.m && al.createElementNS) try { al.createElementNS(a, "i").innerHTML = "" } catch (e) { f.e = true } f.p = f.c || (f.a && f.k < 312); return f } (); function at() { return { bIsWebKit: f.a, bIsSafari: f.b, bIsKonq: f.c, bIsOpera: f.d, bIsXML: f.e, bHasTransparencySupport: f.f, bUseDOM: f.g, nFlashVersion: f.h, nOperaVersion: f.i, nGeckoBuildDate: f.j, nWebKitVersion: f.k, bIsKHTML: f.l, bIsGecko: f.m, bIsIE: f.n, bIsIEMac: f.o, bUseInnerHTMLHack: f.p} } if (am.hasFlash == false || !al.getElementsByTagName || !al.getElementById || (f.e && (f.p || f.n))) return { UA: at() }; function af(e) { if ((!k.bAutoInit && (am.event || e) != null) || !l(e)) return; b = true; for (var i = 0, h = ah.length; i < h; i++) j.apply(null, ah[i]); ah = [] } var k = af; function l(e) { if (c == false || k.bIsDisabled == true || ((f.e && f.m || f.l) && e == null && b == false) || al.getElementsByTagName("body").length == 0) return false; return true } function m(n) { if (f.n) return n.replace(new RegExp("%\d{0}", "g"), "%25"); return n.replace(new RegExp("%(?!\d)", "g"), "%25") } function as(p, q) { return q == "*" ? true : p.nodeName.toLowerCase().replace("html:", "") == q.toLowerCase() } function o(p, q, r, s, t) { var u = ""; var v = p.firstChild; var w, x, y, z; if (s == null) s = 0; if (t == null) t = ""; while (v) { if (v.nodeType == 3) { z = v.nodeValue.replace("<", "&lt;"); switch (r) { case "lower": u += z.toLowerCase(); break; case "upper": u += z.toUpperCase(); break; default: u += z } } else if (v.nodeType == 1) { if (as(v, "a") && !v.getAttribute("href") == false) { if (v.getAttribute("target")) t += "&sifr_url_" + s + "_target=" + v.getAttribute("target"); t += "&sifr_url_" + s + "=" + m(v.getAttribute("href")).replace(/&/g, "%26"); u += '<a href="asfunction:_root.launchURL,' + s + '">'; s++ } else if (as(v, "br")) u += "<br/>"; if (v.hasChildNodes()) { y = o(v, null, r, s, t); u += y.u; s = y.s; t = y.t } if (as(v, "a")) u += "</a>" } w = v; v = v.nextSibling; if (q != null) { x = w.parentNode.removeChild(w); q.appendChild(x) } } return { "u": u, "s": s, "t": t} } function A(B) { if (al.createElementNS && f.g) return al.createElementNS(a, B); return al.createElement(B) } function C(D, E, z) { var p = A("param"); p.setAttribute("name", E); p.setAttribute("value", z); D.appendChild(p) } function F(p, G) { var H = p.className; if (H == null) H = G; else H = H.normalize() + (H == "" ? "" : " ") + G; p.className = H } function aq(ar) { var a = ak; if (k.bHideBrowserText == false) a = al.getElementsByTagName("body")[0]; if ((k.bHideBrowserText == false || ar) && a) if (a.className == null || a.className.match(/\bsIFR\-hasFlash\b/) == null) F(a, "sIFR-hasFlash") } function j(I, J, K, L, M, N, O, P, Q, R, S, r, T) { if (!l()) return ah.push(arguments); aq(); named.extract(arguments, { sSelector: function(ap) { I = ap }, sFlashSrc: function(ap) { J = ap }, sColor: function(ap) { K = ap }, sLinkColor: function(ap) { L = ap }, sHoverColor: function(ap) { M = ap }, sBgColor: function(ap) { N = ap }, nPaddingTop: function(ap) { O = ap }, nPaddingRight: function(ap) { P = ap }, nPaddingBottom: function(ap) { Q = ap }, nPaddingLeft: function(ap) { R = ap }, sFlashVars: function(ap) { S = ap }, sCase: function(ap) { r = ap }, sWmode: function(ap) { T = ap } }); var U = parseSelector(I); if (U.length == 0) return false; if (S != null) S = "&" + S.normalize(); else S = ""; if (K != null) S += "&textcolor=" + K; if (M != null) S += "&hovercolor=" + M; if (M != null || L != null) S += "&linkcolor=" + (L || K); if (O == null) O = 0; if (P == null) P = 0; if (Q == null) Q = 0; if (R == null) R = 0; if (N == null) N = "#FFFFFF"; if (T == "transparent") if (!f.f) T = "opaque"; else N = "transparent"; if (T == null) T = ""; var p, V, W, X, Y, Z, aa, ab, ac; var ad = null; for (var i = 0, h = U.length; i < h; i++) { p = U[i]; if (p.className != null && p.className.match(/\bsIFR\-replaced\b/) != null) continue; V = p.offsetWidth - R - P; W = p.offsetHeight - O - Q; aa = A("span"); aa.className = "sIFR-alternate"; ac = o(p, aa, r); Z = "txt=" + m(ac.u).replace(/\+/g, "%2B").replace(/&/g, "%26").replace(/\"/g, "%22").normalize() + S + "&w=" + V + "&h=" + W + ac.t; F(p, "sIFR-replaced"); if (ad == null || !f.g) { if (!f.g) { if (!f.n) p.innerHTML = ['<embed class="sIFR-flash" type="application/x-shockwave-flash" src="', J, '" quality="best" wmode="', T, '" bgcolor="', N, '" flashvars="', Z, '" width="', V, '" height="', W, '" sifr="true"></embed>'].join(""); else p.innerHTML = ['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" sifr="true" width="', V, '" height="', W, '" class="sIFR-flash"><param name="movie" value="', J, '"></param><param name="flashvars" value="', Z, '"></param><param name="quality" value="best"></param><param name="wmode" value="', T, '"></param><param name="bgcolor" value="', N, '"></param> </object>'].join('') } else { if (f.d) { ab = A("object"); ab.setAttribute("data", J); C(ab, "quality", "best"); C(ab, "wmode", T); C(ab, "bgcolor", N) } else { ab = A("embed"); ab.setAttribute("src", J); ab.setAttribute("quality", "best"); ab.setAttribute("flashvars", Z); ab.setAttribute("wmode", T); ab.setAttribute("bgcolor", N) } ab.setAttribute("sifr", "true"); ab.setAttribute("type", "application/x-shockwave-flash"); ab.className = "sIFR-flash"; if (!f.l || !f.e) ad = ab.cloneNode(true) } } else ab = ad.cloneNode(true); if (f.g) { if (f.d) C(ab, "flashvars", Z); else ab.setAttribute("flashvars", Z); ab.setAttribute("width", V); ab.setAttribute("height", W); ab.style.width = V + "px"; ab.style.height = W + "px"; p.appendChild(ab) } p.appendChild(aa); if (f.p) p.innerHTML += "" } if (f.n && k.bFixFragIdBug) setTimeout(function() { al.title = d }, 0) } function ai() { d = al.title } function ae() { if (k.bIsDisabled == true) return; c = true; if (k.bHideBrowserText) aq(true); if (am.attachEvent) am.attachEvent("onload", af); else if (!f.c && (al.addEventListener || am.addEventListener)) { if (f.a && f.k >= 132 && am.addEventListener) am.addEventListener("load", function() { setTimeout("sIFR({})", 1) }, false); else { if (al.addEventListener) al.addEventListener("load", af, false); if (am.addEventListener) am.addEventListener("load", af, false) } } else if (typeof am.onload == "function") { var ag = am.onload; am.onload = function() { ag(); af() } } else am.onload = af; if (!f.n || am.location.hash == "") k.bFixFragIdBug = false; else ai() } k.UA = at(); k.bAutoInit = true; k.bFixFragIdBug = true; k.replaceElement = j; k.updateDocumentTitle = ai; k.appendToClassName = F; k.setup = ae; k.debug = function() { aq(true) }; k.debug.replaceNow = function() { ae(); k() }; k.bIsDisabled = false; k.bHideBrowserText = true; return k } ();
}

if (typeof sIFR == "function" && !sIFR.UA.bIsIEMac && (!sIFR.UA.bIsWebKit || sIFR.UA.nWebKitVersion >= 100) && USE_SIFR)
{
    sIFR.setup();
};

/* END: sIFR v2.0.6                                                 */
/********************************************************************/
/* START: layout initalisation                                      */
function initSifr()
{
    if (typeof sIFR != "function") return;

    sIFR.replaceElement(named({ sSelector: "div.head_1 h1", sFlashSrc: SIFR_PATH, sColor: "#991d85", sWmode: "transparent" }));
    sIFR.replaceElement(named({ sSelector: "div.head_3 h3", sFlashSrc: SIFR_PATH, sColor: "#666666", sWmode: "transparent" }));
    sIFR.replaceElement(named({ sSelector: "div.head_3b h3", sFlashSrc: SIFR_PATH, sColor: "#991d85", sWmode: "transparent" }));
    sIFR.replaceElement(named({ sSelector: "div.tool_title h5", sFlashSrc: SIFR_PATH, sColor: "#666666", sWmode: "transparent" }));
    sIFR.replaceElement(named({ sSelector: "div.clip_h5 h5", sFlashSrc: SIFR_PATH, sColor: "#ffffff", sWmode: "transparent", sFlashVars: "offsetTop=1" }));
    sIFR.replaceElement(named({ sSelector: "div.clip_large div.clip_h6 h6", sFlashSrc: SIFR_PATH, sColor: "#ffffff", sWmode: "transparent", sFlashVars: "offsetTop=1" }));
    sIFR.replaceElement(named({ sSelector: "div.clip_small div.clip_h6 h6", sFlashSrc: SIFR_PATH, sColor: "#ffffff", sWmode: "transparent" }));
}
/* END: layout initalisation                                        */
/********************************************************************/
/********************************************************************/

var GenericPopup = (function()
{
    /*private static (class) member*/
    var settings = {
        standard: {
            name: 'popup'
												, param: { width: 800, height: 600, resizable: 'yes' }
												, pos: [10, 10]
        }
						, popupTypes: {
						    mail_form: {
						        name: 'mailform'
																	, param: { width: 435, height: 515, resizable: 'no' }
						    }
												  , send_this_page: {
												      name: 'sendthispage'
																	, param: { width: 435, height: 550, resizable: 'no' }
												  }
												  , spot: {
												      name: 'spot'
																	, param: { width: 403, height: 475, resizable: 'no' }
												  }
												  												  , assign_query: {
												  												      name: 'assignquery'
																	, param: { width: 435, height: 355, resizable: 'no' }
												  												  }
												  , change_query: {
												      name: 'changequery'
																	, param: { width: 435, height: 255, resizable: 'no' }
												  }
												  , archive_query: {
												      name: 'archivequery'
																	, param: { width: 705, height: 675, resizable: 'yes' }
												  }
						    // , another_type: ...
						}
    };

    /**
    * private static method getPopupPosition
    * Returns data for top and height parameters so that the popup window can be centered 
    * in relation to the current browser window. 
    * @param		Int		width		Width of the popup window in pixels,
    * @param		Int		height	Height of the popup window in pixels,
    */
    var getPopupPosition = function(width, height)
    {
        var standardX = 255;
        var standardY = 70;

        if (window.screenLeft != undefined)
        {
            //for microsoft ie
            if (window.screenLeft + standardX + width < screen.width - 100)
            {
                posX = window.screenLeft + standardX;
            } else
            {
                posX = screenLeft - 50;
            }
            if (window.screenTop + standardY + height < screen.height - 30)
            {
                posY = window.screenTop + standardY;
            } else
            {
                posY = standardY;
            }
        } else
        {
            if (window.screenX + standardX + width < screen.width - 100)
            {
                posX = window.screenX + standardX;
            } else
            {
                posX = screenX - 50;
            }
            if (window.screenY + standardY + height < screen.height - 30)
            {
                posY = window.screenY + standardY + 111;
            } else
            {
                posY = standardY + 111;
            }
        }
        return [posX, posY];
    };

    /*class constructor.*/
    function getGenericPopupObj()
    {
    };

    /**
    * privileged static method open
    * @param		String	url			The URL to call in the popup window.
    * @param		Object	customParam	Can be empty or contain one or both of the following parameters.
    * @option	String	name			optional  - Name of the popup window.
    * @option	String	type			optional - A key referring to one of the elements of settings.popupTypes, e.g. 'mail_form'.
    * @option	Object	param			optional - A collection of key value pairs overriding or extending the default parameters.
    *
    * Examples:
    * GenericPopupObj.open(this.href, {}) 								opens a standard popup according to settings.standard
    * GenericPopupObj.open(this.href, { name: 'send_page', type: 'mail_form' }		opens a window of the type "mail_form" and with the name "send_page"
    * GenericPopupObj.open(this.href, { param: { width:300, height: 300 }});		opens a standard popup with custom dimensions
    */
    getGenericPopupObj.open = function(url, customParam)
    {
        var windowName = settings.standard.name;
        var windowParam = {};
        var windowPos = settings.standard.pos;
        var paramString = '';

        try
        {
            // First get the standard popup settings.
            for (key in settings.standard.param)
            {
                windowParam[key] = settings.standard.param[key];
            }

            // Check if a predefined popup type is to be opened and get the parameters for it.
            if (customParam.type && typeof customParam.type == 'string' && settings.popupTypes[customParam.type])
            {
                windowName = settings.popupTypes[customParam.type].name;
                for (key in settings.popupTypes[customParam.type].param)
                {
                    windowParam[key] = settings.popupTypes[customParam.type].param[key];
                }
            }

            // Check if there is a custom window name that overwrites the standard name and the 
            // name of the predefined popup type.
            if (customParam.name && typeof customParam.name == 'string')
            {
                windowName = customParam.name;
            }

            // Check if there are custom parameters that overwrite the standard params and the 
            // params of the predefined popup type.
            if (customParam.param && typeof customParam.param == 'object')
            {
                for (key in customParam.param)
                {
                    windowParam[key] = customParam.param[key];
                }
            }

            // Set the position for the popup window.
            windowPos = getPopupPosition(windowParam.width, windowParam.height);
            windowParam.left = windowPos[0];
            windowParam.top = windowPos[1];

            // Now build the parameter string.
            for (key in windowParam)
            {
                paramString += (paramString == '') ? '' : ',';
                paramString += key + '=' + windowParam[key];
            }

            // And finally, open the window!
            window.open(url, windowName, paramString);

            return false;

        } catch (err)
        {
            return true;
        }
    };

    return getGenericPopupObj;
})();

/* END: GenericPopup                                                */
/********************************************************************/
/* START: evonik worldwide functions                                */
function openContactForm(name, email)
{
    GenericPopup.open(CONTACT_FORM + "?name=" + name + "&mail=" + email, { type: 'mail_form' }); return false;
}
/* END: evonik worldwide functions                                  */
/********************************************************************/
/* START: job search                                                */
/* job openings online registration */
function openLoginPopup(url)
{
    GenericPopup.open(url, { name: 'online_job_application', param: { width: 750, height: 600, scrollbars: 'yes'} });
}

/* function to hide quick search box, when country was chosen in world map */
function hideQuickSearch()
{
    $(parent.document.body).find("div.job_quick_search").parent("div.tool_box_wrapper").hide();

    $("div.job_quick_search").parent("div.tool_box_wrapper").hide();
}

/* END: job search                                                  */
/********************************************************************/
/* START: resizing the flyout containers for flash flyouts at runtime */

var ZINDEX_ACTIVE = 100;
var ZINDEX_INACTIVE = 1;

if (Info.browser.isIE)
{
    /*functions for internet explorer*/
    resizeFlyout = function(divid, options) {
        var $flyout = $("#" + divid);
        var $flyout_parent = $flyout.parents(".flyout_positioner:first");

        var newZIndex = ZINDEX_ACTIVE;
        var newOverflow = "visible";
        /* Fix IE 6 disappearing elements on stage close Error */
        var $mainZone = $("#main_zone");

        if (options) {
            if (options.height) $flyout.height(options.height);
            if (options.width) $flyout.width(options.width);
        }

        /*check if flyout was open, then close flyout positioner*/
        if (!$flyout.hasClass("open")) {
            /*if not independent reset all dependent flyout positioners*/
            if (!$flyout.hasClass("independent")) $(".flyout_positioner:not(:has(.flyout.independent))").css({ overflow: "hidden", zIndex: ZINDEX_INACTIVE });
            $flyout.addClass("open").change();

            /* Fix IE 6 disappearing elements on stage close Error */
            $mainZone.addClass("clearfix").change();

            closeOtherFlyouts(divid);
            switch (divid) {
                case "evonik_worldwide":
                    NAVIGATION_LOCKED = true;
                    break;
                default:
                    // do nothing
            }
        } else {
            newZIndex = ZINDEX_INACTIVE;
            newOverflow = "hidden";
            $("#" + divid)
            $("a[rel^='#" + divid + "_swf']").removeClass("triggered");
            $(".flyout_trigger:has(a[rel^='#" + divid + "_swf'])").removeClass("triggered");
            $flyout.removeClass("open").change();

            /* Fix IE 6 disappearing elements on stage close Error */
            $mainZone.removeClass("clearfix").change();

            switch (divid) {
                case "evonik_worldwide":
                    NAVIGATION_LOCKED = false;
                    break;
                default:
                    // do nothing
            }
        }

        /*set current flyout positioner*/
        if (!$flyout.hasClass("independent")) $flyout_parent.css({ overflow: newOverflow, zIndex: newZIndex });
        else $flyout_parent.css({ overflow: newOverflow });
    }

} else
{
    /*functions for all browsers except internet explorer*/

    resizeFlyout = function(divid, options)
    {
        var $flyout = $("#" + divid);
        var $flyout_parent = $flyout.parents(".flyout_positioner:first");

        if (options)
        {
            calculateClipping($flyout, $flyout_parent, options);
        }

        if (!$flyout.hasClass("open"))
        {
            if (!$flyout.hasClass("independent"))
            {
                $(".flyout_positioner:not(:has(.flyout.independent))").css({ zIndex: ZINDEX_INACTIVE });
                $flyout_parent.css({ zIndex: ZINDEX_ACTIVE });
            }
            $flyout.addClass("open").change();
            closeOtherFlyouts(divid);
            switch (divid)
            {
                case "evonik_worldwide":
                    NAVIGATION_LOCKED = true;
                    break;
                case "keyvisual_stage":
                    if (CURRENT_SITE_TYPE == "market_site") {
                        $flyout.css({ 'clip': 'rect(0px, 980px, 1128px, 0px)' });
                    }
                    break;
                default:
                    // do nothing
            }
        } else
        {
            if (!$flyout.hasClass("independent")) $flyout_parent.css({ zIndex: ZINDEX_INACTIVE });
            $("a[rel^='#" + divid + "_swf']").removeClass("triggered");
            $(".flyout_trigger:has(a[rel^='#" + divid + "_swf'])").removeClass("triggered");
            $flyout.removeClass("open").change();
            switch (divid)
            {
                case "evonik_worldwide":
                    NAVIGATION_LOCKED = false;
                    break;
                case "keyvisual_stage":
                    if (CURRENT_SITE_TYPE == "market_site") {
                        $flyout.removeAttr("style");
                    }
                    break;
                default:
                    // do nothing
            }
        }
    }
}

function closeOtherFlyouts(flyoutId)
{
    switch (flyoutId)
    {
        case "productfinder":
            closeFlyout("#evonik_worldwide");
            if (flyoutNavigation && flyoutNavigation.constructor == FlyoutNavigation)
            {
                flyoutNavigation.close();
            }
            break;
        case "evonik_worldwide":
            closeFlyout("#productfinder");
            break;
        case "keyvisual_stage":
            closeFlyout("#productfinder");
            closeFlyout("#evonik_worldwide");
            break;
        default:
            $("div.flyout:not(#" + flyoutId + ")").each(function() { closeFlyout("#" + this.id); });
    }
}

function openFlyout(flyoutIdSelector)
{
    if ($(flyoutIdSelector + "_swf").length != 0 && typeof $(flyoutIdSelector + "_swf").get(0).SetVariable != "undefined" && !$(flyoutIdSelector + "_swf").parent().hasClass("open")) $(flyoutIdSelector + "_swf").get(0).SetVariable("flyoutStatus", 1);
}

function closeFlyout(flyoutIdSelector)
{
    if ($(flyoutIdSelector + "_swf").length != 0 && typeof $(flyoutIdSelector + "_swf").get(0).SetVariable != "undefined" && $(flyoutIdSelector + "_swf").parent().hasClass("open")) $(flyoutIdSelector + "_swf").get(0).SetVariable("flyoutStatus", 0);
}

function pauseFlyout(flyoutIdSelector)
{
    if ($(flyoutIdSelector + "_swf").length != 0 && typeof $(flyoutIdSelector + "_swf").get(0).SetVariable != "undefined") $(flyoutIdSelector + "_swf").get(0).SetVariable("flyoutStatus", 2);
}

function resumeFlyout(flyoutIdSelector)
{
    if ($(flyoutIdSelector + "_swf").length != 0 && typeof $(flyoutIdSelector + "_swf").get(0).SetVariable != "undefined") $(flyoutIdSelector + "_swf").get(0).SetVariable("flyoutStatus", 3);
}

function calculateClipping($flyout, $flyout_parent, options)
{
    var newWidth = $flyout_parent.width();
    var newHeight = $flyout_parent.height();
    var newOffsetTop = 0;
    var newOffsetLeft = 0;
    var options = options;

    if ($flyout.hasClass("clip_left"))
    {
        if (!options) options = new Object;
        options.align = "right";
    }

    if ($flyout.hasClass("clip_top"))
    {
        if (!options) options = new Object;
        options.align = "bottom";
    }

    if (options)
    {
        newWidth = options.width ? options.width : $flyout_parent.width();
        newHeight = options.height ? options.height : $flyout_parent.height();

        if (options.valign && options.valign == "bottom")
        {
            if (!$flyout.hasClass("open")) newOffsetTop = Math.abs($flyout_parent.height() - $flyout.height());
            newHeight = $flyout.height();
        }

        if (options.align && options.align == "right")
        {
            if (!$flyout.hasClass("open")) newOffsetLeft = Math.abs($flyout_parent.width() - $flyout.width());
            newWidth = $flyout.width();
        }
    }

    $flyout.css({ clip: "rect(" + newOffsetTop + "px, " + newWidth + "px, " + newHeight + "px, " + newOffsetLeft + "px)" });
    $flyout.height(newHeight);
    if (Info.browser.isSafari) $flyout.children(":first").height(newHeight);
}

/* 
canResizeFlash()
returns true if browser supports resizing flash, false if not. 
*/
function canResizeFlash()
{
    var ua = navigator.userAgent.toLowerCase();
    var opera = ua.indexOf("opera");
    if (document.getElementById)
    {
        if (opera == -1) return true;
        else if (parseInt(ua.substr(opera + 6, 1)) >= 7) return true;
    }
    return false;
}

/* END: resizing the flyout containers for flash flyouts at runtime */
/********************************************************************/
/********************************************************************/
/* START: navigation                                                */

var FlyoutNavigation = function(options)
{

    var defaults = {
        NAV_DURATION_OPEN: 500,
        NAV_DURATION_SHORT: 100,
        NAV_DURATION_CLOSE: 300,
        NAV_EASING_OPEN: "easeOutCirc",
        NAV_EASING_CLOSE: "easeInCirc",
        NAV_CLOSING_TIMEOUT_SHORT: 300,
        NAV_CLOSING_TIMEOUT_LONG: 600,
        secNavLayerSelector: "#sec_nav_layer"
    };

    var settings = $.extend({}, defaults, options);

    if (Info.browser.isIEpre7)
    {
        settings.NAV_DURATION_OPEN -= 200;
        settings.NAV_DURATION_SHORT -= 40;
        settings.NAV_DURATION_CLOSE -= 150;
        settings.NAV_CLOSING_TIMEOUT_SHORT -= 120;
        settings.NAV_CLOSING_TIMEOUT_LONG -= 250;
    } else if (Info.browser.isIE)
    {
        settings.NAV_DURATION_OPEN += 100;
        settings.NAV_DURATION_SHORT += 20;
        settings.NAV_DURATION_CLOSE += 100;
        settings.NAV_CLOSING_TIMEOUT_SHORT += 80;
        settings.NAV_CLOSING_TIMEOUT_LONG += 200;
    }

    var NAVIGATION_LOCKED = false;

    var navTimeout;
    var navOpeningTimeout;
    var navClickTimeout;

    var $secNavLayer = $(settings.secNavLayerSelector);
    var $currentSecNav;
    var currentLink;
    var borderHeight;

    var state = {
        CLOSED: 1,
        CLOSING: 2,
        OPENING: 3,
        OPEN: 4
    };

    $secNavLayer.status = state.CLOSED;

    /* init navigation */
    this.init = function()
    {
        $secNavLayer.css("top", -$secNavLayer.height());
        borderHeight = ($secNavLayer.outerHeight() - $("#sec_nav_layer_content").height())

        var startOpening = function()
        {
            $this = $(this)
            clearTimeout(navTimeout);
            clearTimeout(navOpeningTimeout);
            $primNavLinks.removeClass("hover").removeClass("current");
            if (Info.browser.isIEpre7) $primNavLinks.find("img").css("visibility", "visible");
            if (!$this.hasClass("active"))
            {
                $this.addClass("hover");
                if (Info.browser.isIEpre7) $this.children("img").css("visibility", "hidden");
            }
            $this.addClass("current");
            if ($currentSecNav) $currentSecNav.hide();
            if (Info.browser.isIEpre7) $("div#sec_nav_layer div.sec_nav").hide();
            $currentSecNav = $($this.attr('rel')).show();
            currentLink = this;
            resizeBorderGap($this);
            if ($secNavLayer.status == state.CLOSED) positionNavLayer();
            else resizeNavLayerToContent();
            closeFlyout("#evonik_worldwide");
            openSubNavigation();
        }

        $("#prim_nav_zone_wrapper").click(function(event)
        {
            if (event.target && ($(event.target).parents("#identifier:first").length != 0 || event.target == document.getElementById("identifier"))) return;
            if (event.target && ($(event.target).parents("#target_group_nav_zone_identifier:first").length != 0 || event.target == document.getElementById("target_group_nav_zone_identifier"))) return;
            event.stopPropagation();
            event.preventDefault();
        });

        var $primNavLinks = $("div#prim_nav_zone_wrapper a[rel^='#']").bind("click",
			function(event)
			{
			    if (NAVIGATION_LOCKED) return;

			    var navObject = this;

			    if ($secNavLayer.status <= state.CLOSING)
			    {
			        startOpening.call(navObject);
			    } else
			    {
			        if (currentLink == this)
			        {
			            closeSubNavigation();
			        } else
			        {
			            startOpening.call(navObject);
			        }
			    }

			    this.blur();
			    event.stopPropagation();
			    event.preventDefault();
			}
		);

        $("#prim_nav_zone_wrapper").bind("mouseenter", function(event)
        {
            clearTimeout(navTimeout);
        }
		);

        /* toggle sub entries */
        $("div#sec_nav_zone li.collapsible span.toggle_icon").click(
			function(event)
			{
			    if (event.target.tagName == "A") return;
			    $(this).toggleClass("expanded").next().toggle();
			    if (!$(this).hasClass("expanded"))
			    {
			        $(this).next().find("li.collapsible>span.toggle_icon").removeClass("expanded").next().hide();
			    } else
			    {
			        $(this).parent().siblings("li.collapsible:has(span.expanded)").children("span.toggle_icon").removeClass("expanded").next().hide()
							.find("li.collapsible>span.toggle_icon").removeClass("expanded").next().hide();
			        $(this).parents("dl.sec_nav_level:first").siblings("dl.sec_nav_level").find("span.toggle_icon").removeClass("expanded").next().hide();
			        $(this).parents("div.sec_nav_col:first").siblings("div.sec_nav_col").find("span.toggle_icon").removeClass("expanded").next().hide();
			    }
			    resizeNavLayerToContent();
			    event.stopPropagation();
			    event.preventDefault();
			}
		);

        $("div#sec_nav_zone").click(
			function(event)
			{
			    if (event.target.tagName == "A" && event.target.href.search(/html/ig) == -1) return;
			    event.stopPropagation();
			}
		);
        /*  browser fixes */
        if (Info.browser.isIEpre7)
        {
            $primNavLinks.bind("mouseenter", function()
            {
                if (!$(this).hasClass("hover") && !$(this).hasClass("active")) $(this).children("img").css("visibility", "hidden");
            }
			).bind("mouseleave", function()
			{
			    if (!$(this).hasClass("hover") && !$(this).hasClass("active")) $(this).children("img").css("visibility", "visible");
			});


            $("div#sec_nav_layer div.sec_nav").show();

            $("dl.sec_nav_level").hover(
				function() { $(this).addClass("hover"); },
				function() { $(this).removeClass("hover"); }
			);

            $("div#identifier a").bind("mouseenter",
					function(event)
					{
					    var $this = $(this);
					    if (!$this.hasClass("active")) $this.addClass("hover").children("img").css("visibility", "hidden");
					}).bind("mouseleave",
					function()
					{
					    var $this = $(this);
					    if (!$this.hasClass("active")) $this.removeClass("hover").children("img").css("visibility", "visible");
					}
			);
        }

        //firefox needs a little help
        if (Info.browser.isMozilla)
        {
            //close nav when mouse leaves into input/textarea
            $("div#content_zone input, div#content_zone textarea").mouseover(function()
            {
                if ($secNavLayer.status != state.CLOSING && $secNavLayer.status != state.CLOSED) $("div#sec_nav_layer").trigger("mouseleave");
            });
        }
    }

    /*opening navigation*/
    var openSubNavigation = function()
    {
        clearTimeout(navTimeout);
        if ($secNavLayer.position().top == 0)
        {
            $secNavLayer.stop();
            return;
        }
        if ($secNavLayer.hasClass("opening") && $secNavLayer.position().top > -$secNavLayer.height()) return;

        var finishOpeningNavLayer = function()
        {
            $secNavLayer.status = state.OPEN;
        }

        $("input, textarea, select").blur();
        pauseFlyout("#keyvisual_stage");
        pauseFlyout("#product_campaign_stage");

        var deltaDuration = settings.NAV_DURATION_OPEN * (-$secNavLayer.position().top) / $secNavLayer.height();
        if (deltaDuration <= 0) deltaDuration = settings.NAV_DURATION_SHORT;

        var options = {
            duration: deltaDuration,
            easing: settings.NAV_EASING_OPEN,
            complete: finishOpeningNavLayer
        };
        if (Info.browser.isIEpre7) positionNavLayer();

        $secNavLayer.stop().animate({ top: 0 }, options);
        $secNavLayer.status = state.OPENING;

        $("body").unbind("click").click(
		function(event)
		{
		    var target = event.target;
		    if ($("div#prim_nav_zone_wrapper a:not(.current)").index(target) == -1)
		    {
		        closeSubNavigation();
		        $(this).unbind("click");
		    }
		});

    }

    /*closing navigation*/
    var closeSubNavigation = function()
    {
        clearTimeout(navTimeout);
        if ($secNavLayer.position().top == $secNavLayer.height())
        {
            $secNavLayer.stop();
            return;
        }
        if ($secNavLayer.hasClass("closing") && $secNavLayer.position().top < 0) return;

        var finishClosingNavLayer = function()
        {
            $secNavLayer.status = state.CLOSED;
            $("div#prim_nav_zone_wrapper a[rel^='#']").removeClass("hover");
            if (Info.browser.isIEpre7) $("div#prim_nav_zone_wrapper a[rel^='#']").children("img").css("visibility", "visible");
            if (Info.os.isMac) hideIFrame($secNavLayer.get(0));
            $("#sec_nav_zone").height(0);
            $(this).find("span.toggle_icon").removeClass("expanded").next().hide();
            $(this).find("span.toggle_icon > a.active").parent().addClass("expanded").next().show();
            resumeFlyout("#keyvisual_stage");
        }

        var deltaDuration = settings.NAV_DURATION_CLOSE * ($secNavLayer.position().top + $secNavLayer.height()) / $secNavLayer.height();
        if (deltaDuration <= 0) deltaDuration = settings.NAV_DURATION_SHORT;

        var options = {
            duration: deltaDuration,
            easing: settings.NAV_EASING_CLOSE,
            complete: finishClosingNavLayer
        };

        $secNavLayer.stop().animate({ top: -$secNavLayer.height() }, options);
        $secNavLayer.status = state.CLOSING;
    }

    this.close = closeSubNavigation;
    /* resize navigation */
    var syncMask = function(now, fx)
    {
        var newHeight = now + borderHeight;
        $("#sec_nav_zone").height(newHeight);
    }

    var resizeNavLayerToContent = function()
    {
        $currentSecNav.parent().stop().animate(
			{
			    height: $currentSecNav.outerHeight()
			},
			{
			    duration: 160,
			    easing: settings.NAV_EASING_OPEN,
			    step: syncMask
			}
		);
    }

    var positionNavLayer = function()
    {
        var newHeight = $currentSecNav.outerHeight();
        var newOuterHeight = newHeight + borderHeight;
        $currentSecNav.parent().height(newHeight);
        $secNavLayer.css({ top: -newOuterHeight, height: newOuterHeight });
        syncMask(newHeight);
    }

    var offsetLeft = parseInt($("#sec_nav_zone").css("margin-left"));

    var resizeBorderGap = function($menuItem)
    {
        var totalWidth = $secNavLayer.width();
        offsetLeft = isNaN(offsetLeft) ? 0 : offsetLeft;
        var widthLeft = $menuItem.offset().left - $menuItem.offsetParent().offset().left - offsetLeft;
        var widthGap = $menuItem.width();
        var widthRight = totalWidth - widthLeft - widthGap;
        if (widthLeft <= 0)
        {
            widthLeft = 1;
            widthGap -= 1;
        } else if (widthRight <= 0)
        {
            widthGap -= 1;
        }
        $secNavLayer.find("div.border_gap").width(widthGap).css("left", widthLeft);
    }


};

/**iframe for navigation in ie6 and macOS*/
function syncIFrame(now, fx)
{
    if (Info.browser.isIEpre7)
    {
        var options = { top: now };
        refitIFrame(fx.elem, options);
    }
}

function showIFrame(obj)
{
    if (!obj.iframe) obj.iframe = createIFrame();
    if (!obj.iframe) return;
    var position = $(obj).position();
    obj.iframe.style.left = position.left + "px";
    obj.iframe.style.top = position.top + "px";
    obj.iframe.style.height = $(obj).outerHeight() + "px";
    obj.iframe.style.width = $(obj).outerWidth() + "px";
    obj.iframe.style.display = "block";
}

function refitIFrame(obj, options)
{
    if (!obj.iframe) obj.iframe = createIFrame(obj);
    if (!obj.iframe) return;
    var position = $(obj).position();
    obj.iframe.style.left = options && options.left ? options.left : position.left + "px";
    obj.iframe.style.top = options && options.top ? options.top : position.top + "px";
    obj.iframe.style.height = options && options.height ? options.height : $(obj).outerHeight() + "px";
    obj.iframe.style.width = options && options.width ? options.width : $(obj).outerWidth() + "px";
    if (Info.browser.isIEpre7) obj.iframe.style.display = "block";
}

function hideIFrame(obj)
{
    if (!obj.iframe) obj.iframe = createIFrame(obj);
    if (!obj.iframe) return;
    if (Info.browser.isIEpre7) obj.iframe.style.display = "none";
}

function createIFrame(obj)
{
    var newId = "iframe_opaque_" + iframes.length;
    var iframe = $(obj).siblings("iframe.opaque:first").get(0);
    if (!iframe)
    {
        $(obj).before("<iframe id='" + newId + "' src='javascript:\"\";' class='opaque' frameBorder='0' scrolling='no'></iframe>");
        iframe = $(obj).siblings("iframe.opaque:first").get(0);
    }
    if (!jQuery.inArray(iframe, iframes)) iframes.push(iframe);
    obj.iframe = iframe;

    return iframe;
}

function createIFrameInside(obj)
{
    var newId = "iframe_opaque_" + iframes.length;
    var iframe = $(obj).children("iframe.opaque:first").get(0);
    if (!iframe)
    {
        $(obj).prepend("<iframe id='" + newId + "' src='javascript:\"\";' class='opaque' frameBorder='0' scrolling='no'></iframe>");
        iframe = $(obj).children("iframe.opaque:first").get(0);
    }
    if (!jQuery.inArray(iframe, iframes)) iframes.push(iframe);
    obj.iframe = iframe;

    return iframe;
}

function createIFrames()
{
    var iframesTemp = [];
    $(".flyout").each(function()
    {
        createIFrameInside($(this).get(0));
    });
    $(".dropdown_mask").each(function()
    {
        createIFrame($(this).children(".dropdown:first").get(0));
    });
    $(".nav_dropdown_mask").each(function()
    {
        createIFrame($(this).children(".nav_dropdown:first").get(0));
    });
    return;
}

var iframes = [];
function initIFramesOnload()
{
    createIFrames();
}
/* END: navigation                                                  */
/********************************************************************/
/********************************************************************/
/* START: functions on DOM ready                                    */

function initSitemap()
{
    if ($("div#sitemap_zone").length > 0)
    {
        $("span#toggle_all").click(function(event)
        {
            if (event.target.tagName == "A") return;
            $(this).toggleClass("expanded").next().toggle();
            if (!$(this).hasClass("expanded"))
            {
                $("div#sitemap_zone li.collapsible>span.toggle_icon").removeClass("expanded").next().hide();
            } else
            {
                $("div#sitemap_zone li.collapsible>span.toggle_icon").addClass("expanded").next().show();
            }
        })
    }
    $("div#sitemap_zone li.collapsible>span.toggle_icon").removeClass("expanded").next().hide();
    $("span#toggle_all").show();
}

function initCollapsibleItems()
{
    $("div#content_zone .collapsible .toggle_icon, div#functional_col .collapsible .toggle_icon").click(function(event)
    {
        //return if link inside toggle_icon was clicked
        if ($(this).get(0) != event.target && event.target.tagName == "A") return true;
        $(this).toggleClass("expanded").next().toggle();
        if (!$(this).hasClass("expanded"))
        {
            $(this).next().find(".collapsible>.toggle_icon").removeClass("expanded").next().hide();
        } else
        {
            $(this).parent().siblings(".collapsible:has(.expanded)").children(".toggle_icon").removeClass("expanded").next().hide()
					.find(".collapsible>.toggle_icon").removeClass("expanded").next().hide();
        }
        $(this).blur();
        return false;
    });
}

function initFlyouts()
{
    //embedded flash flyouts

    $(".flyout_trigger").click(function(event)
    {
        var flyoutId = $(this).attr("rel") ? $(this).attr("rel") : $(this).find("a[rel^='#']:first").attr('rel');
        if ($(flyoutId).length == 0) return; //no flash flyout embedded

        flyoutId = flyoutId.replace(/_swf/g, "");

        if (!$(flyoutId).hasClass("open"))
        {
            openFlyout(flyoutId);
            $(this).addClass("triggered");
        } else
        {
            closeFlyout(flyoutId);
        }

        if (event.target.tagName == "A" && $(event.target).hasClass("trigger")) event.preventDefault(); // avoid following link when clicking trigger
    });

    if (Info.browser.isIE)
    {
        $(".flyout_positioner").css({ overflow: "hidden", zIndex: ZINDEX_INACTIVE });
    }

    $("div#keyvisual_stage.flyout").change(function()
    {
        var $flyout = $(this);
        if ($flyout.hasClass("campaign")) return;
        var $flyout_parent = $flyout.parents(".flyout_positioner:first");
        var $flyout_swf = $("#" + $flyout.attr("id") + "_swf");
        if ($(this).hasClass("open"))
        {
            var contentHeight = 0;
            if ($("#content_zone").length != 0)
            {
                contentHeight = $("#content_zone").outerHeight();
            }
            else
            {
                if ($("#content_col").length != 0)
                {
                    contentHeight = $("#content_col").outerHeight();
                }

                if ($("#related_col").length != 0)
                {
                    if ($("#related_col").outerHeight() > contentHeight)
                    {
                        contentHeight = $("#related_col").outerHeight();
                    }
                }
            }
            var newHeightOpened = $("#visual_zone").outerHeight() + contentHeight;

            var newHeightFunctionalCol = $("#functional_col").outerHeight();
            if ($("#breadcrumb_zone").length != 0) newHeightOpened += $("#header_zone").outerHeight();
            newHeightOpened = newHeightOpened > newHeightFunctionalCol ? newHeightOpened : newHeightFunctionalCol;
            $flyout.height(newHeightOpened);
            if (!Info.browser.isIE)
            {
                var options = { height: newHeightOpened };
                calculateClipping($flyout, $flyout_parent, options);
            }
            if ($flyout_swf.length != 0) $flyout_swf.get(0).SetVariable("bgHeight", newHeightOpened);
        } else
        {
            $flyout.height($flyout_swf.height());
            if (!Info.browser.isIE) calculateClipping($flyout, $flyout_parent);
        }
    });
}

/*dropdowns*/
var settings = {
    NAV_DURATION_OPEN: 500,
    NAV_DURATION_SHORT: 100,
    NAV_DURATION_CLOSE: 300,
    NAV_EASING_OPEN: "easeOutCirc",
    NAV_EASING_CLOSE: "easeInCirc",
    NAV_OPEN_TIMEOUT: 300,
    NAV_CLOSING_TIMEOUT_SHORT: 300,
    NAV_CLOSING_TIMEOUT_LONG: 600
};

if (Info.browser.isIEpre7)
{
    settings.DURATION_OPEN -= 200;
    settings.DURATION_SHORT -= 40;
    settings.DURATION_CLOSE -= 150;
    settings.OPEN_TIMEOUT -= 150;
    settings.CLOSING_TIMEOUT_SHORT -= 120;
    settings.CLOSING_TIMEOUT_LONG -= 250;
} else if (Info.browser.isIE)
{
    settings.DURATION_OPEN += 100;
    settings.DURATION_SHORT += 20;
    settings.DURATION_CLOSE += 100;
    settings.OPEN_TIMEOUT -= 100;
    settings.CLOSING_TIMEOUT_SHORT += 80;
    settings.CLOSING_TIMEOUT_LONG += 200;
}

function finishOpeningDropDown()
{
    var $dropdown = $(this);
    $dropdown.addClass("open").removeClass("opening").removeClass("closing").removeClass("closed");
}

function openDropDown($trigger, forceOpen)
{
    if ($trigger.siblings(".triggered").length == 0 || forceOpen)
    {
        $trigger.addClass("triggered");

        $dropdown = $trigger.find(".dropdown:first");
        var deltaDuration = settings.DURATION_OPEN * (-$dropdown.position().top) / $dropdown.outerHeight();
        if (deltaDuration <= 0) deltaDuration = settings.DURATION_SHORT;
        var options = {
            duration: deltaDuration,
            easing: settings.EASING_OPEN,
            complete: finishOpeningDropDown
        };
        if (Info.browser.isIEpre7) options.step = syncIFrame;

        $dropdown.parent(".dropdown_mask:first").stop().height($dropdown.outerHeight()).width($dropdown.outerWidth()); //safari needs width
        $dropdown.queue("fx", []).stop().animate({ top: 0 }, options)
			.addClass("opening").removeClass("closing").removeClass("closed").removeClass("open");
    }
};

function finishClosingDropDown()
{
    var $dropdown = $(this);
    $dropdown.addClass("closed").removeClass("closing").removeClass("open").removeClass("opening");
    if (Info.browser.isIEpre7 || Info.os.isMac) hideIFrame($dropdown.get(0));
    $dropdown.parent(".dropdown_mask:first").height(0).parent(".dropdown_trigger:first").removeClass("triggered");
}

function closeDropDown($trigger, immediately)
{
    if ($trigger.hasClass("triggered"))
    {

        $dropdown = $trigger.find(".dropdown:first");
        var deltaDuration = settings.DURATION_CLOSE * ($dropdown.position().top + $dropdown.outerHeight()) / $dropdown.outerHeight();
        if (deltaDuration <= 0) deltaDuration = settings.DURATION_SHORT;

        var options = {
            duration: deltaDuration,
            easing: settings.EASING_CLOSE,
            complete: finishClosingDropDown
        };

        if (Info.browser.isIEpre7) options.step = syncIFrame;

        $dropdown.stop();
        if (!immediately) $dropdown.animate({ top: $dropdown.css("top") }, { duration: settings.CLOSING_TIMEOUT_SHORT }); //delay
        $dropdown.animate({ top: -$dropdown.outerHeight() }, options) //closing animation
			.addClass("closing").removeClass("open").removeClass("opening").removeClass("closed");
    }
};

function initDropDowns()
{
    $(".dropdown").each(function()
    {
        $(this).css("top", -$(this).outerHeight() + "px");
        $(this).parent(".dropdown_mask:first").width($(this).outerWidth()).height(0);
    });

    $(".dropdown_trigger").hover(
		function()
		{
		    if ($(this).hasClass("rollover")) openDropDown($(this));
		    else return;
		},
		function()
		{
		    closeDropDown($(this));
		}
	).click(
		function(event)
		{
		    if ($(this).hasClass("triggered"))
		    {
		        if ($(this).find(".dropdown:first").hasClass("open")) closeDropDown($(this), true);
		    } else
		    {
		        if ($(this).siblings(".triggered").length != 0) $(this).siblings(".triggered").click(); // close siblings with flyouts
		        openDropDown($(this), true);
		    }
		    if (event.target.tagName == "A" && $(event.target).hasClass("trigger")) event.preventDefault(); // avoid following link when clicking trigger
		}
	);
}

function initDragging()
{

    if (typeof jQuery.fn.Draggable != 'function' || typeof jQuery.fn.Droppable != 'function') return false;

    var draggableOptions = {
        revert: true,
        ghosting: true,
        zIndex: 1000,
        opacity: 0.5,
        onStop: function()
        {
            $(this).DraggableDestroy();
            $(this).Draggable(draggableOptions);
        }
    }

    $('.draggable').Draggable(draggableOptions);

    $("div#functional_col div.download_cart").Droppable({
        accept: 'draggable',
        tolerance: 'pointer',
        hoverclass: 'download_cart_hover',
        ondrop: function(draggable)
        {
            alert("DEV NOTE: \n$(draggable) holds the current draggable element.\nPlace your AJAX call here.");
        }
    });
}

function initPrintButton()
{
    $("li#print_button").show();
}

var flyoutNavigation;

$(document).ready(function()
{
    $(".noscript").toggleClass("hide"); // show script version and hide no-script version
    $("div.sec_nav_access li ul:empty").css({ 'border': '0' }); // remove the borders incase of last node is empty.
 
    flyoutNavigation = new FlyoutNavigation;
    flyoutNavigation.init();

    initSitemap();
    initFlyouts();
    initDropDowns();
    initCollapsibleItems();
    initPrintButton();

    if (Info.browser.isIEpre7 || Info.os.isMac) initIFramesOnload();
    if (USE_SIFR == true)
    {
        initSifr();
    }
});
/* END: functions on DOM ready                                    */
/********************************************************************/
/********************************************************************/
/* START: Mark external links                                       */
function MarkExternalLinks(externalLinkText) {
    // TODO: retrieve whitelist
    GetExternalLinkWhitelist(function(whiteListXml) {
        ParseExternalLinkXml(whiteListXml, externalLinkText);
    });
}

// Retrieves a list of domains not to be marked as external links
function GetExternalLinkWhitelist(callback) {
    $.ajax({
        type: "GET",
        url: "/_layouts/websites/internet/externallinkwhitelisthandler.ashx",
        dataType: "xml",
        success: callback
    });
}
// Processes the externalLinkXml and applies tooltips to members not in the whitelist.
function ParseExternalLinkXml(whiteListXml, externalLinkText) {
    var whiteListItems = [];
    $(whiteListXml).find("domain").each(function() {
        whiteListItems.push($(this).text());
    });
    //             !(#)                    !(local)      ! in (whitelist)
    var externalLinks = $("a").filter("[href*=://]").not("[href^=/]").filter(function() {
        var item = $(this);
        var domain;
        for (i in whiteListItems) {
            domain = whiteListItems[i];
            if (item.attr("href").indexOf(domain) > -1)
                return false; // matches whiteList, do not include it.
        }
        return true; // is not in whiteList, do not filter.
    });

    externalLinks.simpletip({
        // Configuration properties
        content: externalLinkText,
        fixed: true,
        baseClass: 'externalLinkToolTipInActive',
        activeClass: 'externalLinkToolTipActive',
        position: ["0", "-25"]
    });
}

/* END: Mark external links                                         */
/********************************************************************/
