/* variables set in page header*/
var RESOURCES_PATH;
RESOURCES_PATH = RESOURCES_PATH !== undefined ? RESOURCES_PATH : "./_resources/"; // set default

var CONTACT_FORM;
CONTACT_FORM = CONTACT_FORM !== undefined ? CONTACT_FORM : "cw-popup-contact-form.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-'
							, clearing:			'bp-clr-'
						}

// 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 + "css/" + RESOURCE_PREFIXES[CURRENT_SITE_TYPE] + "styles-safari.css";
var MACOS_STYLESHEET_REFERENCE  = RESOURCES_PATH + "css/" + RESOURCE_PREFIXES[CURRENT_SITE_TYPE] + "styles-macos.css";
var SIFR_PATH = RESOURCES_PATH + "sifr/sifr.swf";

/********************************************************************/
/* 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/>
*/

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                                        */
/********************************************************************/
/********************************************************************/
/**
* START: GenericPopup
* A tiny class to handle open predefined or custom popup windows.
*
* Copyright (c) 2008 ff. virtual identity AG
* http://virtual-identity.de/
*
* Version: 1.0
* 2008-04-28
*
* This class lets you create popup links with different levels of customization.
* No class instance is necessary. The only publically accessible method open() 
* is a class method.
* 
*/

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";

		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();
			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();
			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;
				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;
				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;
				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 newHeightOpened = $("#visual_zone").outerHeight() + $("#content_zone").outerHeight();
			var newHeightFunctionalCol = $("#functional_col").outerHeight();
			if($("#breadcrumb_zone").length != 0) newHeightOpened += $("#breadcrumb_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() {
	//debugger;
	$(".noscript").toggleClass("hide"); // show script version and hide no-script version

	flyoutNavigation = new FlyoutNavigation;
	flyoutNavigation.init();
	
	initSitemap();
	initFlyouts();
	initDropDowns();
	initCollapsibleItems();
	initPrintButton();

	if(Info.browser.isIEpre7 || Info.os.isMac) initIFramesOnload();
	
	initSifr();
});
/* END: functions on DOM ready                                    */
/********************************************************************/

