﻿var routeInfo=new Array(new Array("Meetjesland","Meetjesland","Meetjes","http://www.tov.be/fietsnetwerk.aspx?id=1210",2),new Array("Brugse Ommeland Zuid","Brugse Ommeland","BrugsOmm","http://www.westtoer.be/westtoer/froutes.aspx?id=4503",1),new Array("Leiestreek West","Leiestreek","LeieStr","http://www.westtoer.be/westtoer/froutes.aspx?id=23404",1),new Array("Leiestreek Oost","Leiestreek ","LeieStr","http://www.tov.be/fietsnetwerk.aspx?id=1208",2),new Array("Brugse Ommeland Noord","Brugse Ommeland","BrugsOmm","http://www.westtoer.be/westtoer/froutes.aspx?id=4501",1),new Array("Vlaamse Ardennen","Vlaamse Ardennen","VlArden","http://www.tov.be/fietsnetwerk.aspx?id=1206",2),new Array("Kust","Kust","Kust","http://www.westtoer.be/westtoer/froutes.aspx?id=23396",1),new Array("Westhoek Noord","Westhoek","WestHk","http://www.westtoer.be/westtoer/froutes.aspx?id=222",1),new Array("West Zeeuws Vlaanderen","Zeeland","ZeeLnd","http://www.routebureauzeeland.nl/nl/routes.lp?type=&regio=wzv",3),new Array("Westhoek Zuid","Westhoek","WestHk","http://www.westtoer.be/westtoer/froutes.aspx?id=223",1),new Array("Antwerpen 1: Kempen-oost","Antwerpen","Antw","http://www.antwerpsekempen.be/fietsknooppuntennetwerk.aspx?hid=3708#Omschrijving",4),new Array("Antwerpen 2: Kempen-noord","Antwerpen","Antw","http://www.antwerpsekempen.be/fietsknooppuntennetwerk.aspx?hid=3710#Omschrijving",4),new Array("Antwerpse 3: Kempen-zuid","Antwerpen","Antw","http://www.antwerpsekempen.be/fietsknooppuntennetwerk.aspx?hid=3712#Omschrijving",4),new Array("Antwerpen 4: Scheldeland, Mechelen, Lier","Antwerpen","Antw","http://www.antwerpsekempen.be/fietsknooppuntennetwerk.aspx?hid=3714#Omschrijving",4),new Array("Limburg","Limburg","Limbrg","http://www.toerismelimburg.be/exec/113145/3337",5),new Array("Hageland","Hageland","Hagelnd","http://webu.vlaamsbrabant.be/deelsites/toerisme/toerismeContent.jsp?page=5948",6),new Array("West Zeeuws-Vlaanderen","Zeeland","Zeelnd","http://www.routebureauzeeland.nl/nl/routes.lp?regio=wzv&ID=1031&type=fiets",3),new Array("Oost Zeeuws-Vlaanderen","Zeeland","Zeelnd","http://www.routebureauzeeland.nl/nl/routes.lp?regio=ozv&ID=1025&type=fiets",3),new Array("Waasland","Waasland","Waaslnd","http://www.tov.be/fietsnetwerk.aspx?id=110668",2),new Array("Scheldeland","Scheldeland","Scheldelnd","http://www.tov.be/fietsnetwerk.aspx?id=110664",2),new Array("Dijleland","Dijleland","Dijlelnd","http://webu.vlaamsbrabant.be/deelsites/toerisme/toerismeContent.jsp?page=7119",6),new Array("Walcheren & Noord-Beveland","Zeeland","Zeelnd","http://www.routebureauzeeland.nl/nl/routes.lp?regio=wnb&ID=1059&type=fiets",3),new Array("Zuid-Beveland & Tholen","Zeeland","Zeelnd","http://www.routebureauzeeland.nl/nl/routes.lp?regio=zbt&ID=1034&type=fiets",3),new Array("Schouwen-Duiveland","Zeeland","Zeelnd","http://www.routebureauzeeland.nl/nl/routes.lp?regio=sd&ID=1034&type=fiets",3),new Array("Brabantse Kouters","Brabantse Kouters","BrabKtrs","http://webu.vlaamsbrabant.be/deelsites/toerisme/toerismeContent.jsp?page=7227",6),new Array("De Brabantse Delta","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=794",7),new Array("De Baronie","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=34",7),new Array("Midden-Brabant","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=772",7),new Array("De Kempen","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=311",7),new Array("De Peel","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=310",7),new Array("De Wijde Biesbosch","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=35",7),new Array("De Meierij","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=822",7),new Array("Noordoost-Brabant","Noord Brabant","NBrab","http://www.routebureaubrabant.nl/route.aspx?id=624",7),new Array("VeloTour Hoge Venen - Eifel","Hoge Venen Eifel","HgVen","http://www.oostkantons.be/nl2/highlights/velotour.html",8),new Array("Zuid Limburg","Zuid Limburg","ZLimbrg","http://www.vvvzuidlimburg.nl",9),new Array("Wegdek","Wegdek","Wegdek","http://www.fietsnet.be",1));var authorInfo=new Array(new Array("Westtoer","http://www.westtoer.be/","Deze fietsnetwerken werden gerealiseerd door Westtoer vzw. De kaarten zijn uitgegeven in scheurvrij en waterbestendig papier en zijn te verkrijgen bij de plaatselijke diensten voor toerisme, bij Westtoer en een aantal boekhandels."),new Array("Toerisme Oost-Vlaanderen","http://www.tov.be/","Deze fietsnetwerken werden gerealiseerd door Toerisme Oost-Vlaanderen vzw. Meer informatie over de fietsnetwerken en over wat onderweg te zien en te doen is, kan men vinden op www.tov.be. TOV raadt de fietser aan de fietsnetwerkkaart mee te nemen als je gaat fietsen. De fietsnetwerkkaart kan worden aangekocht via www.Tov.be of in diensten voor toerisme en een aantal boekhandels."),new Array("Routebureau Zeeland","http://www.routebureauzeeland.nl/","Het fietsknooppuntensysteem [FIKS] Zeeland is een realisatie van Routebureau Zeeland."),new Array("Toerisme Provincie Antwerpen","http://www.tpa.be/","Deze fietsnetwerken werden gerealiseerd door Toerisme Provincie Antwerpen. De vermelding van de straatnamen maakt de papierkaarten nog gebruiksvriendelijker. De prijs blijft 5 euro per kaart."),new Array("Toerisme Limburg","http://www.toerismelimburg.be/","Deze fietsnetwerken werden gerealiseerd door Toerisme Limburg. Met deze supergedetailleerde fietskaart rij je probleemloos van knooppunt naar knooppunt en weet je op elk moment waar je je precies bevindt. Er hoort ook een handig infoboekje bij met de adressen en de beschrijving van alle fietsvriendelijke horeca."),new Array("Toerisme Vlaams-Brabant","http://webu.vlaamsbrabant.be/deelsites/toerisme/","Deze fietsnetwerken werden gerealiseerd door Toerisme Vlaams-Brabant. Het fietsknooppuntennetwerk Hageland sluit naadloos aan bij dat van Antwerpen en Limburg. Dat is een uitdaging voor alle kilometervreters en een mooie kans voor al wie graag een fietsvakantie in eigen land houdt. "),new Array("Routebureau Brabant","http://www.routebureaubrabant.nl/","Het fietsknooppuntensysteem Noord-Brabant is een realisatie van Routebureau Brabant."),new Array("Dienst voor toerisme van de Oostkantons","http://www.oostkantons.be","Dit fietsroutenetwerk is een realisatie van de dienst voor toerisme van de Oostkantons."),new Array("VVV Zuid Limburg","http://www.vvvzuidlimburg.nl","Deze fietsnetwerken werden gerealiseerd door VVV Zuid Limburg."));if(typeof deconcept=="undefined"){var deconcept=new Object();};if(typeof deconcept.util=="undefined"){deconcept.util=new Object();};if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();};deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;};this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);};if(id){this.setAttribute("id",id);};if(w){this.setAttribute("width",w);};if(h){this.setAttribute("height",h);};if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));};this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;};if(c){this.addParam("bgcolor",c);};var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];};return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);};_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" style=\"width:"+this.getAttribute("width")+";height:"+this.getAttribute("height")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";};var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";};_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);};_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" style=\"width:"+this.getAttribute("width")+";height:"+this.getAttribute("height")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";};_19+="<param name=\"allowScriptAccess\" value=\"always\" />";var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";};_19+="</object>";};return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}};if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}};return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}};try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}};if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}};return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;};if(this.major>fv.major){return true;};if(this.minor<fv.minor){return false;};if(this.minor>fv.minor){return true;};if(this.rev<fv.rev){return false;};return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;};if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}};return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}};if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};};var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;var Fietsnet={};Fietsnet.DOM={getElement:function(id){return document.getElementById(id);},addListener:function(o,event,delegate){if(o.addEventListener)o.addEventListener(event,delegate,false);else if(o.attachEvent)o.attachEvent("on"+event,delegate);},getEventSource:function(e){var element;if(!e)var e=window.event;if(e.target)element=e.target;else if(e.srcElement)element=e.srcElement;if(element.nodeType==3)element=element.parentNode;return(element);},getEventSourceParentByType:function(e,type){return Fietsnet.DOM.getParentOfType(Fietsnet.DOM.getEventSource(e),type);},getParentOfType:function(child,type){var parent=child;while((parent!=null)&&(parent.nodeName!=type))parent=parent.parentNode;return(parent);},getKeyFromEvent:function(e){var key;if(e.keyCode)key=e.keyCode;else if(e.which)key=e.which;return(key);},stopEventPropagation:function(e){e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();},preventEventDefault:function(e){if(e.preventDefault)e.preventDefault();else e.returnValue=false;},getPosition:function(obj){var curleft=curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}};return([curleft,curtop]);},getWindowSize:function(){var size=[0,0];if(window.innerWidth){size[0]=window.innerWidth;size[1]=window.innerHeight;}else if(document.documentElement){size[0]=document.documentElement.clientWidth;size[1]=document.documentElement.clientHeight;}else if(document.body){size[0]=document.body.clientWidth;size[1]=document.body.clientHeight;};return size;},createDelegate:function(instance,method){return function(){return method.apply(instance,arguments);};}};Fietsnet.Error={validateParams:function(params,expectedParams){var isInList=[];var key=null;var validKey=null;var s="";for(key in params){found=false;for(expectedKey in expectedParams)if(key==expectedParams[expectedKey].name){isInList[expectedKey]=true;if(typeof(params[key])!=expectedParams[expectedKey].type)s+=key+" is "+typeof(params[key])+", but should be "+expectedParams[expectedKey].type+"\n";else if(typeof(params[key])=="object")if((params[key]===null)&&(expectedParams[expectedKey].mayBeNull==false))s+=key+" cannot be null\n";found=true;break;};if(!found)s+=key+" unrecognised parameter\n";};for(key in expectedParams){if(expectedParams[key].optional!==undefined)if(expectedParams[key].optional===false)if(isInList[key]===undefined)s+=expectedParams[key].name+" is required parameter\n";};if(s.length==0)return null;return Fietsnet.Error.popStackFrame(new Error(s));},popStackFrame:function(e){return e;}};Fietsnet.Poster={_theForm:null,openWindow:function(url,parameters,targetWindow){var f=Fietsnet.Poster.getPosterForm(url,targetWindow);if(parameters)for(i=0;i<parameters.length;i++)f.appendChild(Fietsnet.Poster.createParameter(parameters[i][0],parameters[i][1]));return f.submit();},getPosterForm:function(url,targetWindow){if(Fietsnet.Poster._theForm)document.body.removeChild(Fietsnet.Poster._theForm);var f=document.createElement("FORM");document.body.appendChild(f);f.method="POST";f.target=targetWindow;f.action=url;Fietsnet.Poster._theForm=f;return f;},createParameter:function(parName,parValue){var parameter=document.createElement("input");parameter.type='hidden';parameter.name=parName;parameter.value=parValue;return parameter;}};Fietsnet.StringBuilder=function(){this._parts=[];this._string="";this._invalidated=false;};Fietsnet.StringBuilder.prototype={append:function(string){this._invalidated=true;this._parts[this._parts.length]=string;},clear:function(){if(this._parts.length==0)return;this._parts=[];this._string="";this._invalidated=false;},toString:function(){if(!this._invalidated)return this._string;this._string=this._parts.join("");this._invalidated=false;return this._string;}};Fietsnet.AutocompleteBox=function(inputElement,autocompleteHandler,selectHandler){var parentForm=Fietsnet.DOM.getParentOfType(inputElement,"FORM");if(parentForm!=null)parentForm.setAttribute("autocomplete","off");inputElement.setAttribute("autocomplete","off");this._inputElement=inputElement;this._autocompleteHandler=autocompleteHandler;this._selectHandler=selectHandler;this._inputElement._comboObject=this;this._hostElement=null;this._tableElement=null;this._selectedRowElement=null;this._lastValue=null;this._timer=null;this._tableStyle=null;this._selectedRowStyle=null;this._unselectedRowStyle=null;Fietsnet.DOM.addListener(this._inputElement,"blur",Fietsnet.DOM.createDelegate(this,this.onblur));Fietsnet.DOM.addListener(this._inputElement,"keydown",Fietsnet.DOM.createDelegate(this,this.onkeydown));Fietsnet.DOM.addListener(window,"resize",Fietsnet.DOM.createDelegate(this,this.onresize));};Fietsnet.AutocompleteBox.prototype={setEntries:function(entries){this.createTableElement(entries);this._tableElement.style.display="";},createTableElement:function(entries){if(!this._hostElement)document.getElementsByTagName("BODY")[0].appendChild(this._hostElement=document.createElement("DIV"));var position=Fietsnet.DOM.getPosition(this._inputElement);var styleAttr="style=\"position:absolute;width:" + this._inputElement.offsetWidth + "px;"+ "left:"+ position[0]+ "px;"+ "top:"+(position[1]+ this._inputElement.offsetHeight- 1)+ "px \"";var sb=new Fietsnet.StringBuilder();sb.append("<TABLE ");if(this._tableStyle)sb.append("class=\"" + this._tableStyle + "\" ");sb.append("id=\"" + this._inputElement.id + "_acbTable\"");sb.append(styleAttr);sb.append("><TBODY onMouseOver=\"return Fietsnet.AutocompleteBox.prototype.onmouseover(event);\" onClick=\"return Fietsnet.AutocompleteBox.prototype.onclick(event);\">");if(entries){for(i=0;i<entries.length;i++){sb.append("<TR ");if(this._unselectedRowStyle)sb.append("class=\"" + this._unselectedRowStyle + "\" ");sb.append("><TD>"+entries[i]+"</TD></TR>");}};sb.append("</TBODY></TABLE>");this._hostElement.innerHTML=sb.toString();this._tableElement=this._hostElement.firstChild;this._tableElement._comboObject=this;},resize:function(){var position=Fietsnet.DOM.getPosition(this._inputElement);if(this._tableElement!=null){this._tableElement.style.position="absolute";this._tableElement.style.width=this._inputElement.offsetWidth+"px";this._tableElement.style.left=position[0]+"px";this._tableElement.style.top=position[1]+this._inputElement.offsetHeight-1+"px";}},onresize:function(event){this.resize();},onblur:function(event){if(this._tableElement)window.setTimeout(Fietsnet.DOM.createDelegate(this,function(){this._tableElement.style.display="none";}),250);},onkeydown:function(event){if(this.processKey(Fietsnet.DOM.getKeyFromEvent(event))==false){Fietsnet.DOM.stopEventPropagation(event);Fietsnet.DOM.preventEventDefault(event);return false;}},onmouseover:function(event){var rowElement=Fietsnet.DOM.getEventSourceParentByType(event,"TR");var comboObject=rowElement.parentNode.parentNode._comboObject;comboObject.setSelection(rowElement);},onclick:function(event){var rowElement=Fietsnet.DOM.getEventSourceParentByType(event,"TR");var comboObject=rowElement.parentNode.parentNode._comboObject;comboObject.setSelection(rowElement);comboObject.confirmSelection();},setSelection:function(rowElement){if(!rowElement)return;if(this._selectedRowElement){if(this._unselectedRowStyle)this._selectedRowElement.className=this._unselectedRowStyle;else this._selectedRowElement.style.background="";};this._selectedRowElement=rowElement;if(this._selectedRowStyle)this._selectedRowElement.className=this._selectedRowStyle;else{this._selectedRowElement.style.backgroundColor="silver";};return false;},resetSelection:function(){if(this._selectedRowElement){if(this._unselectedRowStyle)this._selectedRowElement.className=this._unselectedRowStyle;else this._selectedRowElement.style.background="";};this._selectedRowElement=null;},downSelection:function(){var sibling;if(this._selectedRowElement){if(null !=(sibling=this._selectedRowElement.nextSibling)){return(this.setSelection(sibling));}};if(this._tableElement)return(this.setSelection(this._tableElement.firstChild.firstChild));},upSelection:function(){var sibling;if(this._selectedRowElement){if(null !=(sibling=this._selectedRowElement.previousSibling)){return(this.setSelection(sibling));}};if(this._tableElement)return(this.setSelection(this._tableElement.firstChild.lastChild));},confirmSelection:function(){if(this._selectedRowElement){this._lastValue=this._selectedRowElement.firstChild.innerHTML;this._inputElement.value=this._lastValue;}else this._lastValue=this._inputElement.value;if(this._tableElement)this._tableElement.style.display="none";if(this._selectHandler)this._selectHandler(this._lastValue,this._inputElement.id);},processKey:function(key){switch(key){case 40:{this.downSelection();return(false);};case 38:{this.upSelection();return(false);};case 13:{this.confirmSelection();return(false);};case 27:{this.onblur();return(false);};default:{this.resetSelection();window.clearTimeout(this._timer);this._timer=window.setTimeout(Fietsnet.DOM.createDelegate(this,this.requestOptions),500);return(true);}}},requestOptions:function(){if(this._inputElement.value!=this._lastValue){this._lastValue=this._inputElement.value;if(this._inputElement.value.length>1){if(this._autocompleteHandler)this._autocompleteHandler(this._lastValue,this._inputElement.id);}else this.setEntries(null);}}};Fietsnet.CitySelector=function(params){var e=Fietsnet.Error.validateParams(params,[{name:"element",type:"string",optional:false},{name:"map",type:"object",optional:false,mayBeNull:false},{name:"tableStyle",type:"string",optional:true},{name:"selectedRowStyle",type:"string",optional:true},{name:"unselectedRowStyle",type:"string",optional:true}]);if(e)throw Fietsnet.Error.popStackFrame(e);this._autocompleteBox=new Fietsnet.AutocompleteBox(Fietsnet.DOM.getElement(params.element),Fietsnet.DOM.createDelegate(this,this.handleAutocomplete),Fietsnet.DOM.createDelegate(this,this.handleSelect));this._autocompleteBox.citySelector=this;this._serviceProvider=params.map._mapper;this._autocompleteBox._tableStyle=(params.tableStyle)?(params.tableStyle):(null);this._autocompleteBox._selectedRowStyle=(params.selectedRowStyle)?(params.selectedRowStyle):(null);this._autocompleteBox._unselectedRowStyle=(params.unselectedRowStyle)?(params.unselectedRowStyle):(null);};Fietsnet.CitySelector.prototype={handleAutocomplete:function(prefix,id){if(this._serviceProvider)this._serviceProvider.getCityNames(prefix,"Fietsnet.CitySelector.prototype.onCitiesReceived",id);},handleSelect:function(city,id){if(this._serviceProvider)this._serviceProvider.getCityLocation(city,"Fietsnet.CitySelector.prototype.onCityLocationReceived",id);},select:function(){var inputElement=this._autocompleteBox._inputElement;this.handleSelect(inputElement.value,inputElement.id);},onCitiesReceived:function(cities,id){Fietsnet.DOM.getElement(id)._comboObject.setEntries(cities);},onCityLocationReceived:function(location,id){var citySelector=Fietsnet.DOM.getElement(id)._comboObject.citySelector;if(citySelector._serviceProvider)citySelector._serviceProvider.focusMap(location);}};var theDirectionsPanel=null;Fietsnet.DirectionsPanel=function(params){var e=Fietsnet.Error.validateParams(params,[{name:"element",type:"string",optional:false},{name:"map",type:"object",optional:false,mayBeNull:false},{name:"tableStyle",type:"string",optional:true},{name:"selectedRowStyle",type:"string",optional:true},{name:"unselectedRowStyle",type:"string",optional:true},{name:"kmCellStyle",type:"string",optional:true}]);if(e)throw Fietsnet.Error.popStackFrame(e);this._container=Fietsnet.DOM.getElement(params.element);this._serviceProvider=params.map._mapper;this._tableStyle=(params.tableStyle)?(params.tableStyle):(null);this._selectedRowStyle=(params.selectedRowStyle)?(params.selectedRowStyle):(null);this._unselectedRowStyle=(params.unselectedRowStyle)?(params.unselectedRowStyle):(null);this._kmCellStyle=(params.kmCellStyle)?(params.kmCellStyle):(null);this._container.style.overflow="auto";Fietsnet.DOM.addListener(this._container,"click",this.containerClicked);theDirectionsPanel=this;};Fietsnet.DirectionsPanel.prototype={onDirections:function(directions){currentDirections=directions;var distance,totalDistance=0;var routeId;var sb=new Fietsnet.StringBuilder();if(this._tableStyle)sb.append("<table class=\"" + this._tableStyle + "\"><tbody>");else sb.append("<table><tbody>");for(i=0;i<directions.length;i++){distance=directions[i][3]/1000;totalDistance+=distance;routeId=directions[i][1]-1;if(this._unselectedRowStyle)sb.append("<tr class=\"" + this._unselectedRowStyle + "\"><td><a href=\"");else sb.append("<tr><td><a href=\"");sb.append(routeInfo[routeId][3]+"\" target=\"fietsnet_routeinfo\">");sb.append(routeInfo[routeId][1]+"</a> "+directions[i][2]+"</td>");if(this._kmCellStyle)sb.append("<td class=\"" + this._kmCellStyle + "\">"+totalDistance.toFixed(1)+"<td></tr>");else sb.append("<td>"+totalDistance.toFixed(1)+"<td></tr>");};sb.append("</tbody></table>");this._container.innerHTML=sb.toString();this.scrollToBottom();},scrollToBottom:function(){var scrollDiv=this._container;var target=scrollDiv.scrollHeight-((scrollDiv.style.pixelHeight)?scrollDiv.style.pixelHeight:scrollDiv.offsetHeight);var d=Math.round(.5*(target-scrollDiv.scrollTop));if(Math.abs(d)>1){scrollDiv.scrollTop=target-d;setTimeout(Fietsnet.DOM.createDelegate(this,this.scrollToBottom),40);}else scrollDiv.scrollTop=target;},containerClicked:function(e){var o=Fietsnet.DOM.getEventSource(e);if(o&&o.href)if(pageTracker)pageTracker._trackPageview("outbound/"+o.href);return true;}};Fietsnet.Map=function(params){var e=Fietsnet.Error.validateParams(params,[{name:"element",type:"string",optional:false},{name:"resizeOnWindowResize",type:"boolean",optional:true},{name:"layer",type:"string",optional:true},{name:"focus",type:"object",optional:true,mayBeNull:false},{name:"brandImage",type:"string",optional:true},{name:"shadeColor",type:"number",optional:true},{name:"width",type:"number",optional:true},{name:"height",type:"number",optional:true},{name:"canNotLoadFlashMessage",type:"string",optional:true}]);if(e)throw Fietsnet.Error.popStackFrame(e);this._mapVersion=Fietsnet.mapVersion;this._resizeOnWindowResize=(params.resizeOnWindowResize!==undefined)?(params.resizeOnWindowResize):true;this._layer=(params.layer!==undefined)?(params.layer):null;this._initialFocus=(params.focus!==undefined)?(params.focus):null;this._brandImage=(params.brandImage!==undefined)?(params.brandImage):null;this._shadeColor=(params.shadeColor!==undefined)?(params.shadeColor):null;this._width=(params.width!==undefined)?(params.width):null;this._height=(params.height!==undefined)?(params.height):null;this._canNotLoadFlashMessage=(params.canNotLoadFlashMessage!==undefined)?(params.canNotLoadFlashMessage):"Adobe Flash not installed";this._container=null;this._mapper=null;this.create(params.element);};Fietsnet.Map.prototype={create:function(container){this._container=Fietsnet.DOM.getElement(container);this._container.style.padding=0;var mapperId=container+"_mapper";var width=(this._width)?(this._width):(this._container.offsetWidth);var height=(this._height)?(this._height):(this._container.offsetHeight);swfObject=new SWFObject(Fietsnet.baseUrl+"resource.ashx?v="+this._mapVersion+"&r=fietsnetmapper.swf",mapperId,width+"px",height+"px","9","");swfObject.addVariable("mapVersion",this._mapVersion);swfObject.addVariable("baseUrl",Fietsnet.baseUrl);if(this._initialFocus)swfObject.addVariable("initialFocus",""+this._initialFocus.lat+" "+this._initialFocus.lon);if(this._layer)swfObject.addVariable("layer",this._initialLayers);if(this._brandImage)swfObject.addVariable("brandImage",this._brandImage);if(this._shadeColor)swfObject.addVariable("shadeColor",this._shadeColor);swfObject.useExpressInstall(Fietsnet.baseUrl+"flashdetection/expressinstall.swf");if(false==swfObject.write(container))this._container.innerHTML=this._canNotLoadFlashMessage;this._mapper=Fietsnet.DOM.getElement(mapperId);window[mapperId]=this._mapper;if(true==this._resizeOnWindowResize)Fietsnet.DOM.addListener(window,"resize",Fietsnet.DOM.createDelegate(this,this.onresize));},focus:function(latitude,longitude){this._mapper.focusMap(""+latitude+" "+longitude);},setSize:function(width,height){if(this._mapper){if(this._mapper.style.width!=width)this._mapper.style.width=width;if(this._mapper.style.height!=height)this._mapper.style.height=height;}},clearLastWayPoint:function(){this._mapper.clearLastStretch();},clearRoute:function(){this._mapper.clearRoute();},printRoute:function(){var parameters=new Array(new Array("version",Fietsnet.mapVersion),new Array("route",this._mapper.getDirectionsAsJSON()));Fietsnet.Poster.openWindow(Fietsnet.baseUrl+"topaper.aspx",parameters,"_new");},exportRouteAsGpx:function(){var parameters=new Array(new Array("version",Fietsnet.mapVersion),new Array("route",this._mapper.getDirectionsAsJSON()));Fietsnet.Poster.openWindow(Fietsnet.baseUrl+"togps.aspx",parameters,"_new");},onresize:function(e){var targetMapperWidth=this._container.offsetWidth+"px";var targetMapperHeight=this._container.offsetHeight+"px";this.setSize(targetMapperWidth,targetMapperHeight);}};Fietsnet.isJsReady=function(){return true;};Fietsnet.onDirections=function(directions){if(theDirectionsPanel!=null)theDirectionsPanel.onDirections(directions);};


Fietsnet.mapVersion = "087"; Fietsnet.baseUrl = "http://www.fietsnet.be/routeplanner/";
