// SlideMenu, an advanced ImageMenu. Copyright (c) Paul moers, <http://www.saulmade.nl>

window.addEvent('domready',function(){SlideMenu.initialize()});var SlideMenu={menuWidth:49,slideWidth:84,slideSpeed:600,fxFramerate:(navigator.appName=='Netscape'?100:30),areaUpdateInterval:40,areaVertices:(document.all?12:14),drawAreas:false,drawAreasOnComplete:false,pageHeightOnLoad:220,ajaxLoadImageMinimumDisplayTime:150,scriptsPath:'scripts/',adaptorPath:'scripts/contentAdaptor/',languageCode:'nl',initialize:function(){var c;this.menuItems=$('menu').getFirst().getFirst().getElements('div');this.menuItems.pop();this.menuItems.reverse();this.areas=$('menuMap').getElements('area');this.areaUpdateIterations=this.slideSpeed/this.areaUpdateInterval;this.drawAreas=this.drawAreas&&!document.all;if(this.drawAreas){this.ctx=new Element('canvas',{'width':467,'height':162,'styles':{'position':'absolute','left':151}}).inject($('menuOverlay'),'before').getContext("2d");this.ctxFills=["rgba(200, 0, 0, 0.5)","rgba(0, 200, 0, 0.5)","rgba(0, 0, 200, 0.5)","rgba(255, 255, 50, 0.5)","rgba(247, 99, 55, 0.5)","rgba(148, 83, 219, 0.5)","rgba(0, 255, 255, 0.5)"]}this.storeMenuInitials();this.activeMenuItem=this.getActiveMenuItem();this.initializeAreas(this.activeMenuItem);this.createMenuitemEffects();this.setAreaEvents();if(!Browser.Engine.trident4){this.page=$('content');this.pageOpacityFx=new Fx.Tween(this.page,'opacity',{duration:400,transition:Fx.Transitions.Quad.easeInOut,link:'cancel'});this.pageHeightFx=new Fx.Tween(this.page,'height',{duration:400,transition:Fx.Transitions.Quad.easeInOut,link:'cancel'});this.pageOpacityFx.set(1);this.currentPageName=document.location.href.replace(/.*\/([^\/]*)$/,'$1');this.areas.each(function(a,b){a.addEvent('click',function(){if(a.href.indexOf(this.currentPageName)!=-1){return false}this.currentPageName=a.href.replace(/.*\/([^\/]*)$/,'$1');this.activeMenuItem=b;this.loadPage(a.href);return false}.pass(b,this))}.bind(this));this.ajaxifyInternLinks();this.directExternLinks();new Element('script',{'type':'text/javascript','src':this.adaptorPath+'locale/'+this.languageCode+'.js'}).inject($E('head'));window.addEvent('load',function(){this.ajaxLoadImage=new Asset.image('images/ajaxLoadBgGrey.gif',{id:'ajaxLoadImage'})}.bind(this))}},storeMenuInitials:function(){var b,c;for(i=0;b=this.menuItems[i];i++){b.initialLeft=Fx.CSS.prototype.search('.menuItem0'+(i+1)).left.toInt()}for(i=0;c=this.areas[i];i++){c.initialCoords=c.coords;c.initialCoordinates=c.coords.split(',');c.initialCoordinates.each(function(a){a=a.toInt()})}},getActiveMenuItem:function(){var a;for(i=0;a=this.menuItems[i];i++){if(/active$/.test(a.className)){return i}}},getMenuItemByPageName:function(a){var b;for(i=0;b=this.areas[i];i++){if(b.href.indexOf(a)>-1){return i}}},initializeAreas:function(a){var b,i,j;b=this.areas[a].initialCoords.split(',');for(i=0;i<6;i=i+2){b[i]=b[i].toInt()+this.slideWidth}this.areas[a].coords=b.join(',');for(i=a+1;i<this.menuItems.length;i++){b=this.areas[i].initialCoords.split(',');for(j=0;j<this.areaVertices;j=j+2){b[j]=b[j].toInt()+this.slideWidth}this.areas[i].coords=b.join(',')}if(this.drawAreas&&this.drawAreasOnComplete){this.ctx.clearRect(0,0,419,162);for(i=0;i<this.menuItems.length;i++){b=this.areas[i].coords.split(',');this.ctx.fillStyle=this.ctxFills[i];this.ctx.beginPath();this.ctx.moveTo(b[0],b[1]);for(j=2;j<this.areaVertices;j=j+2){this.ctx.lineTo(b[j],b[j+1])}this.ctx.fill()}}},updateAreas:function(){var a,b,i,j;if(this.drawAreas){this.ctx.clearRect(0,0,419,162)}for(i=0;i<this.menuItems.length;i++){a=this.areas[i].coords.split(',');for(j=0;j<this.areaVertices;j=j+2){a[j]=a[j].toInt()}if(i!=this.currentActiveMenuItem){if(i<this.currentActiveMenuItem){for(j=0;j<this.areaVertices;j=j+2){a[j]=Math.round(a[j]-this.areas[i].moveToLeftInterval)}}else if(i>this.currentActiveMenuItem){for(j=0;j<this.areaVertices;j=j+2){a[j]=Math.round(a[j]- -this.areas[i].moveToRightInterval)}}for(j=0;j<6;j=j+2){a[j]=Math.round(a[j]-this.areas[i].narowingInterval)}}else{for(j=0;j<this.areaVertices;j=j+2){a[j]=Math.round(a[j]-this.areas[i].moveToLeftInterval)}for(j=0;j<6;j=j+2){a[j]=Math.round(a[j]- -this.areas[i].wideningInterval)}}this.areas[i].coords=a.join(',');if(this.drawAreas){this.ctx.fillStyle=this.ctxFills[i];this.ctx.beginPath();this.ctx.moveTo(a[0],a[1]);for(j=2;j<this.areaVertices;j=j+2){this.ctx.lineTo(a[j],a[j+1])}this.ctx.fill()}}},setAreas:function(a){var b,i;for(i=0;i<this.menuItems.length;i++){if(i!=a){this.areas[i].coords=this.areas[i].initialCoords}}this.initializeAreas(a)},createMenuitemEffects:function(){this.slideFx=new Array();for(i=0;i<this.menuItems.length;i++){this.menuItems[i].fx=new Fx.Tween(this.menuItems[i],'left',{'fps':this.fxFramerate,'duration':this.slideSpeed,transition:Fx.Transitions.Quad.easeInOut,'link':'cancel'})}this.menuItems[0].fx.onComplete=function(){$clear(this.areaUpdateIntervalID);this.setAreas(this.currentActiveMenuItem)}.bind(this)},setAreaEvents:function(){for(i=0;area=this.areas[i];i++){area.addEvent('mouseover',this.animateMenu.bindWithEvent(this,i));area.addEvent('mouseout',function(){this.animateMenu('',this.activeMenuItem)}.bind(this))}},animateMenu:function(e,a){var b,i,j;for(i=0;i<a;i++){this.menuItems[i].fx.start(this.menuItems[i].initialLeft)}for(i=a;i<this.menuItems.length;i++){this.menuItems[i].fx.start(this.menuItems[i].initialLeft+this.slideWidth)}for(i=0;i<this.menuItems.length;i++){b=this.areas[i].coords.split(',');for(j=0;j<this.areaVertices;j=j+2){b[j]=b[j].toInt()}if(i<a){this.areas[i].moveToLeftInterval=(b[10]-this.areas[i].initialCoordinates[10])/this.areaUpdateIterations}else if(i>a){this.areas[i].moveToRightInterval=((this.areas[i].initialCoordinates[10]- -this.slideWidth)-b[10])/this.areaUpdateIterations}if(i==a){this.areas[i].moveToLeftInterval=(b[10]-this.areas[i].initialCoordinates[10])/this.areaUpdateIterations;this.areas[i].wideningInterval=(this.slideWidth-((b[2]-b[8])-this.menuWidth))/this.areaUpdateIterations}else{this.areas[i].narowingInterval=((b[2]-b[8])-this.menuWidth)/this.areaUpdateIterations}}this.currentActiveMenuItem=a;$clear(this.areaUpdateIntervalID);this.areaUpdateIntervalID=this.updateAreas.periodical(this.areaUpdateInterval,this)},ajaxifyInternLinks:function(c){$$('.internLink').each(function(b){b.addEvent('click',function(a){a.blur();if(a.href.indexOf(this.currentPageName)!=-1){return false}this.currentPageName=a.href.replace(/.*\/([^\/]*)$/,'$1');this.activeMenuItem=this.getMenuItemByPageName(a.href.replace(/.*\/([^\/]*)$/,'$1'));this.animateMenu('',this.activeMenuItem);this.loadPage(a.href);return false}.pass(b,this))}.bind(this))},directExternLinks:function(){$$('a.externLink').each(function(a){a.target='_new'})},loadPage:function(c){new Request.JSON({url:this.adaptorPath+'loadAdaptor.php',method:'get',data:{'action':'getContents','requestResource':this.adaptorPath.replace(/.*?\//g,'../')+c.replace(/.*\/([^\/]*)$/,'$1'),'requestResourceElementArray':'['+'content'+']',breakOnMissingElement:false},autoCancel:true,onRequest:this.animatePage.pass('request',this),onComplete:function(a){if(a.status=='success'){if(a.content['content']){this.pageHTML=a.content['content'];this.animatePage('complete');return}else{var b='<h1>'+CaLocale.AjaxError+'</h1><br />'+CaLocale.receivedResultEmpty}}else if(a.status=='error'){var b=eval('CaLocale.'+a.message);b=(b==''?CaLocale.unknownError:b);b='<h1>'+CaLocale.AjaxError+'</h1><br />'+b+'<br />'+sprintf(CaLocale.targetWas,a.requestResource+(a.requestResourceElement?', '+a.requestResourceElement:''))}else{b='<h1>'+CaLocale.AjaxError+'</h1><br />'+CaLocale.incorrectResult}this.pageHTML=b+'<br /><br />'+CaLocale.pleaseTryAgain;this.animatePage('complete')}.bind(this)}).send();return false},animatePage:function(e){if(e=='request'){this.pageLoadingState='requestAnimation';this.page.setStyle('height',this.page.getSize().y-this.page.getStyle('padding-top').toInt()-this.page.getStyle('padding-bottom').toInt());this.pageOpacityFx.start(0).chain(function(){this.page.empty();this.ajaxLoadImage.inject(this.page);this.pageHeightFx.start(this.pageHeightOnLoad).chain(function(){this.ajaxLoadImage.setStyle('top',(this.pageHeightOnLoad-this.ajaxLoadImage.getStyle('height').toInt())/2);this.pageOpacityFx.start(1).chain(function(){(function(){this.pageLoadingState='requestAnimationDone'}).delay(this.ajaxLoadImageMinimumDisplayTime,this)}.bind(this))}.bind(this))}.bind(this))}if(e=='complete'){if(this.pageLoadingState!='requestAnimationDone'){this.animatePage.delay(50,this,'complete');return}this.pageOpacityFx.start(0).chain(function(){dummyContainer=new Element('div',{'styles':{'width':728,'position':'absolute','left':-800},'html':this.pageHTML}).inject(this.page);(accordionItems=dummyContainer.getElements('div.list div.body')).each(function(a){a.setStyle('overflow','hidden');a.setStyle('height',0);a.setStyles({'padding-top':0,'border-top':'none','padding-bottom':0,'border-bottom':'none'})});var c=dummyContainer.getSize().y+(document.all&&accordionItems.length>0?24:0);this.page.set('html',this.pageHTML);if(accordionItems.length>0){createLogoFx();var d=new Accordion('div.title','div.body',{alwaysHide:true,display:false,onActive:function(a,b){a.setStyle('color','#D2222A');setTimeout(function(){fadeLogos(a, true);}, 1);},onBackground:function(a,b){a.setStyle('color','#333333');fadeLogos(a);}})}this.ajaxifyInternLinks();this.directExternLinks();if(this.currentPageName=='contact.html'){ContactForm.initialize()}if(this.currentPageName=='index.html'){new Element('script',{'type':'text/javascript','src':this.scriptsPath+'slideshow.js'}).inject($E('head'))}this.pageHeightFx.start(c).chain(function(){this.pageOpacityFx.start(1).chain(function(){this.page.setStyle('height','auto');this.pageOpacityFx.set(1)}.bind(this))}.bind(this))}.bind(this))}}};