Ext.BLANK_IMAGE_URL="/extjs/resources/images/default/s.gif";Ext.namespace("VirtueleVakman");VirtueleVakman.InfoBanners=function(B,A){Ext.apply(this,A);if(B){this.render(B)}VirtueleVakman.InfoBanners.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.InfoBanners,Ext.util.Observable,{el:undefined,items:new Ext.util.MixedCollection(),render:function(A){this.el=A;if(!this.template){if(!VirtueleVakman.InfoBanners.infoBannersTemplate){VirtueleVakman.InfoBanners.infoBannersTemplate=new Ext.Template('<div class="infobanners"></div>')}this.template=VirtueleVakman.InfoBanners.infoBannersTemplate}this.template.append(this.el);if(this.height>110){VirtueleVakman.app.getClientSearchManager().getInfoBanners(parseInt(this.height/110),this.handleGetInfoBanners,this)}},handleGetInfoBanners:function(A,B){B.addItems(A);if(A.length>0){VirtueleVakman.app.showInfoBanners()}},addItems:function(A){Ext.each(A,function(B){var C=new VirtueleVakman.InfoBanner(this.el,B);this.items.add(C,C)},this)}});VirtueleVakman.InfoBanner=function(B,A){Ext.apply(this,A);if(B){this.render(B)}VirtueleVakman.InfoBanner.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.InfoBanner,Ext.util.Observable,{el:undefined,render:function(A){if(!this.template){if(!VirtueleVakman.InfoBanner.infoBannerTemplate){VirtueleVakman.InfoBanner.infoBannerTemplate=new Ext.Template('<div class="infobanner">','<img src="{url}"/>','<div class="description">{description}</div>','<div class="klikhier">Klik hier</div>',"</div>")}this.template=VirtueleVakman.InfoBanner.infoBannerTemplate}this.el=this.template.append(A,this,true);this.el.on("click",this.click,this);VirtueleVakman.app.track("ads/views/"+this.description)},click:function(){VirtueleVakman.app.showInfoDialog(this.id);VirtueleVakman.app.getClientSearchManager().resetAndSelectProperty(this.id);VirtueleVakman.app.track("ads/clicks/"+this.description)}});VirtueleVakman.ImageViewer=function(B,A){Ext.apply(this,A);if(B){this.render(B)}VirtueleVakman.ImageViewer.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.ImageViewer,Ext.util.Observable,{tableRowEl:undefined,imagesEl:undefined,dotsEl:undefined,leftEl:undefined,rightEl:undefined,images:undefined,render:function(A){this.images=new Ext.util.MixedCollection();this.baseEl=A;if(!this.template){if(!VirtueleVakman.ImageViewer.imageViewerTemplate){VirtueleVakman.ImageViewer.imageViewerTemplate=new Ext.Template('<div class="imageviewer"><div class="dots"></div><div class="left"></div><div class="right"></div><div class="images"><table><tr></tr></table></div></div>')}this.template=VirtueleVakman.ImageViewer.imageViewerTemplate}this.el=this.template.overwrite(A,null,true);this.imagesEl=this.el.child("div.images");this.tableRowEl=this.el.child("tr");this.dotsEl=this.el.child("div.dots");this.leftEl=this.el.child("div.left");this.rightEl=this.el.child("div.right");this.leftEl.addClassOnOver("over");this.rightEl.addClassOnOver("over");this.leftEl.on("click",this.selectPreviousImage,this);this.rightEl.on("click",this.selectNextImage,this)},addImage:function(B,A){var C=new VirtueleVakman.Image(this.tableRowEl,this.dotsEl,{thumbImageUrl:B,imageUrl:A});this.images.add(A,C);if(this.images.getCount()==1){C.select();this.leftEl.hide();this.rightEl.hide()}else{this.leftEl.show();this.rightEl.show()}C.on("selected",this.imageSelected,this)},imageSelected:function(B){var A=0;this.images.each(function(C){if(C!=B){C.deselect()}else{this.imagesEl.scrollTo("left",102*A,true)}A++},this)},getCurrentSelectedImageIndex:function(){var B=this.images.getCount();for(var A=0;A<B;A++){if(this.images.items[A].isSelected()){return A}}return -1},selectNextImage:function(){var A=this.getCurrentSelectedImageIndex();A++;if(A>=this.images.getCount()){A=0}this.selectImageUsingIndex(A)},selectPreviousImage:function(){var A=this.getCurrentSelectedImageIndex();A--;if(A<0){A=this.images.getCount()-1}this.selectImageUsingIndex(A)},selectImageUsingIndex:function(A){this.images.items[A].select()}});VirtueleVakman.Image=function(C,B,A){Ext.apply(this,A);this.addEvents({selected:true});this.render(C,B);VirtueleVakman.Image.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.Image,Ext.util.Observable,{tableRowEl:undefined,dotsEl:undefined,imageEl:undefined,selected:false,render:function(B,A){this.tableRowEl=B;this.dotsEl=A;if(!this.template){if(!VirtueleVakman.Image.imageTemplate){VirtueleVakman.Image.imageTemplate=new Ext.Template('<td><div class="image">&nbsp;</div></td>');VirtueleVakman.Image.dotTemplate=new Ext.Template('<span class="dot">&nbsp;</span>')}this.template=VirtueleVakman.Image.imageTemplate;this.dotTemplate=VirtueleVakman.Image.dotTemplate}this.cellEl=this.template.append(B,{imageUrl:this.imageUrl},true);this.imageEl=this.cellEl.child("div.image");this.imageEl.setStyle("background-image","url("+this.thumbImageUrl+")");this.imageEl.on("click",this.click,this);this.dotEl=this.dotTemplate.append(A,{},true);this.dotEl.addClassOnOver("over");this.dotEl.on("click",this.dotClick,this)},select:function(){if(!this.selected){this.selected=true;this.dotEl.addClass("selected");this.fireEvent("selected",this)}},deselect:function(){if(this.selected){this.selected=false;this.dotEl.removeClass("selected")}},dotClick:function(){this.select()},click:function(D){D.preventDefault();var C=D.getTarget();var A=VirtueleVakman.app.getLayout().getViewSize();if(!this.imageDialog){if(!VirtueleVakman.Image.ImageDialog){VirtueleVakman.Image.ImageDialog=new Ext.BasicDialog("image-dlg",{height:200,width:200,modal:true,shadow:true,collapsible:false,closable:true,resizable:false});VirtueleVakman.Image.ImageDialog.addKeyListener(27,VirtueleVakman.Image.ImageDialog.hide,VirtueleVakman.Image.ImageDialog);VirtueleVakman.Image.ImageDialog.addButton("Sluiten",VirtueleVakman.Image.ImageDialog.hide,VirtueleVakman.Image.ImageDialog)}this.imageDialog=VirtueleVakman.Image.ImageDialog}var B=this.imageDialog.getEl().child("div.x-dlg-bd:first-child");B.update('<img src="'+this.imageUrl+'" style="text-align: center;"/>');B.child("img").on("load",function(){var G=B.child("img").getSize();G.height+=20;G.width+=20;var E=G.height>A.height?A.height:G.height;var F=G.width>A.width?A.width:G.width;this.imageDialog.setContentSize(F,E);this.imageDialog.center()},this);this.imageDialog.show(C)},isSelected:function(){return this.selected}});VirtueleVakman.MapsDialog=function(){VirtueleVakman.MapsDialog.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.MapsDialog,Ext.util.Observable,{mapsDialog:undefined,gMap:undefined,gDir:undefined,adresWindowEl:undefined,adresWindowUpdateEl:undefined,adresWindowTemplate:undefined,openingsTijdTemplate:undefined,openingsTijdenWindowEl:undefined,openingsTijdenWindowUpdateEl:undefined,infoWindowTabs:undefined,infoWindowTabsAddressOnly:undefined,trackPrefix:undefined,postalCodeRegEx:/^[0-9]{4} *([a-zA-z]{2})?$/,appendOpeningsTijd:function(A,B,C){if(!Ext.isEmpty(C)){openingsTijdTemplate.append(A,{dag:B,tijden:C})}},showRoute:function(B,A){if(postalCodeRegEx.test(B)){gDir.loadFromWaypoints([B+",NL",A])}else{gDir.loadFromWaypoints([B,A])}},updateAdresWindow:function(C,B){var E=adresWindowTemplate.overwrite(adresWindowUpdateEl,B,true);var A=E.child("div.routeSelector");var D=E.child("div.routeTo");A.enableDisplayMode();D.enableDisplayMode();E.select("span.routeToA").on("click",function(F){F.preventDefault();A.hide();D.show();gMap.updateCurrentTab(function(){});D.child("form").dom[0].focus()},this);D.child("form").on("submit",function(F){F.preventDefault();showRoute(Ext.get("routeForm").dom[0].value,C.getLatLng())},this)},hide:function(){mapsDialog.hide();gMap.closeInfoWindow()},showInfoWindowUsingResult:function(C,A){this.updateAdresWindow(C,A);openingsTijdenWindowUpdateEl.select("*").remove();var B=openingsTijdWindowTemplate.append(openingsTijdenWindowUpdateEl,null,true);if(!Ext.isEmpty(A.openingsTijden)){this.appendOpeningsTijd(B,"Maandag",A.openingsTijden[0]);this.appendOpeningsTijd(B,"Dinsdag",A.openingsTijden[1]);this.appendOpeningsTijd(B,"Woensdag",A.openingsTijden[2]);this.appendOpeningsTijd(B,"Donderdag",A.openingsTijden[3]);this.appendOpeningsTijd(B,"Vrijdag",A.openingsTijden[4]);this.appendOpeningsTijd(B,"Zaterdag",A.openingsTijden[5]);this.appendOpeningsTijd(B,"Zondag",A.openingsTijden[6]);C.openInfoWindowTabs(infoWindowTabs)}else{C.openInfoWindowTabs(infoWindowTabsAddressOnly)}VirtueleVakman.app.track(trackPrefix+"/"+A.naam+A.postcode)},showInfoWindowUsingId:function(C,A){var B=this;PageMethods.GetCompanyDetails(C,function(D){B.showInfoWindowUsingResult(A,D)})},loadMarkers:function(A){var B=this;var C=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:A}),reader:new Ext.data.XmlReader({record:"loc",id:"id"},["lat","lng"])});C.on("load",function(){C.each(function(E){var F=new GLatLng(E.get("lat"),E.get("lng"));var D=new GMarker(F);GEvent.addListener(D,"click",function(){B.showInfoWindowUsingId(E.id,D)});gMap.addOverlay(D)})});C.load()},removeAllMarkers:function(){gMap.clearOverlays()},show:function(A){trackPrefix=A;var C=VirtueleVakman.app.getLayout().getViewSize();var B=Ext.DomHelper.append("body",'<div style="visibility:hidden;position:absolute;top:0px;"><div class="x-dlg-hd">Verkooppunten</div><div class="x-dlg-bd"><div></div></div></div>');mapsDialog=new Ext.BasicDialog(B,{height:C.height-200,width:700,minHeight:200,minWidth:400,modal:false,shadow:true,collapsible:false,closable:true});mapsDialog.addKeyListener(27,this.hide,this);mapsDialog.addButton("Sluiten",this.hide,this);var D=mapsDialog.getEl().child("div.x-dlg-bd:first-child");gMap=new GMap2(D.dom);gMap.addControl(new GSmallMapControl());gMap.addControl(new GMapTypeControl());mapsDialog.on("resize",function(){gMap.checkResize()});gDir=new GDirections(gMap);GEvent.addListener(gDir,"error",function(){Ext.Msg.alert("Routebeschrijving","Opvragen van routebeschrijving mislukt ("+gDir.getStatus().code+")")});GEvent.addListener(gDir,"load",function(){gMap.closeInfoWindow()});adresWindowEl=Ext.DomHelper.append("body","<div><div></div></div>",true);adresWindowUpdateEl=adresWindowEl.child("div");openingsTijdenWindowEl=Ext.DomHelper.append("body","<div><div></div></div>",true);openingsTijdenWindowUpdateEl=openingsTijdenWindowEl.child("div");adresWindowTemplate=new Ext.Template("<div><h3>{naam}</h3>","<p>{adresRegel1}<br/>{postcode} {plaats}</p>",'<p>{telefoon}<br/><a class="email" href="mailto:{email}">{email}</a><br/><a target="_blank" href="{website}">{website}</a></p>','<div class="routeSelector">Routebeschrijving: <span class="routeToA">Hier naartoe</span></div>','<div class="routeTo" style="display: none;">',"<h5>Vertrekpunt</h5>",'<form id="routeForm" action="/zoek"><input type="text"></input><span>&nbsp;</span></form>',"</div></div>");openingsTijdWindowTemplate=new Ext.Template('<table class="openingstijden"></table>');openingsTijdTemplate=new Ext.Template("<tr><td>{dag}</td><td>{tijden}</td></tr>");infoWindowTabs=[new GInfoWindowTab("Adres",adresWindowEl.dom),new GInfoWindowTab("Geopend",openingsTijdenWindowEl.dom)];infoWindowTabsAddressOnly=[new GInfoWindowTab("Adres",adresWindowEl.dom)];gMap.setCenter(new GLatLng(52.328625,5.877686),7);mapsDialog.anchorTo("north","tr-tr",[5,5]);mapsDialog.show()}});VirtueleVakman.ProductDialog=function(){var B,C,X,W,I,A,O,F=0;function N(){return B.getEl().child("div.x-dlg-bd:first-child")}function Q(Z){Z.preventDefault();VirtueleVakman.app.showInfoDialog(Z.getTarget().id)}function J(b,Z){var c=new VirtueleVakman.MapsDialog();c.show(Z);c.removeAllMarkers();var a=N();a.select(b).each(function(d){c.loadMarkers(d.dom.innerHTML)})}function P(Z){Z.preventDefault();J("span.dealergroup",L());T("dealermap")}function V(Z){Z.preventDefault();J("span.showroom",L());T("showroommap")}function Y(d,c,Z){var b=Ext.get(d);var a=N();if(a.select(c).getCount()>0){b.on("click",Z);b.show()}}function H(b,a){var Z=new VirtueleVakman.ImageViewer(b);a.select("img").each(function(c){Z.addImage(c.dom.src.replace("MD/","MD/Small/"),c.dom.src.replace("MD/","MD/Medium/"))});a.remove()}function M(Z){H(Z.child("div.phimageviewer"),Z.child("div.images"));Z.select("div.info").on("click",Q);Y("dealerslink","span.dealergroup",P);Y("showroomlink","span.showroom",V);I=Z.child("td.header h6").dom.innerHTML;A=Z.child("table tr:nth-child(2) td:nth-child(2)").dom.innerHTML;O=Z.child("table tr:nth-child(3) td:nth-child(2)").dom.innerHTML;T()}function L(){return"product/"+A+"/"+O+"/"+I}function T(Z){if(!Ext.isEmpty(Z)){VirtueleVakman.app.track(L()+"/"+Z)}else{VirtueleVakman.app.track(L())}}function G(Z){H(Z.child("div.phimageviewer1"),Z.child("div.images1"));H(Z.child("div.phimageviewer2"),Z.child("div.images2"));Z.select("div.info").on("click",Q)}function E(){var Z=B.getEl().child("div.x-dlg-bd:first-child");var a=Z.getUpdateManager();a.purgeListeners();a.on("update",M);a.update("/ProductLeaflet.aspx",{id:X});B.resizeTo(500,B.height)}function S(){var Z=B.getEl().child("div.x-dlg-bd:first-child");var a=Z.getUpdateManager();a.purgeListeners();a.on("update",G);a.update("/ProductComparison.aspx",{id1:X,id2:W});B.resizeTo(700,B.height)}function R(){B.resizeTo(700,B.height);var a=new Ext.Template('<td class="value">&nbsp;</td>');var b=new Ext.Template('<td class="header value"><h6>Kies een product</h6><img src="/images/question100.gif"/></td>');var Z=B.getEl();Z.select("div.properties tr").each(function(d,e,c){if(c>0){a.append(d);return }b.append(d)})}function U(Z){if(Z==0){if(F==1||F==2){E()}F=0}if(Z==1){R();F=1}if(Z==2){S();F=2}}function K(){if(F==1||F==2){U(0)}else{U(1)}}function D(){F=0;VirtueleVakman.app.onProductDialogHide()}return{compare:function(Z){W=Z;U(2)},show:function(b,a){if(!B){var Z=VirtueleVakman.app.getLayout().getViewSize();B=new Ext.BasicDialog("product-dlg",{height:Z.height-200,width:500,minHeight:200,minWidth:400,modal:false,shadow:true,collapsible:false,closable:true,resizable:false});B.addKeyListener(27,B.hide,B);B.addButton("Sluiten",B.hide,B);B.on("hide",D)}if(!B.isVisible()){B.alignTo("north","tl-tl",[5,5]);B.show(a)}X=b;E();F=0}}}();function callFromFlex(B){var C=window.open("","name","height=700,width=800,scrollbars=yes,resizable=yes");var A=C.document;A.write("<html><head><title>Miele</title>");A.write("<link href='"+B[1]+"print.css/$file/print.css' rel='stylesheet' type='text/css'>");A.write("<!--[if lt IE 7]>");A.write("<script defer type='text/javascript' src='"+B[1]+"pngfix.js/$file/pngfix.js'><\/script>");A.write("<![endif]-->");A.write("</head><body>");A.write(B[0]);A.write("</body></html>");A.close();C.focus();C.print()}function thisMovie(A){if(navigator.appName.indexOf("Microsoft")!=-1){return window[A]}else{return document[A]}}function ExternalInterfaceManager(){this.registerMovie=function(A){if(!window.fakeMovies){window.fakeMovies=new Array()}window.fakeMovies[window.fakeMovies.length]=A};this.initialize=function(){if(document.all){if(window.fakeMovies){for(i=0;i<window.fakeMovies.length;i++){window[window.fakeMovies[i]]=new Object()}window.onload=initializeExternalInterface}}}}function initializeExternalInterface(){for(i=0;i<window.fakeMovies.length;i++){var C=window.fakeMovies[i];var B=window[C];var A=document.getElementById(C);for(var D in B){A[D]=function(){flashFunction='<invoke name="'+D.toString()+'" returntype="javascript">'+__flash__argumentsToXML(arguments,0)+"</invoke>";this.CallFunction(flashFunction)}}window[C]=A}}VirtueleVakman.ProductScroller=function(B,A){Ext.apply(this,A);if(B){this.render(B)}VirtueleVakman.ProductScroller.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.ProductScroller,Ext.util.Observable,{leftEl:undefined,rightEl:undefined,productsEl:undefined,noProductsEl:undefined,productsTableRowEl:undefined,doNotScrollAtNextUpdate:false,busyScrolling:false,leftRepeater:undefined,rightRepeater:undefined,items:new Ext.util.MixedCollection(),render:function(A){this.baseEl=A;if(!this.template){if(!VirtueleVakman.ProductScroller.productScrollerTemplate){VirtueleVakman.ProductScroller.productScrollerTemplate=new Ext.Template('<div class="left"></div><div class="right"></div><div class="noproducts">Er voldoen geen producten aan de door u gewenste kenmerken.</div>')}this.template=VirtueleVakman.ProductScroller.productScrollerTemplate}this.template.append(A);this.el=A;this.leftEl=this.el.child("div.left");this.rightEl=this.el.child("div.right");this.productsEl=this.el.child("div.products");this.noProductsEl=this.el.child("div.noproducts");this.noProductsEl.enableDisplayMode();this.noProductsEl.setVisible(false);this.productsTableRowEl=this.el.child("tr");this.initializeProducts();this.leftEl.on("click",this.scrollRight,this);this.rightEl.on("click",this.scrollLeft,this);this.processProductsElResize();Ext.EventManager.onWindowResize(this.processProductsElResize,this)},processProductsElResize:function(){var A=this.el.getSize();this.productsEl.setWidth(A.width-90)},getFirstAndLastItemIndex:function(){var A=this.productsEl.getScroll();var B=this.productsEl.getViewSize();return{first:(A.left/120)-5,last:((A.left+B.width)/120)}},prepareProductsForScrollRelative:function(B){var A=this.productsEl.getScroll();var C=this.productsEl.getViewSize();this.prepareProductsForScroll(A.left+B,A.left+B+C.width)},prepareProductsForScroll:function(A,B){var E=(A/120)-5;var D=(B/120);var C=0;this.items.each(function(F){if(F.isVisible()){if(C>D){return false}if(C>=E){F.loadImage()}C++}})},scrollToProduct:function(B){var A=this.items.get(B);this.scrollToProductVisibleIndex(this.getIndexInVisibleItems(A));this.doNotScrollAtNextUpdate=true},scrollToProductVisibleIndex:function(B){var D=this.productsEl.getViewSize();var A=60+(B*120)-(D.width/2);var C=60+(B*120)+(D.width/2);if(A<0){A=0}this.prepareProductsForScroll(A,C);this.productsEl.scrollTo("left",A,{duration:0.2,easing:"easeOut"})},scrollToMiddleProductInItems:function(){var B=this.getVisibleCount();if(B==0){this.productsEl.setVisible(false);this.noProductsEl.setVisible(true);return }if(!this.productsEl.isVisible()){this.noProductsEl.setVisible(false);this.productsEl.setVisible(true)}var A=B/2;this.scrollToProductVisibleIndex(A)},scrollLeft:function(){if(!this.busyScrolling){this.busyScrolling=true;this.busyScrolling=this.productsEl.scroll("left",200,{duration:0.2,easing:"easeOut",callback:this.doneScrolling,scope:this});this.prepareProductsForScrollRelative(200)}},scrollRight:function(){if(!this.busyScrolling){this.busyScrolling=true;this.busyScrolling=this.productsEl.scroll("right",200,{duration:0.2,easing:"easeOut",callback:this.doneScrolling,scope:this});this.prepareProductsForScrollRelative(-200)}},doneScrolling:function(){this.busyScrolling=false},initializeProducts:function(){this.productsTableRowEl.select("td",true).each(function(A){this.initProduct(A.dom.id,A)},this)},update:function(B){var A=new Ext.util.MixedCollection();Ext.each(B.SelectedProducts,function(D,C){A.add(D.Id,D);return true});A.each(function(C){if(!this.items.containsKey(C.Id)){this.addProduct(C)}else{this.items.get(C.Id).show()}return true},this);this.items.eachKey(function(C,D){if(!A.containsKey(C)){D.hide()}return true},this);if(this.doNotScrollAtNextUpdate){this.doNotScrollAtNextUpdate=false;return }this.scrollToMiddleProductInItems()},getIndexInVisibleItems:function(B){var A=0;this.items.each(function(C){if(C==B){return false}if(C.isVisible()){A++}});return A},getVisibleCount:function(){var A=0;this.items.each(function(B){if(B.isVisible()){A++}});return A},addProduct:function(B){var A=new VirtueleVakman.Product(this.productsTableRowEl,{id:B.Id,name:B.Name,brand:B.Brand,price:B.Price,url:B.Url});this.items.add(B.Id,A)},initProduct:function(D,A){var B=A.child("a.name").dom.innerHTML;var C=new VirtueleVakman.Product(A,{id:D,name:B,norender:true});this.items.add(D,C)},forEachItem:function(A,B){var C=0;var D=this.getFirstAndLastItemIndex();this.items.each(function(E){if(E.isVisible()){if(C>=D.first&&C<=D.last){A(E)}else{B(E)}C++}else{B(E)}})},showCompare:function(A){this.forEachItem(function(B){if(B.id!=A){B.showCompare(true)}else{B.showSelected(true)}},function(B){if(B.id!=A){B.showCompare()}else{B.showSelected()}})},hideCompare:function(){this.forEachItem(function(A){A.hideCompare(true)},function(A){A.hideCompare()})}});VirtueleVakman.Product=function(B,A){Ext.apply(this,A);if(B){this.render(B)}VirtueleVakman.Product.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.Product,Ext.util.Observable,{parentEl:undefined,visible:true,imageEl:undefined,compareEl:undefined,imageLoaded:false,wrapEl:undefined,render:function(A){if(!(this.norender||false)){this.parentEl=A;if(!this.template){if(!VirtueleVakman.Product.productTemplate){VirtueleVakman.Product.productTemplate=new Ext.Template('<td id="{id}"><div><h3>{brand}</h3><div class="image"><div class="magnifier"></div><div class="compare">Vergelijk</div></div><br /><h4>&euro;&nbsp;<strong>{price}</strong></h4></div></td>')}this.template=VirtueleVakman.Product.productTemplate}this.el=this.template.append(this.parentEl,{id:this.id,brand:this.brand,url:this.url,price:this.price},true)}else{this.el=A;this.url=this.el.child("div.image a").dom.href;this.el.select("a").remove()}this.el.enableDisplayMode();this.imageEl=this.el.child("div.image");this.imageEl.on("click",this.click,this);this.imageEl.addClassOnOver("over");this.compareEl=this.el.child("div.compare");this.compareEl.on("click",this.compareClick,this);this.compareEl.addClassOnOver("over")},compareClick:function(A){A.stopEvent();VirtueleVakman.ProductDialog.compare(this.id)},click:function(){VirtueleVakman.app.showProductDialog(this.id,this.imageEl)},show:function(){if(!this.visible){this.el.setVisible(true);this.visible=true}},hide:function(){if(this.visible){this.el.setVisible(false);this.visible=false}},showCompare:function(A){this.compareEl.dom.innerHTML="Vergelijk";if(!this.compareEl.isVisible()){if(Ext.isEmpty(A)||!A){this.compareEl.show()}else{this.compareEl.setVisible(true,true)}}},showSelected:function(A){this.compareEl.dom.innerHTML="Gekozen";if(!this.compareEl.isVisible()){if(Ext.isEmpty(A)||!A){this.compareEl.show()}else{this.compareEl.setVisible(true,true)}}},hideCompare:function(A){if(this.compareEl.isVisible()){if(Ext.isEmpty(A)||!A){this.compareEl.hide()}else{this.compareEl.enableDisplayMode();this.compareEl.setVisible(false,true)}}},isVisible:function(){return this.visible},loadImage:function(){if(!this.imageLoaded){this.imageLoaded=true;this.imageEl.set({title:"Klik hier om de productinformatie van de "+this.name+" te bekijken."});this.imageEl.setStyle("background-image","url("+this.url+")")}}});VirtueleVakman.ClientSearchManager=function(A){Ext.apply(this,A);this.addEvents({updated:true});VirtueleVakman.SelectedItem.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.ClientSearchManager,Ext.util.Observable,{selectedItems:undefined,valueDialog:undefined,valueDialogMgr:undefined,searchStatus:undefined,currentPropertyId:undefined,init:function(){this.selectedItems=new VirtueleVakman.SelectedItems("selecteditems");this.selectedItems.on("clear",this.createSearchStatus,this)},selectBrand:function(A){PageMethods.SelectBrand(this.searchStatus,A,this.handleUpdate,null,this)},deselectBrand:function(A){PageMethods.RemoveBrandSelection(this.searchStatus,A,this.handleUpdate,null,this)},selectProperty:function(A){PageMethods.SelectPropertyWithoutValue(this.searchStatus,A,this.handleUpdate,null,this)},selectPropertyWithSelectAllLowerValues:function(A,B){PageMethods.SelectPropertyWithSelectAllLowerValues(this.searchStatus,A,B,this.handleUpdate,null,this)},selectPropertyWithValue:function(B,A,C){PageMethods.SelectPropertyWithValues(this.searchStatus,B,[A],C,this.handleUpdate,null,this)},selectPropertyUsingValue:function(A){PageMethods.SelectPropertyUsingValue(this.searchStatus,A,this.handleUpdate,null,this)},deselectPropertyWithValue:function(B,A){PageMethods.RemovePropertyWithValues(this.searchStatus,B,[A],this.handleUpdate,null,this)},deselectProperty:function(A){PageMethods.RemovePropertySelection(this.searchStatus,A,this.handleUpdate,null,this)},getInfoBanners:function(A,C,B){PageMethods.GetInfoBanners(this.searchStatus,A,C,null,B)},createSearchStatus:function(){PageMethods.CreateEmptySearchStatus(this.searchType,this.handleUpdate,null,this)},resetAndSelectProperty:function(A){PageMethods.CreateSearchStatusSelectProperty(this.searchType,A,this.handleUpdate,null,this)},handleUpdate:function(A,B){B.update(A)},setSkinnySearchStatus:function(A){this.searchStatus={};this.searchStatus.SearchType=A.SearchType;this.searchStatus.SelectedProperties=A.SelectedProperties},getJsonSearchStatus:function(){return Ext.util.JSON.encode(this.searchStatus)},update:function(A){this.setSkinnySearchStatus(A);this.selectedItems.update(A);this.fireEvent("updated",A)},onPropertyValueClicked:function(E){E.preventDefault();var A=E.getTarget().id;var D=Ext.get(A);var C=Ext.get(D.findParent("div.propertyvalues"));var F=false;var B=Ext.get("formvalue");if(B.dom.length>0){F=B.dom[0].checked}if(!D.hasClass("selected")){D.addClass("selected");this.selectPropertyWithValue(this.currentPropertyId,D.id,F)}else{D.removeClass("selected");this.deselectPropertyWithValue(this.currentPropertyId,D.id,F)}this.updateCheckboxLowerValues(C)},onCheckBoxLowerValuesClicked:function(B){var A=Ext.get("formvalue");var C=A.dom[0].checked;this.selectPropertyWithSelectAllLowerValues(this.currentPropertyId,C)},onPropertyValuesUpdate:function(B){this.currentPropertyId=B.child("div.propertyvalues").id;B.select("div.propertyvalue").on("click",this.onPropertyValueClicked,this);this.updateCheckboxLowerValues(B);var A=Ext.get("cbLowerValues");if(!Ext.isEmpty(A)){A.on("click",this.onCheckBoxLowerValuesClicked,this)}},updateCheckboxLowerValues:function(C){var D=Ext.get("formvalue");if(D.dom.length==0){return }var B=C.child(".selected:last");var A=Ext.isEmpty(B);D.enableDisplayMode();D.setVisible(!A);if(!A){D.dom[0].nextSibling.nodeValue="Selecteer alle waarden tot maximaal "+B.id+"."}},showValueDialog:function(B){var A;if(!this.valueDialog){this.valueDialog=new Ext.BasicDialog("value-dlg",{height:300,width:550,minHeight:300,minWidth:550,modal:true,shadow:true,collapsible:false,closable:true,autoScroll:true});this.valueDialog.addKeyListener(27,this.valueDialog.hide,this.valueDialog);this.valueDialog.addButton("Sluiten",this.valueDialog.hide,this.valueDialog);A=this.valueDialog.getEl().child("div.x-dlg-bd:first-child");valueDialogMgr=A.getUpdateManager();valueDialogMgr.on("update",this.onPropertyValuesUpdate,this)}valueDialogMgr.update("/PropertyValues.aspx",{id:B,status:this.getJsonSearchStatus()});this.valueDialog.show()}});VirtueleVakman.SelectedItem=function(B,A){Ext.apply(this,A);this.addEvents({remove:true});if(B){this.render(B)}VirtueleVakman.SelectedItem.superclass.constructor.call(this)};Ext.extend(VirtueleVakman.SelectedItem,Ext.util.Observable,{valueEl:undefined,render:function(B){if(!this.template){if(!VirtueleVakman.SelectedItem.selectedItemTemplate){VirtueleVakman.SelectedItem.selectedItemTemplate=new Ext.Template('<div class="item" style="visibility: hidden;"><h5><table><tr><td><img src=\'/images/delete.png\'/></td><td>{name:trim}</td></tr></table></h5><div class=\'value\'></div><div class="links"></div></div>')}this.template=VirtueleVakman.SelectedItem.selectedItemTemplate}if(!this.linkTemplate){if(!VirtueleVakman.SelectedItem.selectedItemLinkTemplate){VirtueleVakman.SelectedItem.selectedItemLinkTemplate=new Ext.Template('<a href="{Url}" target="_blank">{Description}</a>')}this.linkTemplate=VirtueleVakman.SelectedItem.selectedItemLinkTemplate}if(!this.flashVideoLinkTemplate){if(!VirtueleVakman.SelectedItem.selectedItemFlashVideoLinkTemplate){VirtueleVakman.SelectedItem.selectedItemFlashVideoLinkTemplate=new Ext.Template('<a href="#">{Description}</a>')}this.flashVideoLinkTemplate=VirtueleVakman.SelectedItem.selectedItemFlashVideoLinkTemplate}if(!this.infoLinkTemplate){if(!VirtueleVakman.SelectedItem.selectedItemInfoLinkTemplate){VirtueleVakman.SelectedItem.selectedItemInfoLinkTemplate=new Ext.Template('<a href="#"><img src="/images/information.gif"/> Informatie</a>')}this.infoLinkTemplate=VirtueleVakman.SelectedItem.selectedItemInfoLinkTemplate}outerDiv=this.template.append(B,{name:this.name},true);this.el=outerDiv;this.valueEl=this.el.child("div[class=value]");this.linksEl=this.el.child("div[class=links]");if(!Ext.isEmpty(this.value)){this.setValue(this.value,this.selectAllLowerValues)}var A=this.el.child("img:first");A.on("click",this.onRemove,this);if(this.hasInformation){infoLinkEl=this.infoLinkTemplate.append(this.linksEl,null,true);infoLinkEl.on("click",function(C){C.preventDefault();VirtueleVakman.app.showInfoDialog(this.propertyId)},this)}if(!Ext.isEmpty(this.links)){Ext.each(this.links,function(C){if(C.PropertyLinkType==0){linkEl=this.linkTemplate.append(this.linksEl,C,true)}else{if(C.PropertyLinkType==1){linkEl=this.flashVideoLinkTemplate.append(this.linksEl,C,true);linkEl.on("click",function(D){D.preventDefault();VirtueleVakman.app.showFlashVideoDialog({player:C.Player,src:C.Url})})}}},this)}this.el.syncFx();this.el.fadeIn()},setValue:function(A,B){if(!Ext.isEmpty(A)){if(Ext.isEmpty(B)||!B){this.valueEl.update(A)}else{this.valueEl.update("Maximaal: "+A)}}},onRemove:function(A){this.fireEvent("remove",this)},getEl:function(){return this.el},destroy:function(){this.el.removeAllListeners();this.purgeListeners();this.el.remove()}});VirtueleVakman.SelectedProperty=function(B,A){VirtueleVakman.SelectedProperty.superclass.constructor.call(this,B,A)};Ext.extend(VirtueleVakman.SelectedProperty,VirtueleVakman.SelectedItem,{propertyId:undefined,destroy:function(){VirtueleVakman.app.getClientSearchManager().deselectProperty(this.propertyId);VirtueleVakman.SelectedProperty.superclass.destroy.call(this)}});VirtueleVakman.SelectedBrand=function(B,A){VirtueleVakman.SelectedBrand.superclass.constructor.call(this,B,A)};Ext.extend(VirtueleVakman.SelectedBrand,VirtueleVakman.SelectedItem,{destroy:function(){VirtueleVakman.app.getClientSearchManager().deselectBrand(this.value);VirtueleVakman.SelectedBrand.superclass.destroy.call(this)}});VirtueleVakman.SelectedItems=function(B,A){Ext.apply(this,A);this.addEvents({clear:true});if(B){this.render(B)}VirtueleVakman.SelectedItems.superclass.constructor.call(this)};VirtueleVakman.SelectedItems.Type_Brand=0;VirtueleVakman.SelectedItems.Type_Property=1;Ext.extend(VirtueleVakman.SelectedItems,Ext.util.Observable,{items:new Ext.util.MixedCollection(),render:function(A){if(!this.template){if(!VirtueleVakman.SelectedItems.selectedItemsTemplate){VirtueleVakman.SelectedItems.selectedItemsTemplate=new Ext.Template('<div id="selecteditems"><div class="items"></div><h5 class="remove">Alles verwijderen</h5></div>')}this.template=VirtueleVakman.SelectedItems.selectedItemsTemplate}this.baseEl=this.template.overwrite(A,{},true);this.el=this.baseEl.child("div.items");this.removeEl=this.baseEl.child("h5");this.removeEl.setVisible(false);this.removeEl.on("click",this.clear,this);this.items.on("add",this.updateRemoveVisibility,this);this.items.on("remove",this.updateRemoveVisibility,this)},clear:function(){this.fireEvent("clear")},updateRemoveVisibility:function(){this.removeEl.setVisible(this.items.getCount()!=0)},removeAndDestroyItem:function(A){if(this.items.contains(A)){this.items.remove(A);A.destroy()}},addPropertyItem:function(B,A){var C=new VirtueleVakman.SelectedProperty(this.el,A);this.addItemToCollection(B,C);return C},addBrandItem:function(B,A){var C=new VirtueleVakman.SelectedBrand(this.el,A);this.addItemToCollection(B,C);return C},addItem:function(B,A){var C=new VirtueleVakman.SelectedItem(this.el,A);this.addItemToCollection(B,C);return C},addItemToCollection:function(A,B){B.on("remove",this.removeAndDestroyItem,this);this.items.add(A,B)},update:function(A){var B=new Ext.util.MixedCollection();Ext.each(A.SelectedProperties,function(D,C){B.add(D.Id,D);return true});B.each(function(C){if(this.items.containsKey(C.Id)){this.items.key(C.Id).setValue(C.Value,C.SelectAllLowerValues)}else{if(C.Type==VirtueleVakman.SelectedItems.Type_Brand){this.addBrandItem(C.Id,{name:"Merk",value:C.Value})}else{if(C.Type==VirtueleVakman.SelectedItems.Type_Property){this.addPropertyItem(C.Id,{propertyId:C.Id,name:C.Name,value:C.Value,selectAllLowerValues:C.SelectAllLowerValues,hasInformation:C.HasInformation,links:C.Links})}}}return true},this);this.items.eachKey(function(C,D){if(!B.containsKey(C)){this.removeAndDestroyItem(D)}return true},this)},getEl:function(){return this.el},destroy:function(){this.el.removeAllListeners();this.purgeListeners();this.el.remove()}});RegExp.escape=function(B){if(!arguments.callee.sRE){var A=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];arguments.callee.sRE=new RegExp("(\\"+A.join("|\\")+")","g")}return B.replace(arguments.callee.sRE,"\\$1")};VirtueleVakman.app=function(){var H;var F;var C;var I;var B;var D;var E;var K;var J;var A;var L=false;var G=[{keyword:"voorladers",type:"kv",id:"9F134D2F-BF88-44DB-BEB3-3B2C900D2C88"},{keyword:"bovenladers",type:"kv",id:"56359A31-59D5-4D33-B390-226ED60C89D3"},{keyword:"verrijdbaar",type:"k",id:"743BC7EA-0232-4908-BC3D-4504B0D9EAF6"},{keyword:"trommelinhoud",type:"kd",id:"0D61023B-8962-4230-9E6E-86DED87F274C"},{keyword:"vuldeuropening",type:"kd",id:"D3F6436B-A82B-468B-B62B-71B5EC8D3807"},{keyword:"wassen en drogen",type:"k",id:"03991C55-F521-4772-9878-17F93D6566C5"},{keyword:"sensortechniek",type:"c",id:"53B6F615-3E61-4C72-8DDB-9E0F15A4F4AF"},{keyword:"trommeltechniek",type:"c",id:"BDFE6571-F437-46AC-9D9D-F3321FA0644C"},{keyword:"bevochtigingtechnieken",type:"c",id:"CF5C1202-C963-4A4E-A539-7C127918B510"},{keyword:"anti-allergiewasprogramma’s",type:"c",id:"15890F4D-1828-459A-A1A1-95D83C87C55D"},{keyword:"babywas-programma’s",type:"c",id:"30B84971-9733-4C5E-872B-4591041BE159"},{keyword:"restvocht percentage",type:"kd",id:"EF28405B-ED96-430C-A8AB-23469D72532F"},{keyword:"met vriesruimte",type:"k",id:"51977584-95CE-4709-9ED4-1EA1B87C18A9"},{keyword:"zonder vriesruimte",type:"k",id:"F3310009-A0B2-4C0D-B13C-03A55C5A7644"},{keyword:"vriesgedeelte onder",type:"kv",id:"57F7F080-2CBC-4096-9133-547D19A56CF0"},{keyword:"vriesgedeelte boven",type:"kv",id:"385799AE-D1C4-4864-B9A0-C4A7EDB77437"},{keyword:"amerikaanse (side by side)",type:"kv",id:"7E57E29D-1553-4A47-93C1-8C7236E970F1"},{keyword:"icemaker",type:"k",id:"8CB73ED3-AA69-487C-AE8D-8F90575C8B33"},{keyword:"waterdispenser",type:"k",id:"1E3A6EE0-63FB-431C-A25D-2EB0F87B84F4"},{keyword:"koeltechnieken",type:"c",id:"B5DCB79F-AAC0-4AA8-8844-174060C0F19E"},{keyword:"conditioneringtechnieken",type:"c",id:"B041239A-0373-42C7-9B9E-6FEED60B190C"},{keyword:"vriestechnieken",type:"c",id:"35A42B94-A62F-4975-998D-8E0F73B3AD47"},{keyword:"invriescapaciteit",type:"kd",id:"133F1C57-C22C-4FF4-A5DC-F003F3EA1372"},{keyword:"no-frost",type:"k",id:"F8911961-1086-4B4D-821A-7D4CE4D5FE70"},{keyword:"hygiënesystemen",type:"c",id:"069D8C08-6959-4F73-86B2-9D96F8534EA3"},{keyword:"wijn bewaarkasten",type:"kv",id:"467C7BC1-0B35-4DED-AA60-9DEB16E331AD"},{keyword:"wijn klimaatkasten",type:"kv",id:"F980DBC9-0DE1-4513-BEDA-E67D06064B83"},{keyword:"trillingvrije compressoren",type:"k",id:"D2526BAC-F405-4514-8849-A33FA8BDAEFF"},{keyword:"glasdeuren",type:"kd",id:"6F158803-EAFF-45DF-9C22-AEABA9DC28F4"},{keyword:"condensdroger",type:"k",id:"EA40E1F9-E774-4343-8F46-ECD13A5FC0B2"},{keyword:"luchtafvoerdroger",type:"k",id:"B11F7906-2D89-4F5C-9747-D1390854231E"},{keyword:"lozen op een waterafvoer",type:"k",id:"D3BF4CD1-59C1-4231-8B8F-C59187D8C0AB"},{keyword:"droogrek",type:"k",id:"F1AB6E04-245A-4778-9E64-D1ACAD36CB01"},{keyword:"stoom",type:"k",id:"F1AB6E04-245A-4778-9E64-D1ACAD36CB01"}];return{northRegion:null,getClientSearchManager:function(){return this.clientSearchManager},onCategoryBrandClick:function(M){M.preventDefault();VirtueleVakman.app.showCategoryBrand(Ext.get(M.getTarget().id).findParent("div[class=category]",null,true))},onCategoryClick:function(N){N.preventDefault();var M=Ext.get(N.getTarget()).findParent("div[class=category]",null,true);this.toggleCategoryProperties(M)},onClickProperty:function(O){O.preventDefault();var N=Ext.get(O.getTarget().id);var M=Ext.get(N.findParent("div.item"));this.clientSearchManager.selectProperty(M.id)},onClickPropertyValues:function(O){O.preventDefault();var N=Ext.get(O.getTarget().id);var M=Ext.get(N.findParent("div.item"));this.clientSearchManager.showValueDialog(M.id)},onClickBrand:function(M){this.clientSearchManager.selectBrand(M.getTarget().id)},onClickInfo:function(O){var N=Ext.get(O.getTarget().id);var M=N.findParent("div.item");this.showInfoDialog(M.id)},onUpdateFlashVideoDialog:function(M){},showFlashVideoDialog:function(R){var Q=new Ext.Template('<div id="flashvideo-dlg" style="visibility:hidden;position:absolute;top:0px;">','<div class="x-dlg-hd">Video</div>','<div class="x-dlg-bd">',"<div></div>","</div>","</div>");Q.append(Ext.get("body"));var M=new Ext.BasicDialog("flashvideo-dlg",{height:450,width:450,minHeight:450,minWidth:450,modal:true,shadow:true,collapsible:false,closable:true});M.addKeyListener(27,function(){this.hide();this.destroy(true)},M);M.addButton("Sluiten",function(){this.hide();this.destroy(true)},M);var O=M.getEl().child("div.x-dlg-bd:first-child");var N=new Ext.Template('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="420" height="370" id="flashMovie">','<param name="allowScriptAccess" value="sameDomain" />','<param name="movie" value="/flash/{player}"/>','<param name="quality" value="high" />','<param name="bgcolor" value="#ffffff" />','<embed name="flashMovie" src="/flash/{player}" quality="high" bgcolor="#ffffff" width="420" height="370" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />',"</object>");N.overwrite(O,R);var P=new Ext.util.DelayedTask(function(){var S=Ext.get("flashMovie");S.dom.setMedia(R.src+"|384|288")});P.delay(1000);M.on("hide",function(){var S=Ext.get("flashMovie");S.dom.Stop()});M.show()},onUpdateInfoDialog:function(N){var M=Ext.get("propertyInfoFlashMovie");if(!Ext.isEmpty(M)){var P=new Ext.Template('<a href="#" class="videoLink">{name}</a>');var O=Ext.util.JSON.decode(M.dom.innerHTML);Ext.each(O,function(Q){var R=P.append(N,Q,true);R.on("click",function(S){S.preventDefault();this.showFlashVideoDialog(Q)},this)},this)}},showInfoDialog:function(P,N){if(!F){F=new Ext.BasicDialog("info-dlg",{height:400,width:400,minHeight:400,minWidth:400,modal:false,shadow:true,collapsible:false,closable:true});F.addKeyListener(27,F.hide,F);F.addButton("Sluiten",F.hide,F)}var M=F.getEl().child("div.x-dlg-bd:first-child");var O=M.getUpdateManager();O.on("update",this.onUpdateInfoDialog,this);O.update("/PropertyInfo.aspx",{id:P});F.anchorTo("north","tr-tr",[-5,5]);F.show(N)},onUpdateProperties:function(M){M.select("span.enabled.novalues").on("click",VirtueleVakman.app.onClickProperty,this);M.select("span.enabled.hasvalues").on("click",VirtueleVakman.app.onClickPropertyValues,this);M.select("span.enabled").addClassOnOver("itemover");M.select("div.info").on("click",VirtueleVakman.app.onClickInfo,this);VirtueleVakman.app.onUpdateCategory(M)},onUpdateBrands:function(M){M.select("span.enabled").on("click",VirtueleVakman.app.onClickBrand,this).addClassOnOver("itemover");VirtueleVakman.app.onUpdateCategory(M)},onUpdateCategory:function(P){if(!P.isVisible()){var O=Ext.get("CategorySelector");O.select("div.category:has(div.details{display!=none}{visibility!=hidden})").each(function(Q){this.toggleCategoryProperties(Q)},this);P.position("absolute");P.beginMeasure();var N=P.setHeight().getHeight(true);P.endMeasure();P.clearPositioning();var M=P.findParent("div.category",null,true).child("div.head");P.setHeight(0);P.setHeight(N,{duration:0.5,scope:this,callback:function(){if(this.scrollCategoryIntoView){P.scrollIntoView(this.centerPanel.region.bodyEl)}}});P.setVisible(true,{duration:0.5,scope:this,callback:function(){if(this.scrollCategoryIntoView){P.scrollIntoView(this.centerPanel.region.bodyEl)}}})}else{if(this.scrollCategoryIntoView){P.scrollIntoView(this.centerPanel.region.bodyEl)}}},updateCenterWithCategory:function(){window.alert("Not implemented.")},showCategoryProperties:function(M,R){var P=M.child("div.head");var Q=M.child("div.details");var N=M.dom.id;this.scrollCategoryIntoView=false||R;if(N=="brands"){return }P.addClass("selected");var O=Q.getUpdateManager();O.purgeListeners();O.on("update",this.onUpdateProperties,this);O.loadScripts=true;O.update("/Category.aspx",{id:N,status:this.clientSearchManager.getJsonSearchStatus()})},toggleCategoryProperties:function(N){var O=N.id;var Q=N.child("div.details");var M=Q.isVisible();if(M){var P=N.child("div.head");P.removeClass("selected");Q.enableDisplayMode();Q.setHeight(0,{duration:0.2}).setVisible(false,{duration:0.2})}else{this.showCategoryProperties(N,true)}},showCategoryBrand:function(N){var P=N.child("div.head");var Q=N.child("div.details");var M=Q.isVisible();if(M){P.removeClass("selected");Q.enableDisplayMode();Q.setHeight(0,{duration:0.2}).setVisible(false,{duration:0.2})}else{P.addClass("selected");var O=Q.getUpdateManager();O.on("update",this.onUpdateBrands,this);O.update("/Brands.aspx",{status:this.clientSearchManager.getJsonSearchStatus()})}},onClientSearchManagerUpdated:function(N){this.initInfoBanners();this.productScroller.update(N);var O;if(N.SelectedProperties.length>0){if(N.SelectedProducts.length==0){O="Geen producten voldoen aan de door u gewenste kenmerken."}else{if(N.SelectedProducts.length==1){O="Eén product voldoet aan de door u gewenste kenmerken."}else{O=N.SelectedProducts.length+" producten voldoen aan de door u gewenste kenmerken. Prijzen van &euro; "+N.SelectedProducts[0].Price+" tot &euro; "+N.SelectedProducts[N.SelectedProducts.length-1].Price}}}else{O="Welke "+N.SelectedProducts.length+" producten wil je met elkaar vergelijken?"}H.getRegion("south").getActivePanel().setTitle(O);var M=Ext.get("CategorySelector");M.select("div.category:has(div.details{display!=none}{visibility!=hidden})").each(function(P){this.showCategoryProperties(P,false)},this)},getLayout:function(){return H},showProductDialog:function(N,M){VirtueleVakman.ProductDialog.show(N,M);this.productScroller.showCompare(N)},onProductDialogHide:function(){this.productScroller.hideCompare()},track:function(M){if(typeof urchinTracker!="undefined"){urchinTracker(M)}},submitEmail:function(M){var N=M.findField("email").getValue();if(N.length>0){PageMethods.SendEmailAddress(N);Ext.get("emailform").hide(true);Ext.get("thankyoubox").show(true)}},initInfoBanners:function(){if(Ext.isEmpty(this.infoBanners)){this.infoBanners=new VirtueleVakman.InfoBanners(Ext.get("west"),{height:this.centerPanel.region.panelSize.height})}},showInfoBanners:function(){if(!Ext.isEmpty(this.westRegion)){this.westRegion.show(null);this.westRegion.expand(null)}},initInvite:function(){var M=new Ext.form.Form({labelAlign:"top"});M.add(new Ext.form.TextField({fieldLabel:"E-mailadres",name:"email",width:320}));M.addButton({text:"Hou mij op de hoogte",type:"submit"},function(){VirtueleVakman.app.submitEmail(M)});M.render("emailform");Ext.get("emailform").addKeyListener(13,function(){VirtueleVakman.app.submitEmail(M)})},initSimplePage:function(){H=new Ext.BorderLayout(document.body,{north:{split:false,initialSize:120,minSize:0,titlebar:false},center:{titlebar:false,autoScroll:true,closeOnTab:false}});H.beginUpdate();this.northRegion=H.add("north",new Ext.ContentPanel("north","North")).region;this.centerPanel=new Ext.ContentPanel("center");H.add("center",this.centerPanel);H.endUpdate();this.track()},getIdFromTextLink:function(N){var O=N.getTarget().id;var M=O.substring(5);return M},onKeywordClick:function(M){M.preventDefault();var N=this.getIdFromTextLink(M);this.clientSearchManager.selectProperty(N)},onKeywordValueClick:function(N){N.preventDefault();var M=this.getIdFromTextLink(N);this.clientSearchManager.selectPropertyUsingValue(M)},onKeywordDialogClick:function(M){M.preventDefault();var N=this.getIdFromTextLink(M);this.clientSearchManager.showValueDialog(N)},onKeywordCategoryClick:function(N){N.preventDefault();var M=this.getIdFromTextLink(N);this.showCategoryProperties(Ext.get(M),true)},initProduct:function(M){},toggleText:function(P){P.preventDefault();var Q=Ext.get("text");var O=Ext.get("texthide");var N=Ext.get("textshow");O.setVisible(!O.isVisible());N.setVisible(!N.isVisible());if(Q.isVisible()){Q.setHeight(0,true).setVisible(false,true)}else{Q.beginMeasure();var M=Q.setHeight().getHeight(true);Q.endMeasure();Q.setHeight(M,true).setVisible(true,true)}},initText:function(){var O=Ext.get("texthide");var M=Ext.get("textshow");var Q=Ext.get("text");if(Ext.isEmpty(Q)){return }O.enableDisplayMode();M.enableDisplayMode();Q.enableDisplayMode();O.on("click",this.toggleText,this);M.on("click",this.toggleText,this);var N=Q.dom.innerHTML;var P=new RegExp();Ext.each(G,function(R){if(!P.compile){P=new RegExp("("+RegExp.escape(R.keyword)+")","ig")}else{P.compile("("+RegExp.escape(R.keyword)+")","ig")}var S="keyword";if(R.type=="k"){S=S+" normal"}else{if(R.type=="kd"){S=S+" dialog"}else{if(R.type=="kv"){S=S+" value"}else{if(R.type=="c"){S=S+" category"}}}}N=N.replace(P,String.format("<span class='{0}' id='text_{1}'>$1</span>",S,R.id))},this);Q.dom.innerHTML=N;Q.select("span.normal").on("click",this.onKeywordClick,this);Q.select("span.value").on("click",this.onKeywordValueClick,this);Q.select("span.dialog").on("click",this.onKeywordDialogClick,this);Q.select("span.category").on("click",this.onKeywordCategoryClick,this)},initSearch:function(){H=new Ext.BorderLayout(document.body,{north:{split:false,initialSize:120,minSize:0,titlebar:false},west:{split:false,initialSize:200,minSize:175,maxSize:400,titlebar:true,collapsible:true,collapsed:false,hidden:true,animate:true},east:{split:true,initialSize:250,minSize:175,maxSize:400,titlebar:true,autoScroll:true,collapsible:false,animate:true},south:{split:false,initialSize:200,minSize:10,maxSize:200,titlebar:true,collapsible:false,animate:true},center:{titlebar:false,autoScroll:true,closeOnTab:false}});H.beginUpdate();this.northRegion=H.add("north",new Ext.ContentPanel("north","North")).region;this.westRegion=H.add("west",new Ext.ContentPanel("west",{title:"Gesponsorde kenmerken"})).region;H.add("south",new Ext.ContentPanel("south",{title:""}));H.add("east",new Ext.ContentPanel("east",{title:"Door u geselecteerd"}));this.centerPanel=new Ext.ContentPanel("center");H.add("center",this.centerPanel);H.endUpdate();var Q=Ext.get("searchtype").dom.innerHTML;this.clientSearchManager=new VirtueleVakman.ClientSearchManager({searchType:Q});this.clientSearchManager.init();this.clientSearchManager.on("updated",this.onClientSearchManagerUpdated,this);var P=Ext.get("CategoryBrand");P.on("click",this.onCategoryBrandClick,this);var N=Ext.get("CategorySelector");N.select("div[class=head]").on("click",this.onCategoryClick,this).addClassOnOver("hover");var O=Ext.get("productscroller");this.productScroller=new VirtueleVakman.ProductScroller(O);var M=new VirtueleVakman.ImageViewer(Ext.get("imageviewer"));this.clientSearchManager.createSearchStatus();this.initText();this.track()}}}();