var shapeData=null;
var routeArea=null;
var turnData=null;
var selectedTurn=null;
var printWindowHandler=null;
var routeStyle="FASTEST";
var alphabets=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
var viapointdivscount=0;
var rowOffsets=new Array();
var activeElement=null;
var beforeElement=null;
var piste=null;
var currentPointDraggingStarted=false;
var submittedSearch=false;
var selectLocation=false;
var startpointquery=null;
var endpointquery=null;
var viapointqueries=null;
function initPage(){initVariables();
initAnimations();
initFormActions();
$("sendToPrintButton").removeEvents("click");
$("sendToPrintButton").addEvent("click",function(){return openPrintWindow("fonecta_finder.gif","map")
});
if($("noResults")!=null){$("noResults").adopt([createShowOnMapTipBox()])
}$("optionsGPSPopup").setStyle("display","block");
$("optionslinkPopup").setStyle("display","block");
if(customEndPoint&&endPoint!=null&&customStartPoint&&startPoint!=null){isRouteSearchActive=true;
var h=new Array();
h.push(startPoint.street_address);
h.push(endPoint.street_address);
var c=new Array();
c.push(startPoint.cityName_fi);
c.push(endPoint.cityName_fi);
var b=new Array();
b.push("FI");
b.push("FI");
if(startPoint.wgs84lat==0||startPoint.wgs84lon==0){customStartPoint=false
}if(endPoint.wgs84lat==0||endPoint.wgs84lon==0){customEndPoint=false
}var e=null;
if(viaPoints!=null&&viaPoints.length>0){e=new Array();
for(var d=0;
d<viaPoints.length;
d++){var a=viaPoints[d];
h.push(a.street_address);
c.push(a.cityName_fi);
e.push(""+d)
}}submittedSearch=true;
MapRemote.geocodeAddressesWithRouteStyle(h,c,b,Maps.getMapObject().viewport.offsetWidth,Maps.getMapObject().viewport.offsetHeight,customStartPoint,customEndPoint,e,routeStyle,addPointsCallback)
}else{addChangeCountryEvent("Start");
if(routeFormOpened){addChangeCountryEvent("End")
}var f=new Array();
if(customStartPoint&&startPoint!=null){h=new Array();
c=new Array();
if(startPoint.wgs84lat>0&&startPoint.wgs84lon>0){f.push({title:startPoint.cityName_fi,content:getLocalityFlyoutContentElement(startPoint.displayString,startPoint),lat:startPoint.wgs84lat,lon:startPoint.wgs84lon,type:"0",events:{click:function(){doUpdatePOIs=false
}}});
h.push(startPoint.street_address);
c.push(startPoint.cityName_fi);
MapRemote.geocodeAddressesWithRouteStyle(h,c,null,Maps.getMapObject().viewport.offsetWidth,Maps.getMapObject().viewport.offsetHeight,customStartPoint,false,null,routeStyle,addPointsCallback)
}else{h.push(startPoint.street_address);
c.push(startPoint.cityName_fi);
MapRemote.geocodeAddressesWithRouteStyle(h,c,null,Maps.getMapObject().viewport.offsetWidth,Maps.getMapObject().viewport.offsetHeight,false,false,null,routeStyle,addPointsCallback)
}}else{if(customEndPoint&&endPoint!=null){f.push({title:endPoint.cityName_fi,content:getLocalityFlyoutContentElement(endPoint.displayString,endPoint),lat:endPoint.wgs84lat,lon:endPoint.wgs84lon,type:"1",events:{click:function(){doUpdatePOIs=false
}}})
}}if(f.length>0){Maps.addLocsWithFlyoutsToMap(f,false,false);
if(startPoint!=null&&!customEndPoint){var g=new LMI.Mapping.Point(startPoint.centerlat,startPoint.centerlon);
Maps.getMapObject().centerAndZoom(g,startPoint.z)
}}}$("startStreet").focus()
}function initVariables(){isRouteSearchActive=false;
shapeData=null;
routeArea=null;
isRouteInitialized=false;
turnData=null;
selectedTurn=null;
startPointCandidates=null;
endPointCandidates=null;
if(!customEndPoint){endPoint=null
}if(!customStartPoint){startPoint=null
}expandStartPoint=false;
routeImage=null;
closeErrorDiv();
rowOffsets=new Array();
activeElement=null;
beforeElement=null;
piste=null;
currentPointDraggingStarted=false;
submittedSearch=false;
selectLocation=false;
poiSearchActive=false;
viaPointCandidates=null;
openPoiAfterSearch=false;
startpointobject=null;
endpointobject=null;
viapointsobjects=null
}function initAnimations(){$("mapOptions").setStyle("opacity","0")
}function initFormActions(){initDraggable("start");
if($("EndPointDiv")!=null){initDraggable("end");
$("MapArea").removeEvent("click",addSelectedPointToMap);
$("routeOptionsDiv").setStyle("display","none");
$("ShowRouteOptionsLink").removeEvents("click");
$("ShowRouteOptionsLink").addEvent("click",openRouteTypeDiv);
$("SearchSubmit").setStyle("cursor","pointer");
$("routeStyleFastest").checked=true
}}function closeCountrySelectDiv(a){$(a).removeClass("selected");
$(a).fade(0)
}function toggleCountrySelectDiv(b){try{b=new Event(b);
b.stop()
}catch(c){}try{var a=$(b.target);
while(a.id.indexOf("CountryDiv")<0){a=$(a).getParent();
if(a.hasClass("searchtermHeaderMaps")){break
}}var d=a.getFirst("div");
if(!$(d).hasClass("selected")){$(d).addClass("selected");
$(d).setStyle("display","block");
$(d).setOpacity(0);
$(d).fade(1)
}else{$(d).removeClass("selected");
$(d).fade(0)
}}catch(c){}return false
}function addChangeCountryEvent(a){$("change"+a+"Country").getElements("a").addEvent("click",function(c){try{c=new Event(c);
c.stop()
}catch(d){}var b=c.target;
while(b.id.indexOf("change")<0&&b.id.indexOf("Country")<0){b=$(b).getParent()
}var f=b.id.replace("change","").replace("Country","");
if($("change"+f+"Country").getElements("a.selected")!=null){$("change"+f+"Country").getElements("a.selected").each(function(e){e.removeClass("selected");
e.setStyle("cursor","pointer")
})
}if(!this.hasClass("Close")&&!this.hasClass("selected")){this.addClass("selected");
this.setStyle("cursor","default");
this.removeEvent("click");
$(f.toLowerCase()+"Country").value=this.id;
$("selected"+f+"Country").innerHTML=this.innerHTML
}toggleCountrySelectDiv(c)
})
}function initSelectPoint(a){trackAddCustomLocation();
var b=new Event(a);
b.stop();
selectLocation=true;
$("MapArea").addEvent("click",addSelectedPointToMap);
$(Maps.getMapObject().viewport).setStyle("cursor","pointer");
$("searchFormLink").set("text","Peruuta painamalla ESC");
document.addEvent("keydown",function(c){c=new Event(c);
if(c.code==27){selectLocation=false;
$(Maps.getMapObject().viewport).setStyle("cursor",null);
$("searchFormLink").set("text","valitse_sijainti".localize());
document.removeEvents("keydown")
}});
return false
}function addSelectedPointToMap(d){if(selectLocation){$(Maps.getMapObject().viewport).setStyle("cursor",null);
$("searchFormLink").set("text","valitse_sijainti".localize());
document.removeEvents("keydown");
selectLocation=false;
var b=new Event(d);
var c=$(Maps.getMapObject().container).getPosition(),a=b.page.x-c.x,f=b.page.y-c.y;
piste=Maps.getMapObject().getPointByXY(a,f);
piste.type="start";
routeImage=null;
isRouteInitialized=false;
MapRemote.addSelectedLocation(1,piste.lat,piste.lng,asetapiste)
}}function createDeleteViapointImg(){return new Element("div",{"class":"clearRoutePoint",background:"none"}).adopt([new Element("a",{href:"#",title:"poista_valipiste".localize()}).adopt([new Element("img",{src:"/karttahaku/static/gfx/ico/ico_clearStop.gif",title:"poista_valipiste".localize(),alt:"poista_valipiste".localize(),events:{click:function(g){try{var a=new Event(g);
var j=a.target;
var d=j.getParent();
while(d.id.indexOf("ViaPointDiv")==-1){d=$(d).getParent()
}var b=parseInt(d.id.replace("ViaPointDiv",""),10);
for(var c=b+1;
c<viapointdivscount;
c++){$("via"+c+"pointimg").getFirst("div").set("text",alphabets[c].toUpperCase());
$("ViaPointDiv"+c).id="ViaPointDiv"+(c-1);
$("via"+c+"pointimg").id="via"+(c-1)+"pointimg";
$("via"+c+"streetInput").id="via"+(c-1)+"streetInput";
$("via"+c+"Street").id="via"+(c-1)+"Street";
$("via"+c+"StreetLabel").setAttribute("for","via"+(c-1)+"Street");
$("via"+c+"StreetLabel").id="via"+(c-1)+"StreetLabel";
$("via"+c+"whereInput").id="via"+(c-1)+"whereInput";
$("via"+c+"Locality").id="via"+(c-1)+"Locality";
$("via"+c+"LocalityLabel").setAttribute("for","via"+(c-1)+"Locality");
$("via"+c+"LocalityLabel").id="via"+(c-1)+"LocalityLabel";
var f=$("ViaPointDiv"+c+"Holder").getFirst("div");
f.id="viaCountryDiv"+c;
f.getFirst("span").getFirst("span").id="selectedVia"+(c-1)+"Country";
f.getFirst("span").getFirst("input").id="via"+(c-1)+"Country";
f.getFirst("span").getFirst("input").name="via"+(c-1)+"Country";
f.getFirst("div").id="changeVia"+(c-1)+"Country";
f.getFirst("div").getElements("a").removeEvents("click");
$("ViaPointDiv"+c+"Holder").id="ViaPointDiv"+(c-1)+"Holder"
}hideElement($("ViaPointDiv"+b+"Holder"));
viapointdivscount--;
$("endpointimg").getFirst("div").set("text",alphabets[viapointdivscount+1].toUpperCase());
if($("DraggableViaPoint")!=null){$("DraggableViaPoint").src="/kartat/lmi/img/nodes/red/map_icon_"+alphabets[viaPoints!=null?viaPoints.length+1:1]+".png"
}removeViaPoint(b);
toggleAddViapointLinks();
if(viaPoints==null||viapointdivscount==viaPoints.length){$("searchFormLink").setStyle("display","inline");
$("searchFormSpan").setStyle("display","none")
}}catch(h){}return false
}}})])]);
return null
}Array.prototype.remove=function(b,a){this.splice(b,!a||1+a-b+(!(a<0^b>=0)&&(a<0||-1)*this.length));
return this.length
};
function removeViaPoint(c){try{if(viaPoints!=null&&viaPoints.length>c){Maps.removePointsFromMap();
viaPoints.remove(c);
if($("acviastreet"+c)!=null){$("acviastreet"+c).getParent().removeChild($("acviastreet"+c))
}if($("acvialocality"+c)!=null){$("acvialocality"+c).getParent().removeChild($("acvialocality"+c))
}for(var a=0;
a<viaPoints.length;
a++){viaPoints[a].type=a+1
}MapRemote.removeViaPoint(c,addPointsCallback)
}}catch(b){}}function initDraggable(b){try{$(b+"pointimg").addEvent("mousedown",function(g){var e=new Event(g);
var f=$(e.target);
var d=f.clone();
var h=d.get("text");
d.id=b+"pointdraggableimg";
d.setStyle("z-index","999999");
d.setStyles({position:"absolute",top:f.getPosition().y,left:f.getPosition().x});
$(window.document.body).appendChild(d);
var c=new Drag.Move(d,{onStart:function(){updateSearchFormRowOffsets();
d.setOpacity(0.5);
f.getParent().getParent().getParent().setOpacity(0.5)
},onComplete:function(){f.getParent().getParent().getParent().setOpacity(1);
d.setOpacity(1);
if(activeElement!=null&&activeElement.getParent()){activeElement.getParent().removeChild(activeElement);
d.getParent().removeChild(d);
updateFormFieldsAndFlagLetters(f.getParent().getParent().id.replace("PointDiv","").toLowerCase());
MapRemote.makeNewSearch(startPoint,endPoint,viaPoints,addRoutePointsToMap)
}else{haePiste(d.id)
}},onDrag:function(i){if(!markActiveFormElement(i,f.getParent().getParent().id)){i.set("text",h)
}}});
c.start(g)
})
}catch(a){}}function haePiste(f){piste=null;
submittedSearch=false;
var e=Maps.getMapObject();
var d=$(f);
var c=parseInt(d.getStyle("left"))+20;
var b=parseInt(d.getStyle("top"))+27;
c=c-$("MapArea").getPosition().x;
b=b-$("MapArea").getPosition().y;
var a=f.replace("pointdraggableimg","");
if(b>0&&c>0){piste=e.getPointByXY(c,b);
piste.type=a;
MapRemote.reverseGeocode(piste.lat,piste.lng,tallennaPiste)
}else{d.getParent().removeChild(d)
}}function tallennaPiste(b){if(b==null){MapRemote.reverseGeocode(piste.lat,piste.lng,tallennaPiste)
}else{if(b.displayString==""){showError("Ei l?ydy");
if($(piste.type+"pointdraggableimg")!=null){$(piste.type+"pointdraggableimg").getParent().removeChild($(piste.type+"pointdraggableimg"))
}$("location").setStyle("display","none");
$("noResult").setStyle("display","block")
}else{var a;
if(piste.type.indexOf("start")>-1){a=1
}else{if(piste.type.indexOf("end")>-1){a=2
}else{a=parseInt(piste.type.replace("via",""))+3
}}MapRemote.addSelectedLocation(a,piste.lat,piste.lng,asetapiste)
}}}function asetapiste(e){if(piste!=null&&e!=undefined&&e!=null&&e.displayString!=""){trackAddCustomLocation();
e.wgs84lat=piste.lat;
e.wgs84lon=piste.lng;
if($(piste.type+"pointdraggableimg")!=null){$(piste.type+"pointdraggableimg").getParent().removeChild($(piste.type+"pointdraggableimg"))
}if(piste.type.indexOf("start")>-1){e.type=0;
startPoint=e;
customStartPoint=true;
startpointquery=e.street_address+e.cityname_fi
}else{if(piste.type.indexOf("end")>-1){e.type=(viaPoints!=null?viaPoints.length+1:1);
endPoint=e;
customEndPoint=true;
endpointquery=e.street_address+e.cityname_fi
}else{if(viaPoints==undefined||viaPoints==null){viaPoints=new Array()
}if(viapointqueries==undefined||viapointqueries==null){viapointqueries=new Array()
}var d=parseInt(piste.type.replace("via",""));
if(currentPointDraggingStarted||d<viaPoints.length){e.type=d+1;
var c=new Array();
var a=new Array();
for(var b=0;
b<viaPoints.length;
b++){if(viaPoints[b].type==e.type){c.push(e);
a.push(e.street_address+e.cityname_fi)
}else{c.push(viaPoints[b]);
a.push(viaPoints[b].street_address+viaPoints[b].cityname_fi)
}}viaPoints=c;
viapointqueries=a
}else{e.type=d+1;
viaPoints.push(e);
viapointqueries.push(e.street_address+e.cityname_fi)
}}}currentPointDraggingStarted=false;
customStartPoint=false;
addRoutePointsToMap();
piste=null
}else{showError("hakemaasi_pistetta_ei_loydy".localize())
}}function getSearchAlongRouteDiv(){try{return new Element("div",{"class":"search noSearch",id:"routeSearches"}).adopt([new Element("span",{styles:{"font-weight":"bold","margin-left":"-30px",width:"270px"}}).set("text","hae_reitin_varrelta".localize()),new Element("form",{id:"findOnRoute",events:{submit:function(){var b=$("routeSearch").value;
if(b!=null&&b!="reitin_varrelta_esimerkki".localize()&&startPoint!=null&&endPoint!=null){closeErrorDiv();
searchAlongRoute(b.trim())
}return false
}}}).adopt([new Element("div",{"class":"inputHolder"}).adopt([new Element("input",{type:"text",id:"routeSearch",name:"alongRouteInput","class":"fnWhat hint",value:"reitin_varrelta_esimerkki".localize(),autocomplete:"off",styles:{"background-color":"#fff",border:"none",width:"177px",margin:"2px"},events:{focus:function(b){b=new Event(b);
b.stopPropagation();
if($("routeSearch").value=="reitin_varrelta_esimerkki".localize()){$("routeSearch").value=""
}},blur:function(b){b=new Event(b);
b.stopPropagation();
var c=$("routeSearch").value;
if(c.trim()==""){$("routeSearch").value="reitin_varrelta_esimerkki".localize()
}}}})]),new Element("div",{"class":"normalButton"}).adopt([new Element("a").adopt([new Element("span",{events:{click:function(b){$("findOnRoute").fireEvent("submit")
}}}).set("text","hae".localize())])])])])
}catch(a){}}function searchAlongRoute(c){if(viaPoints==null){viaPoints=new Array()
}var d=Maps.getMapObject();
var b=d.getLLPoint();
var a=d.getURPoint();
BusinessSearchRemote.getNearRouteBusinesses(c,Maps.getZoomLevel(),b.lat,b.lng,a.lat,a.lng,startPoint,endPoint,viaPoints,searchAlongRouteCallback)
}function searchAlongRouteCallback(b){if(b!=null&&b.length>0){var a=new Array();
$each(b,function(c,d){var e=getBusinessFlyoutContent(c);
if(c.coordx<100&&c.coordy<100){a.push({title:c.name,content:e,lat:c.coordx,lon:c.coordy,type:"along_route",events:null})
}});
Maps.addLocsWithFlyoutsToMap(a,false,false)
}else{showError(["business_nomatch".localize($("routeSearch").value),"business_nomatch2".localize()],true,false)
}}function createSingleLocInfo(){try{$("resultInfoTitle").set("text","osoite".localize());
$("resultInfo").set("html","");
var a=new Element("div",{"class":"addressHighlight Star"}).adopt([new Element("ul",{"class":"adr"}).adopt([new Element("li",{"class":"firsResult"}).adopt([new Element("a",{href:"#",events:{click:function(){if(startpointobject!=null){try{startpointobject.showFlyout()
}catch(g){}}return false
}},styles:{"font-size":"12px","font-weight":"bold"}}).set("text",startPoint.displayString)])])]);
$("resultInfo").appendChild(a);
var f=new Element("div",{"class":"mapResultoptions"}).adopt([new Element("ul",{"class":"mapResultoptionsList Coord"}).adopt([new Element("li",{"class":"mro_hide",id:"hideCoordsLink"}).adopt([new Element("a",{href:"#",id:"hideCoordsText",events:{click:function(){if($("hideCoordsLink").hasClass("mro_hide")){$("hideCoordsText").set("text","nayta_koordinaatit".localize());
$("hideCoordsLink").removeClass("mro_hide");
$("hideCoordsLink").addClass("mro_show");
$("exampleBox").setStyle("display","none")
}else{$("hideCoordsText").set("text","piilota_koordinaatit".localize());
$("hideCoordsLink").removeClass("mro_show");
$("hideCoordsLink").addClass("mro_hide");
$("exampleBox").setStyle("display","block")
}return false
}}}).set("text","piilota_koordinaatit".localize())]),new Element("li",{"class":"mro_get"}).adopt([new Element("a",{href:"#",events:{click:function(){var e="";
if($defined(startPoint.localityName_fi)){e=startPoint.localityName_fi
}else{if($defined(startPoint.cityName_fi)){e=startPoint.cityName_fi
}}window.location.href="/karttahaku/route.fon?endlat="+startPoint.wgs84lat+"&endlon="+startPoint.wgs84lon+"&endaddress="+($defined(startPoint.street_address)?startPoint.street_address:"")+"&endlocality="+e;
return false
}}}).set("text","hae_reitti".localize())])])]);
$("resultInfo").appendChild(f);
var b=new Element("div",{"class":"exampleBox",id:"exampleBox"}).adopt([new Element("div",{"class":"exampleBox_top"}).adopt([new Element("div",{"class":"exampleBox_body"}).adopt([new Element("h2").set("text","coordinates".localize()),new Element("div",{"class":"resultCoords",id:"resultCoord"}).adopt([new Element("ul",{"class":"resultCoordsList"}).adopt([new Element("li").adopt([new Element("span").set("text","kkj".localize()+": ")]).appendText(startPoint.kkjX+" - "+startPoint.kkjY),new Element("li").adopt([new Element("span").set("text","wgs84".localize()+": ")]).appendText(startPoint.wgs84lat.toFixed(6)+" - "+startPoint.wgs84lon.toFixed(6))])])])])]);
$("resultInfo").appendChild(b);
$("resultInfo").appendChild(new Element("div",{"class":"Clear"}));
$("resultInfo").appendChild(new Element("div",{"class":"Clear"}));
var c=createShowOnMapTipBox();
$("resultInfo").appendChild(c)
}catch(d){}}function createRouteSearchResultInfo(){try{$("resultInfo").set("html","");
if(startPoint!=null&&endPoint!=null){$("resultInfo").appendChild(new Element("div",{id:"routeResultPoints"}));
$("resultInfo").appendChild(new Element("p",{"class":"subTotals"}).set("text","yhteensa".localize()+" ").adopt([new Element("span",{"class":"dist",id:"totalTravelInfo"})]));
$("resultInfo").appendChild(new Element("div",{"class":"clear"}));
var b=new Element("div",{"class":"routeaddressHighlight findonRoute"}).adopt([getSearchAlongRouteDiv()]);
$("resultInfo").appendChild(b);
var d=new Element("div",{id:"maneuvers",style:"display:none"});
$("resultInfo").appendChild(d);
var a=new Element("p",{"class":"differedCond"}).set("text","reitti_varoitus".localize());
$("resultInfo").appendChild(a)
}}catch(c){}}function addRoutePointsToMap(){closeErrorDiv();
Maps.removePointsFromMap();
var g=new Array();
$("location").setStyle("display","block");
$("noResults").setStyle("display","none");
showMapOptionsBar();
if(!isRouteSearchActive&&startPoint!=null&&endPoint==null){try{createSingleLocInfo();
if(!submittedSearch){$("startStreet").value=startPoint.street_address;
$("startLocality").value=startPoint.cityName_fi;
$("startCountry").value=startPoint.countryCode;
var f=null;
f=$("startStreet").value+", "+$("startLocality").value;
addSearchwordToHistory(f,null,"kartat")
}g.push({title:startPoint.cityName_fi,content:getLocalityFlyoutContentElement(startPoint.displayString,startPoint),lat:startPoint.wgs84lat,lon:startPoint.wgs84lon,type:startPoint.type!=undefined?routeFormOpened?startPoint.type:"star":"star",events:{click:function(){doUpdatePOIs=false
}}})
}catch(j){}}else{try{createRouteSearchResultInfo();
if(startPoint!=null){if(!submittedSearch){$("startStreet").value=startPoint.street_address;
$("startLocality").value=startPoint.cityName_fi;
var f=null;
f=$("startStreet").value+", "+$("startLocality").value;
addSearchwordToHistory(f,null,"reitit")
}g.push({title:startPoint.cityName_fi,content:getLocalityFlyoutContentElement(startPoint.displayString,startPoint),lat:startPoint.wgs84lat,lon:startPoint.wgs84lon,type:startPoint.type!=undefined?startPoint.type:"star",events:{click:function(){doUpdatePOIs=false
}}});
if(endPoint!=null){isRouteSearchActive=true;
isRouteInitialized=false;
doUpdatePOIs=true
}}if(endPoint!=null){if(!submittedSearch){$("endStreet").value=endPoint.street_address!=null?endPoint.street_address:"";
$("endLocality").value=endPoint.cityName_fi;
var f=null;
f=$("endStreet").value+", "+$("endLocality").value;
addSearchwordToHistory(f,null,"reitit")
}g.push({title:endPoint.cityName_fi,content:getLocalityFlyoutContentElement(endPoint.displayString,endPoint),lat:endPoint.wgs84lat,lon:endPoint.wgs84lon,type:endPoint.type!=undefined?(viaPoints!=null?viaPoints.length+1:1):"star",events:{click:function(){doUpdatePOIs=false
}}});
$("searchFormLink").setStyle("display","inline");
$("searchFormSpan").setStyle("display","none")
}if(viaPoints!=null&&viaPoints.length>0){for(var e=0;
e<viaPoints.length;
e++){var k=viaPoints[e];
g.push({title:k.cityName_fi,content:getLocalityFlyoutContentElement(k.displayString,k),lat:k.wgs84lat,lon:k.wgs84lon,type:k.type!=undefined?k.type:"star",events:{click:function(){doUpdatePOIs=false
}}});
if($("via"+e+"Street")==null){createViaPointFormDiv()
}if(!submittedSearch){$("via"+e+"Street").value=k.street_address!=null?k.street_address:"";
$("via"+e+"Locality").value=k.cityName_fi;
var f=null;
f=$("via"+e+"Street").value+", "+$("via"+e+"Locality").value;
addSearchwordToHistory(f,null,"reitit")
}}}}catch(j){}}if(g.length>0){if(startPoint!=null){openResultsPanelNoEvent()
}var a=Maps.addLocsWithFlyoutsToMap(g,false,submittedSearch||customEndPoint||customStartPoint);
if(isRouteSearchActive){Maps.getMapObject().centerAndZoom(Maps.getMapObject().getCenterPoint(),Maps.getZoomLevel());
if(!submittedSearch){var d=new Object();
d.localities=g;
trackRouteSearch($("startStreet").value,$("endStreet").value,$("startLocality").value,$("endLocality").value,d)
}}getPointObjects(a)
}if(isRouteSearchActive&&$("AddViaPointDiv")==null){var h=new Element("div",{id:"AddViaPointDiv",styles:{padding:"0pt",position:"absolute",top:"20px",right:"425px","z-index":"999999",width:"130px",height:"30px","background-color":"transparent",cursor:"default"}});
var c=new Element("div",{styles:{margin:"0pt",padding:"0pt 10px 0pt 22px",background:"transparent url(/kartat/lmi/img/addstopBG.png) no-repeat scroll right top",position:"absolute",height:"30px","-moz-background-clip":"-moz-initial","-moz-background-origin":"-moz-initial","-moz-background-inline-policy":"-moz-initial",color:"rgb(23, 23, 23)","line-height":"25px","text-align":"right",cursor:"default"}});
c.setOpacity(0.8);
c.set("html",c.get("html")+"lisaa_valipiste".localize());
var b=new Element("div",{id:"DraggableViaPoint",styles:{position:"absolute",top:"0px",left:"-5px","z-index":"999999",cursor:"default",width:"20px",height:"35px","background-image":"url(../kartat/lmi/img/addstopPin.png)","background-repeat":"no-repeat","text-transform":"uppercase",color:"rgb(255, 255, 255)","font-weight":"bold","padding-left":"5px","padding-top":"2px"}});
h.adopt([c,b]);
$("MapArea").adopt([h]);
new Drag.Move("DraggableViaPoint",{onStart:function(){b.setOpacity(0.5)
},onComplete:function(){try{trackAddStop();
b.setOpacity(1);
var n=b.getPosition().x+17;
var m=b.getPosition().y+23;
n=n-$("MapArea").getPosition().x;
m=m-$("MapArea").getPosition().y;
var i="via"+(viaPoints!=null?viaPoints.length:0);
if(m>0&&n>0){var o=Maps.getMapObject();
piste=o.getPointByXY(n,m);
piste.type=i;
MapRemote.reverseGeocode(piste.lat,piste.lng,tallennaPiste)
}$("searchFormLink").setStyle("display","inline");
$("searchFormSpan").setStyle("display","none")
}catch(l){}}})
}else{if($("DraggableViaPoint")!=null){$("DraggableViaPoint").setStyle("top","0px");
$("DraggableViaPoint").setStyle("left","-5px")
}}$("searchFormLink").setStyle("display","inline");
$("searchFormSpan").setStyle("display","none");
submittedSearch=false
}function createViaPointFormDiv(b){try{var l=new Event(b);
l.stop()
}catch(k){}try{if(viapointdivscount+1<alphabets.length-1&&((viaPoints==null&&viapointdivscount==0)||(viaPoints!=null&&viaPoints.length>=viapointdivscount))){var j=viapointdivscount++;
$("searchFormLink").setStyle("display","none");
$("searchFormSpan").setStyle("display","inline");
var a=new Element("div",{"class":"changeLocation",id:"viaCountryDiv"+j}).adopt([new Element("span",{"class":"addWhereLink"}).adopt([new Element("span",{id:"selectedVia"+j+"Country"}).set("text","default_country".localize()),new Element("span").set("html","&nbsp;(").setStyle("font-weight","normal"),new Element("a",{href:"#",title:"Open",events:{click:toggleCountrySelectDiv}}).set("text","maavalinta".localize()),new Element("span").set("text",")").setStyle("font-weight","normal"),new Element("input",{id:"via"+j+"Country",name:"via"+j+"Country",type:"hidden",value:"FI"})]),new Element("div",{id:"changeVia"+j+"Country","class":"changeCountry",styles:{display:"none"}}).adopt([new Element("h2",{"class":"header"}).set("html","select_country".localize()+'<a class="Close" href="javascript:void(0)"><img alt="Close" src="../gfx/ico/ico_closePopup.png"/></a>'),new Element("div",{"class":"changeCountryInner"}).adopt([new Element("div",{"class":"left"}).set("html","countries_left".localize()),new Element("div",{"class":"center"}).set("html","countries_center".localize()),new Element("div",{"class":"right"}).set("html","countries_right".localize())])])]);
var c=new Element("div",{id:"ViaPointDiv"+j,"class":"viaroutePoint"});
c.adopt([new Element("div",{id:"viapointTxt","class":"startpointTxtHolder viapointTxt"}).adopt([new Element("span").set("html","&nbsp;")]),new Element("div",{id:"via"+j+"pointimg","class":"startpointimgHolder"}).adopt([new Element("div",{"class":"marker"}).set("text",alphabets[j+1].toUpperCase())]),createDeleteViapointImg(),new Element("div",{id:"via"+j+"streetInput","class":"inputContRouteStart"}).adopt([new Element("div",{"class":"inputFieldRoute"}).adopt([new Element("input",{type:"text",id:"via"+j+"Street",name:"via"+j+"Street","class":"streetInputField",tabindex:7+(j*3),value:viaPoints!=null&&viaPoints[j]!=null&&viaPoints[j].street_address!=null?viaPoints[j].street_address:""}),new Element("a",{href:"#",title:"","class":"pullDown",onclick:"return openAutocomplete(event)"}).adopt([new Element("img",{src:"/karttahaku/static/gfx/pulldown1.gif","class":"pullDownarrow",alt:""})])]),new Element("label",{"class":"exampleRoute","for":"via"+j+"Street",id:"via"+j+"StreetLabel"}).set("text","katuosoite".localize())]),new Element("div").adopt([new Element("div",{id:"via"+j+"whereInput","class":"inputContRouteWhere"}).adopt([new Element("div",{"class":"inputFieldRouteWhere"}).adopt([new Element("input",{type:"text",id:"via"+j+"Locality",name:"via"+j+"Locality","class":"whereInputField",tabindex:7+(j*3)+1,value:viaPoints!=null&&viaPoints[j]!=null&&viaPoints[j].cityName_fi!=null?viaPoints[j].cityName_fi:""}),new Element("a",{href:"#",title:"","class":"pullDown",onclick:"return openAutocomplete(event)"}).adopt([new Element("img",{src:"/karttahaku/static/gfx/pulldown1.gif","class":"pullDownarrow",alt:""})])]),new Element("label",{"class":"exampleRoute","for":"via"+j+"Locality",id:"via"+j+"LocalityLabel"}).set("text","paikkakunta".localize())])])]);
a.setOpacity(0);
c.setOpacity(0);
var h=new Element("div",{id:"ViaPointDiv"+j+"Holder"}).adopt([a,c]);
$("SearchFormDiv").insertBefore(h,$("EndPointDivHolder"));
a.fade(0,1);
c.fade(0,1);
$("endpointimg").getFirst("div").set("text",alphabets[j+2].toUpperCase());
$("acs").adopt(new Element("div",{"class":"autocomplete",id:"acviastreet"+j}));
var d=new Options();
d.searchTypes=[];
d.historyCookie="inoa_search_history";
var g=new MapAC("via"+j+"Street","via"+j+"Locality",true,"acviastreet"+j,"reitit",d);
$("acs").adopt(new Element("div",{"class":"autocomplete",id:"acvialocality"+j}));
var f=new Options();
f.searchTypes=[];
f.historyCookie="inoa_search_history";
var i=new MapAC("via"+j+"Locality","via"+j+"Street",false,"acvialocality"+j,"reitit",f);
initDraggable("via"+j);
toggleAddViapointLinks();
addChangeCountryEvent("Via"+j)
}}catch(k){}return false
}function toggleAddViapointLinks(){try{if(viapointdivscount+1==alphabets.length-1){$("searchFormLink").setStyle("visibility","hidden");
if($("AddViaPointDiv")!=null){$("AddViaPointDiv").setStyle("visibility","hidden")
}}else{$("searchFormLink").setStyle("visibility","visible");
if($("AddViaPointDiv")!=null){$("AddViaPointDiv").setStyle("visibility","visible")
}}}catch(a){}}function appendMsg(a){if($("msg")!=null){$("msg").set("html",$("msg").get("html")+"<br />"+a)
}}function updateSearchFormRowOffsets(){rowOffsets=new Array();
var d=$("StartPointDiv").getCoordinates();
d.id="StartPointDiv";
rowOffsets.push(d);
if(viapointdivscount>0){for(var b=0;
b<viapointdivscount;
b++){if($("ViaPointDiv"+b)!=null){var c=$("ViaPointDiv"+b).getCoordinates();
c.id="ViaPointDiv"+b;
rowOffsets.push(c)
}}}if($("EndPointDiv")!=null){var a=$("EndPointDiv").getCoordinates();
a.id="EndPointDiv";
rowOffsets.push(a)
}}function updateFormFieldsAndFlagLetters(h){var a=new Array();
var e=new Array();
e.push(startPoint);
if(viapointdivscount!=null&&viapointdivscount>0){for(var j=0;
j<viapointdivscount;
j++){var k=null;
if(viaPoints!=null&&viaPoints.length>j){k=viaPoints[j]
}e.push(k)
}}e.push(endPoint);
var g=0;
if(h=="start"){g=0
}else{if(h=="end"){g=e.length-1
}else{g=parseInt(h.replace("via",""))+1
}}var f=0;
if(beforeElement==null){f=0
}else{if(beforeElement=="start"){f=1
}else{if(beforeElement=="end"){f=e.length-1
}else{f=parseInt(beforeElement.replace("via",""))+2
}}}var b=e.splice(g,1);
e.splice(f,0,b[0]);
for(var d=0;
d<e.length;
d++){if(d==0){startPoint=e[d];
if(startPoint!=null){startPoint.type="0"
}}else{if(d==e.length-1){endPoint=e[d];
if(endPoint!=null){endPoint.type=""+(viaPoints!=null?viaPoints.length:1)
}}else{var c=e[d];
if(c!=null){c.type=""+a.length;
a.push(c)
}}}}viaPoints=a
}function markActiveFormElement(g,f){if(rowOffsets.length>1){var a=g.getCoordinates();
if(activeElement==null){activeElement=new Element("div",{id:"activeElement","class":"endingPoint",styles:{border:"1px dashed red",margin:"0",padding:"0","background-color":"transparent"}})
}if(activeElement.getParent()){activeElement.getParent().removeChild(activeElement)
}activeElement.setStyle("height",a.height+"px");
for(var b=0;
b<rowOffsets.length;
b++){var d=rowOffsets[b];
try{if(d.id!=f){if(d.id=="StartPointDiv"){if(a.top>d.top&&a.top<=d.top+d.height/2){$("SearchFormDiv").insertBefore(activeElement,$(d.id+"Holder"));
beforeElement=null;
g.set("text",$(d.id).getFirst("div").getNext("div").get("text"));
return true
}else{if(a.top>d.top+d.height/2&&a.top<=d.top+d.height*1.5){if($(d.id+"Holder").getNext("div")==null||$(d.id+"Holder").getNext("div").id!=f){$("SearchFormDiv").insertBefore(activeElement,$(d.id+"Holder").getNext("div"));
beforeElement=d.id.replace("PointDiv","").toLowerCase();
g.set("text",$(d.id).getFirst("div").getNext("div").get("text"))
}return true
}}}else{if(a.top>d.top&&a.top<=d.top+d.height*1.5){if($(d.id+"Holder").getNext("div")==null||$(d.id+"Holder").getNext("div").id!=f){$("SearchFormDiv").insertBefore(activeElement,$(d.id+"Holder").getNext("div"));
beforeElement=d.id.replace("PointDiv","").toLowerCase();
g.set("text",$(d.id).getFirst("div").getNext("div").get("text"))
}return true
}}}}catch(c){}}}return false
}function hideElement(b){var a=$(b);
a.get("morph",{duration:"short",transition:"linear",onComplete:function(){a.getParent().removeChild(a)
}}).start({opacity:0})
}var maneuverIds=null;
function updateRouteManeuvers(c){if(c!=null){try{$("routeResultPoints").set("html","");
var j="margin-left: 80px;font-weight: normal;";
if(Browser.Engine.trident4){j="margin-left: 8px;font-weight: normal;float: left; width: 200px;"
}var n="";
if(startPoint.searchedWithCityname){if($defined(startPoint.streetName)){n=startPoint.cityName_fi+'<br /><div style="'+j+'">'+"start_address_not_specified_1".localize()+" "+"start_address_not_specified_2".localize()+" "+startPoint.streetName+"</div>"
}else{n=startPoint.cityName_fi+'<br /><div style="'+j+'">'+"start_address_not_specified_1".localize()+"</div>"
}}else{n=startPoint.displayString
}var k=new Element("div",{"class":"routestartHighlight Left2"}).adopt([new Element("p").adopt([new Element("span",{"class":"routeaddressSpan"}).set("text","mista".localize()),new Element("span",{"class":"marker"}).set("text","A"),new Element("span",{"class":"routefirstResult"}).set("html",n)]).setStyle("margin-left","6px")]);
$("routeResultPoints").appendChild(k);
maneuverIds=null;
$("maneuvers").innerHTML="";
var a=new Element("div",{"class":"depart"}).adopt([new Element("div",{"class":"marker"}).set("text","A"),new Element("a",{"class":"departPoint",href:"#",events:{click:function(){if(startpointobject!=null){try{startpointobject.showFlyout()
}catch(o){}}return false
}}}).set("text","lahto_osoitteesta".localize()+": ").adopt([new Element("span",{styles:{"text-decoration":"underline","font-weight":"bold"}}).set("text",startPoint.displayString)])]);
$("maneuvers").appendChild(a);
var l=new Element("ul",{"class":"routeList"});
turnData=new Array();
var g=new Array();
var b=1;
$each(c.segments,function(r,o){if(o!=0){var s=viaPoints[o-1];
var q=new Element("div",{"class":"routestopHighlight Left2"}).adopt([new Element("p").adopt([new Element("span",{"class":"routeaddressSpan"}).set("text","via".localize()),new Element("span",{"class":"marker"}).set("text",alphabets[o].toUpperCase()),new Element("span",{"class":"routesecondResult"}).set("text",s.displayString)]).setStyle("margin-left","6px")]);
$("routeResultPoints").appendChild(q)
}if(viaPoints!=null&&viaPoints.length>0){var e=new Element("p",{"class":"subTotals",id:"subTotals"}).set("html","valimatka_ja_aika".localize('<span class="redSubtotals">'+alphabets[o].toUpperCase()+"</span>",'<span class="redSubtotals">'+alphabets[o+1].toUpperCase()+"</span>")+" ").adopt([new Element("span",{"class":"dist"}).set("text",r.formattedDistance+" "+"noin".localize()+" "+r.formattedTime)]);
$("routeResultPoints").appendChild(e)
}$each(r.turns,function(z,v){turnData.push(z);
var C=o;
var t=null;
var B=replacePseudoBold(z.description);
if(z.base=="arrive"&&viaPoints!=null&&viaPoints.length>=o&&$defined(viaPoints[o])){var p=viaPoints[o];
var u=new Element("div",{"class":"depart"}).adopt([new Element("div",{"class":"marker"}).set("text",alphabets[o+1].toUpperCase()),new Element("a",{"class":"departPoint",vpindex:""+o,href:"#",events:{click:function(D){try{if(viapointsobjects!=null&&viapointsobjects.length>=C&&$defined(viapointsobjects[C])){viapointsobjects[C].showFlyout()
}}catch(E){}return false
}}}).set("text","valipiste".localize()+": ").adopt([new Element("span",{styles:{"text-decoration":"underline","font-weight":"bold"}}).set("text",p.displayString)])]);
t=new Element("li",{"class":"routeBdr",id:"maneuver"+z.turnID,styles:{padding:"0"}}).adopt([u])
}else{t=new Element("li",{"class":"routeBdr",id:"maneuver"+z.turnID}).adopt([new Element("span",{"class":"routeMarker"}).set("text",b),new Element("span",{"class":"routeListText"}).set("text","jalkeen".localize(z.formattedDistance)+" "),new Element("a",{href:"#",events:{click:function(F){try{F=new Event(F);
var E=F.target;
while(E.id==""){E=E.parentNode
}E=$(E.id);
var D=parseInt(E.id.replace("maneuver",""));
openManeuverFayout(D)
}catch(G){}return false
}}}).set("html",B)])
}l.adopt([t]);
var y=new Element("p").adopt([new Element("div").set("html",B)]);
var A=null;
if(z.turnID>1){A=new Element("a",{href:"javascript:void(0)",id:"edellinen"+z.turnID,styles:{margin:"0 3px"}}).adopt([new Element("img",{src:"/kartat/lmi/img/flyout_previous.gif",alt:"edellinen".localize()}).addEvent("click",function(E){E=new Event(E);
E.stop();
var D=E.target;
var F=parseInt(z.turnID);
openManeuverFayout(F-1);
return false
})])
}else{A=new Element("img",{src:"/kartat/lmi/img/flyout_previousDis.gif",alt:"edellinen".localize()})
}var x=null;
if(z.turnID!=r.turns.length){x=new Element("a",{href:"javascript:void(0)",id:"seuraava"+z.turnID,styles:{margin:"0 3px"}}).adopt([new Element("img",{src:"/kartat/lmi/img/flyout_next.gif",alt:"seuraava".localize()}).addEvent("click",function(E){E=new Event(E);
E.stop();
var D=E.target;
var F=parseInt(z.turnID);
openManeuverFayout(F+1);
return false
})])
}else{x=new Element("img",{src:"/kartat/lmi/img/flyout_nextDis.gif",alt:"seuraava".localize()})
}var w=new Element("div",{"class":"browse"});
w.adopt([A,x]);
y.adopt([new Element("br"),w]);
g.push({title:"kaannos_numero".localize()+" "+z.turnID,content:y,lat:z.y,lon:z.x,type:"routeTurnMarker",events:{click:function(){doUpdatePOIs=false
}},number:z.turnID});
b++
})
});
maneuverIds=Maps.addLocsWithFlyoutsToMap(g,false,false);
var h=new Element("div");
h.adopt([l]);
$("maneuvers").appendChild(h);
var f=new Element("div",{"class":"arrive"}).adopt([new Element("div",{"class":"marker"}).set("text",alphabets[(viaPoints!=null?viaPoints.length+1:1)].toUpperCase()),new Element("a",{"class":"departPoint",href:"#",events:{click:function(){if(endpointobject!=null){try{endpointobject.showFlyout()
}catch(o){}}return false
}}}).set("text","saavut_osoitteeseen".localize()+": ").adopt([new Element("span",{styles:{"text-decoration":"underline","font-weight":"bold"}}).set("text",endPoint.displayString)])]);
$("maneuvers").appendChild(f);
$("maneuvers").setStyle("display","block");
var d="";
if(endPoint.searchedWithCityname){if($defined(endPoint.streetName)){d=endPoint.cityName_fi+'<br /><div style="'+j+'">'+"end_address_not_specified_1".localize()+" "+"end_address_not_specified_2".localize()+" "+endPoint.streetName+"</div>"
}else{d=endPoint.cityName_fi+'<br /><div style="'+j+'">'+"end_address_not_specified_1".localize()+"</div>"
}}else{d=endPoint.displayString
}var m=new Element("div",{"class":"routestopHighlight Left2"}).adopt([new Element("p").adopt([new Element("span",{"class":"routeaddressSpan"}).set("text","mihin".localize()),new Element("span",{"class":"marker"}).set("text",alphabets[(viaPoints!=null?viaPoints.length+1:1)].toUpperCase()),new Element("span",{"class":"routesecondResult"}).set("html",d)]).setStyle("margin-left","6px")]);
$("routeResultPoints").appendChild(m);
$("totalTravelInfo").set("text",c.formattedTotalTravelDistance+" "+"noin".localize()+" "+c.formattedTotalTravelTime)
}catch(i){}}else{}}function openManeuverFayout(c){var b=getTurnByTurnId(c);
if(b!=null){if(selectedTurn!=null){try{}catch(a){}}selectedTurn=b;
var d=Maps.getMapObject();
d.centerAndZoom(new LMI.Mapping.Point(b.y,b.x),3);
Maps.getIconFromMap(maneuverIds[c-1]).showFlyout("default")
}}function getTurnByTurnId(b){if(turnData==null){return null
}for(var a=0;
a<turnData.length;
a++){if(turnData[a].turnID==b){return turnData[a]
}}return null
}function updateRouteInfo(a){if(a!=null){Maps.removePointsFromMap(routeImage);
if(expandStartPoint){startPoint=a;
startPoint.type="0"
}else{endPoint=a;
endPoint.type=viaPoints!=null?viaPoints.length+1:"1"
}if(endPointCandidates!=null){expandLocationVerification()
}else{addRoutePointsToMap()
}}}function updateLocationInfo(f){if(f!=null){try{startPoint=f;
createSingleLocInfo();
var d=Maps.getMapObject();
var b=d.getLLPoint();
var a=d.getURPoint();
MapRemote.getPois(b.lat,b.lng,a.lat,a.lng,Maps.getZoomLevel(),addPOIsToMap)
}catch(c){}}}function submitSearchForm(){try{var m=false;
var g="";
var k="";
var r="";
if($("EndPointDiv")!=null){g=$("endStreet").value!="katuosoite".localize()&&$("endStreet").value!=""?$("endStreet").value:"";
k=$("endLocality").value!="paikkakunta".localize()&&$("endLocality").value!=""?$("endLocality").value:"";
r=$("endCountry").value;
if(g.length>2||k.length>1){m=true
}}var f=$("startStreet").value!="katuosoite".localize()&&$("startStreet").value!=""?$("startStreet").value:"";
var n=$("startLocality").value!="paikkakunta".localize()&&$("startLocality").value!=""?$("startLocality").value:"";
var l=$("startCountry").value;
if(f==""&&n==""&&g==""&&k==""){if(m||$defined($("endStreet"))){showError(["kentat_tyhjia".localize(),"kentat_tyhjia2_reitti".localize()],true);
trackRouteSearch(f,g,n,k,null)
}else{showError(["kentat_tyhjia".localize(),"kentat_tyhjia2".localize()],true);
trackMapSearch(f,n,null)
}return false
}initVariables();
Maps.removePointsFromMap();
var c=new Array();
var j=new Array();
var q=new Array();
var d=null;
d=f+", "+n;
startpointquery=(f+n).length>0?f+n:null;
endpointquery=(g+k).length>0?g+k:null;
if(!m){addSearchwordToHistory(d,null,"kartat")
}if(f.length>2||n.length>1){c.push(f);
j.push(n);
q.push(l);
var a=null;
if(m){c.push(g);
j.push(k);
q.push(r);
if(viapointdivscount>0){if(viapointqueries==null){viapointqueries=new Array()
}a=new Array();
for(var p=0;
p<viapointdivscount;
p++){if($("via"+p+"Street")!=null&&$("via"+p+"Locality")!=null){var b=$("via"+p+"Street").value!="katuosoite".localize()&&$("via"+p+"Street").value!=""?$("via"+p+"Street").value:"";
var h=$("via"+p+"Locality").value!="paikkakunta".localize()&&$("via"+p+"Locality").value!=""?$("via"+p+"Locality").value:"";
var o=$("via"+p+"Country").value;
c.push(b);
j.push(h);
q.push(o);
if(viapointqueries.length>p){if(viapointqueries[p]==b+h&&(b+h).length>0){a.push(p)
}viapointqueries[p]=b+h
}else{viapointqueries.push(b+h)
}}d=null;
d=b+", "+h;
addSearchwordToHistory(d,null,"reitit")
}}}submittedSearch=true;
openPoiAfterSearch=true;
showACEnabled=false;
MapRemote.geocodeAddressesWithRouteStyle(c,j,q,Maps.getMapObject().viewport.offsetWidth,Maps.getMapObject().viewport.offsetHeight,customStartPoint,customEndPoint,a,routeStyle,function(e){if(!m){trackMapSearch(f,n,e);
d=null;
d=f+", "+n;
addSearchwordToHistory(d,null,"kartat")
}else{trackRouteSearch(f,g,n,k,e);
d=null;
d=f+", "+n;
addSearchwordToHistory(d,null,"reitit");
d=null;
d=g+", "+k;
addSearchwordToHistory(d,null,"reitit")
}addPointsCallback(e)
})
}customEndPoint=false
}catch(i){}return false
}function showAlert(c){var a=new Element("div",{id:"bgDiv","class":"bgDiv"});
a.setStyle("width",window.getScrollWidth()+"px");
a.setStyle("height",window.getScrollHeight()+"px");
a.fade(0.6);
var b=new Element("div",{id:"alertDivBg","class":"alertDivBg"});
var d=new Element("div",{id:"alertDiv","class":"alertDiv"});
d.adopt([new Element("div",{"class":"close",events:{click:function(){d.remove();
a.remove();
b.remove()
}}}).set("html","sulje".localize()),new Element("div",{"class":"alertContent"}).set("html",c)]);
d.setStyle("left",(window.getWidth()/2-180)+"px");
b.setStyle("left",(window.getWidth()/2-180)+"px");
d.setStyle("top",(window.getHeight()/2-50+window.getScrollTop())+"px");
b.setStyle("top",(window.getHeight()/2-50+window.getScrollTop())+"px");
document.body.appendChild(a);
document.body.appendChild(b);
document.body.appendChild(d)
}function addPointsCallback(d){var e=false;
var c="";
var h="";
var g="";
if($("EndPointDiv")!=null){c=$("endStreet").value!="katuosoite".localize()&&$("endStreet").value!=""?$("endStreet").value:"";
h=$("endLocality").value!="paikkakunta".localize()&&$("endLocality").value!=""?$("endLocality").value:"";
g=$("endCountry").value;
if(c.length>2||h.length>1){e=true
}}if(d.errors!=null){showError(d.errors,true);
if(d==null||d.localities==null||(d.localities[0]==null||(d.localities[1]==null&&e))){$("resultInfoTitle").innerHTML="";
$("resultInfo").innerHTML="";
$("location").setStyle("display","none");
$("noResults").setStyle("display","block");
hideMapOptionsBar();
return
}}if(d.localities[0].length>1){startPointCandidates=d.localities[0]
}else{startPoint=d.localities[0][0];
startPoint.type="0"
}if($defined(d.localities[1])){endPoint=null;
isRouteSearchActive=true;
if(d.localities[1].length>1){endPointCandidates=d.localities[1]
}else{endPoint=d.localities[1][0];
endPoint.type=viapointdivscount+1
}}viaPointCandidates=new Array();
if(d.localities.length>2){viaPoints=new Array();
for(var f=2;
f<d.localities.length;
f++){viaPointCandidates.push(d.localities[f])
}for(var a=2;
a<d.localities.length;
a++){if(d.localities[a].length>1){expandViapointVerification(d.localities[a],a-2);
return
}else{var b=d.localities[a][0];
b.type=a-1;
viaPoints.push(b);
viaPointCandidates.remove(a-2)
}}}viaPointCandidates=null;
if(startPointCandidates==null&&endPointCandidates==null){addRoutePointsToMap()
}else{showablePOIs=null;
openResultsPanelNoEvent();
$("location").setStyle("display","block");
$("noResults").setStyle("display","none");
expandLocationVerification()
}}function changeDirectionNoSearch(){var f=$("startLocality").value;
var d=$("startStreet").value;
var c=f;
var b=d;
var h=$("endLocality").value;
var e=$("endStreet").value;
$("startLocality").value=h!=null?h:"";
$("startStreet").value=e!=null?e:"";
$("endLocality").value=c!=null?c:"";
$("endStreet").value=b!=null?b:"";
var a=$("startCountry").value;
var g=$("endCountry").value;
changeCountryNoEvent($("changeStartCountry"),g);
changeCountryNoEvent($("changeEndCountry"),a)
}function changeDirection(){if(startPoint!=null&&endPoint!=null){var j=endPoint.type;
var f=startPoint.type;
var d=startPoint;
startPoint=endPoint;
endPoint=d;
startPoint.type=f;
endPoint.type=j;
var a=$("startCountry").value;
var h=$("endCountry").value;
changeCountryNoEvent($("changeStartCountry"),h);
changeCountryNoEvent($("changeEndCountry"),a);
if(viaPoints!=null){var b=new Array();
var g=new Array();
var e=new Array();
for(var c=viaPoints.length-1;
c>=0;
c--){b.push(viaPoints[c]);
g.push($("via"+c+"Country").value);
e.push($("changeVia"+c+"Country"))
}g=g.reverse();
for(var c=0;
c<e.length;
c++){changeCountryNoEvent(e[c],g[c])
}for(var c=0;
c<viaPoints.length;
c++){b[c].type=c+1
}viaPoints=b
}MapRemote.changeDirection(addRoutePointsToMap)
}else{changeDirectionNoSearch()
}return false
}function changeCountryNoEvent(b,a){var e=b;
while(e.id.indexOf("change")<0&&e.id.indexOf("Country")<0){e=$(e).getParent()
}var d=e.id.replace("change","").replace("Country","");
if($(b).getElements("a.selected")!=null){$(b).getElements("a.selected").each(function(c){c.removeClass("selected");
c.setStyle("cursor","pointer")
})
}$(b).getElements("a[id="+a+"").each(function(c){if(c.id==a){c.addClass("selected");
c.setStyle("cursor","default");
c.removeEvent("click");
$(d.toLowerCase()+"Country").value=c.id;
$("selected"+d+"Country").innerHTML=c.innerHTML
}})
}function openRouteTypeDiv(b){if(b!=undefined){var a=new Event(b);
a.stop()
}$("routeOptionsDiv").setStyle("display","block");
$("ShowRouteOptionsLink").removeEvents("click");
$("ShowRouteOptionsLink").addEvent("click",closeRouteTypeDiv);
$("ShowRouteOptionsLink").set("text","sulje_reittivalinnat".localize());
$("ShowRouteOptionsLink").removeClass("hideRouteoptions");
$("ShowRouteOptionsLink").addClass("showRouteoptions");
return false
}function findPos(b){var c=0;
var a=0;
if(b.offsetParent){do{c+=b.offsetLeft;
a+=b.offsetTop
}while(b=b.offsetParent)
}return[c,a]
}function closeRouteTypeDiv(b){if(b!=undefined){var a=new Event(b);
a.stop()
}$("routeOptionsDiv").setStyle("display","none");
$("ShowRouteOptionsLink").removeEvents("click");
$("ShowRouteOptionsLink").addEvent("click",openRouteTypeDiv);
$("ShowRouteOptionsLink").set("text","nayta_reittivalinnat".localize());
$("ShowRouteOptionsLink").removeClass("showRouteoptions");
$("ShowRouteOptionsLink").addClass("hideRouteoptions");
return false
}function enablerouteOptions(){$("reittivalinnat").setStyle("color",$("kulkuvaline").getStyle("color"));
$("routeStyleFastest").disabled=false;
$("routeStyleShortest").disabled=false;
$("routeStyleAvoid").disabled=false;
return false
}function disablerouteOptions(){$("reittivalinnat").setStyle("color","#666");
$("routeStyleFastest").disabled=true;
$("routeStyleShortest").disabled=true;
$("routeStyleAvoid").disabled=true;
return false
}function changeRouteStyle(a){if(a=="PEDESTRIAN"){$("routestyles").setStyle("opacity","0.4")
}else{if(a=="FASTEST"){$("routestyles").setStyle("opacity","1.0")
}}routeStyle=a;
return false
}function showHideLink(){$("coordlink").innerHTML=$("coordLocCont").style.display=="none"?"piilota_koordinaatit".localize():"nayta_koordinaatit".localize();
$("coordLocCont").style.display=$("coordLocCont").style.display=="none"?"inline":"none"
}function expandLocationVerification(){var b=null;
var e=true;
if(startPointCandidates!=null){b=startPointCandidates
}else{if(endPointCandidates!=null){b=endPointCandidates;
e=false
}}if(isRouteSearchActive){trackRouteDidYouMean()
}else{trackMapsDidYouMean()
}$("panelContent").setStyle("display","block");
var d=new Array();
var a="tarkoititko".localize()+(isRouteSearchActive?(e?" "+"alkupisteeksi".localize():" "+"paatepisteeksi".localize()):"")+":";
$("resultInfoTitle").set("text",a);
$("resultInfo").innerHTML="";
var c=1;
$each(b,function(l,g){var f=l.wgs84lat;
var m=l.wgs84lon;
var h="POI"+g;
var k=new Element("div",{"class":"expandLocCont",id:h}).adopt([new Element("div").adopt([new Element("strong",{styles:{color:"white",padding:"7px 10px 0 "+(g<9?"6px":"2px"),"font-size":"11px"}}).set("text",g+1),new Element("a",{href:"#",styles:{"margin-left":"30px",display:"block","margin-top":"-15px"},events:{click:function(){if(isRouteSearchActive){if(e){startPointCandidates=null;
expandStartPoint=true;
MapRemote.selectStartExpandLocality(g,updateRouteInfo)
}else{endPointCandidates=null;
expandStartPoint=false;
MapRemote.selectEndExpandLocality(g,updateRouteInfo)
}}else{Maps.getMapObject().centerAndZoom(new LMI.Mapping.Point(f,m),5);
MapRemote.selectStartExpandLocality(g,updateLocationInfo)
}return false
},mouseover:function(p){try{var n=new Event(p);
n.stop();
if($(h)){$(h).setStyle("background-color","#ebf5fb")
}doUpdatePOIs=false;
Maps.getIconFromMap(g).showFlyout("default")
}catch(o){}},mouseout:function(o){var n=new Event(o);
n.stop();
if($(h)){$(h).setStyle("background-color","#FFFFFF")
}if(Maps.getIconFromMap(g).hideFlyout){Maps.getIconFromMap(g).hideFlyout()
}}}}).set("text",l.displayStringWithDesc)])]);
$("resultInfo").appendChild(k);
var j=new Element("div").set("html","<strong>"+"osoite".localize()+"</strong><p>"+l.displayString+"</p>");
var i={mouseover:function(n){try{n=new Event(n);
n.stop()
}catch(o){}if($(h)){$(h).setStyle("background-color","#ebf5fb")
}},mouseout:function(n){try{n=new Event(n);
n.stop()
}catch(o){}if($(h)){$(h).setStyle("background-color","#FFFFFF")
}}};
d.push({title:l.cityName_fi,content:j,lat:l.wgs84lat,lon:l.wgs84lon,number:c,type:"default",events:i});
c++
});
$("resultInfo").addClass("resultInfo");
Maps.addLocsWithFlyoutsToMap(d,false,true)
}function addViapoint(a){closeErrorDiv();
if(a!=null){try{if(viaPoints==null){viaPoints=new Array()
}a.type=viaPoints.length+1;
viaPoints.push(a);
$("resultInfoTitle").set("text","");
$("resultInfo").innerHTML="";
if(viaPointCandidates!=null){for(var c=0;
c<viaPointCandidates.length;
c++){if(viaPointCandidates[c]!=undefined&&viaPointCandidates[c]!=null){if(viaPointCandidates[c].length>1){expandViapointVerification(viaPointCandidates[c],c);
return
}else{viaPoints.push(viaPointCandidates[c][0])
}}}}viaPointCandidates=null;
if(startPointCandidates==null&&endPointCandidates==null){Maps.removePointsFromMap();
addRoutePointsToMap()
}else{expandLocationVerification()
}}catch(b){}}else{showError("valipistetta_ei_loytynyt".localize())
}}function expandViapointVerification(g,f){$("location").setStyle("display","block");
$("noResults").setStyle("display","none");
showMapOptionsBar();
var d=new Array();
var b="tarkoititko_valipisteeksi".localize();
$("resultInfoTitle").set("text",b);
$("resultInfo").innerHTML="";
var e=1;
for(var a=0;
a<g.length;
a++){var h="POI"+a;
var c=new Element("div",{"class":"expandLocCont",id:h}).adopt([new Element("div").adopt([new Element("strong",{styles:{color:"white",padding:"7px 10px 0 "+(f<9?"6px":"2px"),"font-size":"11px"}}).set("text",e),new Element("a",{href:"#",events:{click:function(k){k=new Event(k);
var i=k.target;
while(i.id==""){i=i.parentNode
}var l=parseInt(i.id.replace("POI",""));
viaPointCandidates.remove(0);
MapRemote.selectViaExpandLocalityWithViaIndex(l,f,addViapoint);
return false
},mouseover:function(l){try{var i=new Event(l);
i.stop()
}catch(k){}},mouseout:function(k){var i=new Event(k);
i.stop()
}}}).set("text",g[a].displayStringWithDesc)])]);
$("resultInfo").appendChild(c);
var j=document.createElement("div");
j.innerHTML="<strong>"+"osoite".localize()+"</strong><p>"+g[a].displayString+"</p>";
d.push({title:g[a].cityName_fi,content:j,lat:g[a].wgs84lat,lon:g[a].wgs84lon,number:e,type:"default"});
e++
}$("resultInfo").addClass("resultInfo");
Maps.removePointsFromMap();
Maps.addLocsWithFlyoutsToMap(d,false,false)
}window.addEvent("domready",function(){refresh()
});
function getReq(){var a=null;
if(window.XMLHttpRequest&&!(window.ActiveXObject)){try{a=new XMLHttpRequest()
}catch(b){a=false
}}else{if(window.ActiveXObject){try{a=new ActiveXObject("Msxml2.XMLHTTP")
}catch(b){try{a=new ActiveXObject("Microsoft.XMLHTTP")
}catch(b){a=false
}}}}return a
}function refresh(){setTimeout(function(){var a=getReq();
if(a){a.open("GET","/kartat/refresh.fon?stamp="+new Date().getTime()),true;
a.send("")
}a=getReq();
if(a){a.open("GET","/refresh.fon?stamp="+new Date().getTime()),true;
a.send("")
}refresh()
},800000)
};
