﻿var PATH_POINT_ZOOM_LEVEL=1;var View={yT:"main",reset:function(){if(View.Context.Items==null||Menu.zoomToSearchCollection()){mapController.setCenter(View.Context.Latitude,View.Context.Longitude,View.Context.ZoomLevel);}},update:function(){View.Context={};if(arguments.length==1){View.Context.Items=arguments[0];}else if(arguments.length==3){View.Context.Items=null;View.Context.Latitude=arguments[0];View.Context.Longitude=arguments[1];View.Context.ZoomLevel=arguments[2];}else{if(mapController!=null){var ay=mapController.getCenter();var aQ=mapController.getZoomLevel();View.update(ay.lat,ay.lon,aQ);}else{View.Context=ViewDefault;}}}};ViewDefault={Latitude:64.47,Longitude:11.50,ZoomLevel:15,Items:null};View.Context=ViewDefault;var Menu={elementName:"leftMenuOuter",waterMarkText:"Adresse, navn, firma",currentViewName:"main",gc:null,setRouteStart:function(ap){if(Menu.currentViewName!="search"&&Menu.currentViewName!="reflist"){ap["tmp_ignoreInput"]="true";var cD=Menu.Route.getEntries();cD[0]=ap;Menu.Route.searchRoute();}else{ap["tmp_ignoreInput"]="true";var cD=[ap,{"input":""}];Menu.route(cD,{"action":"route","readinput":false});}},setRouteDestination:function(ap){if(Menu.currentViewName!="search"&&Menu.currentViewName!="reflist"){ap["tmp_ignoreInput"]="true";var cD=Menu.Route.getEntries();cD[cD.length-1]=ap;Menu.Route.searchRoute();}else{ap["tmp_ignoreInput"]="true";var cD=[{"input":""},ap];Menu.route(cD,{"action":"route","readinput":false});}},setRouteVia:function(ap){if(Menu.currentViewName!="search"&&Menu.currentViewName!="reflist"){ap["tmp_ignoreInput"]="true";var cD=Menu.Route.getEntries();if(cD.length<5){var ky=cD.pop();cD.push(ap);cD.push(ky);Menu.Route.searchRoute({"skipindex":cD.length-2});}}else{ap["tmp_ignoreInput"]="true";var cD=[{"input":""},ap,{"input":""}];Menu.route(cD,{"action":"route","readinput":false});}},setFavorite:function(){var nV=Menu.getLookupUrlAndTitle();Utilities.Window.addFavorite(nV.title,nV.url);},getLookupUrlAndTitle:function(){var aS="Kart";var zt=$hasValue(MapSettings.favoriteSuffix)?" - "+MapSettings.favoriteSuffix:"";var aM=Utilities.Window.getBaseUrl();var bB="";var hP=Menu.getCurrentViewName();if(hP=="routeresults"){var aL=Menu.Route.getEntries();bB=Menu.wr(aL);aS="Rute fra "+aL[0].tmp_text+" til "+aL[aL.length-1].tmp_text;}else{if(View.Context.Items!=null&&View.Context.Items.length>0){var aq=mapController.getViewport();var en=[];var i,ao=View.Context.Items.length;for(i=0;i<ao;i++){var ap=View.Context.Items[i];if(ap.Latitude>aq.minLat&&ap.Latitude<aq.maxLat&&ap.Longitude>aq.minLon&&ap.Longitude<aq.maxLon){var j,mg=ap.Items.length;for(j=0;j<mg;j++){if(ap.Items[j].LookupParameters!=null){en.push(ap.Items[j].LookupParameters);}else{en.push({"lat":ap.Items[j].Latitude,"lon":ap.Items[j].Longitude,"description":ap.Items[j].Title});}}}}if(en.length==1){bB=Object.toQueryString(en[0]);aS=en[0].tmp_text;}else{bB=Menu.wp(en,false);}}else{var ay=mapController.getCenter();var aQ=mapController.getZoomLevel();bB=Object.toQueryString({"lat":ay.lat,"lon":ay.lon,"level":aQ});}}aM=aM+"?"+bB;return{'url':aM,'title':aS};},wr:function(cg,aM){var am=mapController.getMapStyle();am=(am!=MapController.Styles.BIRDS_EYE)?am:MapController.Styles.REGULAR;var aA={"action":"route","style":am};Menu.entriesToIndexedArguments(cg,aA);var qS={};$H(aA).each(function(gq){if(!(gq.key.startsWith("tmp_")||gq.key.startsWith("_"))||gq.key.startsWith("view")||gq.key.startsWith("viewsource")||gq.key.startsWith("controller")){qS[gq.key]=gq.value;}});return Object.toQueryString(qS);},wp:function(aL,ir){var am=mapController.getMapStyle();am=(am!=MapController.Styles.BIRDS_EYE)?am:MapController.Styles.REGULAR;var ay=mapController.getCenter();var aQ=mapController.getZoomLevel();var aA={"style":am,"lat":ay.lat,"lon":ay.lon,"level":aQ,"noaddroute":true};Menu.entriesToIndexedArguments(aL,aA,$ifDefined(ir,true));return Object.toQueryString(aA);},zD:function(ap,ar){},setCurrentViewName:function(hP){Menu.currentViewName=hP;},getCurrentViewName:function(){return Menu.currentViewName;},searchAddContextSpecificParameter:function(aA){switch(Menu.currentViewName){case "routesearch":{var aL=Menu.Route.getEntries();Menu.entriesToIndexedArguments(aL,aA);var iM=$("chkSaveStart");if(iM!=null){aA.savestart=$F(iM)=="on"?true:false;}}break;}},search:function(oA,jc,bv,oo,oM,oI,oL,oK,rz){if(arguments.length==0){Menu.load("Menu/LeftMenu",{view:"search"});}else{var aA={};if($defined(oA)){aA.find=oA;}else{aA.view="search"}if($defined(bv)){aA.type=bv;}if($defined(oo)){aA.page=oo;}if($defined(oM)){aA.hasAddressResults=oM;}if($defined(oI)){aA.hasPersonResults=oI;}if($defined(oL)){aA.hasCompanyResults=oL;}if($defined(oK)){aA.hasBusinessResults=oK;}if($defined(jc)){aA.countryCode=jc;}if($defined(rz)){aA.businessTypeId=rz;}Menu.searchAddContextSpecificParameter(aA);Menu.load("Menu/LeftMenu",aA);}},route:function(aL,bN){bN=$ifDefined(bN,{});var rD=$ifDefined(bN.action,null);var rM=$ifDefined(bN.actionValue,null);var rE=$ifDefined(bN.actionArguments,null);var tz=$ifDefined(bN.readinput,true);var hu=$ifDefined(bN.skipindex,-1);var jc=$ifDefined(bN.countrycode,null);if(arguments.length==0){Menu.load("Menu/LeftMenu",{view:"route"});}else{var aA={};if(jc!=null){aA.countrycode=jc;}if(rE!=null){aA=Object.extend(aA,rE);}if($defined(aL)){Menu.entriesToIndexedArguments(aL,aA,tz,hu);}if(rD!=null){aA.action=rD;if(rM!=null){aA.actionvalue=rM;}}var iM=$("chkSaveStart");if(iM!=null){aA.savestart=$F(iM)=="on"?true:false;}Menu.load("Menu/LeftMenu",aA);}},entriesToIndexedArguments:function(aL,aA,ir,hu){ir=$ifDefined(ir,true);hu=$ifDefined(hu,-1);var i,j,ao=aL.length;for(i=0;i<ao;i++){var jV=$H(aL[i]);var lW=jV.keys();for(j=0;j<lW.length;j++){aA[lW[j]+(i+1)]=jV.get(lW[j]);}}if(ir){var pn=$$("#routeTable input.txtnpt").collect(function(gT){var aw=gT.value;return!aw.startsWith(Menu.waterMarkText)?aw:"";});ao=pn.length;for(i=0;i<ao;i++){var ar=i<hu||hu== -1?i:i+1;aA["input"+(ar+1)]=pn[i];}}},main:function(bB){var aA={view:"main"};if($defined(bB)){aA=Object.extend(aA,bB);}Menu.load("Menu/LeftMenu",aA);},load:function(rX,bN){Menu.reset();if($defined(bN)){bN.controller=rX;}else{bN={controller:rX};}bN.viewsource=Menu.currentViewName;new Ajax.Updater(Menu.elementName,"/Map/Page/Render.aspx",{parameters:bN,evalScripts:true,onComplete:function(){guiController.hideSpinner();Menu.hideWeatherSection();},onCreate:function(){guiController.showSpinner();}});},mw:true,beginSearch:function(bz){if(Menu.mw){setTimeout(function(){Menu.mw=true;},200);Menu.mw=false;bz= !$defined(bz)?$F("searchValue"):bz;if(!bz.startsWith(Menu.waterMarkText)){Menu.search(bz);}else{$("searchValue").activate();}}},kx:false,setSearchCollection:function(aH,dv){bubbleController.loadBubbleClusters(aH,{collectionId:"search_results",zoomLowerBound:3,iconOffset:{x: -11,y: -28},zoom:$ifDefined(dv,false)});View.update(aH);Menu.kx=true;Menu.gc=aH;},zoomToSearchCollection:function(){if(Menu.kx&&Menu.gc!=null&&Menu.gc.length>0){var bu=Number.MAX_VALUE,bs=Number.MAX_VALUE,bo=Number.MIN_VALUE,bp=Number.MIN_VALUE;var i,ao=Menu.gc.length;var aL=Menu.gc;for(i=0;i<ao;i++){if(aL[i].Latitude>bp){bp=aL[i].Latitude;}if(aL[i].Latitude<bs){bs=aL[i].Latitude;}if(aL[i].Longitude<bu){bu=aL[i].Longitude;}if(aL[i].Longitude>bo){bo=aL[i].Longitude;}}mapController.setViewport(bu,bs,bo,bp,3);return true;}return false;},getSearchCollection:function(){return Menu.gc;},removeSearchCollection:function(){if(Menu.kx){mapController.removeHotspots('search_results');Menu.kx=false;Menu.gc=null;}},reset:function(){Menu.removeSearchCollection();mapController.removeWmsLayer('shortestPathOverlay');},hideWeatherSection:function(){var eO=$("weatherSection");if(eO!=null)eO.hide();},showWeatherSection:function(aS,aC,aD){var eO=$("weatherSection");if(eO!=null){if(!$hasValue(aS)){eO.show();}else{weatherSearch(aC,aD,aS);}}}};Menu.RefList={show:function(aP){bubbleController.openItemDialog(aP,true);}};Menu.Result={select:function(aG,ap,mU,aA){if($hasValue(mU)){var lo=mU.split('_');ap.housenumber=lo[0];ap.lat=lo[1];ap.lon=lo[2];}if($defined(aA)){ap=Object.extend(ap,aA);}aG(ap,aA);},show:function(ap,mU,aA){if($defined(ap.listingid)){bubbleController.openItemDialog(ap.listingid,true);}},changeBusinessType:function(){var aw=$F("businessSelector");var aA=$A(arguments);aA.push(aw);Menu.search.apply(window,aA);}};Menu.Route={DefaultDescription:"Address, navn, firma el. tlf nr...",cG:null,setEntries:function(aL){Menu.Route.cG=aL;var rZ=$("chkSaveStart");if(rZ!=null){var uh=$F(rZ)=="on"?true:false;if(uh){if(Menu.Route.cG.length<1||Menu.Route.cG[0]==null){cookieJar.remove('1881savedentry');}else if(Menu.Route.cG[0].tmp_isValidEntry){cookieJar.put('1881savedentry',Menu.Route.cG[0]);}}}},getEntries:function(){return Menu.Route.cG;},setWmsOverlay:function(aA){mapController.addWmsLayer(aA);},saveStartToggle:function(){if($F("chkSaveStart")=="on"){cookieJar.put("1881savestart",true);}else{cookieJar.put("1881savestart",false);}},swap:function(gL,iF){if($defined(gL)){Menu.route(Menu.Route.cG,{"action":"swap","actionValue":gL+","+iF});}else{Menu.route(Menu.Route.cG,{"action":"swap"});}},remove:function(ar){Menu.route(Menu.Route.cG,{"action":"remove","actionValue":ar});},addRow:function(yR){Menu.route(Menu.Route.cG,{"action":"addrow"});},searchRoute:function(bN){bN=$ifDefined(bN,{});bN.action="route";Menu.route(Menu.Route.cG,bN);},select:function(ap,aA){var i,ao=Menu.Route.cG.length;for(i=0;i<ao;i++){if(Menu.Route.cG[i].tmp_text!=Menu.Route.cG[i].input){ap["tmp_select"]=true;Menu.Route.cG[i]=ap;break;}}Menu.route(Menu.Route.cG,{"action":"route"});},showRoutePointDialog:function(ar){var aH=Menu.getSearchCollection();if(aH!=null){var ap=aH[ar].Items[0];bubbleController.openItemDialog(ap.Id,true);}}};function showRoutePanel(){alert("showRoutePanel");};function showSearchResultPanel(){alert("showSearchResultPanel");};function addAsFrom(bE,aW){alert("addAsFrom");};function setStartRoutePoint(aV){alert("setStartRoutePoint");};var yS=null;function addAsTo(bE,aW){alert("addAsTo");};function setDestinationRoutePoint(aV){alert("setDestinationRoutePoint");};function addAsVia(bE,aW){alert("addAsVia");};function loadLiveSearchResults(){var aM='/Map/Page/RSS/ResultFeeder.aspx?skey=map_live_search_results&';$attemptInvoke(function(){guiController.loadGeoRSS({url:aM,collectionId:"map_live_search_results",zoom:true,zoomLowerBound:3,iconOffset:{x: -11,y: -28}});});};function setSelectedDetailsAddress(cJ,aA){if($defined(cJ.description)&&$defined(cJ.housenumber)){cJ.description=cJ.description.gsub("#houseNumber",cJ.housenumber);cJ.description=cJ.description.gsub("%23houseNumber",cJ.housenumber);}Menu.main(cJ);};function setSelectedDetails(cJ){Menu.main(cJ);};function ShowHideSelectedItem(containerId,hide1,hide2,hide3){alert("ShowHideSelectedItem");};function yP(index,lat,lon,description,direction,distance,time){parent.mapController.setCenter(lat,lon,PATH_POINT_ZOOM_LEVEL);};function weatherKeyPress(event){if(event.keyCode==Event.KEY_RETURN){beginWeatherSearch();Event.stop(event);return false;}};function proximityKeyPress(event){if(event.keyCode==Event.KEY_RETURN){MapSearchProximity();Event.stop(event);return false;}};function searchKeyPress(event){if(event.keyCode==Event.KEY_RETURN){Menu.beginSearch();Event.stop(event);return false;}};function MapSearchProximitySpesifiedBusiness(businessId,xCoord,yCoord){alert("MapSearchProximitySpesifiedBusiness");};function MapSearchProximity(){alert("MapSearchProximity");};function MapSearchProximityCallback(result){alert("MapSearchProximityCallback");};function MapSearchProximityCallbackError(error){alert("MapSearchProximityCallbackError");};function setBusinessIdAndName(businessId,businessName){$("TextSearchVicinity").value=businessName;$("businessIdHidden").value=businessId;window.setTimeout('MapSearchProximity()',0);};function openBusinessWindowWithParam(){var searchval=$("TextSearchVicinity").value;OpenBusinessWindow('/Page/Popup/FindBusiness.aspx?Ord='+encodeURI(searchval));return false;};function weatherSearch(lat,lon,name){Opplysningen.Online.Web.Map.Service.WeatherService.WeatherSearch(lat,lon,name,weatherSearchCallBack,weatherSearchCallBackError);};function weatherSearchCallBack(result){var eO=$("weatherSection");if(result!='NoResult'){$("currentWeather").innerHTML=result;eO.show();}else{eO.hide();}};function weatherSearchCallBackError(error){var eO=$("weatherSection").hide();};function beginWeatherSearch(){var weatherQuery=$("weatherSearchInput").value;if(weatherQuery!=''){location='/Vaer/?Query='+weatherQuery;}};function updateMeasurements(cA,fd,eC,cF){Element.hide($("measurementsHelp"));Element.show($("measurements"));$("measurementsDistance").update(cA+" "+cF);$("measurementsArea").update(fd+" "+cF+"<sup>2</sup>");$("measurementsPerimeter").update(eC+" "+cF);};function resetMeasurements(){Element.show($("measurementsHelp"));Element.hide($("measurements"));}