var PfSearch=Class.create();PfSearch.prototype=Object.extend(new ProductFinderBase,{initialize:function(config,page,pf){this.initSuper();this.config=config;this.page=page;this.secondLevelTabContent=new Element("div");this.cacheGlossaryIndex=null;this.xmlDoc=page;this.treeId="pf4glossaryTree";this.autocompleteLayer=null;this.autocompleteLayerContent=null;this.searchTerm=null;this.searchResults=null;this.nrSearchResults=0;this.currentPage=1;this.lastSearch=null;this.lastSearchResults=true;this.pf4Tree=null;this.speechBubble=null;this.isSearchResultInAutocomplete=true;this.pf=pf;this._buildLayer("pf4SearchLayer");this._buildAutocompleteLayer();this._buildSearchLevelGrid();},_buildAutocompleteLayer:function(){var id="pf4AutoCompleteLayer";var layerOptions={position:"default",idprefix:"lightbox-layer-",curtain:false,iframe:false,cssClass:"lightbox-layer",callbacks:{initialize:function(){$("lightbox-layer-pf4AutoCompleteLayer").down("div.close").remove();}}};var trigger=new Element("span");this.autocompleteLayer=new pubLayer(null,trigger,id,layerOptions);this.autocompleteLayerContent=$("layer-content-pf4AutoCompleteLayer");},getContent:function(){return this.secondLevelTabContent;},_buildSearchLevelGrid:function(){this._buildSearch();this.cacheGlossaryIndex=this._xpath("child::page",this.page);var productIndexDiv=this._buildGlossary();$A(productIndexDiv.down("ul").childElements()).each(function(link){link.observe("click",function(evt){var elm=Event.findElement(evt);var paKey=elm.rel.sub("glossaryto-","");var paName=elm.innerHTML;var trackMode={mode:"node",contentNode:""};trackConfig={name:paName,path:"",lang:pf4Config.language};this.pf.track(evt,paKey,0,trackConfig,trackMode);this._glossaryTo(evt,false);Event.stop(evt);}.bindAsEventListener(this));}.bind(this));this.secondLevelTabContent.appendChild(productIndexDiv);},_buildSearch:function(){this.searchTerm=new Element("input",{id:"search_term",name:"searchfield",type:"text",autocomplete:"off",value:this.pf.translator.getTranslation("search/search_default_text")});this.searchSubmit=new Element("a",{id:"pfSearchSubmit","class":"generic-button",href:"#"});this.searchSubmit.update("<span><span>"+this.pf.translator.getTranslation("search/search")+"</span></span>");this.searchTerm.observe("keyup",this._onKeyUp.bindAsEventListener(this));this.searchTerm.observe("click",function(){if($("search_term").value==this.pf.translator.getTranslation("search/search_default_text")){$("search_term").value="";$("search_term").focus();}}.bind(this));this.searchSubmit.observe("click",function(e){var currentSearchTerm=$("search_term").value;var trackConfig={name:currentSearchTerm,path:"search",lang:pf4Config.language};this.pf.trackSearch(trackConfig);this._searchOnFocus(currentSearchTerm);Event.stop(e);}.bindAsEventListener(this));this.secondLevelTabContent.appendChild(this.searchTerm);this.secondLevelTabContent.appendChild(this.searchSubmit);this.secondLevelTabContent.appendChild(new Element("br",{style:"clear:both"}));},_onKeyUp:function(evt){var liveinput=$("search_term").value;if(liveinput&&!liveinput.match("/^s+$/")&&liveinput.length>2){if(evt.keyCode==13){this._searchOnFocus(liveinput);var trackConfig={name:liveinput,path:"search",lang:pf4Config.language};this.pf.trackSearch(trackConfig);}else{this.autosuggest(liveinput);}}},_searchOnFocus:function(searchinput){this.log("_searchOnFocus ('"+searchinput+"')");var url=this.config.frameworkPath+"pub/script/pf4proxy.php?siteid="+this.config.siteid+"&language="+this.config.language+"&suchtext="+encodeURIComponent(searchinput)+"&maxhits=999";this.currentSearch=searchinput;this.cacheLayerContentBaseNode=null;if(searchinput==this.pf.translator.getTranslation("search/search_default_text")||searchinput==""||searchinput.length<3){this.log("Not Sending Ajax Request");this._setSearchLayerContentBaseNode("search");this.lastSearchResults=true;}else{this.log("Sending Ajax Request");this.lastSearch=searchinput;var request=new Ajax.Request(url,{method:"get",onSuccess:this._onSearchLoadResult.bind(this),onFailure:this._onLoadFailure.bind(this)});}},_onSearchLoadResult:function(xhr){this.searchResults=xhr.responseXML.documentElement;this.currentPage=1;if(this.layer.isOpen==false){this._setSearchLayerContentBaseNode("search");$$("div.pfrowbody").invoke("hide");}else{$$("div.pfrowsearchresults").invoke("remove");new Insertion.Before("pfglossary",this._buildSearchResult());$$("div.pfrowbody").invoke("hide");this.pf4Tree=null;this._removeScrollObserving();}$("search_term").value=this.pf.translator.getTranslation("search/search_default_text");$("search_term").blur();},_onLoadChildXmlFailure:function(xhr){this.log(xhr);},_searchTo:function(key,value){if(key){}else{if(value){this._setSearchLayerContentBaseNode();}}},_glossaryTo:function(evt,innerNavigation){var elm=Event.findElement(evt);var paLoad=null;if(elm.rel&&elm.rel.startsWith("glossaryto-")){paLoad=elm.rel.sub("glossaryto-","")+".xml";}else{if(elm.up().rel&&elm.up().rel.startsWith("glossaryto-")){paLoad=elm.up().rel.sub("glossaryto-","")+".xml";}}if(typeof paLoad==="undefined"||paLoad===null){if(this.debug){this.log("this node has no load attribute but wants to jump into layer. please check data");}}else{$$("div.glossary-index li a").each(function(el){el.removeClassName("active");});elm.addClassName("active");location.hash="g-"+paLoad.sub(".xml","");var request=new Ajax.Request(this.config.resourcePath+this.config.siteid+"/"+this.config.language+"/"+paLoad+"?"+this.pfRandomId,{method:"get",onSuccess:function(xhr){this._onLoadChildXmlSuccess(xhr,innerNavigation);}.bind(this),onFailure:this._onLoadChildXmlFailure.bind(this)});}},_onLoadChildXmlSuccess:function(xhr,innerNavigation){this.cacheLayerContentBaseNode=xhr.responseXML.documentElement;$$("div.pfrowbody").invoke("show");$$("div.pfrowsearchresults").invoke("remove");if(innerNavigation){this.log("_onLoadChildXmlSuccess(_updateGlossary)");this._updateGlossary();}else{this.log("_onLoadChildXmlSuccess(_setSearchLayerContentBaseNode)");this._setSearchLayerContentBaseNode("glossary");}},_setSearchLayerContentBaseNode:function(mode){if(this.debug){this.log("_setSearchLayerContentBaseNode(@mode = "+mode+")");}this.layerContent.update();this.pf._drawBackButton(this.layerContent);var layerContentHead=new Element("div",{"class":"pfrowhead"}).update("<h1>"+this.pf.translator.getTranslation("search/headline")+"</h1>");var layerContentSearch=new Element("div",{"class":"pfrowsearch"});layerContentSearch.appendChild(this._buildLayerSearch());layerContentSearch.down("input").observe("mousedown",function(){if($("layer_search_term").value==this.pf.translator.getTranslation("search/search_default_text")){$("layer_search_term").value="";}}.bindAsEventListener(this));layerContentSearch.down("input").observe("keyup",function(){this._livesearch();}.bindAsEventListener(this));if(mode=="search"){var layerContentSearchResults=this._buildSearchResult();}else{var layerContentSearchResults=new Element("div",{"class":"pfrowsearchresults"});layerContentSearchResults.hide();}var layerContentGlossary=new Element("div",{"class":"pfrowglossary",id:"pfglossary"});var layerContentBody=new Element("div",{"class":"pfrowbody"});var layerContentFooter=new Element("div",{"class":"pfrowfooter clearfix"});this.log("_setSearchLayerContentBaseNode @buildGlossary");var productIndexDiv=this._buildGlossary();$A(productIndexDiv.down("ul").childElements()).each(function(link){link.observe("click",function(evt){var elm=Event.findElement(evt);var paKey=elm.rel.sub("glossaryto-","");var paName=elm.innerHTML;trackConfig={name:paName,path:"",lang:pf4Config.language};var trackMode={mode:"node",contentNode:""};this.pf.track(evt,paKey,0,trackConfig,trackMode);this._glossaryTo(evt,true);Event.stop(evt);}.bindAsEventListener(this));}.bind(this));layerContentGlossary.appendChild(productIndexDiv);var pf4TreeDiv=new Element("div",{id:this.treeId,"class":"content"});var treeDiv=new Element("div",{"class":"teaser"}).update(pf4TreeDiv);var treeColumn=new Element("div",{"class":"wide-column-tree"}).update(treeDiv);layerContentBody.insert(treeColumn);if(this.cacheLayerContentBaseNode&&mode!="search"){this.pf4Tree=new PfTree(pf4TreeDiv,this.cacheLayerContentBaseNode,this.pf,{updateContent:false,scrollHeight:269,resourcePathImg:this.config.resourcePathImg});}var elements=[layerContentHead,layerContentSearch,layerContentSearchResults,layerContentGlossary,layerContentBody,layerContentFooter];this.log("_setSearchLayerContentBaseNode @_drawLayerFrame");this._drawLayerFrame(elements);if(mode=="search"){$$("div.pfrowbody").invoke("hide");}if(this.pf4Tree){var gItem=this._xpath("//page",this.cacheLayerContentBaseNode);var gChar=this._gNA(gItem[0],"paName");$$("div#layer-content-pf4SearchLayer div.pfrowbody div.pf4glossaryHead").invoke("remove");$$("div#layer-content-pf4SearchLayer div.pfrowbody div.teaser").first().insert({top:new Element("div",{"class":"pf4glossaryHead"}).update(this.pf.translator.getTranslation("glossary/results").replace(/_1_/,$$("div#pf4glossaryTree li").length).replace(/_2_/,gChar))});this.pf4Tree.isScrollContent();}if(this.debug){this.log("end _setSearchLayerContentBaseNode");}},autosuggest:function(value){if(this.debug){this.log("Autosuggest for '"+value+"' (lastsearch: '"+this.lastSearch+"', "+this.lastSearchResults);}this.searchTerm=$("search_term");var url=this.config.frameworkPath+"pub/script/pf4proxy.php?siteid="+this.config.siteid+"&language="+this.config.language+"&suchtext="+encodeURIComponent(value)+"&maxhits=16";if(this.lastSearchResults==false&&value.match("^"+this.lastSearch)==this.lastSearch){this.log("Aborting seach cause it wont find anything anyway!");}else{this.lastSearch=value;var request=new Ajax.Request(url,{method:"get",onSuccess:this._onAutosuggestLoadResult.bind(this),onFailure:this._onLoadFailure.bind(this)});}},_onAutosuggestLoadResult:function(xhr){if(this.debug){this.log("_onAutosuggestLoadResult");}var autosuggestResultXmlDoc=xhr.responseXML.documentElement;this.isSearchResultInAutocomplete=true;var nodes=this._xpath("//node",autosuggestResultXmlDoc);if(nodes.length){this.lastSearchResults=true;this.autocompleteLayerContent.update();var autocompleteUl=new Element("ul",{"class":"link"});$A(nodes).each(function(node,index){if(index<10){autocompleteUl.appendChild(this._buildSearchResultNode(node,autosuggestResultXmlDoc));}}.bind(this));this.autocompleteLayerContent.appendChild(new Element("div",{"class":"clearfix autocomplete_top"}).update(new Element("div",{"class":"alignleft"}).update(this.pf.translator.getTranslation("search/search_results"))));this.autocompleteLayerContent.down("div").appendChild(new Element("div",{"class":"alignright"}).update(this.pf.translator.getTranslation("search/found_in")));this.autocompleteLayerContent.appendChild(autocompleteUl);if(this.autocompleteLayer.isOpen!==true){this.autocompleteLayer.toggle();}if(nodes.length>10){var mLink=new Element("a",{"class":"link",id:"more",href:"javascript:void(0)"}).update(this.pf.translator.getTranslation("search/view_more"));mLink.observe("click",function(e){this._searchOnFocus($("search_term").getValue());Event.stop(e);}.bindAsEventListener(this));this.autocompleteLayerContent.appendChild(mLink);}var sPos=$("search_term").cumulativeOffset();var acDim=$("lightbox-layer-pf4AutoCompleteLayer").getDimensions();$("lightbox-layer-pf4AutoCompleteLayer").setStyle({top:(sPos.top-acDim.height)+"px"});$$("#lightbox-layer-pf4AutoCompleteLayer ul li").last().addClassName("last");if(Info.browser.isIEpre7&&this.autocompleteLayer.iframeLining){this.autocompleteLayer.iframeLining.refresh();}}else{this.lastSearchResults=false;if(this.autocompleteLayer.isOpen==true){this.autocompleteLayer.toggle();}}},_onLoadFailure:function(xhr){this.log(xhr);},_buildLayerSearch:function(){this.searchTerm=new Element("input",{id:"layer_search_term",name:"searchfield",size:50,type:"text",autocomplete:"off",value:this.currentSearch||this.pf.translator.getTranslation("search/search_default_text")});return this.searchTerm;},_buildSearchResult:function(){if(this.debug){this.log("_buildSearchResult");}this.isSearchResultInAutocomplete=false;$$("div.glossary-index li a").each(function(elm){elm.removeClassName("active");});if(this.searchTerm.value==this.pf.translator.getTranslation("search/search_default_text")){this.log("premature end _buildSearchResult");return new Element("div",{"class":""});}this.nrSearchResults=0;if(this.searchResults){var nodes=this._xpath("//node",this.searchResults);this.nrSearchResults=nodes.length;}var div=new Element("div",{"class":"pfrowsearchresults"});if(this.nrSearchResults>0){this.lastSearchResults=true;var searchTop=div.appendChild(new Element("div",{"class":"autocomplete_top clearfix"}));searchTop.appendChild(new Element("div",{"class":"alignleft"}).update(this.pf.translator.getTranslation("search/results_for").replace(/_1_/,this.nrSearchResults).replace(/_2_/,this.searchTerm.value)));searchTop.appendChild(new Element("div",{"class":"alignright"}).update(this.pf.translator.getTranslation("search/found_in")));if(this.nrSearchResults>10){searchTop.appendChild(this._generatePaging(this.nrSearchResults));}var ul=div.appendChild(new Element("ul",{id:this.searchResultUlId,"class":"link"}));var startIndex=(this.currentPage-1)*10;var endIndex=(this.currentPage*10);this.speechBubble=new PfSpeechBubble(ul,"searchSpeechBubble");$A(nodes).each(function(node,index){var startIndex=(this.currentPage-1)*10;var endIndex=(this.currentPage*10);if(index>=startIndex&&index<endIndex){ul.appendChild(this._buildSearchResultNode(node,this.searchResults));}}.bind(this));}else{this.lastSearchResults=false;var nrT=new Template('<p class="first"><strong>#{line1}</strong></p><p>#{line2}</p><ul><li>#{line3}</li><li>#{line4}</li></ul><a href="#" class="link">#{line5}</a>');var compiled=nrT.evaluate({line1:this.pf.translator.getTranslation("search/noresults/line1"),line2:this.pf.translator.getTranslation("search/noresults/line2"),line3:this.pf.translator.getTranslation("search/noresults/line3"),line4:this.pf.translator.getTranslation("search/noresults/line4"),line5:this.pf.translator.getTranslation("search/noresults/line5").replace(/_SEARCH_/,this.searchTerm.value)});div.appendChild(new Element("div",{"class":"noresult"}).update(compiled));}return div;},_buildSearchResultNode:function(node,scope){var sT=this.searchTerm.value;var sTLen=sT.length;var name=this._gNA(node,"name");var linkURL=(this._gNA(node,"link")?this._gNA(node,"link"):"#");var reg=new RegExp(sT,"i");var sTPos=name.search(reg);var emName=name.substring(0,sTPos)+"<em>"+name.substring(sTPos,sTPos+sTLen)+"</em>"+name.substring(sTPos+sTLen,name.length);var link=new Element("a",{"class":"external",href:linkURL}).update(emName);var nID=this._gNA(node,"id");link.observe("click",function(evt){var trackMode={mode:"exit",contentNode:""};this.pf.track(evt,nID,0,{name:name,path:"search",lang:pf4Config.language,url:linkURL},trackMode);Event.stop(evt);window.setTimeout(function(){window.location.href=linkURL;},500);}.bindAsEventListener(this));if(this.isSearchResultInAutocomplete===false){var tooltiptext=this._gNA(node,"tooltip");var tooltipimage=this._gNA(node,"tooltipimage");var tti=null;if(tooltipimage.length>0){tti=pf4Config.resourcePathImg+tooltipimage;}if(!this.isMobilePad){link.observe("mouseover",function(evt){this._showSpeechBubble(evt,tooltiptext,tti);}.bindAsEventListener(this));link.observe("mouseout",function(evt){this._hideSpeechBubble(evt);}.bindAsEventListener(this));}}var pNode=this._xpath("//node[@id = "+nID+"]/..",scope);var ppNode=this._xpath("//node[@id = "+nID+"]/../..",scope);var li=new Element("li",{"class":"clearfix"});li.appendChild(new Element("div",{"class":"alignleft"}).update(link));var teTemplate=this._gNA(ppNode[0],"teTemplate");if(teTemplate!="brandnames"){var paLoad=this._gNA(pNode[0],"id");var paSelect=this._gNA(node,"id");var aPNodes=this._gNA(node,"nodeidpath").split("|");var parentNode=aPNodes[(aPNodes.length-2)];li.appendChild(new Element("div",{"class":"alignright"})).appendChild(new Element("a",{"class":"link",href:"#",rel:"jumpto-"+paLoad})).update(this._gNA(pNode[0],"name"));li.down("div.alignright a").observe("click",function(evt){this.pf.browserBack(null,paLoad,2);this.pf._jumpTo(null,paLoad+".xml",paSelect,{mode:"node",contentNode:"level2AutosuggestFoundIn",parentNode:parentNode});Event.stop(evt);}.bindAsEventListener(this));}return li;},_showSpeechBubble:function(evt,text,image){this.speechBubble.show(evt,text,image);},_hideSpeechBubble:function(evt){this.speechBubble.hide();},_buildGlossary:function(){var glossary=new Element("div",{"class":"glossary-index clearfix"});var specialClass=Info.os.isMac?"glossary-mac":"";var glossaryIndexUl=new Element("ul",{"class":"clearfix",id:specialClass});if(this.cacheLayerContentBaseNode){var gNode=this._xpath("//page",this.cacheLayerContentBaseNode);var gChar=this._gNA(gNode[0],"paName");}$A(this.cacheGlossaryIndex).each(function(child){var letter=this._gNA(child,"paName");var li=new Element("li").update(letter);var paLoad=this._gNA(child,"load");if(paLoad!=null){var key=this._gNA(child,"paKey");var glossaryTo="glossaryto-"+key;var link=new Element("a",{href:"javascript:void(0);",rel:glossaryTo}).update(letter);if(this.cacheLayerContentBaseNode&&letter==gChar){link.addClassName("active");}li.update(link);}else{li.update(letter);}glossaryIndexUl.appendChild(li);}.bind(this));glossary.appendChild(new Element("span",{id:"glossary-"+pf4Config.language+"-id"})).update(this.pf.translator.getTranslation("glossary/headline"));glossary.appendChild(glossaryIndexUl);return glossary;},_updateGlossary:function(){$$("div.pfrowbody").invoke("show");if($(this.treeId)){$(this.treeId).update();$(this.treeId).removeClassName("active-content");}this.pf4Tree=new PfTree($(this.treeId),this.cacheLayerContentBaseNode,this.pf,{updateContent:false,scrollHeight:269,resourcePathImg:this.config.resourcePathImg});var gItem=this._xpath("//page",this.cacheLayerContentBaseNode);var gChar=this._gNA(gItem[0],"paName");$$("div.pfrowbody div.pf4glossaryHead").invoke("remove");$$("div.pfrowbody div.teaser").first().insert({top:new Element("div",{"class":"pf4glossaryHead"}).update(this.pf.translator.getTranslation("glossary/results").replace(/_1_/,$$("div#pf4glossaryTree li").length).replace(/_2_/,gChar))});this.pf4Tree.isScrollContent();},_generatePaging:function(total){var current=parseInt(this.currentPage);var paging=new Element("div",{id:"paging"});var nrPages=Math.ceil(total/10);if(current==1){var blink=paging.appendChild(new Element("span",{"class":"arrowleft"+(current==1?" inactive":"")}).update("&lt;"));}else{var blink=paging.appendChild(new Element("a",{href:"#","class":"arrowleft"+(current==1?" inactive":""),rel:"pageto-"+(current-1)}).update("&lt;"));blink.observe("click",function(e){this._jumpToPage(Event.element(e).rel.replace(/pageto-/,""));Event.stop(e);}.bindAsEventListener(this));}paging.appendChild(new Element("span").update("|"));for(var i=1;i<=nrPages;i++){var pLink=paging.appendChild(new Element("a",{"class":(current==i?"active":""),href:"#",rel:"pageto-"+i}).update(i));pLink.observe("click",function(e){this._jumpToPage(Event.element(e).rel.replace(/pageto-/,""));Event.stop(e);}.bindAsEventListener(this));paging.appendChild(new Element("span").update("|"));}if(current<nrPages){var nlink=paging.appendChild(new Element("a",{href:"#","class":"arrowright",rel:"pageto-"+(current+1)}).update("&gt;"));nlink.observe("click",function(e){this._jumpToPage(Event.element(e).rel.replace(/pageto-/,""));Event.stop(e);}.bindAsEventListener(this));}else{var nlink=paging.appendChild(new Element("span",{"class":"arrowright inactive"}).update("&gt;"));}return paging;},_jumpToPage:function(page){this.currentPage=page;$$("div.pfrowsearchresults").invoke("remove");new Insertion.Before("pfglossary",this._buildSearchResult());},_livesearch:function(evt){var sT=$("layer_search_term").value;var sTLen=sT.length;if(sTLen>=3){this._searchOnFocus(sT,true);}else{}},_jumpToGlossary:function(paLoad){var request=new Ajax.Request(this.config.resourcePath+this.config.siteid+"/"+this.config.language+"/"+paLoad+"?"+this.pfRandomId,{method:"get",onSuccess:function(xhr){this._onLoadChildXmlSuccess(xhr,false);}.bind(this),onFailure:this._onLoadChildXmlFailure.bind(this)});}});var ProductFinder=Class.create();ProductFinder.prototype=Object.extend(new ProductFinderBase,{initialize:function(_config){this.initSuper();this.config=_config||{siteid:"",frameworkPath:"",resourcePath:"",resourcePathImg:"",language:"",configXml:"",pf4Frame:"",scrollHeight:0,defaultTab:0};this.trackConfig={tab:"productgroups",tabnames:["productgroups","brandnames","market"],isTab:false};this.isMobilePad=this._checkMobilePad();this.currentTrackPath="";this.xmlDoc=null;this.firstLevel=null;this.secondLevel=null;this.secondLevelGroup=[];this.secondLevelGroupUl=null;this.tabbedPanels=null;this.cacheLayerContentBaseNode=null;this.wideContentDiv=null;this.sliderCounter=0;this.headerpftvisualzone=$("headerpftvisual-zone");this.selFeatureVisualLink=null;this.translator=new PfTranslator("../"+this.config.configXml,this.config.language,this);this.visualhelper=null;this.isPf4ExitLink=false;},_checkMobilePad:function(){return navigator.userAgent.match(/iPad/i)!=null;},loadData:function(){var request=new Ajax.Request(this.config.resourcePath+this.config.siteid+"/"+this.config.language+".xml?"+this.pfRandomId,{method:"get",onSuccess:this._onLoadSuccess.bind(this),onFailure:this._onLoadFailure.bind(this)});},_onLoadSuccess:function(xhr){this.log("_onLoadSuccess");this.xmlDoc=xhr.responseXML.documentElement;var expression="//lang[@laLang='"+this.config.language+"']/page";var result=this._xpath(expression,this.xmlDoc);this._buildLayer("pf4Layer");this._buildFirstLevel(result);},_onLoadFailure:function(xhr){this.log("###an error occured");this.log(xhr);this.log("###");},_initTabs:function(){this.log("_initTabs");var defaultTab=this.config.defaultTab||0;var params=window.location.href.toQueryParams();if(typeof params.tab!=="undefined"&&!isNaN(params.tab)){defaultTab=parseInt(params.tab,10);this.trackConfig.tab=this.trackConfig.tabnames[defaultTab];this.trackConfig.isTab=true;}this.tabbedPanels=new Spry.Widget.TabbedPanels(this.config.pf4Frame,{defaultTab:defaultTab});var hash=window.location.hash;var hashAsParams=location.search.substring(1,location.search.length).toQueryParams();if(typeof hashAsParams.hashid!="undefined"&&hash==""){hash=hashAsParams.hashid;location.hash=hash;}var deep=false;if(hash.blank()===false){if(hash.indexOf("#g-")>-1){var p=hash.sub("#","").split("-");var paLoad=p[1]+".xml";this.search._jumpToGlossary(paLoad);}else{var p=hash.sub("#","").split("-");var paLoad=null;if(typeof p[0]!=="undefined"&&typeof p[0]!==null&&p[0]!=""&&typeof parseInt(p[0],10)=="number"){paLoad=parseInt(p[0],10)+".xml";deep=true;}var paSelect=null;if(typeof p[1]!=="undefined"&&typeof p[0]!==null&&typeof parseInt(p[1],10)=="number"){paSelect=parseInt(p[1],10);}if(deep===true){this._jumpTo(null,paLoad,paSelect,{mode:"deep",contentNode:""});}}}if(deep===false&&this.trackConfig.isTab===true){var trackMode={mode:"deep",contentNode:""};this.track(null,null,0,{path:"",lang:this.config.language},trackMode);}},_recursivelyCollectNodePath:function(elm,path){path.push(this._gNA(elm,"paName"));var parent=this._xpath("parent::page",elm);if(parent.length>0){this._recursivelyCollectNodePath(parent[0],path);}},getLevel2TrackPath:function(paKey,level){var rootPath="";if(level==2){var rootPage=this._xpath("//page[@paKey = "+paKey+"]/parent::page",this.xmlDoc);if(rootPage.length>0){rootPath+=this._gNA(rootPage[0],"paName");}}else{if(level==3){var loadPage=this._xpath("//page[@paKey = "+paKey+"]",this.xmlDoc);if(loadPage.length>0){var rootPage=this._xpath("parent::page",loadPage[0]);if(rootPage.length>0&&loadPage.length>0){rootPath+=this._gNA(rootPage[0],"paName");}}}}return rootPath;},track:function(evt,paKey,level,config,trackMode){if(trackMode.mode!="tab"&&paKey!=null){if(level==2||level==0){config.path+=this.getLevel2TrackPath(paKey,2);}if((this.cacheLayerContentBaseNode!=null||this.search.cacheLayerContentBaseNode)&&level==3){if(trackMode.tree&&trackMode.tree.treeRoot){var cacheNode=trackMode.tree.treeRoot;}else{if(this.cacheLayerContentBaseNode!=null){var cacheNode=this.cacheLayerContentBaseNode;}else{var cacheNode=this.search.cacheLayerContentBaseNode;}}var nodePath=$A([]);var currentNode=this._xpath("//page[@paKey = "+paKey+"]",cacheNode);if(currentNode.length>0){var baseNodeKey=this._gNA(cacheNode,"paKey");config.path+=this.getLevel2TrackPath(baseNodeKey,level);this._recursivelyCollectNodePath(currentNode[0],nodePath);if(trackMode.mode!="mailto"&&trackMode.contentNode!="level3LayerContent"&&trackMode.contentNode!="level2AutosuggestFoundIn"){nodePath.shift();}}if(trackMode.contentNode=="level2AutosuggestFoundIn"){config.name=nodePath.shift();var activeTabNode=this._xpath('//lang/page[@teTemplate = "brandnames"]',this.xmlDoc);var activeTabName=this._gNA(activeTabNode[0],"paName");config.path=activeTabName+"|"+nodePath.reverse().join("|");}else{config.path+="|"+nodePath.reverse().join("|");}this.log(config.path);}}this.isPf4ExitLink=false;this.log("track: mode = "+trackMode.mode);switch(trackMode.mode){case"tab":ste.PF.tabclick(config);break;case"node":this.log("config:");this.log(config);ste.PF.nodeclick(config);this.browserBack(evt,paKey,level);break;case"exit":ste.PF.exit(config);if(level!=2){this.browserBack(evt,paKey,level);}this.isPf4ExitLink=true;break;case"deep":ste.PF.deeplink(config);break;case"mailto":ste.PF.mailto(config);break;case"download":ste.PF.download(config);break;case"contactform":ste.PF.contactform(config);break;default:break;}},trackSearch:function(config){this.log("config: "+config.name);this.log(config);ste.PF.searchterm(config);},browserBack:function(evt,paKey,level){this.log("############# start browserBack for level: "+level+" #################");var brandnames=false;if(location.hash.indexOf("#g-")>-1){brandnames=true;}if(level==2){location.hash=(brandnames===true)?"g-"+paKey:paKey;}else{if(level==3){var h=location.hash.sub("#","").split("-");if(h.length>0){location.hash=(brandnames===true)?"g-"+h[1]+"-"+paKey:h[0]+"-"+paKey;}}}},clearBrowserBack:function(){if(this.isPf4ExitLink===false){location.hash="";}},_buildFirstLevel:function(rootPage){this.firstLevel=new Element("ul",{id:"tablist","class":"TabbedPanelsTabGroup"});this.secondLevel=new Element("div",{id:"tabcontent","class":"TabbedPanelsContentGroup"});$A(rootPage).each(this._buildFirstLevelNode.bind(this));$(this.config.pf4Frame).update(this.firstLevel);$(this.config.pf4Frame).appendChild(this.secondLevel);var visualeventhelperId="visualeventhelper";var visualeventhelper=new Element("div",{id:visualeventhelperId,"class":"pf-clear"}).update();$(this.config.pf4Frame).appendChild(visualeventhelper);this.visualhelper=new PfVisualEventHelper(this.config.pf4Frame,visualeventhelperId,this);this._initTabs();},_buildFirstLevelNode:function(page){if(this._gNE(page)===false){var paName=this._gNA(page,"paName");var paKey=this._gNA(page,"paKey");var tab=new Element("li",{id:paKey,"class":"TabbedPanelsTab"}).update(paName);var template=this._gNA(page,"teTemplate");var trackConfig={path:paName,lang:this.config.language};var trackMode={mode:"tab",contentNode:""};tab.observe("click",function(evt){this.track(evt,paKey,1,trackConfig,trackMode);}.bindAsEventListener(this));this.firstLevel.appendChild(tab);this.secondLevelTabContent=new Element("div",{id:"tab-"+paKey,"class":"TabbedPanelsContent"});if(template=="brandnames"){this.search=new PfSearch(this.config,page,this);this.secondLevelTabContent.appendChild(this.search.getContent());}else{this._buildProductLevelGrid(page,paKey);}this.secondLevelTabContent.appendChild(new Element("div",{"class":"pf-clear"}));this.secondLevel.appendChild(this.secondLevelTabContent);}},_buildProductLevelGrid:function(page,paKey){var thirdColumnCount=this._xpath("child::page[@paGroup = 3]",page).length;for(var i=1;i<4;i++){var exp="child::page[@paGroup = "+i+"]";if(i==1){exp="child::page[@paGroup < "+2+"]";}this.secondLevelGroup=this._xpath(exp,page);if(this.secondLevelGroup.length>0){this.secondLevelGroupUl=new Element("ul",{id:"col"+i+"-"+paKey,"class":"link"});$A(this.secondLevelGroup).each(this._buildSecondLevelNode.bind(this));var divWidth=(thirdColumnCount>0)?"150px;":"225px;";var divStyle="width: "+divWidth;var linklistDiv=new Element("div",{"class":"pf-link-list",style:divStyle}).update(this.secondLevelGroupUl);this.secondLevelTabContent.appendChild(linklistDiv);}}},_buildSecondLevelNode:function(page){if(this._gNP(page,this.propertyNames.hide)==0){var paKey=this._gNA(page,"paKey");var paLoad=this._gNA(page,"load");var jumpTo="jumpto-"+paKey;var pageProduct=this._xpath("child::product",page)[0];var paName=this._gNA(page,"paName");var href="javascript:void(0);";var trackConfig={};var trackMode={mode:"exit",contentNode:""};var pageNode=new Element("a",{"class":"link",href:href,rel:jumpTo}).update(paName);if(paLoad===null){href=this._gNA(pageProduct,"link");pageNode.href=href;trackConfig={name:paName,path:"",lang:this.config.language,url:href};if(this._gNP(page,this.propertyNames.newWindow)==1){pageNode.observe("click",function(evt){this.track(evt,paKey,2,trackConfig,trackMode);Event.stop(evt);window.open(href);}.bindAsEventListener(this));}else{pageNode.observe("click",function(evt){this.track(evt,paKey,2,trackConfig,trackMode);Event.stop(evt);window.setTimeout(function(){window.location.href=href;},500);}.bindAsEventListener(this));}}else{pageNode.observe("click",function(evt){trackMode={mode:"node",contentNode:""};this._jumpTo(evt,paLoad,null,trackMode);Event.stop(evt);}.bindAsEventListener(this));}pageNode.observe("mouseover",function(evt){this._showHeader(evt);}.bindAsEventListener(this));var li=new Element("li").update(pageNode);this.secondLevelGroupUl.appendChild(li);if(this._gNP(page,this.propertyNames.followingSeparator)==1){this.secondLevelGroupUl.appendChild(this._getSeparatorListItem());}}},_jumpTo:function(evt,paLoad,paSelect,mode){this.visualhelper.pauseEvent();this.log("_jumpTo: mode");this.log(mode);if(typeof paLoad==="undefined"||paLoad===null){this.log("this node has no load attribute but wants to jump into layer. please check data");}else{var paLoadNumber=(paLoad.indexOf(".xml")>-1)?paLoad.sub(".xml",""):paLoad;var request=new Ajax.Request(this.config.resourcePath+this.config.siteid+"/"+this.config.language+"/"+paLoad+"?"+this.pfRandomId,{method:"get",onSuccess:function(xhr){this._onLoadChildXmlSuccess(xhr,paLoadNumber,paSelect,mode);}.bind(this),onFailure:this._onLoadChildXmlFailure.bind(this)});}},_onLoadChildXmlSuccess:function(xhr,paLoad,paSelect,mode){this.cacheLayerContentBaseNode=xhr.responseXML.documentElement;if(paSelect==null&&paLoad!=null){var paName=this._gNA(this.cacheLayerContentBaseNode,"paName");this.track(null,paLoad,2,{path:"",name:paName,lang:pf4Config.language},mode);}this._setLayerContentBaseNode(paSelect,mode);},_onLoadChildXmlFailure:function(xhr){this.log(xhr);},_showHeader:function(evt){var elm=Event.findElement(evt,"a");if(elm!=this.selFeatureVisualLink){if(typeof featureFlash!="undefined"&&deconcept.SWFObjectUtil.getPlayerVersion()["major"]>0){if(typeof featureFlash.stopVideo=="function"){featureFlash.stopVideo();}if(typeof featureFlash.looseFocus=="function"){featureFlash.looseFocus();}if($("ng_feature")){$("ng_feature").setStyle("opacity:0; filter:alpha(opacity=0);");}}if($("storytelling-body")){$("storytelling-body").setStyle({display:"none"});}this.selFeatureVisualLink=elm;var page=this._getXMLNodeFromEvt(evt);var product=this._xpath("child::product",page[0]);var feature=this._xpath("child::feature",product[0]);if(product.length>0&&feature.length>0){var pic=this.config.resourcePathImg+this._gNA(feature[0],"image");var aHead=this._gNA(page[0],"paName");var aDesc=this._gNA(feature[0],"text");$("headervisual-zone").style.visibility="hidden";$("pftvisual-visual").update();$("pftvisual-visual").setOpacity(0);var preLoad=new Image();preLoad.style.width=640+"px";preLoad.style.height=393+"px";preLoad.onload=function(){$("pftvisual-visual").setStyle("width:640px; opacity:0; filter:alpha(opacity=0);");$("pftvisual-visual").update(preLoad);Spry.Effect.DoFade($("pftvisual-visual"),{duration:2000,to:100});};preLoad.src=pic;$("pftvisual-headline").update(aHead);$("pftvisual-description").update(aDesc);this.headerpftvisualzone.style.visibility="visible";}}},hideHeader:function(evt){if($("ng_feature")){$("ng_feature").setStyle("opacity:100; filter:alpha(opacity=100);");}if($("storytelling-body")){$("storytelling-body").setStyle({display:"inline"});}this.selFeatureVisualLink=null;$("headervisual-zone").style.visibility="visible";this.headerpftvisualzone.style.visibility="hidden";},afterCloseLayer:function(){this.hideHeader();this.visualhelper.resumeEvent();this.clearBrowserBack();},_setLayerContentBaseNode:function(paSelect,mode){this.layerContent.update();var layerContentHead=new Element("div",{"class":"pfrowhead"});var layerContentBody=new Element("div",{"class":"pfrowbody"});var layerContentFooter=new Element("div",{"class":"pfrowfooter clearfix"});var paName=this._gNA(this.cacheLayerContentBaseNode,"paName");var paKey=this._gNA(this.cacheLayerContentBaseNode,"paKey");this._drawBackButton(this.layerContent);layerContentHead.insert(new Element("h1").update(paName));var pf4TreeDiv=new Element("div",{id:this.treeId});var treeDiv=new Element("div",{"class":"teaser"}).update(pf4TreeDiv);var treeColumn=new Element("div",{"class":"column-tree"}).update(treeDiv);layerContentBody.appendChild(treeColumn);var pf4Tree=new PfTree(pf4TreeDiv,this.cacheLayerContentBaseNode,this,{updateContent:true,scrollHeight:390,resourcePathImg:this.config.resourcePathImg});var pf4content=new Element("div",{id:"pf4content"});this._buildProductBlock(this.cacheLayerContentBaseNode,pf4content,false);this._buildContactBlock(this.cacheLayerContentBaseNode,pf4content);var contentColumn=new Element("div",{"class":"column-content"}).update(pf4content);var pf4related=new Element("div",{id:"pf4related"});this._buildRelatedBlock(this.cacheLayerContentBaseNode,pf4related,paKey);var relatedColumn=new Element("div",{"class":"column-related"}).update(pf4related);this.wideContentDiv=new Element("div",{id:"wideContentDiv","class":"wide-column-content"});var scrollContentDiv=new Element("div",{id:"scrollContentDiv"});scrollContentDiv.appendChild(contentColumn);scrollContentDiv.appendChild(relatedColumn);this.wideContentDiv.appendChild(scrollContentDiv);layerContentBody.appendChild(this.wideContentDiv);var elements=[layerContentHead,layerContentBody,layerContentFooter];this._drawLayerFrame(elements);pf4Tree.isScrollContent();this.isScrollContent();if(paSelect){this.log("selecting page within tree: "+paSelect);pf4Tree.selectPage(paSelect,mode);}},updateContent:function(key,showContentHeadline){var page=this._xpath("//page[@paKey = "+key+"]",this.cacheLayerContentBaseNode);page=page[0];var pf4content=$("pf4content");pf4content.update();this._buildProductBlock(page,pf4content,showContentHeadline);this._buildContactBlock(page,pf4content);var pf4related=$("pf4related");pf4related.update();this._buildRelatedBlock(page,pf4related,key);this.isScrollContent();},_onmousescroll:function(value){if(value<0){this.scrollbar.moveUp();}else{if(value>0){this.scrollbar.moveDown();}}return false;},isScrollContent:function(){this._scrollPane();},_scrollPane:function(){if(this.isMobilePad){this.wideContentDiv.setStyle({overflowY:"auto"});return false;}var wheel=new MouseWheelObserver();wheel.register(function(value){if(Layer.current&&this._onmousescroll&&this.scrollbar){return this._onmousescroll(value);}else{return true;}}.bind(this));if(typeof this.wideContentDiv!=="undefined"&&(this.wideContentDiv.down(".column-content").getHeight()>this.config.scrollHeight||this.wideContentDiv.down(".column-related").getHeight()>this.config.scrollHeight)){if($("content-slider-wrapper-"+this.sliderCounter)){this.scrollbar.updateSliderHeight(this.wideContentDiv.down().getHeight());}else{this.wideContentDiv.addClassName("content active-content");this.wideContentDiv.down().addClassName("has-scrollbar");this.sliderCounter++;var sliderWrapper=document.createElement("div");sliderWrapper.className="slider-wrapper";sliderWrapper.id="content-slider-wrapper-"+this.sliderCounter;sliderWrapper.innerHTML='<div class="arrow-up"></div><div class="slider" id="content-slider'+this.sliderCounter+'"><div class="handle" id="content-handle'+this.sliderCounter+'"></div></div><div class="arrow-down"></div>';this.wideContentDiv.appendChild(sliderWrapper);this.scrollbar=new PfScrollbar("content-handle"+this.sliderCounter,"content-slider"+this.sliderCounter,this.wideContentDiv);var elts=$(sliderWrapper).childElements();elts[0].observe("click",function(){this.scrollbar.moveUp();}.bind(this));elts[2].observe("click",function(){this.scrollbar.moveDown();}.bind(this));}return true;}else{if($("content-slider-wrapper-"+this.sliderCounter)){$("content-slider-wrapper-"+this.sliderCounter).remove();this.sliderCounter=0;this.wideContentDiv.firstChild.style.top=0+"px";this.scrollbar=null;this._removeScrollObserving();wheel=null;return false;}}},_buildProductBlock:function(xmlNode,parent,headline){var res=this._xpath("child::product",xmlNode);if(res.length>0){var teaser=this._xpath("child::teaser",res[0]);if(teaser.length>0){var teaserText=this._gNA(teaser[0],"text");var teaserImagePath=this._gNA(teaser[0],"image");var teaserDiv=new Element("div",{"class":"teaser"});if(headline){var productName=this._gNA(res[0],"name");teaserDiv.appendChild(new Element("h1").update(productName));}if(teaserImagePath){var imagePath=this.config.resourcePathImg+teaserImagePath;teaserDiv.appendChild(new Element("img",{src:imagePath,"class":"teaserImage"}));}teaserDiv.appendChild(new Element("p").update(teaserText));parent.appendChild(teaserDiv);}else{}}},_inheritContact:function(expression,xmlNode,exitCondition){var res=this._xpath(expression,xmlNode);if(res.length>0){return res[0];}else{if(exitCondition>0){exitCondition--;return this._inheritContact("parent::page/"+expression,xmlNode,exitCondition);}else{return null;}}},_buildContactBlock:function(xmlNode,parent){var res=this._xpath("child::contact",xmlNode);var contact=null;var paKey=this._gNA(xmlNode,"paKey");if(res.length>0){contact=res[0];}else{contact=this._inheritContact("parent::page/contact",xmlNode,5);}if(contact){var cName=this._gNA(contact,"name");var cType=this._gNA(contact,"type");parent.appendChild(this._getSeparator());var transContact=this.translator.getTranslation("contact/contact");contactDiv=new Element("div",{"class":"teaser"}).update("<h3>"+transContact+"</h3>");if(cType){var cFullList=new Element("ul",{"class":"link"});var xMail=this._gNA(contact,"mail");if(xMail){cFullList.appendChild(this._renderContactMail(contact,cName,paKey));}var xLink=this._gNA(contact,"link");if(xLink){cFullList.appendChild(this._renderContactLink(contact,cName,paKey));}contactDiv.appendChild(cFullList);var xFull=this._renderContactFull(contact,cName);if(xFull){contactDiv.appendChild(xFull);}}parent.appendChild(contactDiv);}},_renderContactLink:function(contact,cName,paKey){var cLink=this._gNA(contact,"link");var contactLink=new Element("a",{"class":"link",href:cLink}).update(cName);var trackConfig={path:"",name:cName,lang:this.config.language,url:cLink};var trackMode={mode:"contactform",contentNode:"level3LayerContent"};contactLink.observe("click",function(evt){this.track(evt,paKey,3,trackConfig,trackMode);Event.stop(evt);window.setTimeout(function(){window.location.href=cLink;},500);}.bindAsEventListener(this));return new Element("li").update(contactLink);},_renderContactMail:function(contact,cName,paKey){var cMail=this._gNA(contact,"mail");var contactLink=new Element("a",{"class":"email",href:"mailto:"+cMail}).update(cName);var trackConfig={path:"",name:cMail,lang:this.config.language};var trackMode={mode:"mailto",contentNode:""};contactLink.observe("click",function(evt){Event.stop(evt);var elm=Event.element(evt);this.track(evt,paKey,3,trackConfig,trackMode);window.location.href=elm.href;}.bindAsEventListener(this));return new Element("li").update(contactLink);},_renderContactFull:function(contact,cName){var wrapperDiv=new Element("div",{"class":"p clearfix"});var cTel=this._gNA(contact,"tel");var cFax=this._gNA(contact,"fax");if(cTel||cFax){if(cTel){var transTel=this.translator.getTranslation("contact/phone");wrapperDiv.appendChild(new Element("p").update(transTel+": "+cTel));}if(cFax){try{var transFax=this.translator.getTranslation("contact/fax");}catch(err){var transFax="Fax";}wrapperDiv.appendChild(new Element("p").update(transFax+": "+cFax));}return wrapperDiv;}return null;},_buildRelatedBlock:function(xmlNode,parent,paKey){var res=this._xpath("child::linking",xmlNode);if(res.length>0){var linking=res[0];var teaserBlocks=this._xpath("child::*",linking);var teaserBlockLength=teaserBlocks.length;$A(teaserBlocks).each(function(item,idx){var teaser=new Element("div",{"class":"teaser"});var linkList=new Element("ul",{"class":"link"});var linkListName=this._gNA(item,"name");var listCaption=new Element("h3").update(linkListName);teaser.appendChild(listCaption);$A(this._xpath("child::*",item)).each(function(link){var href=this._gNA(link,"link");if(!href||href==""){return;}var linkname=this._gNA(link,"name");var type=this._getLinkTypeClass(this._gNA(link,"type"));var linkElm=new Element("a",{"class":type,href:href}).update(linkname);var trackConfig={};var trackMode={};linkElm.observe("click",function(evt){if(type=="link"||type=="link-ext"||type=="movie"){trackConfig={name:linkname,path:"",lang:pf4Config.language,url:href};trackMode={mode:"exit",contentNode:"level3LayerContent"};}else{trackConfig={name:linkname,path:"",lang:pf4Config.language,url:href};trackMode={mode:"download",contentNode:"level3LayerContent"};}this.track(evt,paKey,3,trackConfig,trackMode);Event.stop(evt);window.setTimeout(function(){window.location.href=href;},500);}.bindAsEventListener(this));linkList.appendChild(new Element("li").update(linkElm));}.bind(this));var linkListDiv=new Element("div",{"class":"list"}).update(linkList);teaser.appendChild(linkListDiv);if(idx<teaserBlockLength-1){teaser.appendChild(this._getSeparator());}parent.appendChild(teaser);}.bind(this));}else{var teaser=new Element("div",{"class":"teaser"}).update("<p>&#160;</p>");parent.appendChild(teaser);}},_getLinkTypeClass:function(type){var cssClass="link";switch(type){case"link-image":cssClass="image";break;case"link-external":cssClass="link-ext";break;case"link-pdf":cssClass="pdf";break;case"link-zip":cssClass="zip";break;case"link-download":cssClass="file";break;case"link-video":cssClass="movie";break;default:cssClass="link";break;}return cssClass;}});
