var defaultCity="Valitse paikkakunta",defaultHome="Koti";
cityJson={label:"name",identifier:"value",items:[{value:"0,0",name:defaultCity},{value:"61.169,23.858",name:"Akaa"},{value:"63,23.817",name:"Alajärvi"},{value:"64.167,24.3",name:"Alavieska"},{value:"62.583,23.617",name:"Alavus"},{value:"61.173,25.549",name:"Asikkala"},{value:"60.53,25.599",name:"Askola"},{value:"60.646,22.577",name:"Aura"},{value:"60.413,21.047",name:"Brändö"},{value:"60.213,19.614",name:"Eckerö"},{value:"62.083,28.933",name:"Enonkoski"},{value:"68.383,23.633",name:"Enontekiö"},{value:"60.209,24.658",name:"Espoo"},{value:"61.133,22.133",name:"Eura"},{value:"61.2,21.733",name:"Eurajoki"},{value:"63.367,23.483",name:"Evijärvi"},{value:"60.228,19.995",name:"Finström"},{value:"60.819,23.621",name:"Forssa"},{value:"60.03,20.392",name:"Föglö"},{value:"60.383,19.85",name:"Geta"},{value:"63.752,25.329",name:"Haapajärvi"},{value:"64.145,25.377",name:"Haapavesi"},{value:"65.01,24.715",name:"Hailuoto"},{value:"63.467,24.167",name:"Halsua"},{value:"60.564,27.201",name:"Hamina"},{value:"60.217,19.75",name:"Hammarland"},{value:"62.385,26.431",name:"Hankasalmi"},{value:"59.833,22.95",name:"Hanko"},{value:"61.316,22.135",name:"Harjavalta"},{value:"61.583,26.018",name:"Hartola"},{value:"61.067,24.383",name:"Hattula"},{value:"65.183,25.35",name:"Haukipudas"},{value:"60.783,25",name:"Hausjärvi"},{value:"61.205,26.04",name:"Heinola"},{value:"62.433,28.6",name:"Heinävesi"},{value:"60.17,24.931",name:"Helsinki"},{value:"61.642,26.788",name:"Hirvensalmi"},{value:"60.987,25.537",name:"Hollola"},{value:"61.983,22.267",name:"Honkajoki"},{value:"61.178,22.689",name:"Huittinen"},{value:"60.933,23.367",name:"Humppila"},{value:"64.677,28.51",name:"Hyrynsalmi"},{value:"60.633,24.876",name:"Hyvinkää"},{value:"61.03,25.157",name:"Hämeenkoski"},{value:"61.633,23.2",name:"Hämeenkyrö"},{value:"61,24.45",name:"Hämeenlinna"},{value:"65.317,25.367",name:"Ii"},{value:"63.567,27.183",name:"Iisalmi"},{value:"60.89,26.35",name:"Iitti"},{value:"61.772,23.067",name:"Ikaalinen"},{value:"62.732,22.578",name:"Ilmajoki"},{value:"62.667,30.917",name:"Ilomantsi"},{value:"61.19,28.774",name:"Imatra"},{value:"68.9,27.017",name:"Inari"},{value:"60.05,24.017",name:"Inkoo"},{value:"62.117,21.967",name:"Isojoki"},{value:"63,22.317",name:"Isokyrö"},{value:"62.49,22.764",name:"Jalasjärvi"},{value:"60.9,24.6",name:"Janakkala"},{value:"62.6,29.767",name:"Joensuu"},{value:"60.803,23.483",name:"Jokioinen"},{value:"60.155,19.958",name:"Jomala"},{value:"62.183,27.833",name:"Joroinen"},{value:"61.748,26.129",name:"Joutsa"},{value:"63.064,28.32",name:"Juankoski"},{value:"63.246,29.251",name:"Juuka"},{value:"61.783,24.45",name:"Juupajoki"},{value:"61.899,27.863",name:"Juva"},{value:"62.233,25.733",name:"Jyväskylä"},{value:"61.817,22.7",name:"Jämijärvi"},{value:"61.867,25.2",name:"Jämsä"},{value:"60.478,25.083",name:"Järvenpää"},{value:"60.391,22.376",name:"Kaarina"},{value:"62.976,28.483",name:"Kaavi"},{value:"64.233,27.683",name:"Kajaani"},{value:"64.25,23.95",name:"Kalajoki"},{value:"61.463,24.076",name:"Kangasala"},{value:"61.983,26.633",name:"Kangasniemi"},{value:"61.803,22.39",name:"Kankaanpää"},{value:"62.967,25.25",name:"Kannonkoski"},{value:"63.904,23.896",name:"Kannus"},{value:"62.3,21.7",name:"Karijoki"},{value:"60.25,23.717",name:"Karjalohja"},{value:"60.532,24.219",name:"Karkkila"},{value:"62.867,24.783",name:"Karstula"},{value:"62.133,22.567",name:"Karvia"},{value:"62.376,21.231",name:"Kaskinen"},{value:"62.424,22.17",name:"Kauhajoki"},{value:"63.1,23.083",name:"Kauhava"},{value:"60.212,24.726",name:"Kauniainen"},{value:"63.533,23.7",name:"Kaustinen"},{value:"63.183,26.367",name:"Keitele"},{value:"65.733,24.567",name:"Kemi"},{value:"66.719,27.425",name:"Kemijärvi"},{value:"65.817,24.533",name:"Keminmaa"},{value:"60.163889,22.727778",name:"Kemiönsaari"},{value:"64.917,25.5",name:"Kempele"},{value:"60.4,25.117",name:"Kerava"},{value:"61.917,29.283",name:"Kerimäki"},{value:"61.893,29.834",name:"Kesälahti"},{value:"62.257,24.706",name:"Keuruu"},{value:"62.2,23.183",name:"Kihniö"},{value:"61.45,22.583",name:"Kiikoinen"},{value:"65.133,25.733",name:"Kiiminki"},{value:"63.37,24.97",name:"Kinnula"},{value:"60.117,24.433",name:"Kirkkonummi"},{value:"62.1,30.15",name:"Kitee"},{value:"67.651,24.903",name:"Kittilä"},{value:"63.65,26.617",name:"Kiuruvesi"},{value:"60.967,21.883",name:"Kivijärvi"},{value:"61.25,22.35",name:"Kokemäki"},{value:"63.844,23.128",name:"Kokkola"},{value:"67.331,23.788",name:"Kolari"},{value:"62.617,26.317",name:"Konnevesi"},{value:"62.767,29.85",name:"Kontiolahti"},{value:"60.167,21.833",name:"Korsnäs"},{value:"60.655,23.144",name:"Koski Tl"},{value:"60.46,26.946",name:"Kotka"},{value:"60.867,26.7",name:"Kouvola"},{value:"62.277,21.358",name:"Kristiinankaupunki"},{value:"63.717,23.033",name:"Kruunupyy"},{value:"64.125,29.511",name:"Kuhmo"},{value:"61.567,25.183",name:"Kuhmoinen"},{value:"60.261,20.779",name:"Kumlinge"},{value:"62.9,27.683",name:"Kuopio"},{value:"62.8,23.5",name:"Kuortane"},{value:"62.617,22.417",name:"Kurikka"},{value:"60.55,21.35",name:"Kustavi"},{value:"65.967,29.183",name:"Kuusamo"},{value:"63.033,24.567",name:"Kyyjärvi"},{value:"60.872,25.269",name:"Kärkölä"},{value:"63.98,25.755",name:"Kärsämäki"},{value:"59.933,20.883",name:"Kökar"},{value:"61.117,22.35",name:"Köyliö"},{value:"60.981,25.655",name:"Lahti"},{value:"62.967,22.017",name:"Laihia"},{value:"60.88,21.689",name:"Laitila"},{value:"60.633,26.217",name:"Lapinjärvi"},{value:"63.366,27.392",name:"Lapinlahti"},{value:"63.2,23.633",name:"Lappajärvi"},{value:"61.056,28.189",name:"Lappeenranta"},{value:"62.96,23.03",name:"Lapua"},{value:"62.419,25.953",name:"Laukaa"},{value:"61.598,22.593",name:"Lavia"},{value:"61.05,27.8",name:"Lemi"},{value:"60.071,20.085",name:"Lemland"},{value:"61.317,23.75",name:"Lempäälä"},{value:"62.483,27.783",name:"Leppävirta"},{value:"63.533,24.65",name:"Lestijärvi"},{value:"63.317,30.017",name:"Lieksa"},{value:"60.507,22.451",name:"Lieto"},{value:"64.817,25.4",name:"Liminka"},{value:"62.533,29.367",name:"Liperi"},{value:"60.25,24.083",name:"Lohja"},{value:"60.851,23.043",name:"Loimaa"},{value:"60.713,24.438",name:"Loppi"},{value:"60.456,26.222",name:"Loviisa"},{value:"61.783,25.7",name:"Luhanka"},{value:"64.84,25.19",name:"Lumijoki"},{value:"60.12,20.264",name:"Lumparland"},{value:"63.751,22.745",name:"Luoto"},{value:"60.911,27.568",name:"Luumäki"},{value:"61.365,21.618",name:"Luvia"},{value:"60.302,22.291",name:"Länsi-Turunmaa"},{value:"62.933,21.567",name:"Maalahti"},{value:"63.157,27.304",name:"Maaninka"},{value:"60.1,19.95",name:"Maarianhamina"},{value:"60.817,25.383",name:"Marttila"},{value:"60.567,22.1",name:"Masku"},{value:"63.7,23.183",name:"Merijärvi"},{value:"61.863,21.507",name:"Merikarvia"},{value:"60.667,27.7",name:"Miehikkälä"},{value:"61.683,27.25",name:"Mikkeli"},{value:"64.809,25.991",name:"Muhos"},{value:"62.414,24.801",name:"Multia"},{value:"67.958,23.679",name:"Muonio"},{value:"63.117,21.717",name:"Mustasaari"},{value:"62.133,25.667",name:"Muurame"},{value:"60.678,21.99",name:"Mynämäki"},{value:"60.667,25.85",name:"Myrskylä"},{value:"60.633,25.317",name:"Mäntsälä"},{value:"62.033333,24.616667",name:"Mänttä-Vilppula"},{value:"61.417,26.877",name:"Mäntyharju"},{value:"60.465,22.019",name:"Naantali"},{value:"61.367,22",name:"Nakkila"},{value:"60.944,25.937",name:"Nastola"},{value:"63.212,28.06",name:"Nilsiä"},{value:"63.923,24.958",name:"Nivala"},{value:"61.467,23.5",name:"Nokia"},{value:"60.59,22.08",name:"Nousiainen"},{value:"60.397,23.893",name:"Nummi-Pusula"},{value:"63.544,29.145",name:"Nurmes"},{value:"60.467,24.8",name:"Nurmijärvi"},{value:"62.474,21.336",name:"Närpiö"},{value:"60.8,25.736",name:"Orimattila"},{value:"60.85,22.683",name:"Oripää"},{value:"61.677,24.363",name:"Orivesi"},{value:"64.269,24.818",name:"Oulainen"},{value:"65.017,25.467",name:"Oulu"},{value:"64.933,25.417",name:"Oulunsalo"},{value:"62.727,29.038",name:"Outokumpu"},{value:"61.35,25.283",name:"Padasjoki"},{value:"60.456,22.687",name:"Paimio"},{value:"64.417,27.833",name:"Paltamo"},{value:"61.55,29.5",name:"Parikkala"},{value:"62.017,23.017",name:"Parkano"},{value:"63.601,22.791",name:"Pedersören kunta"},{value:"67.111,27.511",name:"Pelkosenniemi"},{value:"66.796,24",name:"Pello"},{value:"63.217,24.417",name:"Perho"},{value:"61.5,26.483",name:"Pertunmaa"},{value:"62.255,25.19",name:"Petäjävesi"},{value:"62.3,27.133",name:"Pieksämäki"},{value:"63.235,26.758",name:"Pielavesi"},{value:"63.677,22.706",name:"Pietarsaari"},{value:"63.376,25.575",name:"Pihtipudas"},{value:"61.467,23.626",name:"Pirkkala"},{value:"62.857,29.376",name:"Polvijärvi"},{value:"61.698,22.003",name:"Pomarkku"},{value:"61.483,21.783",name:"Pori"},{value:"60.481,25.363",name:"Pornainen"},{value:"60.398,25.669",name:"Porvoo"},{value:"66.11,28.179",name:"Posio"},{value:"65.367,27.001",name:"Pudasjärvi"},{value:"60.65,25.6",name:"Pukkila"},{value:"61.752,29.393",name:"Punkaharju"},{value:"61.117,23.1",name:"Punkalaidun"},{value:"64.872,27.66",name:"Puolanka"},{value:"61.526,28.184",name:"Puumala"},{value:"60.483,26.533",name:"Pyhtää"},{value:"64.47,24.268",name:"Pyhäjoki"},{value:"63.682,25.97",name:"Pyhäjärvi"},{value:"64.102,26.356",name:"Pyhäntä"},{value:"60.951,21.447",name:"Pyhäranta"},{value:"61.333,24.28",name:"Pälkäne"},{value:"60.71,22.61",name:"Pöytyä"},{value:"64.677,24.459",name:"Raahe"},{value:"59.975,23.436111",name:"Raasepori"},{value:"60.483,22.183",name:"Raisio"},{value:"62.067,28.3",name:"Rantasalmi"},{value:"65.93,26.51",name:"Ranua"},{value:"61.134,21.505",name:"Rauma"},{value:"62.633,26.833",name:"Rautalampi"},{value:"63.483,28.3",name:"Rautavaara"},{value:"61.431,29.35",name:"Rautjärvi"},{value:"63.61,24.934",name:"Reisjärvi"},{value:"60.739,24.774",name:"Riihimäki"},{value:"61.507,27.266",name:"Ristiina"},{value:"64.507,28.201",name:"Ristijärvi"},{value:"66.5,25.717",name:"Rovaniemi"},{value:"61.294,28.832",name:"Ruokolahti"},{value:"61.983,24.083",name:"Ruovesi"},{value:"60.533,22.217",name:"Rusko"},{value:"62.317,29.617",name:"Rääkkylä"},{value:"62.708,25.247",name:"Saarijärvi"},{value:"66.833,28.667",name:"Salla"},{value:"60.383,23.133",name:"Salo"},{value:"60.283,20.05",name:"Saltvik"},{value:"61.34748,22.90142",name:"Sastamala"},{value:"60.346,22.69",name:"Sauvo"},{value:"61.195,27.684",name:"Savitaipale"},{value:"61.867,28.883",name:"Savonlinna"},{value:"67.292,28.158",name:"Savukoski"},{value:"62.798,22.832",name:"Seinäjoki"},{value:"63.909,24.515",name:"Sievi"},{value:"61.867,21.833",name:"Siikainen"},{value:"64.833,24.733",name:"Siikajoki"},{value:"64.266667,25.866667",name:"Siikalatva"},{value:"63.074,27.665",name:"Siilinjärvi"},{value:"65.667,25.05",name:"Simo"},{value:"60.367,25.267",name:"Sipoo"},{value:"60.183,24.2",name:"Siuntio"},{value:"67.417,26.599",name:"Sodankylä"},{value:"62.872,24.214",name:"Soini"},{value:"60.617,23.533",name:"Somero"},{value:"63.667,27.517",name:"Sonkajärvi"},{value:"64.133,28.417",name:"Sotkamo"},{value:"60.128,20.668",name:"Sottunga"},{value:"61.79,28.364",name:"Sulkava"},{value:"60.25,20.116",name:"Sund"},{value:"61.317,27.45",name:"Suomenniemi"},{value:"64.883,28.9",name:"Suomussalmi"},{value:"62.631,27.113",name:"Suonenjoki"},{value:"61.506,25.673",name:"Sysmä"},{value:"61.054,22.338",name:"Säkylä"},{value:"61.15,28.05",name:"Taipalsaari"},{value:"65.573,28.233",name:"Taivalkoski"},{value:"60.563,21.618",name:"Taivassalo"},{value:"60.809,23.767",name:"Tammela"},{value:"61.5,23.75",name:"Tampere"},{value:"60.583,22.733",name:"Tarvasjoki"},{value:"62.95,26.75",name:"Tervo"},{value:"66.084,24.811",name:"Tervola"},{value:"62.483,21.733",name:"Teuva"},{value:"62.226,30.333",name:"Tohmajärvi"},{value:"63.778,24.246",name:"Toholampi"},{value:"62.1,26.083",name:"Toivakka"},{value:"65.85,24.183",name:"Tornio"},{value:"60.459,22.25",name:"Turku"},{value:"62.817,28.5",name:"Tuusniemi"},{value:"60.407,25.036",name:"Tuusula"},{value:"64.767,25.65",name:"Tyrnävä"},{value:"62.633,23.817",name:"Töysä"},{value:"61.433,21.883",name:"Ulvila"},{value:"61.083,23.533",name:"Urjala"},{value:"64.761,26.413",name:"Utajärvi"},{value:"69.91,27.018",name:"Utsjoki"},{value:"62.5,25.45",name:"Uurainen"},{value:"63.523,22.528",name:"Uusikaarlepyy"},{value:"60.801,21.411",name:"Uusikaupunki"},{value:"64.561,26.831",name:"Vaala"},{value:"63.1,21.6",name:"Vaasa"},{value:"61.267,24.033",name:"Valkeakoski"},{value:"63.685,28.812",name:"Valtimo"},{value:"60.285,25.05",name:"Vantaa"},{value:"62.317,27.917",name:"Varkaus"},{value:"60.68,21.664",name:"Vehmaa"},{value:"62.933,26.417",name:"Vesanto"},{value:"61.317,23.617",name:"Vesilahti"},{value:"63.467,23.767",name:"Veteli"},{value:"63.747,27.005",name:"Vieremä"},{value:"64.487,24.98",name:"Vihanti"},{value:"60.417,24.333",name:"Vihti"},{value:"63.086,25.866",name:"Viitasaari"},{value:"63.16,23.85",name:"Vimpeli"},{value:"60.584,27.706",name:"Virolahti"},{value:"62.27,23.7",name:"Virrat"},{value:"63.067,22.1",name:"Vähäkyrö"},{value:"60.242,20.378",name:"Vårdö"},{value:"63.15,22.25",name:"Vöyri"},{value:"65.371,25.834",name:"Yli-Ii"},{value:"66.321,23.673",name:"Ylitornio"},{value:"64.083,24.55",name:"Ylivieska"},{value:"61.56,23.582",name:"Ylöjärvi"},{value:"60.804,23.28",name:"Ypäjä"},{value:"62.556,24.096",name:"Ähtäri"},{value:"62.6,25.729",name:"Äänekoski"}]};
function generateUid(){return new Date().getTime().toString(36)
}dojo.provide("adfore.common");
var HELSINKI="1",OULU="2",TAMPERE="3",mobile=false,adforeObj=new Object(),infoXhr=null,weatherXhr=null,currentWeather=null,globalDate=new Date(),trackedEvents=new Array(),xhrsWaiting=new Array(),labels=new Object(),channels=new Object(),bookmarks=new Array(),xhrs=new Array(),cityObjArray={"":""};
Common={getUrlParam:function(b){b=b.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
var a="[\\?&]"+b+"=([^&#]*)";
var d=new RegExp(a);
var c=d.exec(window.location.search);
if(c==null){return null
}else{try{return decodeURIComponent(c[1])
}catch(f){return unescape(c[1])
}}},getHashParam:function(b){b=b.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
var a="[#&]"+b+"=([^&]*)";
var d=new RegExp(a);
var c=d.exec(window.location.hash);
if(c==null){return null
}else{try{return decodeURIComponent(c[1])
}catch(f){return unescape(c[1])
}}},pushItem:function(a,b){if((a.length>0)&&(a[a.length-1].id==b.id)){return false
}a.push(b);
return true
},createChannels:function(){var a={find_all:new Array(),searchResults:new Array(),list_bookmarks:new Array()};
a.find_all.channelId="find_all";
a.find_all.channelName=labels.channels_find_all;
a.searchResults.channelId="searchResults";
a.searchResults.channelName=labels.channels_searchResults;
a.list_bookmarks.channelId="list_bookmarks";
a.list_bookmarks.channelName=labels.channels_list_bookmarks;
return a
},parseChannels:function(c,a){for(var b=0;
b<c.channels.length;
b++){c.channels[b].icon=(c.channels[b].icon?baseUrl+c.channels[b].icon:c.channels[b].icon);
window.channels[c.channels[b].id]=new Array();
window.channels[c.channels[b].id].channelId=c.channels[b].id;
window.channels[c.channels[b].id].channelName=c.channels[b].name;
if(c.channels[b].i18n&&c.channels[b].i18n[djConfig.locale]){window.channels[c.channels[b].id].channelName=c.channels[b].i18n[djConfig.locale].name
}window.channels[c.channels[b].id].channelLength=0;
window.channels[c.channels[b].id].channelColor=c.channels[b].color;
window.channels[c.channels[b].id].channelIcon=c.channels[b].icon;
a(c.channels[b].id.substring(0,c.channels[b].id.indexOf("_")),c.channels[b].id,window.channels[c.channels[b].id].channelName,c.channels[b].icon,c.channels[b].color)
}},clearChannelsBase:function(){var a;
for(a in channels){channels[a].isLoaded=false
}},clearArrays:function(){var a;
for(a in channels){while(channels[a].pop()){}}},cleanArray:function(a){var c=new Array();
var d;
for(var b=0;
b<a.length;
b++){d=a[b];
if(d!==undefined||d!==null){c.push(d)
}}return c
},isChildOf:function(a,b){if(a=="find_all"){return true
}else{return b.match("^"+a)==a
}},isSiblingOf:function(b,a){if(b.indexOf("_",b.indexOf("_")+1)==-1||a.indexOf("_",a.indexOf("_")+1)==-1){return false
}else{return b.substring(0,b.indexOf("_",b.indexOf("_")+1))==a.substring(0,a.indexOf("_",a.indexOf("_")+1))
}},getItem:function(d,a){var c=null;
if(!a){a=channels.find_all
}for(var b=0;
b<a.length;
b++){c=a[b];
if(c.id==d){return c
}}return null
},removePlaceholder:function(a){if(dojo.hasClass(a,"placeholder")){a.value="";
dojo.removeClass(a,"placeholder")
}},addPlaceholder:function(b,a){if(!dojo.hasClass(b,"placeholder")){b.value=a;
dojo.addClass(b,"placeholder")
}},isEnter:function(b){var a;
if(window.event){a=window.event.keyCode
}else{if(b){a=b.which
}else{return false
}}if(a==13){return true
}return false
},stopEvent:function(a){if(!a){a=window.event
}a.cancelBubble=true;
if(a.stopPropagation){a.stopPropagation()
}},getRouteServiceBySelection:function(){if(dojo.byId("route_option_HSL").selected){return HELSINKI
}else{if(dojo.byId("route_option_TKL").selected){return TAMPERE
}else{if(dojo.byId("route_option_OULU").selected){return OULU
}}}return false
},currentTime:function(){var b=new Date();
var a=b.getMinutes();
if(a<10){a="0"+a
}return b.getHours()+":"+a
},earlierRouteBase:function(b,c,a){if(b){Common.moreRoutes(c[c.length-1].start,c[c.length-1].end,true,a)
}else{Common.moreRoutes(c[0].start,c[0].end,true,a)
}},laterRouteBase:function(b,c,a){if(b){Common.moreRoutes(c[0].start,c[0].end,false,a)
}else{Common.moreRoutes(c[c.length-1].start,c[c.length-1].end,false,a)
}},moreRoutes:function(e,c,d,a){var f=d?c:e,b=new Date(parseFloat(f.arrivalts));
if(d){b.setTime(b.getTime()-1000*60);
a(e.location,c.location,b.getTime(),true)
}else{b.setTime(b.getTime()+1000*60);
a(e.location,c.location,b.getTime())
}},timediff:function(d,c){var h=d.indexOf(":");
var g=c.indexOf(":");
var f=new Date();
var e=new Date();
f.setTime(0);
e.setTime(0);
f.setHours(d.substring(0,h),d.substring(h+1),0,0);
e.setHours(c.substring(0,g),c.substring(g+1),0,0);
return(e.getTime()-f.getTime())/(1000*60)
},addRouteLocationToCookieBase:function(l,h,g,k){var a,c,b,e=null,d=false;
if(k){a="fromLocations"
}else{a="toLocations"
}if(!l[a]){l[a]=new Array()
}for(c=0;
c<5;
c++){if((l[a][c]&&l[a][c].address==h)||!l[a][c]){for(b=c-1;
b>=0;
b--){l[a][(b+1)]=l[a][b]
}l[a][0]=new Object();
l[a][0].address=h;
l[a][0].latitude=g.latitude;
l[a][0].longitude=g.longitude;
d=true;
break
}}if(!d){for(c=3;
c>=0;
c--){if(c==3){e=l[a][(c+1)]
}l[a][(c+1)]=l[a][c];
if(c==0){l[a][c]=new Object();
l[a][c].address=h;
l[a][c].latitude=g.latitude;
l[a][c].longitude=g.longitude
}}}return e
},parseRouteTime:function(b){var a=b;
if(isFinite(a)&&(a>-1)){if((a.length==1)||(a.length==3)){a="0"+a
}while(a.length<4){a=a+"0"
}}return a
},loadTargetPOI:function(a){var b=baseUrl+"/resources/pois/single";
if(targetPOIid){b+="/id?k="+targetPOIid
}else{b+="?k="+targetPOI;
if(targetPOIcity){b+="&c="+targetPOIcity
}}b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:b,handleAs:"json",load:function(d,c){a(d);
return d
},failOk:true})
},parseCollections:function(c,a,e){if(c.channels){var d,b;
for(d in window.channels){if(d.indexOf("collections_")!=-1){if(selectedChannel.channelId=="find_all"||(!Common.isChildOf(selectedChannel.channelId,d)&&!Common.isChildOf(d,selectedChannel.channelId))){dojo.query(".channel_"+d).orphan();
window.channels[d].channelId=null
}}}for(b=0;
b<c.channels.length;
b++){if(c.channels[b].i18n&&c.channels[b].i18n[djConfig.locale]){c.channels[b].name=c.channels[b].i18n[djConfig.locale].name
}if(!window.channels[c.channels[b].id]||!window.channels[c.channels[b].id].channelId){a(c.channels[b].id.substring(0,c.channels[b].id.indexOf("_")),c.channels[b].id,c.channels[b].name);
if(window.channels[c.channels[b].id]){window.channels[c.channels[b].id].channelName=c.channels[b].name;
window.channels[c.channels[b].id].channelId=c.channels[b].id;
window.channels[c.channels[b].id].centre=c.channels[b].centre;
if(!mobile){e(c.channels[b].id,window.channels[c.channels[b].id].channelLength)
}}else{window.channels[c.channels[b].id]=new Array();
window.channels[c.channels[b].id].channelId=c.channels[b].id;
window.channels[c.channels[b].id].channelName=c.channels[b].name;
window.channels[c.channels[b].id].centre=c.channels[b].centre;
window.channels[c.channels[b].id].channelLength=0
}}}for(d in window.channels){if(!window.channels[d].channelId){delete window.channels[d]
}}}},distanceBetweenBase:function(d,a,c){var e=c/2/180*Math.PI;
var b=60*Math.sqrt(Math.pow(a,2)+Math.pow(d*Math.cos(e),2));
return b*1852
},distanceBetweenLatLon:function(g,a,e,f){var d=f-a;
var b=e-g;
var c=parseFloat(e)+parseFloat(g);
return Common.distanceBetweenBase(d,b,c)
},distanceBetween:function(d,e,f){var c=f.marker.longitude-e;
var a=f.marker.latitude-d;
var b=parseFloat(f.marker.latitude)+parseFloat(d);
return Common.distanceBetweenBase(c,a,b)
},sortByDistance:function(d,c){return d.distance-c.distance
},sortData:function(d,e,c){var b,a=d.items?d.items.length:0;
for(b=0;
b<a;
b++){d.items[b].distance=Common.distanceBetween(e,c,d.items[b])
}if(a>0){d.items.sort(Common.sortByDistance)
}},getDistanceLabel:function(b){var a=b;
if(a>9999){a=Math.round(b/1000);
a+=" km"
}else{if(a>994){a=Math.round(b/100)/10;
a+=" km"
}else{a=Math.round(b/10)*10;
a+=" m"
}}return a
},getRouteServiceByDatasource:function(a){if("HSL"==a){return HELSINKI
}if("OULA-palvelu"==a){return OULU
}if("Repa"==a){return TAMPERE
}return HELSINKI
},getSpecials:function(g,a,h,d,c,f,e,i){if(!window.adforeObj){window.adforeObj=new Object()
}if(!window.adforeObj.uid){window.adforeObj.uid=cookie.uid
}var b=baseUrl+"/resources/pois/special?lat="+g+"&lon="+a+"&l="+djConfig.locale;
if(mobile){b+="&f=nokia&m=true"
}b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:b,latitude:g,longitude:a,targetDiv:c,includeFav:h,mapHighLight:d,cbParseAd:e,cbDisplayMessage:i,items:f,handleAs:"json",load:function(k,j){Common.parseSpecials(k,j.args)
}})
},isBookmarked:function(b){var a;
if(b.indexOf("e")){if(!window.adforeObj.bookmarkIds){return false
}for(a=0;
a<window.adforeObj.bookmarkIds.length;
a++){if(window.adforeObj.bookmarkIds[a]==b){return true
}}}else{if(!window.adforeObj.bookmarkEids){return false
}for(a=0;
a<window.adforeObj.bookmarkEids.length;
a++){if(window.adforeObj.bookmarkEids[a]==b){return true
}}}return false
},parseSpecials:function(e,g){if(e.channels){var f="",k,a,j=new Array(),b=new Array();
for(var h=0;
h<e.channels.length;
h++){Common.sortData(e.channels[h],g.latitude,g.longitude);
if(mobile){f+='<div class="frontpageContainer">';
f+='<button class="hidden" onclick="window.adforeObj.lastSelectedIndex = 1;setChannel(\''+e.channels[h].channelId+'\');placesPage();updateData();" id="frontpage_'+e.channels[h].channelId+'_hidden_button"></button>'
}f+='<div class="bold frontPageResultTitle ';
if(mobile){f+='frontpageButton singleBottomMargin singleLeftMargin" onclick="dojo.byId(\'frontpage_'+e.channels[h].channelId+'_hidden_button\').onclick();" id="frontpage_'+e.channels[h].channelId+"_button"
}f+='" ><p ';
if(mobile){f+="style=\"background-image: url('"+baseUrl+"/logos/"+e.channels[h].channelId+'.png\');" class="bookmarksButton frontpageChannelSelector clickable bold"'
}f+=">"+e.channels[h].title;
f+="</p></div>";
for(var d=0;
d<e.channels[h].items.length;
d++){k=e.channels[h].items[d];
if(k.i18n&&k.i18n[djConfig.locale]){var c;
for(c in k.i18n[djConfig.locale]){k[c]=k.i18n[djConfig.locale][c]
}}k.bookmarked=Common.isBookmarked(k.id);
if(g.items){g.items[k.id]=k
}f+=Common.displayResultItem(k,g.includeFav,true,false,g.mapHighLight,g.targetDiv);
if(k.hasIm){j.push(k.id)
}if(k.hasAd){if(xhrsWaiting.length<5){a=baseUrl+"/resources/shop/"+k.id+"/ad/"+globalDate.getTime()+"?l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,itemId:k.id,handleAs:"json",container:g.targetDiv,load:function(l,i){g.cbParseAd(l,i.args.itemId,i.args.container);
return l
},failOk:true})
}else{b.push(k.id)
}}}if(mobile){f+="</div>"
}if(b.length>0){a=baseUrl+"/resources/shop/ads/"+globalDate.getTime()+"?ids="+b+"&l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,handleAs:"json",container:g.targetDiv,load:function(l,i){Common.parseAds(l,i.args.container,g.cbParseAd);
return l
},failOk:true})
}if(j.length>0){a=baseUrl+"/resources/im/"+globalDate.getTime()+"?ids="+j;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,handleAs:"json",container:g.targetDiv,load:function(l,i){Common.parseIms(l,i.args.container,g.cbDisplayMessage);
return l
},failOk:true})
}}dojo.byId(g.targetDiv).innerHTML=f;
Common.checkXhrs()
}},displayResultItem:function(h,f,d,i,c,b){var e="",a="";
e='<div class="resultItem id'+h.id+' clickable" ';
if(c){e+="onmouseover=\"bringToFront('"+h.id+"');dojo.addClass(this, 'resultItemHover');\" onmouseout=\"removeHilight();dojo.removeClass(this, 'resultItemHover');\""
}e+=">";
if(mobile){a="<div onclick=\"this.parentNode.className += ' pressed';InfoscreenPage.showTimedInfoscreen('"+h.id+"');\" >"
}else{a="<div onclick=\"showInfoscreen('"+h.id+"');\" >"
}a+='<img class="inlineFloatLeft resultLogo clickable" src="'+(h.icon&&h.icon.indexOf("http")?baseUrl:"")+h.icon+'" />';
a+='<img class="inlineFloatLeft actionMenuIcon my_fav '+(h.bookmarked?"":"hidden")+'" src="my_fav.png" title="'+labels.your_favorite+'" />';
if(mobile){a+='<div class="resultArrow">&nbsp;</div>'
}if(f){a+='<img id="fav'+h.id+'" class="fav inlineFloatRight clickable" onclick="displayActionCommand(\''+h.id+"', event"+(b?", '"+b+"'":"")+');Common.stopEvent(event);" src="images/arrow_down.png" />'
}if(d){a+='<span class="inlineFloatRight bold resultDistance">'+Common.getDistanceLabel(h.distance)+"</span>"
}a+=h.name;
a+="<br />";
if(h.id.indexOf("e")!=-1){var g=Common.isEventOpen(h.openingHours);
if(g!=null){a+='<span class="bold">'+Common.getEventOpeningHours(g)+"</span>"
}else{a+='<span class="bold">&nbsp;</span>'
}}else{if(h.hoursNoShow){a+='<span class="bold underline">'+labels.opening_hours_info+"</span>"
}else{a+='<span class="bold">'+Common.isOpen(h.openingHours)+"</span>"
}}e+=a+"</div>";
if(mobile){e+='<div class="resultMessage resultPadding hidden">';
e+='<img class="inlineFloatLeft resultPadding" src="img/imquot.png" /><span class="messageHeader bold"></span><span class="messageBody hidden"></span></div>'
}else{if(h.hasIm){e+='<div class="resultMessageDetails resultPadding hidden" onmouseover="showMessageBody(true)" onmouseout="hideMessageBody(true)" >';
e+='<img class="inlineFloatLeft resultPadding resultRightPadding" src="img/imquot.png" />';
e+='<span class="messageHeader bold"></span>';
e+='<div class="messageBody messageBodyPadding"></div></div>';
e+='<div class="resultMessage resultPadding hidden"\n            onmouseover="dojo.addClass(this.previousSibling, \'moverMessage\');showMessageBody()"\n            onclick="dojo.addClass(this.previousSibling, \'moverMessage\');showMessageBody()">';
e+='<img class="inlineFloatLeft resultPadding resultRightPadding" src="img/imquot.png" />';
e+='<span class="messageHeader bold"></span></div>'
}else{e+='<div class="resultMessage resultPadding hidden" >';
e+='<img class="inlineFloatLeft resultPadding" src="img/imquot.png" />';
e+='<span class="messageHeader bold"></span>';
e+='<span class="messageBody hidden"></span></div>'
}}if(i&&h.stopCode){e+='<div id="'+h.stopCode+'_timeTable"></div>';
Common.loadTimetables(h.stopCode,h.datasource,h.stopCode+"_timeTable",i,3)
}if((h.hasAd)&&(c)){e+='<div class="resultAdContainer hidden" ';
e+=">"
}if(window.widget){e+='<div class="resultAdLink hidden"></div>'
}else{e+='<a class="resultAdLink hidden" href="" target="_blank">';
e+='<span class="bold aHeader hidden"></span>';
e+='<img class="aImage hidden" src="" />';
e+='<span class="aBody hidden"></span></a>'
}e+='<span class="resultAdId hidden"></span><div class="resultNoAdLink hidden"></div><div class="aStrether"></div>';
if((h.hasAd)&&(c)){e+="</div>"
}e+='<span class="hidden iidee">'+h.id+"</span>";
e+='<span class="hidden lat">'+h.marker.latitude+"</span>";
e+='<span class="hidden lon">'+h.marker.longitude+"</span>";
e+="</div>";
return e
},parseAds:function(c,b,a,e){for(var d=0;
d<c.ads.length;
d++){a(c.ads[d],c.ads[d].id,b,e)
}},parseIms:function(c,b,a){for(var d=0;
d<c.ims.length;
d++){a(c.ims[d],c.ims[d].id,b)
}},loadTimetables:function(f,b,g,a,d,e){var c=baseUrl+"/resources/route/ytv/stop/"+f+"?c="+Common.getRouteServiceByDatasource(b)+"&l="+djConfig.locale;
c+="&u="+window.adforeObj.uid+"&uit="+window.uit;
return dojo.xhrGet({url:c,target:g,num:d,nh:e,handleAs:"json",load:function(i,h){a(i,h.args.target,h.args.num,h.args.nh);
return i
},failOk:true})
},registrate:function(){window.open("https://"+server+"/registration.html","registration","height=550, width=550, toolbar=no, location=no, menubar=no, resizable=yes")
},getWeather:function(c,b){if(c!=defaultCity){if(!window.adforeObj.uid){window.adforeObj.uid=cookie.uid
}var a;
if(!c){a=baseUrl+"/resources/weather/now2z/"+b
}else{a=baseUrl+"/resources/weather/now2/"+encodeURIComponent(c)
}if(weatherXhr){weatherXhr.cancel();
weatherXhr=null
}a+="?u="+window.adforeObj.uid+"&uit="+window.uit;
weatherXhr=dojo.xhrGet({url:a,handleAs:"json",load:function(e,d){weatherXhr=null;
Common.parseWeather(e);
return e
},error:function(){Common.resetWeather()
},failOk:true})
}else{Common.resetWeather()
}},getWeekdayLabel:function(c,e,b){var d=c.getDay();
var a=new Date();
if(d==a.getDay()&&!e){return""
}return labels["weekday"+(b?"Long":"")+d]+" "
},parseWeather:function(y){var r=new Date(),v=new Date(),p=0,k,o;
if(y.forecast){currentWeather=y;
o=y.forecast.city;
var m=dojo.byId("weatherimg"),n,f,h,d,w,c,a;
if(parseInt(y.forecast.atoms[0].time)<r.getTime()){p=1
}if(globalDate.getDate()!=r.getDate()){for(n=1;
n<y.forecast.atoms.length;
n++){v.setTime(parseInt(y.forecast.atoms[n].time));
if(globalDate.getDate()==v.getDate()&&v.getHours()==15){p=n;
break
}}}if(m){m.src=y.forecast.atoms[p].imgurl;
v.setTime(parseInt(y.forecast.atoms[p].time));
k=labels.weather+" "+v.getDate()+"."+(v.getMonth()+1)+". "+labels.weather_time+" "+v.getHours();
m.alt=k;
m.title=k
}if(parseInt(y.forecast.atoms[0].time)<r.getTime()){p=1
}todayStart=p;
todayEnd=p+7;
if(o){f="";
c="";
h="";
a="";
n=0;
for(p=todayStart;
p<y.forecast.atoms.length;
p++){v.setTime(parseInt(y.forecast.atoms[p].time));
d=v.getHours();
if(p<todayEnd){d=(d==0?24:d);
f+="<td>"+(d<10?"0"+d:d)+"</td>";
h+='<td><img class="bordered" src="'+y.forecast.atoms[p].imgurl+'" /></td>'
}if(r.getDate()!=v.getDate()&&(d==15||d==16||d==14)&&n<6){n++;
c+="<td>"+Common.getWeekdayLabel(v,true)+"</td>";
a+='<td><img class="bordered" src="'+y.forecast.atoms[p].imgurl+'" /></td>'
}}dojo.byId("weatherimagestable").innerHTML='<table><tr id="weatherToday" class="weatherdetailsHeader">'+f+"</tr><tr>"+h+'<tr class="hidden weatherdetailsHeader">'+c+'</tr><tr class="hidden">'+a+"</tr></table>";
dojo.byId("weatherdetailscity").innerHTML=o;
if(y.warnings&&parseInt(y.warnings.issued)>parseInt(y.forecast.issued)){w=new Date(parseInt(y.warnings.issued))
}else{w=new Date(parseInt(y.forecast.issued))
}dojo.byId("weatherissueddate").innerHTML=w.getDate()+"."+(w.getMonth()+1)+"."+w.getFullYear()+" ";
dojo.byId("weatherissuedtime").innerHTML=w.getHours()+":"+(w.getMinutes()<10?"0"+w.getMinutes():w.getMinutes());
dojo.removeClass("weatherdaily","wunselected");
dojo.addClass("weatherdaily","wselected");
dojo.removeClass("weatherweekly","wselected");
dojo.addClass("weatherweekly","wunselected")
}if(m){dojo.removeClass(m,"hidden")
}}m=dojo.byId("warnings");
if(y.warnings){currentWeather=y;
var t,s,b=new Array(),e=new Array(),x,g,q,l=180+25;
for(t in y.warnings){if(t=="issued"){continue
}if(y.warnings[t]&&parseInt(y.warnings[t].from)<r.getTime()&&parseInt(y.warnings[t].to)>r.getTime()){s=baseUrl+"/logos/warnings/"+t;
if(y.warnings[t].sev){s+=y.warnings[t].sev
}x=labels["alert_"+t];
g="";
if(t=="traffic"){x=labels["alert_"+t+y.warnings[t].sev];
if(y.warnings[t].reason){var u=y.warnings[t].reason.split(",");
for(p=u.length-1;
p>=0;
p--){g+=labels["alert_trafficreason"+u[p]];
if(p!=0){g+=", "
}}}}else{if(t=="rain"){if(y.warnings[t].amount){g=labels.rain_prediction+" "+parseInt(y.warnings[t].amount)+"mm";
if(y.warnings[t].period=="0"){g+=" "+labels.per_hour+"."
}if(y.warnings[t].period=="1"){g+=" "+labels.per_day+"."
}}}else{if(t=="uv"){if(y.warnings[t].index){g=labels.uv_index+" "+y.warnings[t].index+"."
}}else{if(t=="wind"){if(y.warnings[t].cond){g=labels.thunder_gusts+"."
}}else{if(t=="ped"){if(y.warnings[t].slip=="slippery"){g=labels.slippery+"."
}if(y.warnings[t].slip=="very slippery"){g=labels.very_slippery+"."
}}else{if(t=="heat"){if(y.warnings[t].temp){g=labels.temperature+" "+y.warnings[t].temp+"&deg;C."
}}else{if(t=="freeze"){if(y.warnings[t].temp){g=labels.temperature+" "+y.warnings[t].temp+"&deg;C."
}}}}}}}}if(!x){continue
}v.setTime(parseInt(y.warnings[t].from));
k=x+". "+labels.alert_issued+" "+v.getDate()+"."+(v.getMonth()+1)+". "+v.getHours()+":"+(v.getMinutes()<10?"0"+v.getMinutes():v.getMinutes());
b.push('<img class="warningImg" src="'+s+'.png" alt="'+k+'" title="'+k+'"/>');
e.push('<tr><td class="iconWidth" ><img class="warningImg" src="'+s+'.png" title="'+x+'" alt="'+x+'"/></td><td class="warningsText"><div class="warningsTitle">'+x+"</div>"+g+"</td></tr>");
if(g.length==0){l+=25
}else{if(g.length<30){l+=30
}else{l+=45
}}}}if(m){m.innerHTML="";
if(b.length<5){dojo.removeClass(m,"wideWarnings");
for(p=0;
p<b.length;
p++){dojo.place(b[p],m,"last")
}}else{dojo.addClass(m,"wideWarnings");
for(p=0;
p<b.length;
p++){dojo.place(b[p],m,"last")
}}if(dojo.hasClass(m,"wideWarnings")){dojo.removeClass("weather","weatherWide");
dojo.removeClass("weatherBg","weatherBgWide");
dojo.query(".selectors").removeClass("selectorsNarrow");
dojo.addClass("weather","weatherXWide");
dojo.addClass("weatherBg","weatherBgXWide");
dojo.query(".selectors").addClass("selectorsXNarrow")
}else{dojo.removeClass("weather","weatherXWide");
dojo.removeClass("weatherBg","weatherBgXWide");
dojo.query(".selectors").removeClass("selectorsXNarrow");
dojo.addClass("weather","weatherWide");
dojo.addClass("weatherBg","weatherBgWide");
dojo.query(".selectors").addClass("selectorsNarrow")
}dojo.removeClass(m,"hidden")
}dojo.removeClass("warningsheader","hidden");
m=dojo.byId("warningstable");
q='<table style="background-color: #E6E6E6; width: 100%">';
for(p=0;
p<e.length;
p++){q+=e[p]
}q+="</table>";
m.innerHTML=q;
dojo.removeClass(m,"hidden")
}else{dojo.addClass("warningsheader","hidden");
dojo.addClass("warningstable","hidden");
dojo.byId("warningstable").innerHTML="";
if(m){dojo.addClass(m,"hidden");
if(dojo.hasClass(m,"wideWarnings")){dojo.removeClass("weather","weatherXWide");
dojo.removeClass("weatherBg","weatherBgXWide");
dojo.query(".selectors").removeClass("selectorsXNarrow")
}else{dojo.removeClass("weather","weatherWide");
dojo.removeClass("weatherBg","weatherBgWide");
dojo.query(".selectors").removeClass("selectorsNarrow")
}}}},resetWeather:function(){dojo.addClass("warnings","hidden");
dojo.removeClass("weather","weatherWide");
dojo.query(".selectors").removeClass("selectorsNarrow");
dojo.addClass("weatherimg","hidden")
},switchWeatherToday:function(){var a=dojo.byId("weatherToday");
if(a&&dojo.hasClass(a,"hidden")){Common.switchWeatherView()
}},switchWeatherView:function(){dojo.query("#weatherimagestable tr").toggleClass("hidden");
dojo.query("#weatherselection td").toggleClass("wselected").toggleClass("wunselected");
if(!window.adforeObj.uid){window.adforeObj.uid=cookie.uid
}if(!mobile){Common.addTrackedEvent("WeatherSwitch;"+new Date().getTime()+";"+window.adforeObj.uid+(mobile?";mobi":""))
}},addTrackedEvent:function(a){trackedEvents.push(a);
if(trackedEvents.length>20){Common.flushTrackedEvents()
}},flushTrackedEvents:function(c){if(trackedEvents.length==0){return
}var d;
var a="";
while((d=trackedEvents.pop())!=null){a+=d+"\n"
}var b=baseUrl+"/usage/data";
dojo.xhrPost({url:b,sync:(c?true:false),postData:a,failOk:true})
},checkXhrs:function(){var a;
while(true){a=xhrsWaiting.shift();
if(!a){return
}else{xhrs.push(dojo.xhrGet(a))
}}},getEventLoadingMode:function(){return channels.srch_events?channels.srch_events.mode:1
},isOpen:function(b){if(b.length==0){return"&nbsp;"
}var d=null,t=Number.MAX_VALUE,e=null,w=globalDate,x=new Date();
if(b.length==1){d=b[0]
}else{for(var q=0;
q<b.length;
q++){if(b[q].periodStart==null&&b[q].periodEnd==null){e=b[q];
continue
}var a=new Date(),l;
if(b[q].periodStart==null){a.setFullYear(1971)
}else{l=b[q].periodStart;
a.setMonth(l.substring(l.indexOf(".")+1,l.length-1)-1,l.substring(0,l.indexOf(".")));
a.setHours(0,0,0,0)
}var h=new Date(),z;
if(b[q].periodEnd==null){h.setFullYear(2037)
}else{z=b[q].periodEnd;
h.setMonth(z.substring(z.indexOf(".")+1,z.length-1)-1,z.substring(0,z.indexOf(".")));
h.setHours(23,59,59,99)
}if(w.getTime()>=a.getTime()&&w.getTime()<=h.getTime()&&t>(h.getTime()-a.getTime())){d=b[q];
t=h.getTime()-a.getTime()
}}}if(d==null){if(e==null){return"&nbsp;"
}d=e
}var f,v;
switch(w.getDay()){case 1:f=d.mon;
v=d.sun;
break;
case 2:f=d.tue;
v=d.mon;
break;
case 3:f=d.wed;
v=d.tue;
break;
case 4:f=d.thu;
v=d.wed;
break;
case 5:f=d.fri;
v=d.thu;
break;
case 6:f=d.sat;
v=d.fri;
break;
case 0:f=d.sun;
v=d.sat;
break
}var p="";
for(var n=0;
n<f.length;
n++){var k=f[n];
var g=new Date(w.getTime());
if(k.open!=null){g.setHours(k.open.substring(0,k.open.indexOf(".")),k.open.substring(k.open.indexOf(".")+1),0,0)
}else{g=null
}var y=new Date(w.getTime());
if(k.close!=null){y.setHours(k.close.substring(0,k.close.indexOf(".")),k.close.substring(k.close.indexOf(".")+1),0,0);
if(g!=null&&y.getTime()<=g.getTime()){y.setTime(y.getTime()+24*60*60*1000)
}}else{y=null
}var s;
if(g!=null&&y!=null&&g.getHours()==0&&g.getMinutes()==0&&y.getHours()==0&&y.getMinutes()==0){s="24h"
}else{s=(k.open!=null?k.open:"")+"-"+(k.close!=null?k.close:"")
}p+=s+",";
if(x.getDay()!=w.getDay()){continue
}if((g!=null||y!=null)&&(g==null||g.getTime()<=w.getTime())&&(y==null||y.getTime()>=w.getTime())){var m="<img src='img/hour_green.png' alt='"+labels.open_now+"' title='"+labels.open_now+"'>";
if(y!=null&&((y.getTime()-3600000)<w.getTime())){m="<img src='img/hour_yellow.png' alt='"+labels.closed_soon+"' title='"+labels.closed_soon+"'>"
}return m+" "+labels.open+": "+s
}if(v.length>0){k=v[v.length-1];
g=new Date(w.getTime());
if(k.open!=null){g.setHours(k.open.substring(0,k.open.indexOf(".")),k.open.substring(k.open.indexOf(".")+1),0,0)
}else{g=null
}y=new Date(w.getTime());
if(k.close!=null){y.setHours(k.close.substring(0,k.close.indexOf(".")),k.close.substring(k.close.indexOf(".")+1),0,0);
if(g!=null&&y.getTime()<=g.getTime()){if(y.getTime()>w.getTime()){var r="<img src='img/hour_green.png' alt='"+labels.open_now+"' title='"+labels.open_now+"'>";
if((y.getTime()-3600000)<w.getTime()){r="<img src='img/hour_yellow.png' alt='"+labels.closed_soon+"' title='"+labels.closed_soon+"'>"
}return r+" "+labels.open+": -"+k.close
}}}}}if(p.length>0){p=p.substring(0,p.length-1)
}else{var u=Common.getWeekdayLabel(w);
if(u){return u+labels.closed
}return"<img src='img/hour_red.png' alt='"+labels.closed+"' title='"+labels.closed+"'>"+labels.closed+""
}if(x.getDay()==w.getDay()){return"<img src='img/hour_red.png' alt='"+labels.closed_now+"' title='"+labels.closed_now+"'> "+labels.closed_now+". "+labels.open+": "+Common.getWeekdayLabel(w)+p
}return labels.open+": "+Common.getWeekdayLabel(w)+p
},isEventOpen:function(c){if(c.length==0){return null
}var b=c[0],g=globalDate,d=new Date(),a=new Date(),f=new Date(),e;
d.setHours(0,0,0,0);
for(e=0;
e<c.length;
e++){a=Common.parseDate(c[e].startDate);
f=Common.parseDate(c[e].endDate);
if(a.getDate()==f.getDate()&&a.getMonth()==f.getMonth()&&a.getFullYear()==f.getFullYear()){if(a.getDate()==g.getDate()&&a.getMonth()==g.getMonth()&&a.getFullYear()==g.getFullYear()&&Common.getEventLoadingMode()==1){b=c[e];
break
}else{if(Common.getEventLoadingMode()==2&&a.getTime()>=d.getTime()&&a.getTime()<=d.getTime()+1000*60*60*24*6){b=c[e];
break
}else{if(Common.getEventLoadingMode()==3&&a.getTime()>=getEventFrom()&&a.getTime()<=getEventTo()){b=c[e];
break
}}}}}return b
},parseDate:function(c){var b=c.indexOf(".",c.indexOf(".")+1),a=new Date();
a.setFullYear(c.substring(b+1,c.length),c.substring(c.indexOf(".")+1,b)-1,c.substring(0,c.indexOf(".")));
a.setHours(0,0,0,0);
return a
},parseTime:function(a){var b=new Date();
b.setHours(a.substring(0,a.indexOf(".")),a.substring(a.indexOf(".")+1),0,0);
return b
},getEventOpeningHours:function(b){var d=null,c=null,g=globalDate,e=new Date(),a=Common.parseDate(b.startDate),f=Common.parseDate(b.endDate),h;
if(b.startTime!=null){d=Common.parseTime(b.startTime)
}else{d=a
}if(b.endTime!=null){c=Common.parseTime(b.endTime)
}else{c=f
}e.setHours(0,0,0,0);
if(a.getDate()==f.getDate()&&a.getMonth()==f.getMonth()&&a.getFullYear()==f.getFullYear()){if(e.getTime()==a.getTime()){h=labels.today+" "
}else{h=Common.getWeekdayLabel(a,true)
}if((d.getTime()==e.getTime()&&c.getTime()==e.getTime())||d.getTime()==a.getTime()){return h+b.startDate.substring(0,b.startDate.lastIndexOf(".")+1)
}else{if(d.getTime()!=c.getTime()&&c.getTime()!=e.getTime()){return h+b.startDate.substring(0,b.startDate.lastIndexOf(".")+1)+" "+b.startTime+"-"+b.endTime
}else{return h+b.startDate.substring(0,b.startDate.lastIndexOf(".")+1)+" "+b.startTime
}}}else{if(f.getFullYear()==g.getFullYear()){return labels.until_before+" "+b.endDate.substring(0,b.endDate.lastIndexOf(".")+1)+" "+labels.until_after
}else{return labels.until_before+" "+b.endDate+" "+labels.until_after
}}},getRoutingActionText:function(b,a){if(b==2){return labels.routing_arrived
}switch(a){case 0:return"";
case 1:return labels.routing_no_turn;
case 2:return labels.routing_keep_middle;
case 3:return labels.routing_keep_right;
case 4:case 5:case 6:return labels.routing_turn_right;
case 7:return labels.routing_keep_left;
case 8:case 9:case 10:return labels.routing_turn_left;
case 11:return labels.routing_uturn;
default:a=parseInt(a)-11;
return labels.routing_roundaboutstart+" "+Common.toOrdinal(a)+" "+labels.routing_roundaboutend
}},getNokiaRoute:function(e,h,i,d,g){var j=new ovi.mapsapi.routing.Manager();
j.addObserver("state",e);
var f=new ovi.mapsapi.routing.WaypointParameterList();
if(h.latitude&&h.longitude){f.addCoordinate(new ovi.mapsapi.geo.Coordinate(parseFloat(h.latitude),parseFloat(h.longitude)))
}else{if(h.lat&&h.lon){f.addCoordinate(new ovi.mapsapi.geo.Coordinate(parseFloat(h.lat),parseFloat(h.lon)))
}}if(i.latitude&&i.longitude){f.addCoordinate(new ovi.mapsapi.geo.Coordinate(parseFloat(i.latitude),parseFloat(i.longitude)))
}else{if(i.lat&&i.lon){f.addCoordinate(new ovi.mapsapi.geo.Coordinate(parseFloat(i.lat),parseFloat(i.lon)))
}}if(!g){g="fastest"
}var a;
if(d){a="pedestrian"
}else{a="car"
}var b=[{type:g,transportModes:a,trafficMode:"default",options:""}];
try{j.calculateRoute(f,b)
}catch(c){console.log("error",c)
}},parseWeekDayHours:function(b){var a=b.length?"":labels.closed;
for(var c=0;
c<b.length;
c++){if(c>0){a+="<br />"
}a+=(b[c].open!=null?b[c].open:"")+"-"+(b[c].close!=null?b[c].close:"")
}return a
},reverseGeocodeCall:function(c,d,a){dojo.destroy("reverseGeocodeScript");
var b="http://loc.desktop.maps.svc.ovi.com/geocoder/rgc/2.0?lat="+c+"&long="+d+"&output=json&to=50&callback_func="+a;
dojo.create("script",{id:"reverseGeocodeScript",type:"text/javascript",src:b},dojo.body(),"last")
},geocodeCall:function(c,a){dojo.destroy("geocodeScript");
var b="http://prod.s2g.gate5.de/NOSe/json?q="+encodeURIComponent(c)+"&la=fi&to=50&vi=address&dv=oviMaps&callback_func="+a;
dojo.create("script",{id:"geocodeScript",type:"text/javascript",src:b},dojo.body(),"last")
},isInPubTransArea:function(a){var c=parseFloat(a.latitude.toString().replace(",",".")),b=parseFloat(a.longitude.toString().replace(",","."));
return(Common.isHSL(c,b)||Common.isTKL(c,b))
},isTKL:function(b,a){if(((b<parseFloat("61.57"))&&(b>parseFloat("61.418")))&&((a>parseFloat("23.554"))&&(a<parseFloat("23.969")))){return true
}return false
},isHSL:function(b,a){if(((b<parseFloat("60.453"))&&(b>parseFloat("59.965")))&&((a>parseFloat("24.2880"))&&(a<parseFloat("25.2685")))){return true
}return false
},getOpeningHours:function(b,a){var c;
switch(a.getDay()){case 0:c="sun";
break;
case 1:c="mon";
break;
case 2:c="tue";
break;
case 3:c="wed";
break;
case 4:c="thu";
break;
case 5:c="fri";
break;
case 6:c="sat";
break
}return'<td class="singleLeftPadding singleRightPadding '+(globalDate.getDate()==a.getDate()?"bold":"")+'">'+Common.getWeekdayLabel(a,true)+(a.getDate())+"."+(a.getMonth()+1)+'.</td><td class="'+(globalDate.getDate()==a.getDate()?"bold":"")+'">'+Common.parseWeekDayHours(b[c])+"</td>"
},toOrdinal:function(a){if("en"==djConfig.locale){if(1==a){return a+"st"
}if(2==a){return a+"nd"
}if(3==a){return a+"rd"
}return a+"th"
}else{return a+"."
}},setStaticFields:function(){var d=dojo.i18n.getLocalization("adfore","staticlabels"),c,b=false,a=new Date();
for(c in d){b=true;
break
}if(!b){return
}dojo.query(".i18n").forEach(function(e){if(d[e.id]){e.innerHTML=d[e.id]
}if(dojo.hasClass(e,"i18nTitle")){if(d[e.id+"_title"]){e.title=d[e.id+"_title"]
}}if(dojo.hasClass(e,"i18nAlt")){if(d[e.id+"_alt"]){e.alt=d[e.id+"_alt"]
}}if(dojo.hasClass(e,"i18nValue")){if(d[e.id+"_value"]){e.value=d[e.id+"_value"]
}}if(dojo.hasClass(e,"i18nImg")){if(d[e.id+"_img"]){e.title=d[e.id+"_img"];
e.alt=d[e.id+"_img"]
}}if(dojo.hasClass(e,"i18nSrc")){if(d[e.id+"_src"]){e.src=d[e.id+"_src"]
}}});
if(d.defaultCity){cityJson.items[0].name=d.defaultCity;
defaultCity=d.defaultCity
}},addZero:function(a){if(a<10){return"0"+a
}return a
},getBearing:function(c,e,f,g){c=parseFloat(c)*Math.PI/180;
e=parseFloat(e)*Math.PI/180;
f=parseFloat(f)*Math.PI/180;
g=parseFloat(g)*Math.PI/180;
var b=(g-e),h=Math.sin(b)*Math.cos(f),a=Math.cos(c)*Math.sin(f)-Math.sin(c)*Math.cos(f)*Math.cos(b),d=Math.atan2(h,a)*180/Math.PI;
return(d+360)%360
},getCompassBearing:function(a,c,d,e){var b=Common.getBearing(a,c,d,e);
if(b<22.5){return"N"
}else{if(b<67.5){return"NE"
}else{if(b<112.5){return"E"
}else{if(b<157.5){return"SE"
}else{if(b<202.5){return"S"
}else{if(b<247.5){return"SW"
}else{if(b<292.5){return"W"
}else{if(b<337.5){return"NW"
}else{return"N"
}}}}}}}}},getCompassLabel:function(a){return labels["dir_"+Common.getCompassBearing(0,0,0,0,a)]
},nokiaPlaceSearch:function(g,e,b,d,a,f,c){if(!b){d=d?d:"*";
nokia.places.searchManager.findPlaces({searchTerm:d,boundingBox:e,searchCenter:g,start:f,limit:c,onComplete:a})
}else{nokia.places.searchManager.findPlacesByCategory({category:b,boundingBox:e,searchCenter:g,start:f,limit:c,onComplete:a})
}},loadOviPlace:function(b,a){Common.nokiaPlaceDetailCallback.item=b;
Common.nokiaPlaceDetailCallback.cb=a;
nokia.places.placesManager.getPlaceData({placeId:b.placesId,onComplete:Common.nokiaPlaceDetailCallback})
},nokiaPlaceDetailCallback:function(a){console.log(a);
var d=Common.nokiaPlaceDetailCallback.item;
d.placesId=false;
if(a.location.address){d.address=a.location.address.street+(a.location.address.houseNumber?" "+a.location.address.houseNumber:"")+", "+a.location.address.city
}if(a.contacts){for(var b=0;
b<a.contacts.length;
b++){if(a.contacts[b].type=="phone"){d.tel=a.contacts[b].value
}else{if(a.contacts[b].type=="website"){d.www=a.contacts[b].value
}else{if(a.contacts[b].type=="email"){d.email=a.contacts[b].value
}else{if(a.contacts[b].type=="fax"){d.fax=a.contacts[b].value
}else{console.log("New type: "+a.contacts[b].type)
}}}}}}d.datasource="Nokia Places";
if(a.additionalData&&a.additionalData.summaryOpeningHours){d.desc="<b>"+labels.infoscreenopening+": </b>"+a.additionalData.summaryOpeningHours
}if(a.descriptions){var c=(a.descriptions[0]?a.descriptions[0]:a.descriptions);
if(c.content){if(!d.desc){d.desc=""
}d.desc=c.content+"<br>"+d.desc;
d.datasource=d.datasource+", "+c.supplier.displayName
}}d.openingHours=new Array();
d.channels=new Array();
Common.nokiaPlaceDetailCallback.cb(d)
},parseNokiaResults:function(k,e,a,c){e.items=new Array();
var f,d,b,h,g;
for(f=0;
f<k.results.length;
f++){b=k.results[f].place;
if(!b.placeId||(b.suppliers&&b.suppliers[0]=="ovi")||(!a&&!onMap(b.location.displayPosition.latitude,b.location.displayPosition.longitude))){k.results.splice(f,1);
f--;
continue
}}for(f=0;
f<k.results.length;
f++){b=k.results[f].place;
for(d=f+1;
d<k.results.length;
d++){g=k.results[d].place;
if(b.name.toLowerCase()==g.name.toLowerCase()&&(b.location&&b.location.address&&b.location.address.street&&g.location&&g.location.address&&g.location.address.street&&b.location.address.street.toLowerCase()==g.location.address.street.toLowerCase())){k.results.splice(d,1);
d--
}}}if(k.results.length>0){k.results.sort(Common.sortByDistance)
}for(f=c?c:0;
f<k.results.length;
f++){h=new Object();
b=k.results[f].place;
h.distance=k.results[f].distance;
h.id="o"+b.placeId;
h.address=b.location.address.street+(b.location.address.houseNumber?" "+b.location.address.houseNumber:"")+", "+b.location.address.city;
h.icon=b.categories[0].iconURL;
h.marker=new Object();
h.marker.type="marker";
h.marker.latitude=b.location.displayPosition.latitude;
h.marker.longitude=b.location.displayPosition.longitude;
h.marker.icon=b.categories[0].iconURL;
h.name=b.name;
if(b.contacts){for(d=0;
d<b.contacts.length;
d++){if(b.contacts[d].type=="phone"){h.tel=b.contacts[d].value
}else{if(b.contacts[d].type=="website"){h.www=b.contacts[d].value
}else{console.log("New type: "+b.contacts[d].type)
}}}}h.datasource="Nokia Places";
h.openingHours=new Array();
h.channels=new Array();
h.placesId=b.placeId;
e.items.push(h);
if(!a&&e.items.length==100){break
}if(a&&e.items.length==10){break
}}e.count=e.items.length
},roundCoord:function(a){a=parseFloat(a);
return Math.round(a*1000000)/1000000
}};
Common.isOpen=function(b){if(b.length==0){return""
}var d=null,t=Number.MAX_VALUE,e=null,w=globalDate,x=new Date();
if(b.length==1){d=b[0]
}else{for(var q=0;
q<b.length;
q++){if(b[q].periodStart==null&&b[q].periodEnd==null){e=b[q];
continue
}var a=new Date(),l;
if(b[q].periodStart==null){a.setFullYear(1971)
}else{l=b[q].periodStart;
a.setMonth(l.substring(l.indexOf(".")+1,l.length-1)-1,l.substring(0,l.indexOf(".")));
a.setHours(0,0,0,0)
}var h=new Date(),z;
if(b[q].periodEnd==null){h.setFullYear(2037)
}else{z=b[q].periodEnd;
h.setMonth(z.substring(z.indexOf(".")+1,z.length-1)-1,z.substring(0,z.indexOf(".")));
h.setHours(23,59,59,99)
}if(w.getTime()>=a.getTime()&&w.getTime()<=h.getTime()&&t>(h.getTime()-a.getTime())){d=b[q];
t=h.getTime()-a.getTime()
}}}if(d==null){if(e==null){return""
}d=e
}var f,v;
switch(w.getDay()){case 1:f=d.mon;
v=d.sun;
break;
case 2:f=d.tue;
v=d.mon;
break;
case 3:f=d.wed;
v=d.tue;
break;
case 4:f=d.thu;
v=d.wed;
break;
case 5:f=d.fri;
v=d.thu;
break;
case 6:f=d.sat;
v=d.fri;
break;
case 0:f=d.sun;
v=d.sat;
break
}var p="";
for(var n=0;
n<f.length;
n++){var k=f[n];
var g=new Date(w.getTime());
if(k.open!=null){g.setHours(k.open.substring(0,k.open.indexOf(".")),k.open.substring(k.open.indexOf(".")+1),0,0)
}else{g=null
}var y=new Date(w.getTime());
if(k.close!=null){y.setHours(k.close.substring(0,k.close.indexOf(".")),k.close.substring(k.close.indexOf(".")+1),0,0);
if(g!=null&&y.getTime()<=g.getTime()){y.setTime(y.getTime()+24*60*60*1000)
}}else{y=null
}var s;
if(g!=null&&y!=null&&g.getHours()==0&&g.getMinutes()==0&&y.getHours()==0&&y.getMinutes()==0){s="24h"
}else{s=(k.open!=null?k.open:"")+"-"+(k.close!=null?k.close:"")
}p+=s+",";
if(x.getDay()!=w.getDay()){continue
}if((g!=null||y!=null)&&(g==null||g.getTime()<=w.getTime())&&(y==null||y.getTime()>=w.getTime())){var m="<img src='img/hour_green.png' alt='"+labels.open_now+"' title='"+labels.open_now+"'>";
if(y!=null&&((y.getTime()-3600000)<w.getTime())){m="<img src='img/hour_yellow.png' alt='"+labels.closed_soon+"' title='"+labels.closed_soon+"'>"
}return m+" "+labels.open+": "+s
}if(v.length>0){k=v[v.length-1];
g=new Date(w.getTime());
if(k.open!=null){g.setHours(k.open.substring(0,k.open.indexOf(".")),k.open.substring(k.open.indexOf(".")+1),0,0)
}else{g=null
}y=new Date(w.getTime());
if(k.close!=null){y.setHours(k.close.substring(0,k.close.indexOf(".")),k.close.substring(k.close.indexOf(".")+1),0,0);
if(g!=null&&y.getTime()<=g.getTime()){if(y.getTime()>w.getTime()){var r="<img src='img/hour_green.png' alt='"+labels.open_now+"' title='"+labels.open_now+"'>";
if((y.getTime()-3600000)<w.getTime()){r="<img src='img/hour_yellow.png' alt='"+labels.closed_soon+"' title='"+labels.closed_soon+"'>"
}return r+" "+labels.open+": -"+k.close
}}}}}if(p.length>0){p=p.substring(0,p.length-1)
}else{var u=Common.getWeekdayLabel(w);
if(u){return u+labels.closed
}return"<img src='img/hour_red.png' alt='"+labels.closed+"' title='"+labels.closed+"'> "+labels.closed+""
}if(x.getDay()==w.getDay()){return"<img src='img/hour_red.png' alt='"+labels.closed_now+"' title='"+labels.closed_now+"'> "+labels.closed_now+". "+labels.open+": "+Common.getWeekdayLabel(w)+p
}return labels.open+": "+Common.getWeekdayLabel(w)+p
};
Common.renderResultItem=function(c,b){var a='<div class="resultItemContainer whiteBackground smallMargin id'+c.id+'">',d=null;
a+='<div class="resultItemHeader clearPosition"><div class="resultItemHeaderContainer">';
a+='<img class="inlineFloatLeft resultLogo" src="'+(c.icon&&c.icon.indexOf("http")?baseUrl:"")+c.icon+'" />';
a+='<div class="inlineFloatRight resultItemDistance right">';
if(b.includeDist){a+='<div class="bold"><img src="img/compass_'+Common.getCompassBearing(b.lat,b.lon,c.marker.latitude,c.marker.longitude)+'.png" align="top" /> '+Common.getDistanceLabel(c.distance)+"</div>"
}a+='<img src="img/myfav.png" class="'+(c.bookmarked?"":"hidden");
a+='" title="'+labels.your_favorite+'" />';
if(b.mapN){a+='<img src="'+baseUrl+"/logos/poimap_"+b.mapN+'.png" />'
}a+="</div>";
a+='<div class="resultItemTitle halfBottomPadding" ><div class="bold">'+c.name+"</div>";
if(c.id.indexOf("e")!=-1){d=Common.isEventOpen(c.openingHours);
if(d!=null){a+="<div >"+Common.getEventOpeningHours(d)+"</div>"
}else{a+="<div >&nbsp;</div>"
}}else{if(c.hoursNoShow){a+='<div class="underline">'+labels.opening_hours_info+"</div>"
}else{a+="<div>"+Common.isOpen(c.openingHours)+"</div>"
}}a+="</div></div>";
a+='<div class="inlineClear resultMessage"></div>';
a+='<div class="resultItemNoAdLink borderedTop hidden"></div>';
if(b.cbTimetable&&c.stopCode){a+=createTimetableItem(b.contentId+c.stopCode+"_timeTable");
Common.loadTimetables(c.stopCode,c.datasource,b.contentId+c.stopCode+"_timeTable",b.cbTimetable,3)
}a+='<a class="block fullSize" href="#" onclick="openInfoscreen(\''+c.id+"');scrollTo(0,0);return false;\"></a>";
a+="</div>";
a+='<div class="resultItemAdLink hiddenTopBorder clearPosition hidden"></div>';
a+="</div>";
return a
};
Common.parseTimetable=function(f,h,a,c){var e='<table border="0" style="border-spacing: 0px; width: 100%;">',b,g;
if(!c){e+='<tr><td class=""><b>'+labels.time+"</b></td>";
e+='<td class=""><b>'+labels.line+"</b></td>";
e+='<td class=""><b>'+labels.destination+"</b></td><td>&nbsp;</td></tr>"
}for(b=0;
b<f.departures.length;
b++){if(a&&a==b){break
}e+='<tr><td class="timetabledata">';
g=new Date(parseInt(f.departures[b].departure));
g=(g.getHours()<10?"0"+g.getHours():g.getHours())+":"+(g.getMinutes()<10?"0"+g.getMinutes():g.getMinutes());
e+=g+"</td>";
e+='<td class="timetabledata">';
e+="<b>"+f.departures[b].line.line+"</b></td>";
e+='<td class="timetabledata">';
e+=f.departures[b].line.destination+"</td>";
if(f.departures[b].line.ex){e+="<td class=\"timetabledata\"><img class='clickable' onclick=\"dojo.toggleClass('"+h+"timetablealertrow"+b+'\', \'hidden\');" src="images/alert.gif" title="'+f.departures[b].line.ex+'"></td></tr>';
e+="<tr class='routeExceptionInfo red'><td id=\""+h+"timetablealertrow"+b+'" colspan="4" class="timetablealert "><span class="bold">'+labels.exception_info+"</span>: "+f.departures[b].line.ex+"</td></tr>"
}else{e+='<td class="timetabledata"></td></tr>'
}}e+="</table>";
var d=dojo.byId(h);
d.innerHTML=e;
dojo.removeClass(d,"center");
dojo.removeClass(d,"hidden")
};
function setKeyValue(b,a){if(window.widget){window.widget.setPreferenceForKey(dojo.toJson(a),b)
}else{if(typeof window.localStorage!="undefined"){window.localStorage.setItem(b,dojo.toJson(a))
}else{dojo.cookie(b,dojo.toJson(a),{expires:3650,path:"/"})
}}}function getKeyValue(a){var b;
if(typeof window.widget!="undefined"){b=window.widget.preferenceForKey(a)
}else{if(typeof window.localStorage!="undefined"){b=window.localStorage.getItem(a)
}else{b=dojo.cookie(a)
}}return dojo.fromJson(b)
}function deleteKey(a){if(typeof window.widget!="undefined"){window.widget.setPreferenceForKey(null,a);
return
}if(typeof window.localStorage!="undefined"){window.localStorage.removeItem(a)
}dojo.cookie(a,null,{expires:-1,path:"/"})
}function geocodeParser(d){var a=[],c=0,b,e;
if(d&&d.results){for(c=0;
c<d.results.length;
c++){e="";
b={lat:d.results[c].properties.geoLatitude,lon:d.results[c].properties.geoLongitude,addr:""};
if(d.results[c].properties.addrPostalCode){b.pc=d.results[c].properties.addrPostalCode
}if(d.results[c].properties.addrStreetName){b.addr=b.addr+d.results[c].properties.addrStreetName
}if(d.results[c].properties.addrHouseNumber){b.addr=b.addr+" ";
b.addr=b.addr+d.results[c].properties.addrHouseNumber
}b.fullAddr=b.addr;
if(b.pc){b.fullAddr=b.fullAddr+" ";
b.fullAddr=b.fullAddr+b.pc
}if(d.results[c].properties.addrDistrictName){e=d.results[c].properties.addrDistrictName
}else{if(d.results[c].properties.addrCityName){e=d.results[c].properties.addrCityName
}else{if(d.results[c].properties.addrTownshipName){e=d.results[c].properties.addrTownshipName
}else{e=getCityName(d.results[c].properties.geoLatitude,d.results[c].properties.geoLongitude)
}}}if(e){b.addr=(b.addr?b.addr+" ":"");
b.addr=b.addr+e;
b.fullAddr=(b.fullAddr?b.fullAddr+" ":"");
b.fullAddr=b.fullAddr+e
}e=null;
if(d.results[c].properties.addrTownshipName){e=d.results[c].properties.addrTownshipName
}else{if(d.results[c].properties.addrCityName){e=d.results[c].properties.addrCityName
}}if(e&&findCityJson(e)){b.city=e
}a.push(b)
}}else{if(d&&d.places){for(c=0;
c<d.places.length;
c++){b={lat:""+d.places[c].location.position.latitude,lon:""+d.places[c].location.position.longitude,addr:""};
if(d.places[c].address.postCode){b.pc=d.places[c].address.postCode
}if(d.places[c].address.thoroughfare){if(d.places[c].address.thoroughfare.name){b.addr=b.addr+d.places[c].address.thoroughfare.name
}if(d.places[c].address.thoroughfare.number){b.addr=b.addr+" ";
b.addr=b.addr+d.places[c].address.thoroughfare.number
}}b.fullAddr=b.addr;
if(b.pc){b.fullAddr=b.fullAddr+" ";
b.fullAddr=b.fullAddr+b.pc
}if(d.places[c].address.district){e=d.places[c].address.district
}else{if(d.places[c].address.city){e=d.places[c].address.city
}else{e=getCityName(d.places[c].location.position.latitude,d.places[c].location.position.longitude)
}}if(e){b.addr=(b.addr?b.addr+" ":"");
b.addr=b.addr+e;
b.fullAddr=(b.fullAddr?b.fullAddr+" ":"");
b.fullAddr=b.fullAddr+e
}if(e&&findCityJson(e)){b.city=e
}b.s=true;
a.push(b)
}}else{if(d&&d.name&&d.value){b={city:d.name,addr:d.name,fullAddr:d.name,lat:d.value.substring(0,d.value.indexOf(",")),lon:d.value.substring(d.value.indexOf(",")+1)};
a.push(b)
}}}return a
}function prepareCityArray(){var b,a;
for(a=0;
a<cityJson.items.length;
a++){b=window.cityJson.items[a].name.toLowerCase();
if(cityObjArray[b.charAt(0)]){cityObjArray[b.charAt(0)].push(window.cityJson.items[a])
}else{cityObjArray[b.charAt(0)]=[window.cityJson.items[a]]
}}}function findCityJson(d){d=d.toLowerCase();
var c=cityObjArray[d.charAt(0)],b;
if(c){for(b=0;
b<c.length;
b++){var a=c[b];
if(a.name.toLowerCase()==d){return a
}}}return null
}function getAddressLabel(a){return(a.name?a.name:a.addr)
}function generateOviRoute(o,b,n){if(!b||(b>2000)){b=2000
}if(!n||(n>2000)){n=b;
if(n>600){n=600
}}var m="",g,e,f,h=0;
for(g=0;
g<o.legs.length;
g++){for(e=0;
e<o.legs[g].maneuvers.length;
e++){var a=o.legs[g].maneuvers[e],d,p,c;
f=a.position.latitude+","+a.position.longitude;
if(e+1!=o.legs[g].maneuvers.length){for(d=h;
d<o.legs[g].points.length;
d+=2){if(o.legs[g].points[d]==o.legs[g].maneuvers[e+1].position.latitude&&o.legs[g].points[d+1]==o.legs[g].maneuvers[e+1].position.longitude){break
}}p=Math.round((d-h)/8)*2;
if(p<2){p=2
}for(c=h+p;
c<d;
c+=p){f+=","+o.legs[g].points[c]+","+o.legs[g].points[c+1]
}f+=","+o.legs[g].maneuvers[e+1].position.latitude+","+o.legs[g].maneuvers[e+1].position.longitude;
h=d
}m+='<div class="routeLeg" onclick="legClickHandler(this);">';
m+='<div class="textColorGray inlineFloatLeft">';
m+=(a.distanceFromPreviousManeuver<1000?a.distanceFromPreviousManeuver+" m":Math.round(a.distanceFromPreviousManeuver/100)/10+" km")+" </div>";
m+='<div class="quarterLeftMargin">'+Common.getRoutingActionText(a.action,a.turn)+'<span class="bold"> '+a.nextStreetName+"</span></div>";
m+=generateTurnpointImg(f,b,n);
m+="</div>"
}}return m+'<span class="halfLeftPadding smallprint">&copy; Nokia Maps</span>'
}function getTurnpointImg(e,c,a,d,g){if(e.indexOf(",")!=e.lastIndexOf(",")){var f=parseFloat(e.substring(0,e.indexOf(",")));
f+=1e-7;
e=e.substring(0,e.indexOf(",",e.indexOf(",")+1)+1)+f+e.substring(e.indexOf(","))
}var b='<img class="" src="http://m.ovi.me/turnpoint?r0='+e;
if(d){b+="&lc="+d.replace("#","FF")
}if(g){b+="&sc="+g.replace("#","FF")
}b+="&w="+c+"&h="+a+"&f=0&token="+oviToken+'" width='+c+" />";
return b
}function generateTurnpointImg(e,c,a,d,g){if(e.indexOf(",")!=e.lastIndexOf(",")){var f=parseFloat(e.substring(0,e.indexOf(",")));
f+=1e-7;
e=e.substring(0,e.indexOf(",",e.indexOf(",")+1)+1)+f+e.substring(e.indexOf(","))
}var b='<img class="hidden mapPointer" src="img/button_overlay_1px.png" alt="http://m.ovi.me/turnpoint?r0='+e;
if(d){b+="&lc="+d.replace("#","FF")
}if(g){b+="&sc="+g.replace("#","FF")
}b+="&w="+c+"&h="+a+"&f=0&token="+oviToken+'" width='+c+" />";
return b
}function legClickHandler(a){var b=dojo.query(".mapPointer",a);
if(b[0].alt.length>0){b[0].src=b[0].alt;
b[0].alt=""
}b.toggleClass("hidden")
}function renderResultItems(k,p){p=p.args;
if(k.items){k.channels=[];
k.channels.push({items:k.items})
}if(k.channels){var l,f,c,n,r,o,e,h,q,d,b,a,g,m=false,s={includeDist:true,cbTimetable:Common.parseTimetable,lat:p.lat,lon:p.lon};
for(l=0;
l<k.channels.length;
l++){Common.sortData(k.channels[l],p.lat,p.lon);
if(p.sponsored){c=p.containerId+"_"+k.channels[l].channelId+l;
n=ContextPage.contentPages[p.selectedContentPageId].sponsoredChannels[k.channels[l].channelId+l];
if(!n){n=k.channels[l];
ContextPage.contentPages[p.selectedContentPageId].sponsoredChannels[k.channels[l].channelId+l]=n;
o='<div id="'+c+'"></div>';
dojo.place(createResultPanel(k.channels[l].title,(k.channels[l].color?k.channels[l].color:"#884400"),baseUrl+k.channels[l].icon,o,null,k.channels[l].noLink?null:"ContextPage.resultPanelClickHandler('"+k.channels[l].channelId+"','"+k.channels[l].title+"','"+baseUrl+k.channels[l].icon+"','"+k.channels[l].color+"');",null,true),p.containerId,ContextPage.contentPages[p.selectedContentPageId].sponsoredSlot);
ContextPage.contentPages[p.selectedContentPageId].sponsoredSlot++;
dojo.addClass("contextPageProgress","hidden")
}else{ContextPage.contentPages[p.selectedContentPageId].sponsoredChannels[k.channels[l].channelId+l]=k.channels[l]
}}else{c=p.containerId
}s.contentId=c;
if(p.mapContainerId&&p.lat&&p.lon){a=dojo.byId(p.mapContainerId);
if(a){g=a.parentNode.clientWidth-10;
a.src=getMapUrl(k.channels[l].items,p.lat,p.lon,g);
a.width=g;
m=true
}}n=p.channel;
h="";
q=[];
d=[];
for(f=0;
f<k.channels[l].items.length;
f++){r=k.channels[l].items[f];
if(r.i18n&&r.i18n[djConfig.locale]){for(e in r.i18n[djConfig.locale]){r[e]=r.i18n[djConfig.locale][e]
}}r.bookmarked=Common.isBookmarked(r.id);
n.push(r);
if(m){s.mapN=(f+2)
}h+=Common.renderResultItem(r,s);
if(r.hasIm){q.push(r.id)
}if(r.hasAd){if(xhrsWaiting.length<5){b=baseUrl+"/resources/shop/"+r.id+"/ad/"+globalDate.getTime()+"?l="+djConfig.locale;
b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:b,itemId:r.id,container:c,itemArr:n,handleAs:"json",load:function(j,i){parseAd(j,i.args.itemId,i.args.container,i.args.itemArr);
return j
},failOk:true})
}else{d.push(r.id)
}}}if(!h){h=createNoresultItem()
}dojo.byId(c).innerHTML=h;
if(d.length>0){b=baseUrl+"/resources/shop/ads/"+globalDate.getTime()+"?ids="+d+"&l="+djConfig.locale;
b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:b,container:c,itemArr:n,handleAs:"json",load:function(j,i){Common.parseAds(j,i.args.container,parseAd,i.args.itemArr);
return j
},failOk:true})
}if(q.length>0){b=baseUrl+"/resources/im/"+globalDate.getTime()+"?ids="+q;
b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:b,container:c,handleAs:"json",load:function(j,i){Common.parseIms(j,i.args.container,displayMessage);
return j
},failOk:true})
}Common.checkXhrs()
}}}function getMapUrl(e,f,g,d){var a="http://m.ovi.me/?poi=",b=[],c;
b.push(f);
b.push(g);
for(c=0;
c<e.length;
c++){b.push(e[c].marker.latitude);
b.push(e[c].marker.longitude)
}a=a+b.join();
a=a+"&h="+d+"&w="+d+"&f=0";
return a
}function parseAd(c,g,b,a){b=b?"#"+b+" ":"";
var f=(c.ad.wwwurl?dojo.query(b+"div.resultItemContainer.id"+g+" .resultItemAdLink"):dojo.query(b+"div.resultItemContainer.id"+g+" .resultItemNoAdLink")),e=Common.getItem(g,a),d=createAdItem(c.ad,e.id,e.icon);
if(f&&f[0]){f[0].innerHTML=d;
dojo.removeClass(f[0],"hidden")
}else{console.log(g," in ",b," not found")
}}function openInfoscreen(b){var a;
if(Page.current.channel&&Page.current.selectedContentPageId&&Page.current.channel[Page.current.selectedContentPageId]){a=Common.getItem(b,Page.current.channel[Page.current.selectedContentPageId])
}if(!a){console.log("item not found, loading item");
targetPOIid=b;
InfoscreenPage.clear();
InfoscreenPage.show();
InfoscreenPage.load()
}else{InfoscreenPage.show();
InfoscreenPage.render(a)
}}function hidePanels(a){dojo.toggleClass(a.parentNode,"hidden");
dojo.addClass("globalModalPane","hidden")
}function hideListPanel(a,b){dojo.addClass(a,"hidden");
dojo.addClass(b,"hidden")
}function resultItemLinkHandler(b){var a,c;
c=dojo.query(".listPanel",b).toggleClass("hidden")[0];
a=dojo.byId("globalModalPane");
a.onclick=function(){hideListPanel(this,c)
};
dojo.removeClass(a,"hidden")
}function getCityName(h,d){var b,c,g,f=Number.MAX_VALUE,e,a;
for(b=0;
b<cityJson.items.length;
b++){c=window.cityJson.items[b].value;
g=Common.distanceBetweenLatLon(h,d,c.substring(0,c.indexOf(",")),c.substring(c.indexOf(",")+1));
if(g<f){f=g;
e=c;
a=window.cityJson.items[b].name
}}if(e=="60.212,24.726"){if(Common.distanceBetweenLatLon(h,d,e.substring(0,e.indexOf(",")),e.substring(e.indexOf(",")+1))>1000){e="60.209,24.658";
a="Espoo"
}}return a
}function createDropdownButton(b,a,d){var c="<div "+(d?'id="'+d+'"':"")+' class="buttonContainer"><div class="dropdownTextButton"><div class="commandContainer "><span class="commandLabel">'+b+'</span><img class="inlineFloatRight commandDownArrow" src="img/arrow_down_white.png" /></div><div class="gradient halfSize"></div><a class="block fullSize" href="#" onclick="'+_createDropdownOnclick()+'return false;"></a></div>'+_createDropdownOptions(a)+"</div>";
return c
}function createSecondaryDropdownButton(b,a,d){var c="<div "+(d?'id="'+d+'"':"")+' class="singleTopMargin buttonContainer"><div class="dropdownTextButton"><div class="secondaryButtonContainer halfLeftPadding halfRightPadding"><span class="commandLabel">'+b+'</span><img class="inlineFloatRight commandDownArrow" height=24 src="img/arrow_down_black.png" /></div><div class="halfSize"></div><a class="block fullSize" href="#" onclick="'+_createDropdownOnclick()+'return false;"></a></div>'+_createDropdownOptions(a)+"</div>";
return c
}function _createDropdownOnclick(){return"dojo.addClass(this.previousSibling,'hidden');dojo.addClass(this.parentNode.firstChild, 'buttonPressed');dojo.removeClass(this.parentNode.nextSibling, 'hidden');var modal = dojo.byId('globalModalPane');modal.popup=this.parentNode.nextSibling;modal.onclick=modalPaneOnclick;dojo.removeClass(modal, 'hidden');Common.stopEvent(event);"
}function _createDropdownOptions(a){var b='<div class="hidden fullWidth popup popupMenu">';
b+=_createDropdownOptionMenu(a);
b+="</div>";
return b
}function _createDropdownOptionMenu(a){var c="";
for(var b=0;
b<a.length;
b++){c+='<div class="popupMenuItem '+(a[b].styleclass?a[b].styleclass:"")+'">'+(a[b].prehtml?a[b].prehtml:"")+"<a "+(a[b].id?'id="'+a[b].id+'"':"")+' class="popupLink '+(a[b].classes?a[b].classes:"")+" "+(a[b].styleclass?a[b].styleclass:"")+'" href="#" onclick="'+a[b].onclick+'modalPaneOnclick();return false;">'+a[b].name+"</a>"+(a[b].posthtml?a[b].posthtml:"")+"</div>"
}return c
}function dropdownPanelHandler(a){dojo.query(".commandArrow",a).toggleClass("hidden");
dojo.query(".gradient",a).toggleClass("hidden");
dojo.query(".panelPointer",a.parentNode).toggleClass("hidden");
dojo.query(".smallPanelPointer",a).toggleClass("hidden")
}function createDropdownPanel(c,e,d,b,a,f){var g='<div class="singleTopMargin roundedPanel lightestgray"><div class="relativePosition"><div class="commandLinePointer'+(f?" red":"")+' commandLinePadding"><span class="inlineFloatRight commandFloat bold">'+e+'</span><img class="commandIcon commandArrow'+(b?" hidden":"")+'" src="img/arrow_right_black.png" /><img class="commandIcon commandArrow'+(!b?" hidden":"")+'" src="img/arrow_down_black.png" /><span class="commandLabel bold">'+c+"</span>";
if(a){g+='<div class="blackImp smallPanelPointer singleLeftMargin'+(b?" hidden":"")+'">'+a+"</div>"
}g+='</div><div class="gradient halfSize'+(b?" hidden":"")+'"></div><a class="block fullSize" href="#" onclick="dropdownPanelHandler(this.parentNode);return false;"></a></div><div class="relativePosition panelPointer'+(!b?" hidden":"")+'">'+d+"</div></div>";
return g
}function updateDropdownButtonLabel(a,b){a.parentNode.parentNode.previousSibling.firstChild.firstChild.innerHTML=b
}function getDropdownButtonId(a){return a.parentNode.parentNode.parentNode.id
}function closeDropdownButtonPopup(a){dojo.addClass(a,"hidden");
try{cleanManage(a);
dojo.removeClass(a.previousSibling.firstChild,"buttonPressed");
dojo.removeClass(a.previousSibling.firstChild.nextSibling,"hidden")
}catch(b){}}function addPopupClose(a){var b=dojo.body().onclick;
dojo.body().onclick=function(c){closeDropdownButtonPopup(a);
dojo.body().onclick=b;
if(b){b()
}}
}function createResultPanel(e,i,c,d,b,g,h,f){if(!i){i="#808080"
}var a="<div "+(b?'id="'+b+'"':"")+' style="background-color: '+i+';margin-top: 2px;" ><div class="relativePosition">';
if(g||h){a+='<div class="dropdownTextButton"><div class="commandContainer">'
}else{a+='<div class="plainContainer singlePadding halfTopPadding halfBottomPadding textColorWhite">'
}a+='<img class="commandIcon commandArrow'+(c?'" src="'+c+'"':' hidden" src="img/button_overlay_1px.png"')+' height=24px /><span class="labelPointer">'+e+"</span>";
if(g||h){a+=(f?'<span class="inlineFloatRight title" >&raquo;</span>':'<img class="inlineFloatRight commandDownArrow" src="img/arrow_down_white.png" />')+'</div><div class="gradient halfSize"></div><a class="block fullSize" href="#" onclick="'+(g?g:_createDropdownOnclick())+'return false;"></a>'
}a+="</div>";
if(h){a+=_createDropdownOptions(h)
}a+='</div><div class="clearPosition"><img src="img/grad_right_white.png" class="block gradientBackgroundImg" /><div class="gradentContent halfTopPadding halfBottomPadding ">';
a+=d+"</div></div></div>";
return a
}function getResultPanelId(a){return a.parentNode.parentNode.parentNode.id
}function updateResultPanel(d,c,b,a,f){if(c){dojo.query(".labelPointer",d)[0].innerHTML=c
}if(a){var e=dojo.query(".commandIcon",d)[0];
e.src=a;
dojo.removeClass(e,"hidden")
}if(b){dojo.byId(d).style.backgroundColor=b
}if(f){dojo.query(".popupMenu",d)[0].innerHTML=_createDropdownOptionMenu(f)
}}function createQuickButton(h,e,d,c,b,a,f,g){return'<div id="'+h+'" class="buttonContainer halfLeftMargin halfTopMargin inlineFloatLeft"><div class="quickButton '+(c?" "+c:"")+'"'+(b?' style="background-color:'+b+';"':"")+'><span class="quickIndex">'+(g?g:"")+'</span><div class="'+(g?"quickIconRight":"quickIcon")+(a?" "+a:"")+'">'+(f?' <img src="'+f+'" height="24px" />':"")+'</div><div class="gradient halfSize"></div><p class="quickLabel">'+e+'</p></div><a class="block fullSize" href="#" onclick="'+d+'return false;"></a></div>'
}function createSelectButton(g,e,d,c,b,a,f){return'<div id="'+g+'" class="buttonContainer singleTopMargin inlineFloatLeft"><div class="button automargin'+(c?" "+c:"")+'"'+(b?' style="background-color:'+b+';"':"")+'><div class="icon'+(a?" "+a:"")+'"'+(f?" style=\"background-image: url('"+f+"');\"":"")+'></div></div><p class="label">'+e+'</p><a class="block fullSize" href="#" onclick="'+d+'return false;"></a></div>'
}function createSaveDialog(a){var b='<div class="saveDialog halfMargin white"><div class="singlePadding saveRightMargin">';
b+='<input id="'+a+'SaveLocationLabelField" type="text" class="saveFieldInput fullWidth"></input></div>';
b+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"buttonGreen",txtcolor:"textColorWhite ",label:labels.save_location,handler:"saveLocationHandler(this.parentNode.parentNode.parentNode.parentNode.parentNode,'"+a+"',this.parentNode.parentNode.parentNode.parentNode.previousSibling);"});
b+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder",bgcolor:"buttonRed",txtcolor:"textColorWhite ",label:labels.cancel_location,handler:"dojo.toggleClass(this.parentNode.parentNode.parentNode.parentNode.parentNode, 'openDialog');"});
b+='<div class="inlineClear singleBottomPadding"></div></div>';
return b
}function createRemoveDialog(a,c,b){var d='<div class="removeDialog halfMargin white"><div class="singlePadding">';
if(b=="stored"){d+=labels.delete_stored_location
}else{d+=labels.delete_stored_address
}d+='</div><div class="singleLeftPadding singleRightPadding bold">';
d+=getAddressLabel(c);
d+="</div>";
d+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"buttonGreen",txtcolor:"textColorWhite ",label:labels.delete_location,handler:"deleteLocationHandler(this.parentNode.parentNode.parentNode.parentNode,'"+a+"',"+dojo.toJson(c).replace(/"/g,"'")+",'"+b+"');"});
d+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder",bgcolor:"buttonRed",txtcolor:"textColorWhite ",label:labels.cancel_location,handler:"replaceWithInlineClear(this.parentNode.parentNode.parentNode.parentNode);"});
d+='<div class="inlineClear singleBottomPadding"></div></div>';
return d
}function createSelectHandlerButton(a,b,c){var d=createBasicButton({floatstyle:"removeSelect inlineFloatRight",padding:"halfSideMargin halfTopMargin ",contentPadding:"center",bgcolor:"buttonRed",icon:"img/x.png",iconheight:"24px",handler:"dojo.place(createRemoveDialog('"+a+"',"+dojo.toJson(b).replace(/"/g,"'")+",'"+c+"'), this.parentNode.parentNode.parentNode.nextSibling.nextSibling, 'replace');"});
d+='<a href="#" class="select block" onclick="if(!dojo.hasClass(this.parentNode.parentNode, \'remove\')){this.parentNode.parentNode.parentNode.handler();selectHandler(\'';
d+=a;
d+="',";
d+=dojo.toJson(b).replace(/"/g,"'");
d+=',this.parentNode.parentNode);}return false;">';
if(c=="sensor"){d+='<img src="img/locate_green.png" width="16" class="locate valignMiddle" />'
}else{if(c=="stored"){d+='<img src="img/savedplace.png" width="20" class="place valignMiddle" />'
}}d+=getAddressLabel(b);
d+="</a>";
d+='<div class="inlineClear"></div>';
return d
}function createContentItem(e,b,c,d){var a='<div class="contentItem '+e;
if(e!="map"&&e!="ad"&&e!="hscrmessage"){a+=" halfPadding "
}if((e&&e=="message")||(e&&e=="hscrmessage")){a+=" messageBox "
}else{if(e&&e=="ad_rt"){a+=" feedContent "
}else{if(e&&e=="map"){}else{if(e&&e=="progress"){a+=" halfMargin bordered whiteBackground "
}else{a+=" whiteBackground "
}}}}if(c){a+=c
}a+='" ';
if(d){a+='id="'+d+'" >'
}else{a+=">"
}a+=b;
a+="</div>";
return a
}function createAdItem(i,h,e,g,d,f,a){var c='<div class="listPanel singleTopMargin hidden">';
var b=i.imgurl&&!i.body&&!i.header;
c+='<a href="#" onclick="hidePanels(this);return false;" class="block gray center inlineFloatRight textColorWhite';
c+=((i.wwwurl&&h)?" twoRowPopupClose":" oneRowPopupClose")+'"><img src="img/x.png" width="24px" class="valignMiddle" />&nbsp;</a>';
if(i.wwwurl){c+='<a href="'+i.wwwurl+'" class="block select" onclick="';
if(uit.indexOf("widget")!=-1){c+="widget.openURL('"+i.wwwurl+"');"
}c+='hidePanels(this);" target="_blank">';
c+='<img class="valignMiddle singleRightPadding" src="img/ext.png" />';
if(i.rt){c+=labels.open_ad_rt_link
}else{c+=labels.open_ad_link
}c+="</a>"
}if(h){c+='<a href="#" class="block select" onclick="hidePanels(this);openInfoscreen(\''+h+"');scrollTo(0,0);return false;\">";
if(e){c+='<img class="valignMiddle singleRightPadding" src="'+baseUrl+e+'" />'
}c+=labels.open_ad_infoscreen;
c+="</a>"
}c+="</div>";
c+='<div class="'+(b?"cadBanner":(i.rt?"":"cadBox"))+'">';
if(i.rt){c+='<div class="bold aHeader">'
}else{c+='<div class="bold aHeader '+(i.header?"cadHeader":"")+'">'
}i.header=i.header?i.header:"";
c+=i.header;
if(i.rt){c+='</div><div class="aBody">'
}else{c+='</div><div class="aBody '+(i.body?"cadBody":"")+'">'
}if(i.imgurl){c+='<img class="aImage halfRightPadding inlineFloatLeft '+(i.body?"aImageLmt":"aBanner")+'" src="';
c+=i.imgurl;
c+='" alt="';
c+='"/>'
}if(i.body){c+=i.body
}c+='<div class="inlineClear"></div>';
c+="</div>";
if(g&&d&&!i.rt){c+='<div class="inlineFloatRight cadSpotShop halfRightPadding">'+Common.getDistanceLabel(Common.distanceBetweenLatLon(window.adforeObj.locObj.lat,window.adforeObj.locObj.lon,f,a))+"</div>";
c+='<div class="cadSpotShop halfLeftPadding">'+d+"</div>"
}c+='</div><div class="inlineClear"></div>';
if((e&&h)||i.wwwurl){c+='<a class="block fullSize" href="#" onclick="resultItemLinkHandler(this.parentNode);return false;"></a>'
}else{if(g&&h){c+='<a class="block fullSize" href="#" onclick="hidePanels(this);openInfoscreen(\''+h+"');return false;\"></a>"
}}return createContentItem(i.rt?"ad_rt":"ad",c,"clearPosition")
}function createMessageItem(e,d,a){var c="";
if(!a){c+='<img src="img/imquot.png" class="inlineFloatLeft resultPadding" />';
c+='<div class="messageBoxMargin">'
}else{c+="<div>"
}if(e.im.header){c+='<div class="messageHeader bold">';
c+=e.im.header;
c+="</div>"
}if(e.im.body){c+='<div class="messageBody">';
c+=e.im.body;
c+="</div>"
}if(e.im.timestamp){var f=new Date(parseInt(e.im.timestamp)),b=f.getMinutes();
c+='<div class="messageTimestamp">'+(e.im.poiName?e.im.poiName+" ":"")+(e.im.lat?Common.getDistanceLabel(Common.distanceBetweenLatLon(window.adforeObj.locObj.lat,window.adforeObj.locObj.lon,e.im.lat,e.im.lon))+" ":"")+f.getDate()+"."+(f.getMonth()+1)+". "+f.getHours()+":"+(b<10?"0"+b:b)+"</div>"
}if(d&&e.im.poiId){c+='<a class="block fullSize" href="#" onclick="openInfoscreen(\''+e.im.poiId+"');return false;\"></a>"
}c+='</div><div class="inlineClear"></div>';
return createContentItem((a?"hscrmessage":"message"),c,(d||a?"clearPosition":""))
}function createProgressItem(c,b){var a='<img src="img/scan_240.gif" alt="'+labels.please_wait+'"/><br />';
a+="<span>"+(b?b:labels.content_retrieving)+"</span>";
return createContentItem("progress",a,"center",c)
}function createNoresultItem(a){return createContentItem("progress","<span>"+labels.content_noresult+"</span>","center",a)
}function createTimetableItem(b){var a='<img src="img/scan_240.gif" alt="'+labels.please_wait+'"/><br />';
a+="<span>"+labels.loading_timetable+"</span>";
return createContentItem("timetable",a,"center",b)
}function createMapItem(b){var a='<img id="'+b+'" class="pixelBorder smallMargin borderColorGray" src="img/null.gif" />';
a+='<div class="right halfTopPadding"><img class="commandIcon" src="'+baseUrl+'/logos/poi1.png" /><span class="i18n halfLeftPadding singleRightPadding mapLegend">'+labels.your_address+"</span></div>";
return createContentItem("map",a,"center")
}function createActionListPanel(a){var b='<a href="#" class="block select" onclick="standardListPaneHandler(this.parentNode);';
if(uit.indexOf("widget")!=-1){b+="widget.openURL"
}else{b+="window.open"
}b+="('http://touch.facebook.com/sharer.php?u="+encodeURIComponent("http://m.tassa.fi/kohde/"+a.id)+"');return false;\">";
b+='<img class="valignMiddle singleRightPadding" src="img/poi_fb.png" />';
b+=labels.actionmenu_on_facebook;
b+="</a>";
b+='<a href="mailto:?subject='+encodeURIComponent(a.name)+"&body=http%3A%2F%2Fm.tassa.fi%2F%3Fid%3D"+a.id+'" class="block select" onclick="standardListPaneHandler(this.parentNode);">';
b+='<img class="valignMiddle singleRightPadding" src="img/poi_email.png" />';
b+=labels.actionmenu_send_email;
b+="</a>";
b+='<a href="sms:?body='+encodeURIComponent(a.name)+"%3A%20http%3A%2F%2Fm.tassa.fi%2F%3Fid%3D"+a.id+'" class="block select" onclick="standardListPaneHandler(this.parentNode);">';
b+='<img class="valignMiddle singleRightPadding" src="img/poi_sms.png" />';
b+=labels.actionmenu_send_sms;
b+="</a>";
return b
}function createPanelButton(b,c){var a='<div id="'+b.id;
a+='" class="panelButtonWrapper '+b.sizestyle+" ";
a+=(b.floatstyle?b.floatstyle:"")+'">';
a+='<div class="panelButtonPadding '+(b.padding?b.padding:"");
a+='">';
a+='<div class="panelButtonContainer clearPosition">';
a+='<div class="panelButtonContent '+b.bgcolor+" "+b.txtcolor+" panelButtonLineHeight singleLeftPadding singleRightPadding";
if(b.disabled){a+="disabled"
}a+='">';
if(b.lefticon){a+='<img class="basicButtonIcon valignMiddle ';
a+='" src="'+b.lefticon;
if(b.iconheight){a+='" height="'+b.iconheight
}a+='" />'
}if(b.label){a+='<span class="panelButtonLabel">'+b.label+"</span>"
}if(b.icon){a+='<img class="panelButtonIcon inlineFloatRight iconTopPadding toggle ';
if(b.opened){a+="hidden"
}a+='" src="'+b.icon+'" />'
}if(b.iconopened){a+='<img class="panelButtonIcon inlineFloatRight iconTopPadding toggle ';
if(!b.opened){a+="hidden"
}a+='" src="'+b.icondisabled+'" />'
}a+="</div>";
a+='<div class="gradient halfSize"></div>';
a+='<a class="block fullSize" href="#" onclick="'+b.handler+'(this.parentNode);return false;"></a>';
a+='<div class="listPanel fullWidthSize hidden">';
if(b.content){a+=b.content
}a+="</div>";
a+="</div>";
a+="</div></div>";
if(c){dojo.byId(c).innerHTML=a
}return a
}function createBasicButton(b,c){var a="<div"+(b.id?' id="'+b.id+'"':"");
a+=' class="basicButtonWrapper '+(b.sizestyle?b.sizestyle+" ":"");
if(b.disabled){a+=" disabled "
}a+=(b.floatstyle?b.floatstyle:"")+'">';
a+='<div class="basicButtonPadding '+(b.padding?b.padding:"");
a+='">';
a+='<div class="basicButtonContainer clearPosition">';
a+='<div class=" basicButtonContent '+b.bgcolor+" "+(b.txtcolor?b.txtcolor:"");
a+=(b.contentPadding?b.contentPadding:" center halfBottomPadding halfTopPadding ");
a+='">';
if(b.icon){if(b.href){a+='<a class="noDecoration" '+(!b.nonewwindow?' target="_blank"':"");
if(b.tracking){a+=' onclick="'+b.tracking+"Common.flushTrackedEvents("+b.nonewwindow+');"'
}a+=' href="'+b.href+'">'
}a+='<img class="commandIcon basicButtonIcon valignMiddle';
a+='" src="'+b.icon+'"';
if(b.iconheight){a+=" height="+b.iconheight
}a+=" />";
if(b.href){a+="</a>"
}}if(b.icondisabled){a+='<img class="commandIcon basicButtonDisabledIcon valignMiddle';
a+='" src="'+b.icondisabled+'"';
if(b.iconheight){a+=" height="+b.iconheight
}a+=" />"
}if(b.label){a+='<span class="basicButtonLabel">'+b.label+"</span>"
}a+="</div>";
if(!b.nogradient){a+='<div class="gradient halfSize"></div>'
}if(b.href){a+='<a class="basicButtonHandler block fullSize"'+(!b.nonewwindow?' target="_blank"':"");
if(b.tracking){a+=' onclick="'+b.tracking+"Common.flushTrackedEvents("+b.nonewwindow+');" '
}a+='href="'+b.href+'"></a>'
}else{a+="<a"+(b.id?' id="'+b.id+'_handler"':"")+' class="basicButtonHandler block fullSize" href="#" onclick="'+b.handler+'return false;"></a>'
}a+="</div></div></div>";
if(c){dojo.byId(c).innerHTML=a
}return a
}function createResultMoreButtons(b){var a="";
a+='<div id="'+b+'MoreButtonContainer" class="singleTopPadding doubleBottomPadding halfTopMargin whiteBackground">';
a+='<div id="'+b+'PrevPageButton" class="commandButton plainButtonLineHeight twofifthsWidth inlineFloatLeft invisible">';
a+='<div class="commandButton singleLeftMargin halfRightMargin textColorWhite">';
a+='<div class="commandContainer darkgray center ">';
a+='<span class="commandLabel">&lt; ';
a+=labels.more_previous;
a+="</span>";
a+="</div>";
a+='<div class="gradient halfSize"></div>';
a+='<a class="block fullSize" href="#" onclick="Page.resultsPrevPageButtonHandler(Page.current);return false;"></a>';
a+="</div>";
a+="</div>";
a+='<div class="inlineFloatLeft center fifthWidth">';
a+='<div class="resultPageBorder">';
a+='<span class="menuPageSmallFont">'+labels.page+"</span><br />";
a+='<span id="'+b+'PageNumber" class="bold">1</span>';
a+="</div>";
a+="</div>";
a+='<div id="'+b+'NextPageButton" class="commandButton plainButtonLineHeight twofifthsWidth inlineFloatRight">';
a+='<div class="commandButton halfLeftMargin singleRightMargin textColorWhite">';
a+='<div class="commandContainer green center ">';
a+='<span class="commandLabel">';
a+=labels.more_next;
a+=" &gt;</span>";
a+="</div>";
a+='<div class="gradient halfSize"></div>';
a+='<a class="block fullSize" href="#" onclick="Page.resultsNextPageButtonHandler(Page.current);return false;"></a>';
a+="</div>";
a+="</div>";
a+='<div class="inlineClear"></div>';
a+="</div>";
return a
}function createAddressContainer(g,b,e,c){labels.test_address_label="Suggestion enabled";
var d=dojo.byId(g+"AddressContainer"),f,a='<div class="singleBottomPadding panelHeader">';
if(!d){console.log("createAddressContainer ERROR: could not find address container",g+"AddressContainer");
return
}a+=labels[g+"_address_label"];
a+="</div>";
a+='<div id="'+g+'AddressFieldContainer" class="commandButton inlineFloatLeft fourfifthsWidth">';
a+='<div class="positionClear addressFieldPadding">';
if(b){a+='<input id="'+g+'AddressFieldContent" onfocus="addressFocusHandler(this, \''+g+"');\" onkeyup=\"geocodeAddressFieldHandler('"+g+'\',event, this);" class="addressFieldInput" type="text" />'
}else{if(e){a+='<input id="'+g+'AddressFieldContent" '+(c?'onkeyup="'+c+'"':"")+" onfocus=\"addressSelectHandler(this, '"+g+'\');" onchange="'+e+"(this.parentNode.parentNode.parentNode,'"+g+'\');" class="addressFieldInput" type="text" />'
}else{a+='<input id="'+g+'AddressFieldContent" onfocus="addressSelectHandler(this, \''+g+"');\" onchange=\"window.adforeObj['"+g+'\'] = {};" class="addressFieldInput" type="text" />'
}}a+='</div><div id="'+g+'AddressFieldListPanel" class="listPanel hidden"></div>';
a+="</div>";
a+='<div id="'+g+'HomeButtonContainer" class="homeButtonContainer close inlineFloatRight fifthWidth">';
a+='          <div class="positionClear homeButtonPadding">';
a+='              <div class="homeContent rightRoundedButton center whiteBorder">';
a+='                  <img class="homeIcon close" src="img/homemenu.png" />';
a+='                  <img class="homeIcon open " src="img/homemenu_pressed.png" />';
if(b){a+='                  <img class="homeIcon go" src="img/go.png" />'
}a+='                  <img class="homeIcon cancel" src="img/x.png" />';
a+="              </div>";
a+='              <div class="gradient halfSize"></div>';
a+='              <a class="block fullSize" href="#" onclick="this.parentNode.parentNode.handler();return false;"></a>';
a+="          </div>";
a+='          <div id="'+g+'HomeButtonListPanel" class="listPanel hidden"></div>';
a+="</div>";
a+='<div class="inlineClear"></div>';
dojo.place(a,d);
f=dojo.byId(g+"HomeButtonContainer");
d.idpf=g;
f.idpf=g;
f.handler=function(){homeButtonHandler(f)
};
Page.updateAddress(g)
}function replaceWithInlineClear(a){dojo.place('<div class="inlineClear"></div>',a,"replace")
}function cleanManage(a){dojo.query(".removeDialog",a).forEach(replaceWithInlineClear);
dojo.removeClass(a,"remove")
}function modalPaneOnclick(){var b=dojo.byId("globalModalPane");
if(b.popup){dojo.addClass(b.popup,"hidden");
try{cleanManage(b.popup);
dojo.removeClass(b.popup.previousSibling.firstChild,"buttonPressed");
dojo.removeClass(b.popup.previousSibling.firstChild.nextSibling,"hidden")
}catch(a){}}b.popup=null;
b.onclick=null;
dojo.addClass(b,"hidden")
}var infoscreenXhr=[];
function isWidget(){return window.uit.indexOf("widget")!=-1
}function renderInfoscreen(j,g){var a=baseUrl+"/resources/shop/"+j.id+"/allads?l="+djConfig.locale;
var h;
while((h=infoscreenXhr.pop())!=null){h.cancel()
}a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
infoscreenXhr.push(dojo.xhrGet({url:a,container:"infoscreen_resultPanel_progressItem",handleAs:"json",load:function(n,l){for(var m=0;
m<n.ads.length;
m++){dojo.place(createAdItem(n.ads[m].ad),"infoscreen_resultPanel_content","last")
}dojo.addClass(l.args.container,"hidden");
dojo.addClass("infoscreen_resultPanel_id","hasContent");
dojo.removeClass("infoscreen_resultPanel_id","hidden");
return n
},failOk:"true",error:function(l,i){dojo.addClass(i.args.container,"hidden");
if(!dojo.hasClass("infoscreen_resultPanel_id","hasContent")){dojo.addClass("infoscreen_resultPanel_id","hidden")
}return l
}}));
a=baseUrl+"/resources/im/"+(new Date().getTime())+"?ids="+j.id+"&l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
infoscreenXhr.push(dojo.xhrGet({url:a,container:"infoscreen_resultPanel_progressItem",handleAs:"json",load:function(n,l){for(var m=n.ims.length-1;
m>=0;
m--){dojo.place(createMessageItem(n.ims[m]),"infoscreen_resultPanel_content","first")
}dojo.addClass(l.args.container,"hidden");
dojo.addClass("infoscreen_resultPanel_id","hasContent");
dojo.removeClass("infoscreen_resultPanel_id","hidden");
return n
},failOk:"true",error:function(l,i){dojo.addClass(i.args.container,"hidden");
if(!dojo.hasClass("infoscreen_resultPanel_id","hasContent")){dojo.addClass("infoscreen_resultPanel_id","hidden")
}return l
}}));
var k='<div class="infoscreenHeaderContainer singlePadding">';
k+='<img class="inlineFloatLeft resultLogo" src="'+(j.icon&&j.icon.indexOf("http")?baseUrl:"")+j.icon+'" />';
k+='<div class="inlineFloatRight resultItemDistance right">';
k+='<img id="infoscreenFavImg" src="img/myfav.png" class="'+(j.bookmarked?"":"hidden");
k+='" title="'+labels.your_favorite+'" /></div>';
k+='<div class="resultItemTitle halfBottomPadding" ><div class="bold">'+j.name+"</div></div>";
k+='<div class="inlineClear">'+(j.address?j.address:"")+"</div>";
if(j.tel){k+="<div>Puh:"+j.tel+"</div>"
}k+=createBasicButton({id:"infoscreenActionTel",sizestyle:"thirdWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin singleRightMargin halfBottomMargin halfTopPadding halfBottomPadding",bgcolor:"darkgray roundedButton ",txtcolor:"textColorWhite ",disabled:(j.tel?false:true),icon:(g?"/":"")+"img/tel.png",icondisabled:(g?"/":"")+"img/tel_disabled.png",href:(dojo.isOpera?"#":"tel:"+j.tel),tracking:(dojo.isOpera?"this.href = 'tel:"+j.tel+"';":"")+(g?"":"Common.addTrackedEvent('MIsTel;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+j.id+"');"),nonewwindow:((dojo.isOpera||isWidget())?true:false),nogradient:(dojo.isOpera?true:false)});
k+=createBasicButton({id:"infoscreenActionWww",sizestyle:"thirdMiddleWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin singleRightMargin halfBottomMargin halfTopPadding halfBottomPadding",bgcolor:"darkgray roundedButton ",txtcolor:"textColorWhite ",disabled:(j.www?false:true),icon:(g?"/":"")+"img/www.png",icondisabled:(g?"/":"")+"img/www_disabled.png",href:j.www,tracking:(g?null:"Common.addTrackedEvent('MIsWww;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+j.id+"');")+(isWidget()?"widget.openURL('"+j.www+"');return false;":""),nonewwindow:(isWidget()?true:false),nogradient:(dojo.isOpera?true:false)});
k+=createBasicButton({id:"infoscreenActionEmail",sizestyle:"thirdWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin singleRightMargin halfBottomMargin halfTopPadding halfBottomPadding",bgcolor:"darkgray roundedButton ",txtcolor:"textColorWhite ",disabled:(j.email?false:true),icon:(g?"/":"")+"img/mailto.png",icondisabled:(g?"/":"")+"img/mailto_disabled.png",href:"mailto:"+j.email+"?subject="+j.name+" Tässä.fi:ssä",tracking:g?null:"Common.addTrackedEvent('MIsEmail;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+j.id+"');",nonewwindow:(isWidget()?true:false),nogradient:(dojo.isOpera?true:false)});
k+="</div>";
var b,d=new Date(),e;
if(j.openingHours&&j.openingHours.length>0&&j.id.indexOf("e")==-1){b="<table><tr><td>"+labels.infoscreenopening+"</td>";
for(e=0;
e<7;
e++){b+=Common.getOpeningHours(j.openingHours[0],d);
if(e<6){b+="</tr><tr><td>&nbsp;</td>"
}else{b+="</tr></table>"
}d.setMilliseconds(d.getMilliseconds()+1000*60*60*24)
}}else{if(j.openingHours&&j.openingHours.length>0){b="<table>";
for(e=0;
e<j.openingHours.length;
e++){b+="<tr><td>"+Common.getEventOpeningHours(j.openingHours[e])+"</tr></td>"
}b+="</table>"
}else{if(j.stopCode){b='<span id="infoscreentimetablescan"><img src="'+(g?"/":"")+'images/scan_240.gif" /><br />'+labels.loading_timetable+"...</span>";
infoscreenXhr.push(Common.loadTimetables(j.stopCode,j.datasource,"infoscreenOpeningHoursContainer",infoscreenParseTimetable))
}else{b=""
}}}if(b){k+='</div><div id="infoscreenOpeningHoursContainer" class="inlineClear borderedTop singlePadding">';
k+=b;
k+="</div>"
}k+='<div class="infoscreenMapBoxContainer inlineClear halfMargin">';
k+='<div class="infoscreenMapContainer ">';
var f=dojo.body().offsetWidth-14;
var c=Math.round(f/2);
k+='<div style="height:'+c+'px; background:#D9D9D9"><img id=infoscreenMap class="zoomMap inlineClear" src=\'http://m.ovi.me/?nord&c='+j.marker.latitude+","+j.marker.longitude+"&z=15&w="+f+"&h="+c+"' alt=\""+labels.fetching_map+'"/> </div>';
k+='<div class="mapLegend">';
k+=createBasicButton({id:"infoscreenZoomOut",sizestyle:"fifthWidth",floatstyle:"inlineFloatLeft",padding:"halfLeftPadding halfTopPadding halfBottomPadding",bgcolor:"darkgray roundedButton",txtcolor:"textColorWhite ",label:'<span style="line-height: 20px; font-size: 40px;">&nbsp;&#8722;&nbsp;</span>',handler:"infoscreenZoom(false);"});
k+=createBasicButton({id:"infoscreenZoomIn",sizestyle:"fifthWidth",floatstyle:"inlineFloatLeft",padding:"halfLeftPadding halfTopPadding halfBottomPadding",bgcolor:"darkgray roundedButton",txtcolor:"textColorWhite ",label:'<span style="line-height: 20px; font-size: 40px;">&nbsp;+&nbsp;</span>',handler:"infoscreenZoom(true);"});
if(j.distance){k+='<span class="inlineFloatRight singleRightPadding" style="line-height:40px;">'+labels.distance_from_you+": "+Common.getDistanceLabel(j.distance)+"</span>"
}k+='<div class="inlineClear"></div></div></div>';
if(!g){k+='<div class="infoscreenMapActionContainer borderedTop halfRightPadding halfLeftPadding">';
k+=createBasicButton({id:"infoscreenActionRoutes",sizestyle:"fullWidth",padding:"halfTopMargin halfBottomMargin halfTopPadding halfBottomPadding",bgcolor:"routesColor roundedButton",txtcolor:"textColorWhite ",icon:"img/car.png",iconheight:"24px",label:"&nbsp;"+labels.actionmenu_route_directions+"&nbsp;&raquo;",handler:"RoutesPage.actionRouteHere(InfoscreenPage.item);"});
k+='<div class="inlineClear"></div>';
k+="</div>"
}k+="</div>";
k+='<div class="infoscreenDescriptionContainer inlineClear borderedTop singlePadding">';
if(j.photo){k+='<div class="halfPadding">';
k+='<img width="100%" src="'+j.photo+'">';
k+="</div>"
}if(j.desc){k+='<div class="halfPadding">';
k+=j.desc;
k+="</div>"
}if(j.services){k+='<div class="halfPadding">';
k+=labels.services+": "+j.services;
k+="</div>"
}if(j.datasource){k+='<div class="mapLegend halfPadding">['+labels.datasource+": ";
k+=j.datasource;
k+="]</div>"
}k+="</div>";
if(!g&&j.id.indexOf("o")){k+='<div class="infoscreenActionFavShareContainer borderedTop singlePadding">';
k+=createBasicButton({id:"infoscreenAddBookmark",sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin singleRightMargin halfBottomMargin halfTopPadding halfBottomPadding",bgcolor:"green roundedButton ",txtcolor:"textColorWhite ",disabled:(j.bookmarked?true:false),icon:baseUrl+"/logos/category_favs.png",iconheight:"24px",icondisabled:baseUrl+"/logos/category_favs_disabled.png",label:"&nbsp;"+labels.actionmenu_add_favorite,handler:"addBookmarkHandler(InfoscreenPage.item, this.parentNode.parentNode.parentNode, 'infoscreenRemoveBookmark');"});
k+=createPanelButton({id:"infoscreenShare",sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfBottomMargin halfTopPadding halfBottomPadding",bgcolor:"darkgray roundedButton ",txtcolor:"textColorWhite ",opened:false,lefticon:"img/share.png",icon:"img/arrow_down_white.png",iconheight:"24px",iconopened:"img/arrow_down_black.png",label:labels.actionmenu_share,handler:"InfoscreenPage.infoscreenShareButtonHandler",content:createActionListPanel(j)});
k+='<div class="inlineClear"></div>';
k+="</div>"
}k+=createResultPanel("Ilmoitukset","#808080",null,createProgressItem("infoscreen_resultPanel_progressItem")+'<div id="infoscreen_resultPanel_content" class="inlineClear contentItem resultMessage"></div>',"infoscreen_resultPanel_id");
k+="<br />";
k+="</div>";
return k
}function infoscreenParseTimetable(c,d,a,b){dojo.addClass("infoscreentimetablescan","hidden");
Common.parseTimetable(c,d,a,b)
}function parseTimetable(c,d,a,b){alert('depricated use Common.parseTimetable instead or infoscreenParseTimetable if you are using hardcoded "infoscreentimetablescan"');
infoscreenParseTimetable(c,d,a,b)
}function addBookmark(a){if(a.id.indexOf("e")){window.adforeObj.bookmarkIds.push(a.id)
}else{window.adforeObj.bookmarkEids.push(a.id)
}storeAdforeObj();
bookmarks.push(a)
}function removeBookmark(b){for(var a=0;
a<bookmarks.length;
a++){if(bookmarks[a].id==b){bookmarks.splice(a,1)
}}if(b.indexOf("e")){for(a=0;
a<window.adforeObj.bookmarkIds.length;
a++){if(window.adforeObj.bookmarkIds[a]==b){window.adforeObj.bookmarkIds.splice(a,1);
break
}}}else{for(a=0;
a<window.adforeObj.bookmarkEids.length;
a++){if(window.adforeObj.bookmarkEids[a]==b){window.adforeObj.bookmarkEids.splice(a,1);
break
}}}storeAdforeObj()
}function addBookmarkHandler(c,b,a){dojo.addClass(b,"disabled");
addBookmark(c);
setupRemoveButtonHandler(a,c);
Page.forceUpdate();
dojo.removeClass("infoscreenFavImg","hidden");
Common.addTrackedEvent("MBookmark;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+c.id)
}function setupRemoveButtonHandler(a,c){var b=dojo.byId(a+"_handler");
b.onclick=function(){removeBookmarkHandler(c.id,this.parentNode.parentNode.parentNode,"infoscreenAddBookmark");
return false
};
dojo.removeClass(a,"disabled")
}function removeBookmarkHandler(c,b,a){dojo.addClass(b,"disabled");
removeBookmark(c);
dojo.removeClass(a,"disabled");
Page.forceUpdate();
dojo.addClass("infoscreenFavImg","hidden");
Common.addTrackedEvent("MDelBookmark;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+c)
}function infoscreenZoom(a){var b=dojo.byId("infoscreenMap");
b.src=b.src.replace(/&z=[\d]+/,"&z="+(b.src.match(/&z=[\d]+/)[0].substring(3)-(a?-1:1)))
}var Data={mobile:true,update:false,targetPOIid:null,collXhr:null,globalDate:new Date(),ims:new Array(),ads:new Array(),zoomscale:16,storedAddresses:{}};
function Location(d,b,c,a){this.latitude=d;
this.longitude=b;
this.city=c;
this.address=a;
this.getLabel=function(){return this.city+", "+this.address
}
}function Profile(a){this.location=a
}function getKeys(b){var a=[];
for(key in b){a.push(key)
}return a
}dojo.provide("adfore.mobile");
function checkEventLoadingMode(a){var b=1;
if(dojo.byId("eventDateSelector").selectedIndex==7){b=2
}setEventLoadingMode(b);
updatePOIs(window.adforeObj.lastState.latitude,window.adforeObj.lastState.longitude)
}function setEventLoadingMode(a){channels.srch_events.mode=a
}function getEventLoadingMode(){return channels.srch_events.mode
}function benchmark(){var f,e,d,c,b,k,a,h,g;
g=300;
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
dojo.place('<div id="benchmarkresults"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
b=dojo.byId("benchmarkresults");
alert("running benchmark tests");
d=new Date();
h="<div>harness test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
a="";
for(f=0;
f<g;
f++){a+='<div id="benchmarkTarget'+f;
a+='" class="fullBenchmarkPointer benchmarkPointer';
a+=f;
a+='"></div>'
}k.innerHTML=a;
h="<div>Generation test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k);
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
d=new Date();
for(f=0;
f<g;
f++){a='<table id="benchmarkTable'+f;
a+='" class="fullBenchmarkTablePointer benchmarkTablePointer';
a+=f;
a+='"><tr><td>fuu</td></tr></table>';
dojo.place(a,k,"last")
}h="<div>Dojo.place table test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k);
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
d=new Date();
for(f=0;
f<g;
f++){a=document.createElement("div");
a.id="benchmarkTarget"+f;
a.className="fullBenchmarkPointer benchmarkPointer";
a.appendChild(document.createTextNode("fuu"));
k.appendChild(a)
}h="<div>Create element test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k);
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
d=new Date();
for(f=0;
f<g;
f++){a='<div id="benchmarkTarget'+f;
a+='" class="fullBenchmarkPointer benchmarkPointer';
a+=f;
a+='">fuu</div>';
dojo.place(a,k,"last")
}h="<div>Dojo.place test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
for(f=0;
f<g;
f++){c=dojo.byId("benchmarkTarget"+f)
}h="<div>By id test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
for(f=0;
f<g;
f++){c=dojo.query(".benchmarkPointer"+f,k)[0]
}h="<div>Limited query test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
for(f=0;
f<g;
f++){c=dojo.query(".benchmarkPointer"+f)[0]
}h="<div>Unlimited query test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
c=dojo.query(".fullBenchmarkPointer")[0];
h="<div>Full query test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k)
}var Pages={};
function Page(a,b){Pages[a]=this;
this.pageName=a;
this.initialized=false;
this.requiresLocation=(b?true:false)
}Page.prototype.show=function(a){this.init();
var b="";
if(Page.current){b=Page.current.pageName;
if(!a&&b!="menuPage"){Page.pages.push(Page.current)
}Page.current.hide()
}Page.current=this;
dojo.byId("headerTitle").innerHTML=this.pageTitle;
this._show();
if(window.adforeObj.gpsLocObj){if(Page.current.pageName=="routesPage"){if(window.adforeObj.routeFrom&&window.adforeObj.routeFrom.s&&(window.adforeObj.routeFrom.lat!=window.adforeObj.gpsLocObj.lat||window.adforeObj.routeFrom.lon!=window.adforeObj.gpsLocObj.lon)){Page.updateAddress("routeFrom",dojo.clone(window.adforeObj.gpsLocObj))
}if(window.adforeObj.routeTo&&window.adforeObj.routeTo.s&&(window.adforeObj.routeTo.lat!=window.adforeObj.gpsLocObj.lat||window.adforeObj.routeTo.lon!=window.adforeObj.gpsLocObj.lon)){Page.updateAddress("routeTo",dojo.clone(window.adforeObj.gpsLocObj))
}}else{if(window.adforeObj.locObj&&window.adforeObj.locObj.s&&(window.adforeObj.locObj.lat!=window.adforeObj.gpsLocObj.lat||window.adforeObj.locObj.lon!=window.adforeObj.gpsLocObj.lon)){Page.updateAddress("locObj",dojo.clone(window.adforeObj.gpsLocObj))
}}}if(this.lastLat!=window.adforeObj.locObj.lat||this.lastLon!=window.adforeObj.locObj.lon){this.positionChange(window.adforeObj.locObj)
}else{if(new Date().getTime()>this.lastTS){this.update()
}}dojo.removeClass(this.pageName,"hidden");
Common.addTrackedEvent("MPageShow;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+this.pageName+";"+b)
};
Page.prototype._show=function(){};
Page.prototype.hide=function(){dojo.addClass(this.pageName,"hidden");
this._hide();
Common.flushTrackedEvents()
};
Page.prototype._hide=function(){};
Page.prototype.init=function(){if(this.initialized){return
}var a=labels[this.pageName+"_title"];
this.pageTitle=(typeof a==="undefined"?"":a);
if(this.requiresLocation&&(typeof getPos().latitude==="undefined")){console.log("show start modal pane, not implemented yet and perhaps never will, so continue")
}this.lastTS=Page.setCacheTime();
this._init();
this.initialized=true;
this.loadSpot()
};
Page.prototype._init=function(){};
Page.prototype.load=function(){Common.flushTrackedEvents();
updateGlobalDate();
var a;
while((a=xhrs.pop())!=null){a.cancel()
}while(xhrsWaiting.pop()!=null){}this.lastTS=Page.setCacheTime();
this.loadSpot();
this._load()
};
Page.prototype._load=function(){};
Page.prototype.clear=function(){this._clear()
};
Page.prototype._clear=function(){};
Page.prototype.update=function(){updateGlobalDate();
this.lastTS=Page.setCacheTime();
this.loadSpot();
this._update()
};
Page.prototype._update=function(){};
Page.prototype.render=function(b,a){this._render(b,a)
};
Page.prototype._render=function(b,a){};
Page.updateAddress=function(d,a,c){if(a){window.adforeObj[d]=a;
storeAdforeObj(true)
}else{a=window.adforeObj[d];
if(!a&&d=="routeFrom"){if(window.adforeObj.locObj){a=dojo.clone(window.adforeObj.locObj);
window.adforeObj.routeFrom=a
}else{return
}}else{if(!a){return
}}}var b=dojo.byId(d+"AddressFieldContent");
if(b){b.value=getAddressLabel(a);
resetAddressFieldType(b.parentNode.parentNode.parentNode);
if(a.s){dojo.addClass(b.parentNode.parentNode.parentNode,"located")
}else{if(a.name){dojo.addClass(b.parentNode.parentNode.parentNode,"stored")
}}}else{console.log("positionChange ERROR: addressfield not found",d+"AddressFieldContent")
}if(Page.current&&!c){Page.current.positionChange(a,d)
}};
Page.prototype.positionChange=function(a,b){if(this.pageName=="routesPage"||(a.lat!=this.lastLat)||(a.lon!=this.lastLon)){this.lastLat=a.lat;
this.lastLon=a.lon;
this.loadSpot();
this._positionChange(a,b);
this.refreshPage=false
}else{if(this.refreshPage){this.refreshPage=false;
this.update()
}}};
Page.prototype._positionChange=function(a,b){};
var loadSpotXhr,loadSpotXhr2;
Page.prototype.loadSpot=function(){var b=this.pageName+"TopSpot",a;
if(dojo.byId(b)){a=baseUrl+"/resources/content/a/"+b+"?m=true&l="+djConfig.locale+"&u="+window.adforeObj.uid+"&uit="+window.uit+"&lat="+window.adforeObj.locObj.lat+"&lon="+window.adforeObj.locObj.lon;
if(loadSpotXhr){if(loadSpotXhr.ioArgs&&loadSpotXhr.ioArgs.url==a&&(loadSpotXhr.fired||loadSpotXhr.isFiring)){return
}else{loadSpotXhr.cancel()
}}loadSpotXhr=dojo.xhrGet({url:a,container:b,handleAs:"json",load:function(d,c){parseSpot(d,c.args.container);
return d
},failOk:true})
}b=this.pageName+"BottomSpot";
if(dojo.byId(b)){a=baseUrl+"/resources/content/a/"+b+"?m=true&l="+djConfig.locale+"&u="+window.adforeObj.uid+"&uit="+window.uit+"&lat="+window.adforeObj.locObj.lat+"&lon="+window.adforeObj.locObj.lon;
if(loadSpotXhr2){if(loadSpotXhr2.ioArgs&&loadSpotXhr2.ioArgs.url==a&&(loadSpotXhr2.fired||loadSpotXhr2.isFiring)){return
}else{loadSpotXhr2.cancel()
}}loadSpotXhr2=dojo.xhrGet({url:a,container:b,handleAs:"json",load:function(d,c){parseSpot(d,c.args.container);
return d
},failOk:true})
}};
Page.current=null;
Page.pages=[];
Page.init=function(){};
Page.selectButton=function(a){dojo.query("#selectedDirectionContainer div.button.selected").removeClass("selected");
dojo.addClass(a,"pressed selected")
};
Page.resetButton=function(a){dojo.query("#"+a).removeClass("pressed")
};
Page.resetActionButton=function(){dojo.query("#actionMenu .pressed").removeClass("pressed")
};
Page.resultsPrevPageButtonHandler=function(a){a.pageIndex[Page.current.selectedContentPageId]=(a.pageIndex[a.selectedContentPageId]<1?0:a.pageIndex[a.selectedContentPageId]-1);
a.load()
};
Page.resultsNextPageButtonHandler=function(a){a.pageIndex[a.selectedContentPageId]=a.pageIndex[a.selectedContentPageId]+1;
a.load()
};
Page.updateMoreButtons=function(a){if(a.pageIndex[a.selectedContentPageId]==0){dojo.addClass(a.selectedContentPageId+"PrevPageButton","invisible")
}else{dojo.removeClass(a.selectedContentPageId+"PrevPageButton","invisible")
}if(a.channel[a.selectedContentPageId].length<a.pageSize){dojo.addClass(a.selectedContentPageId+"NextPageButton","invisible")
}else{dojo.removeClass(a.selectedContentPageId+"NextPageButton","invisible")
}dojo.byId(a.selectedContentPageId+"PageNumber").innerHTML=(a.pageIndex[a.selectedContentPageId]+1)
};
Page.hideSelectedContentPage=function(a){dojo.removeClass(a.selectedContentPageId,"selected");
dojo.addClass(a.selectedContentPageId+"Container","hidden")
};
Page.showSelectedContentPage=function(a){dojo.addClass(a.selectedContentPageId,"selected");
dojo.removeClass(a.selectedContentPageId+"Container","hidden")
};
Page.selectButtonHandler=function(a,b){Page.hideSelectedContentPage(a);
a.selectedContentPageId=b;
Page.showSelectedContentPage(a);
if(a.channel[a.selectedContentPageId].length==0){a.pageIndex[a.selectedContentPageId]=0;
a.load()
}else{if(new Date().getTime()>a.lastTS){a.update()
}}};
Page.setCacheTime=function(){return new Date().getTime()+30*60*1000
};
Page.forceUpdate=function(){for(var a in Pages){if(Pages[a].lastTS){Pages[a].lastTS=0
}}};
Page.refresh=function(){if(true){Page.current.refreshPage=true;
if(Page.current.pageName=="routesPage"){locationUpdateHandler("routeFrom",dojo.byId("routeFromHomeButtonContainer"))
}else{locationUpdateHandler("locObj",dojo.byId("locObjHomeButtonContainer"))
}}else{Page.current.update()
}};
MenuPage=new Page("menuPage");
MenuPage._init=function(){var a='<div class="halfMargin halfRightPadding"><div id="main_menubox" class="inlineFloatLeft menuBox fullWidth">';
a+='<div class="inlineFloatRight" id="mainHelpButton"><div class="commandButton"><div class="commandContainer"><img class="commandIcon" src="img/info_white.png"></div><a class="block fullSize" href="#" onclick="MenuPage.mainHelpButtonHandler();return false;"></a></div></div>';
a+='<div class="inlineFloatRight hidden" id="closeMainHelpButton"><div class="commandButton"><div class="commandContainer"><img class="commandIcon" src="img/ok_green.png"></div><a class="block fullSize" href="#" onclick="MenuPage.closeMainHelpButtonHandler();return false;"></a></div></div>';
a+='<div class="halfTopPadding halfBottomPadding halfLeftPadding menuBoxTitle">';
a+="<span>"+labels.main_menubox_title+'</span><div id="mainHelpText" class="menuHelpText hidden">'+labels.main_help_desc+"</div></div>";
a+=createSelectButton("frontPageButton",labels.contextPage_title,"ContextPage.show();","frontColor",null,"frontPageIcon",null);
a+=createSelectButton("nearestPageButton",labels.nearestPage_title,"MenuPage.nearestPageButtonHandler();","nearestColor",null,"nearestPageIcon",null);
a+=createSelectButton("collectionPageButton",labels.collectionsMenuPage_title,"CollectionsMenuPage.show();","collectionsColor",null,"collectionPageIcon",null);
a+='</div></div><div class="inlineClear"></div>';
a+='<div class="halfTopPadding halfMargin halfRightPadding">';
a+='<div id="traffic_menubox" class="inlineFloatLeft menuBox fullWidth">';
a+='<div class="inlineFloatRight" id="trafficHelpButton"><div class="commandButton"><div class="commandContainer"><img class="commandIcon" src="img/info_white.png"></div><a class="block fullSize" href="#" onclick="MenuPage.trafficHelpButtonHandler();return false;"></a></div></div>';
a+='<div class="inlineFloatRight hidden" id="closeTrafficHelpButton"><div class="commandButton"><div class="commandContainer"><img class="commandIcon" src="img/ok_green.png"></div><a class="block fullSize" href="#" onclick="MenuPage.closeTrafficHelpButtonHandler();return false;"></a></div></div>';
a+='<div class="halfTopPadding halfBottomPadding halfLeftPadding menuBoxTitle">';
a+="<span>"+labels.traffic_menubox_title+'</span><div id="trafficHelpText" class="menuHelpText hidden">'+labels.traffic_help_desc+"</div></div>";
a+=createSelectButton("routesPageButton",labels.routesPage_title,"RoutesPage.show();","routesColor",null,"routesPageIcon",null);
a+=createSelectButton("stopsPageButton",labels.stopsPage_title,"StopsPage.show();","routesColor",null,"stopsPageIcon",null);
a+='</div></div><div class="inlineClear"></div>';
a+='<div id="menuPageBottomSpot" class="topSpot"></div>';
a+=createBasicButton({id:"menuPageShare",sizestyle:"fullWidth borderedTop",padding:"singlePadding",bgcolor:"textColorBlue lightgray roundedButton",txtcolor:"textColorWhite ",icon:"img/poi_fb.png",label:labels.share_on_fb+"&nbsp;&raquo;",href:"http://touch.facebook.com/sharer.php?u="+encodeURIComponent("http://m.tassa.fi/")});
dojo.place(a,"announcement","after")
};
MenuPage._show=function(){window.adforeObj.lastPage=Page.current.pageName;
dojo.removeClass("headerLogo","hidden");
dojo.addClass("headerMenuLogo","hidden");
dojo.removeClass("loginButton","hidden");
dojo.removeClass("registerButton","hidden");
dojo.removeClass("headerButtonSeparator","hidden");
dojo.removeClass("footerButtons","hidden");
dojo.removeClass("legaleseButtons","hidden");
dojo.removeClass("footerRestartContainer","hidden");
dojo.byId("headerTitle").innerHTML="";
Page.pages=[];
if(window.adforeObj.adforeSession){console.log("currently logged IN");
dojo.removeClass("loginTexts","invisible");
dojo.addClass("registerButton","hidden");
dojo.addClass("loginButton","hidden");
dojo.removeClass("logoutButton","invisible");
if(window.adforeObj.name){dojo.byId("userName").innerHTML=window.adforeObj.name
}}else{console.log("currently logged OUT");
dojo.addClass("loginTexts","invisible");
dojo.removeClass("registerButton","hidden");
dojo.removeClass("loginButton","hidden");
dojo.addClass("logoutButton","invisible")
}};
MenuPage._hide=function(){dojo.addClass("headerLogo","hidden");
dojo.addClass("loginButton","hidden");
dojo.addClass("registerButton","hidden");
dojo.addClass("headerButtonSeparator","hidden");
dojo.addClass("footerButtons","hidden");
dojo.addClass("legaleseButtons","hidden");
dojo.addClass("footerRestartContainer","hidden");
dojo.removeClass("headerMenuLogo","hidden")
};
MenuPage.mainHelpButtonHandler=function(){dojo.addClass("mainHelpButton","hidden");
dojo.removeClass("mainHelpText","hidden");
dojo.removeClass("closeMainHelpButton","hidden")
};
MenuPage.closeMainHelpButtonHandler=function(){dojo.removeClass("mainHelpButton","hidden");
dojo.addClass("mainHelpText","hidden");
dojo.addClass("closeMainHelpButton","hidden")
};
MenuPage.trafficHelpButtonHandler=function(){dojo.addClass("trafficHelpButton","hidden");
dojo.removeClass("trafficHelpText","hidden");
dojo.removeClass("closeTrafficHelpButton","hidden")
};
MenuPage.closeTrafficHelpButtonHandler=function(){dojo.removeClass("trafficHelpButton","hidden");
dojo.addClass("trafficHelpText","hidden");
dojo.addClass("closeTrafficHelpButton","hidden")
};
MenuPage.collectionHelpButtonHandler=function(){dojo.addClass("collectionHelpButton","hidden");
dojo.removeClass("collectionHelpText","hidden");
dojo.removeClass("closeCollectionHelpButton","hidden")
};
MenuPage.closeCollectionHelpButtonHandler=function(){dojo.removeClass("collectionHelpButton","hidden");
dojo.addClass("collectionHelpText","hidden");
dojo.addClass("closeCollectionHelpButton","hidden")
};
MenuPage.helpButtonHandler=function(){console.log("MenuPage.helpButtonHandler")
};
MenuPage.settingsButtonHandler=function(){console.log("MenuPage.settingsButtonHandler")
};
MenuPage.termsofuseButtonHandler=function(){console.log("MenuPage.termsofuseButtonHandler");
menuPage()
};
MenuPage.nearestPageButtonHandler=function(){console.log("MenuPage.nearestPageButtonHandler");
NearestPage.show();
scrollTo(0,0)
};
MenuPage.feedbackButtonHandler=function(){console.log("MenuPage.feedbackButtonHandler");
FeedbackPage.show();
scrollTo(0,0)
};
MenuPage.settingsButtonHandler=function(){console.log("MenuPage.settingsButtonHandler")
};
MenuPage.closeAnnouncement=function(){dojo.addClass("announcement","hidden")
};
NearestPage=new Page("nearestPage",true);
NearestPage._init=function(){NearestPage.includeDistance=true;
NearestPage.items=[];
NearestPage.pageIndex={};
NearestPage.pageSize=10;
NearestPage.selectedContentPageId="nearestChannelButton";
NearestPage.channel={};
var c,a,b={pages:[{pageId:"nearestChannelButton",pageName:labels.categories,title:window.adforeObj.channelName,color:"#808080",channelColor:window.adforeObj.channelColor,icon:baseUrl+"/logos/icon_category.png",logo:window.adforeObj.channelIcon,onclick:"NearestPage.selectButtonHandler(this.parentNode);",handler:"NearestPage.resultPanelHeaderButtonHandler();scrollTo(0,0);"},{pageId:"nearestAdsButton",pageName:labels.adpois_menu,title:labels.adpois,color:"#FF9421",channelColor:"#808080",icon:baseUrl+"/logos/icon_acontent.png",logo:baseUrl+"/logos/icon_acontent.png",onclick:"NearestPage.selectButtonHandler(this.parentNode);"},{pageId:"nearestSearchButton",pageName:labels.keywordsearch,title:labels.search,color:"#28887F",icon:baseUrl+"/logos/search.png",logo:baseUrl+"/logos/search.png",onclick:"NearestPage.selectButtonHandler(this.parentNode, true);"}]};
for(c=0;
c<b.pages.length;
c++){a=b.pages[c].pageId;
NearestPage.channel[b.pages[c].pageId]=[];
dojo.place(createQuickButton(b.pages[c].pageId,b.pages[c].pageName,b.pages[c].onclick,null,b.pages[c].color,null,b.pages[c].icon,null),"nearestPageSelectButtonSeparator","before");
dojo.place(createResultPanel(b.pages[c].title,(b.pages[c].channelColor?b.pages[c].channelColor:b.pages[c].color),b.pages[c].logo,'<div id="'+a+'_results" ></div>'+createMapItem(a+"_map")+createResultMoreButtons(a),a+'Container" class="hidden',b.pages[c].handler?b.pages[c].handler:null),"nearestPageSelectButtonSeparator","after")
}dojo.place('<div id="nearestPageSearchFieldContainer" class="singleMargin hidden"><div id="textSearchFieldContainer" class="inlineFloatLeft fourfifthsWidth"><input id="textSearchField" class="addressFieldInput placeholder fullWidth" onkeypress="if(Common.isEnter(event)){NearestPage.findButtonHandler();blur(this)}" value="'+labels.searchField_placeholder+'" onfocus="Common.removePlaceholder(this);" /></div><div id="findButton" class="commandButton inlineFloatRight fifthWidth"><div class="commandContainer green center textColorWhite halfLeftMargin"><span class="commandLabel i18n">'+labels.do_search+'</span></div><div class="gradient halfSize"></div><a class="block fullSize" href="#" onclick="NearestPage.findButtonHandler();return false;"></a></div><div class="inlineClear"></div></div>',"nearestPageSelectButtonSeparator","after");
Page.showSelectedContentPage(NearestPage)
};
NearestPage.selectButtonHandler=function(b,a){if(!dojo.hasClass(b,"selected")){Common.addTrackedEvent("MContentShow;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+NearestPage.pageName+";"+b.id)
}else{return
}if(a){dojo.removeClass("nearestPageSearchFieldContainer","hidden")
}else{dojo.addClass("nearestPageSearchFieldContainer","hidden")
}Page.selectButtonHandler(NearestPage,b.id)
};
NearestPage._show=function(){window.adforeObj.lastPage=Page.current.pageName;
if(Page.pages.length>0){dojo.removeClass("headerBack","hidden")
}else{dojo.removeClass("headerMenu","hidden")
}dojo.removeClass("headerRefresh","hidden");
dojo.place("locObjAddressContainer","nearestPageTopSpot","after")
};
NearestPage._hide=function(){dojo.addClass("headerMenu","hidden");
dojo.addClass("headerBack","hidden");
dojo.addClass("headerRefresh","hidden")
};
NearestPage._load=function(){var e=getPos(),c,b,a="";
if(!e.latitude){console.log("NearestPage._load failed. No pos!",e);
alert("NearestPage._load failed, no pos!");
return
}NearestPage.channel[NearestPage.selectedContentPageId]=[];
dojo.byId(NearestPage.selectedContentPageId+"_results").innerHTML=createProgressItem();
dojo.byId(NearestPage.selectedContentPageId+"_map").src="img/button_overlay_1px.png";
if(NearestPage.selectedContentPageId=="nearestSearchButton"){var d=dojo.byId("textSearchField");
if(dojo.hasClass(d,"placeholder")){dojo.byId(NearestPage.selectedContentPageId+"_results").innerHTML="";
dojo.byId(NearestPage.selectedContentPageId+"_map").src="img/button_overlay_1px.png";
return
}c=baseUrl+"/resources/pois/msearch?k="+encodeURIComponent(d.value)+"&lat="+e.latitude+"&lon="+e.longitude+"&page="+NearestPage.pageIndex[NearestPage.selectedContentPageId]+"&size="+NearestPage.pageSize;
c+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:c,handleAs:"json",load:function(g,f){NearestPage.render(g);
return g
},failOk:true})
}else{if(NearestPage.selectedContentPageId=="nearestAdsButton"){c=baseUrl+"/resources/pois/nearestads?lat="+e.latitude+"&lon="+e.longitude+"&page="+NearestPage.pageIndex[NearestPage.selectedContentPageId]+"&size="+NearestPage.pageSize+"&f=nokia"+a;
c+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrs.push(dojo.xhrGet({url:c,handleAs:"json",load:function(g,f){NearestPage.render(g);
return g
},failOk:true}))
}else{if(window.adforeObj.channelId=="list_bookmarks"){loadBookmarks(NearestPage.render,NearestPage)
}else{if(Common.isChildOf("srch_events",window.adforeObj.channelId)){if(Common.getEventLoadingMode()==2){a="&ts="+new Date().getTime()+"&m="+Common.getEventLoadingMode()
}}c=baseUrl+"/resources/pois/nearest?lat="+e.latitude+"&lon="+e.longitude+"&page="+NearestPage.pageIndex[NearestPage.selectedContentPageId]+"&size="+NearestPage.pageSize+"&f=nokia"+a;
if(window.adforeObj.channelId!="find_all"){c+="&channel="+window.adforeObj.channelId
}c+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrs.push(dojo.xhrGet({url:c,handleAs:"json",load:function(g,f){NearestPage.render(g);
return g
},failOk:true}))
}}}};
NearestPage._update=function(){if(window.adforeObj.channelId=="list_bookmarks"){NearestPage.channel[NearestPage.selectedContentPageId]=[];
NearestPage.render({items:bookmarks})
}else{NearestPage.render({items:NearestPage.channel[NearestPage.selectedContentPageId].splice(0,NearestPage.channel[NearestPage.selectedContentPageId].length)})
}};
NearestPage._positionChange=function(){for(contentPage in NearestPage.channel){NearestPage.channel[contentPage]=[];
NearestPage.pageIndex[contentPage]=0
}NearestPage.load()
};
NearestPage._render=function(a){renderResultItems(a,{args:{includeFav:true,lat:window.adforeObj.locObj.lat,lon:window.adforeObj.locObj.lon,containerId:NearestPage.selectedContentPageId+"_results",mapContainerId:NearestPage.selectedContentPageId+"_map",channel:NearestPage.channel[NearestPage.selectedContentPageId]}});
Page.updateMoreButtons(NearestPage)
};
NearestPage.resultPanelHeaderButtonHandler=function(){ChannelsPage.show()
};
NearestPage.channelsPageListener=function(a){if(window.adforeObj.channelId!=a.channelId){window.adforeObj.channelId=a.channelId;
window.adforeObj.channelName=a.channelName;
window.adforeObj.channelColor=a.color;
window.adforeObj.channelIcon=a.icon;
NearestPage.channel[NearestPage.selectedContentPageId]=[];
NearestPage.pageIndex[NearestPage.selectedContentPageId]=0;
updateResultPanel(NearestPage.selectedContentPageId+"Container",window.adforeObj.channelName,window.adforeObj.channelColor,window.adforeObj.channelIcon);
NearestPage.load()
}};
NearestPage.findButtonHandler=function(){NearestPage.load()
};
NearestPage.loadNokia=function(a){dojo.byId("nearestNokiaSearch_results").innerHTML=createProgressItem();
dojo.byId("nearestNokiaSearch_map").src="img/button_overlay_1px.png";
Common.nokiaPlaceSearch({latitude:window.adforeObj.locObj.lat,longitude:window.adforeObj.locObj.lon},null,null,a,NearestPage.nokiaCallback,0,11)
};
NearestPage.nokiaCallback=function(b,a){console.log(b);
if(b&&b.results){var c=new Object();
Common.parseNokiaResults(b,c,true);
renderResultItems(c,{args:{lat:window.adforeObj.locObj.lat,lon:window.adforeObj.locObj.lon,containerId:"nearestNokiaSearch_results",mapContainerId:"nearestNokiaSearch_map",channel:NearestPage.channel[NearestPage.selectedContentPageId]}})
}};
ChannelsPage=new Page("channelsPage",false);
ChannelsPage._init=function(){ChannelsPage.load();
ChannelsPage.updateEventDateSelector()
};
ChannelsPage._show=function(){dojo.removeClass("headerBack","hidden");
if(!ChannelsPage.loadingChannels){if(window.adforeObj.channelId){ChannelsPage.setSelectedChannel(window.adforeObj.channelId)
}ChannelsPage.hideWeatherChannel()
}else{ChannelsPage.selectedChannel=window.adforeObj.channelId
}};
ChannelsPage._hide=function(){dojo.addClass("headerBack","hidden")
};
ChannelsPage._load=function(){ChannelsPage.loadingChannels=true;
console.log("ChannelsPage._load");
window.channels=Common.createChannels();
var a=baseUrl+"/resources/channels";
a+="?u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:a,handleAs:"json",load:function(c,b){ChannelsPage.render(c,b);
return c
},failOk:true});
dojo.byId("channel_list").innerHTML="";
dojo.byId("channel_srch").innerHTML="";
dojo.byId("channel_weather").innerHTML=""
};
ChannelsPage._update=function(){ChannelsPage.load()
};
ChannelsPage._render=function(b,a){ChannelsPage.loadingChannels=false;
console.log("ChannelsPage._render");
channels.find_all.channelName=labels.channels_find_all;
ChannelsPage.addChannel("weather","weather",labels.weather,null,"#595959");
ChannelsPage.addChannel("srch",channels.find_all.channelId,channels.find_all.channelName,null,"#808080");
ChannelsPage.addChannel(channels.list_bookmarks.channelId.substring(0,channels.list_bookmarks.channelId.indexOf("_")),channels.list_bookmarks.channelId,channels.list_bookmarks.channelName,baseUrl+"/logos/category_favs.png","#267A7E");
Common.parseChannels(b,ChannelsPage.addChannel);
setEventLoadingMode(1);
ChannelsPage.updateEventDateSelector();
if(ChannelsPage.selectedChannel){ChannelsPage.setSelectedChannel(ChannelsPage.selectedChannel)
}};
ChannelsPage.setSelectedChannel=function(a){dojo.query(".selectedchannel").removeClass("selectedchannel");
dojo.query(".channel_"+a+(a.indexOf("_",a.indexOf("_")+1)==-1?".parent":"")).addClass("selectedchannel");
ChannelsPage.selectedChannel=a
};
ChannelsPage.selectChannelHandler=function(b){var a=Page.pages.pop();
if(a.channelsPageListener){a.channelsPageListener(b)
}a.show(true)
};
ChannelsPage.showWeatherChannel=function(){dojo.removeClass("channel_weather","hidden")
};
ChannelsPage.hideWeatherChannel=function(){var a=dojo.byId("channel_weather");
if(a){dojo.addClass(a,"hidden")
}};
ChannelsPage.addChannel=function(e,g,b,d,a){var f=g,c;
if(Common.isChildOf("collections",f)){f="collections"
}if(!d){d=baseUrl+"/logos/"+f+".png"
}if(!a){a="#808080"
}c="{'channelId' : '"+g+"', 'channelName' : '"+b+"', 'color' : '"+a+"', 'icon' : '"+d+"'}";
if(g.indexOf("_",g.indexOf("_")+1)==-1){dojo.place('<div style="background:'+a+'"><a class="block channel channel_'+g+' parent" href="#" onclick="ChannelsPage.selectChannelHandler('+c+');return false;" style="color:white;"><img src="'+d+'" width="24px" border="0" class="valignMiddle halfRightPadding"/>'+b+"</a></div>","channel_"+e,"last")
}else{dojo.place('<div style="background:'+a+'"><a class="block channel channel_'+g.substring(0,g.indexOf("_",g.indexOf("_")+1))+" subchannel channel_"+g+'" href="#" onclick="ChannelsPage.selectChannelHandler('+c+');return false;" style="color:white;"><img src="'+d+'" width="24px" border="0" class="valignMiddle halfRightPadding"/>'+b+"</a></div>","channel_"+e,"last")
}};
ChannelsPage.updateEventDateSelector=function(){globalDate=new Date()
};
InfoscreenPage=new Page("infoscreen",true);
InfoscreenPage._init=function(){this.targetDiv="infoscreen";
this.targetPOIid=Common.getUrlParam("id");
if(this.targetPOIid){InfoscreenPage.load()
}this.removeBookmarkId="infoscreenRemoveBookmark";
dojo.place(createBasicButton({id:InfoscreenPage.removeBookmarkId,sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"footerBgColor",txtcolor:"footerTextColor ",disabled:true,nogradient:true,icon:"img/x.png",iconheight:"16px",icondisabled:"img/x_disabled.png",label:"&nbsp;"+labels.remove_favorite,handler:""})+createBasicButton({id:"infoscreenToPageTop",sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder",bgcolor:"footerBgColor",txtcolor:"footerTextColor ",nogradient:true,label:"&nbsp;"+labels.to_page_top,handler:"scrollTo(0,0);"})+'<div class="inlineClear singleBottomPadding"></div>',"infoscreenFooterButtons")
};
InfoscreenPage._show=function(){if(Page.pages.length>0){dojo.removeClass("headerBack","hidden")
}else{dojo.removeClass("headerMenu","hidden")
}dojo.removeClass("headerRefresh","hidden");
dojo.removeClass("infoscreenFooterButtons","hidden");
dojo.addClass("footerTextsContainer","hidden")
};
InfoscreenPage._hide=function(){dojo.addClass("headerBack","hidden");
dojo.addClass("headerMenu","hidden");
dojo.addClass("headerRefresh","hidden");
dojo.addClass("infoscreenFooterButtons","hidden");
dojo.removeClass("footerTextsContainer","hidden")
};
InfoscreenPage._load=function(){Common.loadTargetPOI(function(a){if(a.item){if(window.adforeObj&&window.adforeObj.locObj&&window.adforeObj.locObj.lat){a.item.distance=Common.distanceBetween(window.adforeObj.locObj.lat,window.adforeObj.locObj.lon,a.item)
}InfoscreenPage._render(a.item)
}})
};
InfoscreenPage._positionChange=function(){InfoscreenPage.update()
};
InfoscreenPage._update=function(){if(InfoscreenPage.item){InfoscreenPage.render(InfoscreenPage.item)
}};
InfoscreenPage.clear=function(){dojo.byId("infoscreen").innerHTML=createProgressItem()
};
InfoscreenPage._render=function(a){dojo.byId(InfoscreenPage.pageName).innerHTML=renderInfoscreen(a);
InfoscreenPage.item=a;
if(a.bookmarked){setupRemoveButtonHandler(InfoscreenPage.removeBookmarkId,a)
}Common.addTrackedEvent("MShowInfoscreen;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+a.id);
if(a.placesId){Common.loadOviPlace(a,InfoscreenPage._render)
}return
};
InfoscreenPage.infoscreenShareButtonHandler=function(b){var c=dojo.query(".listPanel",b).toggleClass("hidden");
var a=dojo.byId("globalModalPane");
a.popup=c[0];
dojo.removeClass(a,"hidden");
a.onclick=modalPaneOnclick
};
function standardModalPaneHandler(a){dojo.addClass(a,"hidden");
dojo.query(".listPanel",a.parentNode).addClass("hidden")
}function standardListPaneHandler(a){dojo.addClass(a,"hidden");
dojo.addClass("globalModalPane","hidden")
}StopsPage=new Page("stopsPage",true);
StopsPage._init=function(){StopsPage.includeDistance=true;
StopsPage.items=[];
StopsPage.pageIndex={};
StopsPage.pageSize=10;
StopsPage.selectedContentPageId="stopsSelect_stops";
StopsPage.channel={};
StopsPage.channelId="srch_publics_stops";
var c,a,b={pages:[{pageId:"stopsSelect_stops",pageName:labels.stops_nearby,color:"#376092",icon:baseUrl+"/logos/category_public_stops.png",onclick:"StopsPage.selectButtonHandler('stopsSelect_stops','srch_publics_stops');"},{pageId:"stopsSelect_fav",pageName:labels.stops_fav,color:"#28887F",icon:baseUrl+"/logos/category_favs.png",onclick:"StopsPage.selectButtonHandler('stopsSelect_fav','list_bookmarks');"}]};
for(c=0;
c<b.pages.length;
c++){a=b.pages[c].pageId;
StopsPage.channel[b.pages[c].pageId]=[];
dojo.place(createQuickButton(b.pages[c].pageId,b.pages[c].pageName,b.pages[c].onclick,null,b.pages[c].color,null,b.pages[c].icon,null),"stopsPageSelectButtonSeparator","before");
dojo.place(createResultPanel(b.pages[c].pageName,b.pages[c].color,b.pages[c].icon,'<div id="'+a+'_results" ></div>'+createMapItem(a+"_map")+createResultMoreButtons(a),a+'Container" class="hidden'),"stopsPageSelectButtonSeparator","after")
}Page.showSelectedContentPage(StopsPage)
};
StopsPage.selectButtonHandler=function(a,b){if(b!=StopsPage.channelId){Common.addTrackedEvent("MContentShow;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+StopsPage.pageName+";"+a)
}StopsPage.lastTS=0;
StopsPage.channelId=b;
Page.selectButtonHandler(StopsPage,a)
};
StopsPage._show=function(){window.adforeObj.lastPage=Page.current.pageName;
if(Page.pages.length>0){dojo.removeClass("headerBack","hidden")
}else{dojo.removeClass("headerMenu","hidden")
}dojo.removeClass("headerRefresh","hidden");
dojo.place("locObjAddressContainer","stopsPageTopSpot","after")
};
StopsPage._hide=function(){dojo.addClass("headerMenu","hidden");
dojo.addClass("headerBack","hidden");
dojo.addClass("headerRefresh","hidden")
};
StopsPage._load=function(){var e=getPos(),c=e.latitude,d=e.longitude,b,a="";
if(!e.latitude){console.log("StopsPage._load failed. No pos!",e);
alert("StopsPage._load failed, no pos!");
return
}if(StopsPage.channelId=="list_bookmarks"){loadBookmarks(StopsPage.render,StopsPage)
}else{StopsPage.channel[StopsPage.selectedContentPageId]=[];
dojo.byId(StopsPage.selectedContentPageId+"_results").innerHTML=createProgressItem();
dojo.byId(StopsPage.selectedContentPageId+"_map").src="img/button_overlay_1px.png";
b=baseUrl+"/resources/pois/nearest?lat="+c+"&lon="+d+"&page="+StopsPage.pageIndex[StopsPage.selectedContentPageId]+"&size="+StopsPage.pageSize+"&f=nokia"+a;
b+="&channel="+StopsPage.channelId;
b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrs.push(dojo.xhrGet({url:b,handleAs:"json",load:function(g,f){StopsPage.render(g);
return g
},failOk:true}))
}};
StopsPage._update=function(){if(StopsPage.channelId=="list_bookmarks"){StopsPage.channel[StopsPage.selectedContentPageId]=[];
StopsPage.render({items:bookmarks})
}else{StopsPage.render({items:StopsPage.channel[StopsPage.selectedContentPageId].splice(0,StopsPage.channel[StopsPage.selectedContentPageId].length)})
}};
StopsPage._positionChange=function(){for(contentPage in StopsPage.channel){StopsPage.channel[contentPage]=[];
StopsPage.pageIndex[contentPage]=0
}StopsPage.load()
};
StopsPage._render=function(c){var b={items:[]};
for(var a=0;
a<c.items.length;
a++){for(channel in c.items[a].channels){if(c.items[a].channels[channel]=="srch_publics_stops"){b.items.push(c.items[a]);
break
}}}renderResultItems(b,{args:{includeFav:true,lat:window.adforeObj.locObj.lat,lon:window.adforeObj.locObj.lon,containerId:StopsPage.selectedContentPageId+"_results",mapContainerId:StopsPage.selectedContentPageId+"_map",channel:StopsPage.channel[StopsPage.selectedContentPageId]}});
Page.updateMoreButtons(StopsPage)
};
FeedbackPage=new Page("feedbackPage");
FeedbackPage._init=function(){dojo.place(createBasicButton({id:"feedbackeResponseButton",padding:"singleTopMargin halfSideMargin singleBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"buttonGreen",txtcolor:"textColorWhite ",label:"&nbsp;"+labels.send_feedback,handler:"FeedbackPage.sendFeedback();"}),"feedbackSending","before")
};
FeedbackPage._show=function(){dojo.removeClass("headerMenu","hidden")
};
FeedbackPage._hide=function(){dojo.addClass("headerMenu","hidden")
};
FeedbackPage.sendFeedback=function(){dojo.addClass("feedbackResponse","hidden");
dojo.addClass("feedbackError","hidden");
dojo.removeClass("feedbackSending","hidden");
var a=baseUrl+"/feedback/form",b="Mobi-feedback sent from browser:"+window.navigator.userAgent+" Optional email:";
dojo.xhrPost({url:a,postData:encodeURIComponent(b+dojo.byId("feedbackEmail").value+" Feedback:"+dojo.byId("feedbackInputBox").value),handleAs:"text",load:function(c){dojo.addClass("feedbackSending","hidden");
dojo.removeClass("feedbackResponse","hidden");
dojo.byId("feedbackInputBox").value="";
dojo.byId("feedbackEmail").value="";
setTimeout("FeedbackPage.resetFeedbackResponse();",10000)
},error:function(c){dojo.byId("feedbackErrorMailto").href="mailto:palaute@tassa.fi?subject=Palaute Tässä.fi-mobiilipalvelusta&body="+encodeURIComponent(dojo.byId("feedbackInputBox").value+b+dojo.byId("feedbackEmail").value);
dojo.addClass("feedbackSending","hidden");
dojo.removeClass("feedbackError","hidden")
}})
};
FeedbackPage.resetFeedbackResponse=function(){dojo.addClass("feedbackResponse","hidden")
};
HelpPage=new Page("helpPage");
HelpPage._init=function(){};
HelpPage._show=function(){dojo.removeClass("headerMenu","hidden");
if(HelpPage.lang!=window.adforeObj.lang){HelpPage.load();
HelpPage.lang=window.adforeObj.lang
}};
HelpPage._hide=function(){dojo.addClass("headerMenu","hidden")
};
HelpPage._render=function(b,a){dojo.byId("helpPage").innerHTML=b;
return b
};
HelpPage._load=function(){var a=baseUrl+"/ehdot/"+window.adforeObj.lang+"_guide.html";
dojo.xhrGet({url:a,handleAs:"text",load:function(c,b){HelpPage.render(c,b);
return c
},failOk:true})
};
SettingsPage=new Page("settingsPage");
SettingsPage._init=function(){};
SettingsPage._show=function(){dojo.removeClass("headerMenu","hidden")
};
SettingsPage._hide=function(){dojo.addClass("headerMenu","hidden")
};
RegistrationPage=new Page("registrationPage");
RegistrationPage._show=function(){storeAdforeObj(true);
dojo.removeClass("headerMenu","hidden");
var a="registration.html?lang="+window.adforeObj.lang;
if(!window.availableLocally){a="https://"+pathUrl+"/"+a
}dojo.byId("registrationPageIFrame").src=a
};
RegistrationPage._hide=function(){dojo.addClass("headerMenu","hidden")
};
LoginPage=new Page("loginPage");
LoginPage._show=function(){dojo.removeClass("headerMenu","hidden");
var a="login.html?lang="+window.adforeObj.lang;
if(!window.availableLocally){a="https://"+pathUrl+"/"+a
}dojo.byId("loginPageIFrame").src=a
};
LoginPage._hide=function(){dojo.addClass("headerMenu","hidden")
};
ForgottenPage=new Page("forgottenPage");
ForgottenPage._init=function(){};
ForgottenPage._show=function(){dojo.removeClass("headerMenu","hidden")
};
ForgottenPage._hide=function(){dojo.addClass("headerMenu","hidden")
};
LegalesePage=new Page("legalesePage");
LegalesePage._init=function(){};
LegalesePage._show=function(){if(Page.pages.length>0){dojo.removeClass("headerBack","hidden")
}else{dojo.removeClass("headerMenu","hidden")
}if(LegalesePage.lang!=window.adforeObj.lang){LegalesePage.load();
LegalesePage.lang=window.adforeObj.lang
}};
LegalesePage._load=function(){var a=baseUrl+"/ehdot/"+window.adforeObj.lang+"_termsofuse.html";
dojo.xhrGet({url:a,handleAs:"text",load:function(c,b){LegalesePage.render(c,b);
return c
},failOk:true})
};
LegalesePage._render=function(b,a){dojo.byId("legalesePage").innerHTML=b;
return b
};
LegalesePage._hide=function(){dojo.addClass("headerBack","hidden");
dojo.addClass("headerMenu","hidden")
};
RoutesPage=new Page("routesPage");
RoutesPage._init=function(){RoutesPage.provider=HELSINKI;
RoutesPage.routeType="car";
RoutesPage.geoCallbacks={};
RoutesPage.date=new Date();
RoutesPage.otherDateShown=false;
RoutesPage.departure=true;
RoutesPage.now=true;
RoutesPage.timePanelOpen=false;
RoutesPage.routes=[];
RoutesPage.timer=false;
RoutesPage.timedDate=new Date();
RoutesPage.selectedSavedRoute=-1;
RoutesPage.updateRouteDateTime();
RoutesPage.updateTimeDropdownLabel();
RoutesPage.providers=[{name:HELSINKI,lat:60.17,lon:24.931,label:labels.route_HSL},{name:TAMPERE,lat:61.5,lon:23.75,label:labels.route_TKL}];
var e=[],c,d,b,a,g,f;
e.push({id:"route_option_1",name:labels.route_HSL,onclick:"updateDropdownButtonLabel(this, '"+labels.route_HSL+"');RoutesPage.providerHandler(HELSINKI);"},{id:"route_option_3",name:labels.route_TKL,onclick:"updateDropdownButtonLabel(this, '"+labels.route_TKL+"');RoutesPage.providerHandler(TAMPERE);"});
a=labels.route_HSL;
if(window.adforeObj.routeProvider==TAMPERE){a=labels.route_TKL;
RoutesPage.provider=TAMPERE
}else{if(window.adforeObj.routeProvider==OULU){a=labels.route_OULU;
RoutesPage.provider=OULU
}}dojo.byId("routingProvidersContainer").innerHTML=createSecondaryDropdownButton(a,e);
RoutesPage.setupSavedRoutes();
e=[];
c=new Date();
a=labels.today+": "+Common.getWeekdayLabel(c,true,true)+c.getDate()+"."+(c.getMonth()+1)+".";
for(d=0;
d<7;
d++){if(d==0){b=a
}else{b=Common.getWeekdayLabel(c,true,true)+c.getDate()+"."+(c.getMonth()+1)+"."
}e.push({id:(d==0?"routeTimeToday":false),name:b,onclick:"updateDropdownButtonLabel(this, '"+b+"');RoutesPage.otherDateToggle(false);RoutesPage.setSelectedDate("+c.getTime()+");RoutesPage.timeChangedHandler();"});
c.setDate(c.getDate()+1)
}e.push({name:labels.otherDate,onclick:"updateDropdownButtonLabel(this, '"+labels.otherDate+"');RoutesPage.otherDateToggle(true);RoutesPage.timeChangedHandler();"});
dojo.byId("routeDateSelect").innerHTML='<div class="singleMargin darkgray">'+createDropdownButton(a,e)+"</div>";
if(window.adforeObj.routeType){RoutesPage.setRouteType(window.adforeObj.routeType)
}createAddressContainer("routeFrom",null,"RoutesPage.addressFieldHandler");
createAddressContainer("routeTo",null,"RoutesPage.addressFieldHandler","if(Common.isEnter(event)){this.blur();RoutesPage.submitRoute();}");
f="<br />";
f+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"buttonGreen",txtcolor:"textColorWhite ",label:labels.save_location,handler:"RoutesPage.saveRouteHandler();"});
f+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder",bgcolor:"buttonRed",txtcolor:"textColorWhite ",label:labels.cancel_location,handler:"dojo.removeClass('routeSaveRouteButtonContainer', 'hidden');dojo.addClass('routeSaveRouteFormContainer', 'hidden');"});
dojo.place(f,"routeSaveRouteName","after");
dojo.byId("resultsRouteProgress").innerHTML=createProgressItem(null,labels.searching_route)
};
RoutesPage._show=function(){window.adforeObj.lastPage=Page.current.pageName;
if(Page.pages.length&&Page.pages[Page.pages.length-1].pageName=="infoscreen"){dojo.removeClass("headerBack","hidden")
}else{dojo.removeClass("headerMenu","hidden")
}dojo.removeClass("headerRefresh","hidden");
if(!RoutesPage.isOviRoutingAvailable()&&RoutesPage.routeType!="bus"){dojo.removeClass("oviNotAvailableErrorContainer","hidden")
}else{dojo.addClass("oviNotAvailableErrorContainer","hidden")
}RoutesPage.checkRoutingProvider()
};
RoutesPage._hide=function(){dojo.addClass("headerMenu","hidden");
dojo.addClass("headerBack","hidden");
dojo.addClass("headerRefresh","hidden")
};
RoutesPage.update=function(){if(RoutesPage.getRouteDateTime()<(new Date().getTime())){RoutesPage.updateRouteDateTime()
}};
RoutesPage._positionChange=function(a,b){if(b){window.adforeObj[b]=a;
dojo.addClass("routeSaveRouteButtonContainer","hidden");
dojo.addClass("routeSaveRouteFormContainer","hidden");
dojo.addClass("routeSavedRouteTitleContainer","hidden");
if(b=="routeTo"&&RoutesPage.toItem&&(RoutesPage.toItem.marker.latitude!=a.lat||RoutesPage.toItem.marker.longitude!=a.lon)){RoutesPage.toItem=null
}if(RoutesPage.refreshPage&&dojo.byId("routeToAddressFieldContent").value){RoutesPage.nowButtonHandler(true);
RoutesPage.submitRoute()
}}};
RoutesPage.getRouteDateTime=function(){if(RoutesPage.now){RoutesPage.updateRouteDateTime();
return RoutesPage.date.getTime()
}var a=dojo.byId("routeHour").value,e=dojo.byId("routeMinute").value,d,b,c;
if(RoutesPage.otherDateShown){d=dojo.byId("routeDay").value;
b=dojo.byId("routeMonth").value;
c=dojo.byId("routeYear").value;
if(isFinite(d)&&isFinite(b)&&isFinite(c)){RoutesPage.date.setFullYear(c,b-1,d)
}}if(isFinite(a)&&isFinite(e)){RoutesPage.date.setHours(a,e)
}return RoutesPage.date.getTime()
};
RoutesPage.submitRoute=function(){console.log("submitRoute");
var b=dojo.byId("routeFromAddressFieldContent").value,c=dojo.byId("routeToAddressFieldContent").value,e,d;
dojo.addClass("routeToAddressErrorNoAddress","hidden");
dojo.addClass("routeToAddressErrorCheckAddress","hidden");
dojo.addClass("routeFromAddressErrorNoAddress","hidden");
dojo.addClass("routeFromAddressErrorCheckAddress","hidden");
var a=false;
if(b==""){dojo.removeClass("routeFromAddressErrorNoAddress","hidden");
a=true
}if(c==""){dojo.removeClass("routeToAddressErrorNoAddress","hidden");
a=true
}if(a){return
}RoutesPage.updateRouteHeader(b,c);
if(window.adforeObj.routeFrom&&window.adforeObj.routeFrom.lat){e={latitude:window.adforeObj.routeFrom.lat,longitude:window.adforeObj.routeFrom.lon}
}else{e=b
}if(window.adforeObj.routeTo&&window.adforeObj.routeTo.lat){d={latitude:window.adforeObj.routeTo.lat,longitude:window.adforeObj.routeTo.lon}
}else{d=c
}RoutesPage.clearRoute();
dojo.removeClass("resultsRouteProgress","hidden");
RoutesPage.checkRoutingProvider();
RoutesPage.getRoute(e,d,RoutesPage.updateTimeDropdownLabel(),!RoutesPage.departure);
console.log("submitRoute done")
};
RoutesPage.geoCodeAndRoute=function(f,e,d,a){try{var b=0;
while(true){if(RoutesPage.geoCallbacks[b]){b++
}else{break
}}RoutesPage.geoCallbacks[b]=function(h){var i=geocodeParser(h);
if(i.length>0){if(!f.latitude){f=new Object();
f.latitude=i[0].lat;
f.longitude=i[0].lon;
if(i.length>1){RoutesPage.createChoices(i,true)
}addLocObjToLatest(i[0]);
RoutesPage.setField(true,i[0].addr,i[0].lat,i[0].lon,i[0].pc,i[0].city);
if(!e.latitude){var g=0;
while(true){if(RoutesPage.geoCallbacks[g]){g++
}else{break
}}RoutesPage.geoCallbacks[g]=function(j){var k=geocodeParser(j);
if(k.length>0){e=new Object();
e.latitude=k[0].lat;
e.longitude=k[0].lon;
if(k.length>1){RoutesPage.createChoices(k,false)
}addLocObjToLatest(k[0]);
RoutesPage.setField(false,k[0].addr,k[0].lat,k[0].lon,k[0].pc,k[0].city);
RoutesPage.getRoute(f,e,d,a)
}else{dojo.removeClass("routeToAddressErrorCheckAddress","hidden")
}delete RoutesPage.geoCallbacks[g]
};
Common.geocodeCall(e,"RoutesPage.geoCallbacks["+g+"]")
}else{RoutesPage.getRoute(f,e,d,a)
}}else{e=new Object();
e.latitude=i[0].lat;
e.longitude=i[0].lon;
if(i.length>1){RoutesPage.createChoices(i,false)
}addLocObjToLatest(i[0]);
RoutesPage.setField(false,i[0].addr,i[0].lat,i[0].lon,i[0].pc,i[0].city);
RoutesPage.getRoute(f,e,d,a)
}}else{if(!f.latitude){dojo.removeClass("routeFromAddressErrorCheckAddress","hidden")
}else{dojo.removeClass("routeToAddressErrorCheckAddress","hidden")
}}delete RoutesPage.geoCallbacks[b]
};
if(!f.latitude){Common.geocodeCall(f,"RoutesPage.geoCallbacks["+b+"]")
}else{Common.geocodeCall(e,"RoutesPage.geoCallbacks["+b+"]")
}}catch(c){console.log("error",c)
}};
RoutesPage.createChoices=function(c,e){var b=new Array(),d=dojo.byId((e?"routeFromChoice":"routeToChoice"));
for(var a=0;
a<c.length;
a++){b.push({name:c[a].fullAddr,onclick:"RoutesPage.setField("+e+", '"+c[a].addr+"', '"+c[a].lat+"', '"+c[a].lon+"', "+(c[a].pc?"'"+c[a].pc+"', ":"null, ")+(c[a].city?"'"+c[a].city+"'":"null")+");dojo.addClass('"+(e?"routeFromChoice":"routeToChoice")+"', 'hidden');"+(a>0?" RoutesPage.submitRoute();":"dojo.removeClass('routeSaveRouteButtonContainer', 'hidden');")})
}d.innerHTML=createSecondaryDropdownButton((e?labels.multiple_found:labels.multiple_to_found),b);
dojo.removeClass(d,"hidden")
};
RoutesPage.setField=function(g,f,c,e,b,d){var a={lat:c,lon:e,addr:f};
if(b){a.pc=b
}if(d){a.city=d
}Page.updateAddress((g?"routeFrom":"routeTo"),a)
};
RoutesPage.getRoute=function(j,k,e,h){console.log("RoutesPage.getRoute",j,k,e,h);
var b=baseUrl+"/resources/route/ytv?from",g,d,c=false;
if(j){if(j.latitude){b+="Lat="+j.latitude+"&fromLon="+j.longitude
}else{if(RoutesPage.routeType!="bus"||RoutesPage.provider==OULU){c=true
}else{b+="="+encodeURIComponent(j)
}}g=j
}else{var i,a;
if(window.adforeObj.lastCity){i=window.adforeObj.lastLatitude;
a=window.adforeObj.lastLongitude
}else{dojo.addClass("updateLocationRoutesButton","pressed");
startLocationUpdate();
return
}b+="Lat="+i+"&fromLon="+a;
g={latitude:i,longitude:a}
}b+="&to";
if(k&&k.latitude){b+="Lat="+k.latitude+"&toLon="+k.longitude
}else{if(RoutesPage.routeType!="bus"||RoutesPage.provider==OULU){c=true
}else{b+="="+encodeURIComponent(k)
}}d=k;
if(c){RoutesPage.geoCodeAndRoute(g,d,e,h);
return
}if(RoutesPage.routeType!="bus"){Common.addTrackedEvent("MRoute;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+RoutesPage.routeType);
try{Common.getNokiaRoute(RoutesPage.onRouteCalculated,g,d,(RoutesPage.routeType=="walk"))
}catch(f){RoutesPage.onRouteCalculated(null,null,"failed");
if(!RoutesPage.isOviRoutingAvailable()){dojo.removeClass("oviNotAvailableErrorContainer","hidden")
}}return
}b+="&date="+e+"&c="+RoutesPage.provider;
if(h){b+="&arr=1";
window.arrMode=true
}else{window.arrMode=false
}b+="&l="+djConfig.locale;
b=b.replace(",","");
b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:b,handleAs:"json",load:function(m,l){RoutesPage.parseRoute(m,j,k);
return m
},failOk:true});
RoutesPage.loadOtherExceptions();
console.log("RoutesPage.getRoute done")
};
RoutesPage.loadOtherExceptions=function(){var a=baseUrl+"/resources/route/exceptions?c="+RoutesPage.provider+"&l="+djConfig.locale;
if(RoutesPage.exXhr){RoutesPage.exXhr.cancel()
}a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
RoutesPage.exXhr=dojo.xhrGet({url:a,handleAs:"json",load:function(c,b){RoutesPage.exXhr=null;
RoutesPage.parseOtherExceptions(c);
return c
},error:function(){dojo.addClass("otherRouteExceptions","hidden")
},failOk:true})
};
RoutesPage.parseOtherExceptions=function(d){if(d.exceptions){var b='<span class="bold">'+labels.exception_info+"</span>:";
for(var a=0;
a<d.exceptions.length;
a++){b+=d.exceptions[a]+"<br>"
}var c=dojo.byId("otherRouteExceptions");
c.innerHTML=b;
dojo.removeClass(c,"hidden")
}};
RoutesPage.parseRoute=function(b){console.log("RoutesPage.parseRoute",b);
if(b.from){dojo.removeClass("routeFromAddressErrorCheckAddress","hidden")
}if(b.to){dojo.removeClass("routeToAddressErrorCheckAddress","hidden")
}if(b.routes&&b.routes.length>0){var c,d,a;
if(b.geoLocsFrom&&!window.adforeObj.routeFrom){d=b.geoLocsFrom[0].name;
c={addr:b.geoLocsFrom[0].name+(b.geoLocsFrom[0].number?" "+b.geoLocsFrom[0].number:"")+" "+b.geoLocsFrom[0].city,lat:b.geoLocsFrom[0].location.latitude,lon:b.geoLocsFrom[0].location.longitude,pc:b.geoLocsFrom[0].pc,city:b.geoLocsFrom[0].city};
RoutesPage.setField(true,c.addr,c.lat,c.lon,c.pc,c.city);
addLocObjToLatest(c);
if(b.geoLocsFrom.length>1){RoutesPage.createChoices(RoutesPage.geoLocsToLocObj(b.geoLocsFrom),true)
}}if(b.geoLocsTo&&!window.adforeObj.routeTo){a=b.geoLocsTo[0].name;
c={addr:b.geoLocsTo[0].name+(b.geoLocsTo[0].number?" "+b.geoLocsTo[0].number:"")+" "+b.geoLocsTo[0].city,lat:b.geoLocsTo[0].location.latitude,lon:b.geoLocsTo[0].location.longitude,pc:b.geoLocsTo[0].pc,city:b.geoLocsTo[0].city};
RoutesPage.setField(false,c.addr,c.lat,c.lon,c.pc,c.city);
addLocObjToLatest(c);
if(b.geoLocsTo.length>1){RoutesPage.createChoices(RoutesPage.geoLocsToLocObj(b.geoLocsTo),false)
}}if(d&&a){RoutesPage.updateRouteHeader(d,a)
}else{if(d){RoutesPage.updateRouteHeader(d,dojo.byId("routeToAddressFieldContent").value)
}else{if(a){RoutesPage.updateRouteHeader(dojo.byId("routeFromAddressFieldContent").value,a)
}else{RoutesPage.updateRouteHeader(dojo.byId("routeFromAddressFieldContent").value,dojo.byId("routeToAddressFieldContent").value)
}}}RoutesPage.showRouteHeader();
if(!RoutesPage.departure!=window.arrMode){RoutesPage.routes=b.routes.reverse()
}else{RoutesPage.routes=b.routes
}RoutesPage.displayRoutes()
}else{RoutesPage.showRouteHeader();
dojo.addClass("resultsRouteProgress","hidden")
}console.log("RoutesPage.parseRoute done");
return b
};
RoutesPage.clearRoute=function(){dojo.byId("resultsRoutes").innerHTML="";
dojo.addClass("resultsRouteContainer","hidden");
dojo.addClass("timeButtonContainer","hidden");
dojo.addClass("routeFromChoice","hidden");
dojo.addClass("routeToChoice","hidden")
};
RoutesPage.updateRouteHeader=function(c,b,a){dojo.byId("resultsRouteTime").innerHTML=RoutesPage.date.getDate()+"."+(RoutesPage.date.getMonth()+1)+". "+labels.route_clock.toLowerCase()+" "+RoutesPage.date.getHours()+":"+Common.addZero(RoutesPage.date.getMinutes());
dojo.byId("resultsRouteTimeHeader").innerHTML=(RoutesPage.departure?labels.route_departure_time:labels.route_arrive_time);
dojo.byId("route_public_transportation_from").innerHTML=c;
dojo.byId("route_public_transportation_to").innerHTML=b;
dojo.removeClass("resultsRouteTitle","hidden");
if(RoutesPage.routeType=="bus"){dojo.removeClass("resultsRouteDate","hidden")
}else{dojo.addClass("resultsRouteDate","hidden")
}};
RoutesPage.earlierRoute=function(){dojo.removeClass("resultsRouteProgress","hidden");
Common.earlierRouteBase(!RoutesPage.departure,RoutesPage.routes,RoutesPage.getRoute)
};
RoutesPage.laterRoute=function(){dojo.removeClass("resultsRouteProgress","hidden");
Common.laterRouteBase(!RoutesPage.departure,RoutesPage.routes,RoutesPage.getRoute)
};
RoutesPage.showRouteHeader=function(a){dojo.removeClass("resultsRouteContainer","hidden");
if(!a){dojo.removeClass("timeButtonContainer","hidden")
}dojo.addClass("resultsRouteProgress","hidden")
};
RoutesPage.toggleNotOviRoutingControls=function(){if(dojo.byId("route_option_car").selected||dojo.byId("route_option_ped").selected){dojo.query(".notOviControls").addClass("hidden")
}else{dojo.query(".notOviControls").removeClass("hidden")
}};
RoutesPage.onRouteCalculated=function(a,b,c){if(c=="failed"){dojo.byId("resultsRoutes").innerHTML=labels.route_error;
dojo.addClass("resultsRouteProgress","hidden");
return
}if(c=="finished"){if(a.getRoutes().length>0&&(RoutesPage.routeType=="walk"||(RoutesPage.routes.length==1&&RoutesPage.routes[0].mode&&RoutesPage.routes[0].mode.transportModes=="car"))){RoutesPage.showRouteHeader(true);
if(RoutesPage.routeType=="walk"){RoutesPage.routes=a.getRoutes()
}else{RoutesPage.routes.push(a.getRoutes()[0])
}RoutesPage.displayRoutes()
}else{if(a.getRoutes().length>0){RoutesPage.routes=a.getRoutes();
Common.getNokiaRoute(RoutesPage.onRouteCalculated,RoutesPage.routes[0].waypoints[0].originalPosition,RoutesPage.routes[0].waypoints[RoutesPage.routes[0].waypoints.length-1].originalPosition,RoutesPage.routeType=="walk","shortest")
}}}};
RoutesPage.updateRouteDateTime=function(){var a=new Date();
RoutesPage.date=a;
dojo.byId("routeHour").value=a.getHours();
dojo.byId("routeMinute").value=Common.addZero(a.getMinutes())
};
RoutesPage._load=function(){console.log("RoutesPage._load")
};
RoutesPage.providerHandler=function(a){RoutesPage.provider=a;
window.adforeObj.routeProvider=a
};
RoutesPage.setSelectedDate=function(a){RoutesPage.date.setTime(a)
};
RoutesPage.otherDateToggle=function(a){if(a&&!RoutesPage.otherDateShown){dojo.query(".otherDatePointer","routeTimePanel").removeClass("hidden");
RoutesPage.otherDateShown=true;
dojo.byId("routeDay").value=RoutesPage.date.getDate();
dojo.byId("routeMonth").value=RoutesPage.date.getMonth()+1;
dojo.byId("routeYear").value=RoutesPage.date.getFullYear()
}else{if(RoutesPage.otherDateShown){dojo.query(".otherDatePointer","routeTimePanel").addClass("hidden");
RoutesPage.otherDateShown=false
}}};
RoutesPage.setRouteType=function(b){if(b==RoutesPage.routeType){return
}window.adforeObj.routeType=b;
var a=dojo.byId(RoutesPage.routeType+"RouteButton"),c=dojo.byId(b+"RouteButton");
dojo.query(".iconPointer",a).removeClass(RoutesPage.routeType+"RouteIconSelected");
dojo.query(".buttonPointer",a).removeClass("buttonPressed");
dojo.query(".gradient",a).removeClass("hidden");
dojo.query(".iconPointer",c).addClass(b+"RouteIconSelected");
dojo.query(".buttonPointer",c).addClass("buttonPressed");
dojo.query(".gradient",c).addClass("hidden");
if(b!="bus"){dojo.query(".notOviControls").addClass("hidden");
if(!RoutesPage.isOviRoutingAvailable()){dojo.removeClass("oviNotAvailableErrorContainer","hidden")
}}else{dojo.query(".notOviControls").removeClass("hidden");
dojo.addClass("oviNotAvailableErrorContainer","hidden")
}RoutesPage.routeType=b;
RoutesPage.clearRoute();
RoutesPage.checkRoutingProvider()
};
RoutesPage.timeContainerHandler=function(a,b){dojo.toggleClass(a.parentNode,"container");
dojo.query(".commandContainer",a).toggleClass("routesColor").toggleClass("blackImp");
dojo.query(".commandArrow",a).toggleClass("hidden");
dojo.query(".gradient",a).toggleClass("hidden");
dojo.toggleClass("routeTimePanel","hidden");
RoutesPage.timePanelOpen=!RoutesPage.timePanelOpen;
RoutesPage.updateTimeDropdownLabel()
};
RoutesPage.timeChangedHandler=function(){RoutesPage.now=false;
RoutesPage.updateTimeDropdownLabel()
};
RoutesPage.switchDirection=function(){var e="routeFrom",d="routeTo",c,b,a=window.adforeObj[e];
window.adforeObj[e]=window.adforeObj[d];
window.adforeObj[d]=a;
c=dojo.byId(e+"AddressFieldContent"),b=dojo.byId(d+"AddressFieldContent"),a=c.value;
c.value=b.value;
b.value=a;
c=dojo.byId(e+"AddressContainer"),b=dojo.byId(d+"AddressContainer"),a=c.className;
c.className=b.className;
b.className=a;
dojo.addClass("routeFromChoice","hidden");
dojo.addClass("routeToChoice","hidden");
dojo.addClass("routeSaveRouteButtonContainer","hidden");
dojo.addClass("routeSaveRouteFormContainer","hidden");
dojo.addClass("routeSavedRouteTitleContainer","hidden")
};
RoutesPage.depArrHandler=function(a,c){if(RoutesPage.departure==c){return
}RoutesPage.departure=c;
var b=dojo.byId("route"+(c?"Arrive":"Departure")+"Button");
dojo.query(".buttonPointer",b).removeClass("buttonPressed");
dojo.query(".gradient",b).removeClass("hidden");
dojo.query(".buttonPointer",a).addClass("buttonPressed");
dojo.query(".gradient",a).addClass("hidden");
RoutesPage.timeChangedHandler()
};
RoutesPage.nowButtonHandler=function(a){dojo.byId("routeTimeToday").onclick();
RoutesPage.updateRouteDateTime();
RoutesPage.now=true;
if(!RoutesPage.departure){RoutesPage.depArrHandler(dojo.byId("routeDepartureButton"),true)
}if(a){RoutesPage.updateTimeDropdownLabel()
}else{RoutesPage.timeContainerHandler(dojo.byId("routeTimeDropdown"),true)
}};
RoutesPage.updateTimeDropdownLabel=function(){var a=RoutesPage.getRouteDateTime();
dojo.query(".commandLabel","routeTimeDropdown")[0].innerHTML=(RoutesPage.departure?labels.route_departure_time:labels.route_arrive_time)+": "+(RoutesPage.now?labels.weather_now:RoutesPage.date.getDate()+"."+(RoutesPage.date.getMonth()+1)+". "+labels.route_clock.toLowerCase()+" "+RoutesPage.date.getHours()+":"+Common.addZero(RoutesPage.date.getMinutes()));
return a
};
RoutesPage.displayRoutes=function(){var l="",e,d,a;
RoutesPage.stopTimer();
for(e=0;
e<RoutesPage.routes.length;
e++){var n=RoutesPage.routes[e],c,m,h,b="",g,k;
if(n.waypoints){c=Math.ceil(n.duration/60);
if(c>=60){c=(Math.floor(c/60))+" h "+(c%60)
}k=RoutesPage.generateOviRoute(n);
m=(n.mode.type=="shortest"?labels.route_shortest:(n.mode.type=="economic"?labels.route_economic:labels.route_fastest))+k[1];
h='<span class="textColorGreen">&raquo; '+Math.round(n.totalLength/100)/10+" km</span> - "+c+" min";
l+=createDropdownPanel(m,h,k[0],false)
}else{c=Math.ceil(parseInt(n.duration)/60000);
m=n.start.arrival+"- "+n.end.departure;
g=RoutesPage.getTimeLeft(n.start.arrivalts);
h='<span class="routeTimeUpdate'+(!RoutesPage.now||g<0?" hidden":"")+' normal"><span class="routeTimeLeft">'+g+"</span> + </span>"+c+" min";
var f='<table class="resultRouteMiniTable">',o='<tr class="">',p='<tr class="">';
for(d=0;
d<n.route.length;
d++){if(d==6&&n.route.length>7){f+=o+"</tr>"+p+"</tr>";
o='<tr class="">';
p='<tr class="">'
}o+='<td><img src="'+baseUrl+"/resources/image/"+n.route[d].ttpic+'"/></td>';
p+="<td>"+(n.route[d].line?n.route[d].line:"&nbsp;")+"</td>";
if(n.route[d].ex){b+=n.route[d].ex+" "
}}f+=o+"</tr>"+p+"</tr></table>";
if(b.length>0){f+='<div class="inlineClear red"><span class="bold">'+labels.exception_info+"</span>: "+b+"</div>"
}l+=createDropdownPanel(m,h,RoutesPage.generateRoute(n),false,f,g<0);
if(RoutesPage.now){RoutesPage.startTimer()
}}}dojo.byId("resultsRoutes").innerHTML=l;
a=RoutesPage.selectedSavedRoute!=-1&&window.adforeObj.savedRoutes&&window.adforeObj.savedRoutes[RoutesPage.selectedSavedRoute]?window.adforeObj.savedRoutes[RoutesPage.selectedSavedRoute]:false;
if(a&&window.adforeObj.routeFrom&&window.adforeObj.routeTo&&a.from.lat==window.adforeObj.routeFrom.lat&&a.from.lon==window.adforeObj.routeFrom.lon&&a.to.lat==window.adforeObj.routeTo.lat&&a.to.lon==window.adforeObj.routeTo.lon){dojo.removeClass("routeSavedRouteTitleContainer","hidden")
}else{dojo.removeClass("routeSaveRouteButtonContainer","hidden")
}};
RoutesPage.getTimeLeft=function(c){var b=new Date(),a=new Date(parseFloat(c));
b.setSeconds(0,0);
a.setSeconds(0,0);
return(a.getTime()-b.getTime())/60000
};
RoutesPage.generateRoute=function(k){var f=RoutesPage.getTimeLeft(k.start.arrivalts),g='<div class="routeBackground"></div><div class="routeTimeUpdate'+(!RoutesPage.now||f<0?" hidden":"")+' singleLeftMargin">'+labels.time_to_go+': <span class="routeTimeLeft">'+f+"</span> min</div>",d,b,c="",a=dojo.byId("resultsRouteContainer").offsetWidth-20,h=(a>600?600:a),e="";
for(d=0;
d<k.route.length;
d++){g+='<div class="routeLeg" onclick="RoutesPage.legClickHandler(this);">';
g+='<div class="halfPadding">';
g+='<div class="inlineFloatLeft routeIcon"><img class="" src="'+baseUrl+"/resources/image/"+k.route[d].ttpic+'"/>';
g+='<span class="routeLegLine">'+(k.route[d].line?k.route[d].line:"&nbsp;")+"</span></div>";
c="";
for(b=0;
b<k.route[d].points.length;
b++){c+=k.route[d].points[b].location.latitude+","+k.route[d].points[b].location.longitude+","
}c=c.substring(0,c.length-1);
e+=(d==0?"":",")+c;
b--;
if(k.route[d].tt!="WALK"){g+='<div class="routeIconLeftMargin bold">'+k.route[d].points[0].departure+" "+(k.route[d].points[0].name?k.route[d].points[0].name:"&nbsp;")+"<br />";
g+=k.route[d].points[b].arrival+" "+(k.route[d].points[b].name?k.route[d].points[b].name:"&nbsp;")+"</div>"
}else{if(d==0){g+='<div class="routeIconLeftMargin bold">'+k.route[d].points[0].departure+" "+dojo.byId("route_public_transportation_from").innerHTML+"<br />"
}else{g+='<div class="routeIconLeftMargin bold">'
}g+='<span class="textColorGray normal">'+k.route[d].length+" m "+labels.walking+"</span>";
if(d!=0&&d!=k.route.length-1){g+='<br /><span class="textColorGray normal">'+((k.route[d].points[b].departurets-k.route[d].points[b].arrivalts)/60000)+" min "+labels.waiting+"</span>"
}if(d==k.route.length-1){g+="<br />"+k.route[d].points[b].arrival+" "+dojo.byId("route_public_transportation_to").innerHTML
}g+="</div>"
}if(k.route[d].ex){g+='<div class="inlineClear red"><span class="bold">'+labels.exception_info+"</span>: "+k.route[d].ex+"</div>"
}g+="</div>";
g+=RoutesPage.generateTurnpointImg(c,a,h,k.route[d].ttcol,k.route[d].ttcol);
g+="</div>";
if(d+1<k.route.length&&k.route[d+1].tt!="WALK"&&k.route[d+1].points[0].code){g+='<div class="routeStopButton">';
g+='<div><span class="inlineFloatRight routeStopQuo">&raquo;</span>';
g+='<img class="routeStopIcon inlineFloatLeft" src="'+baseUrl+'/logos/busstopi.png"/>';
g+='<div style="overflow:hidden;white-space:nowrap;">&nbsp;'+k.route[d+1].points[0].name+"</div>";
g+="</div>";
g+='<div class="gradient halfSize"></div>';
g+='<a class="block fullSize" href="#" onclick="RoutesPage.stopClickHandler(\''+k.route[d+1].points[0].code+"', '"+k.source+"');return false;\"></a>";
g+="</div>"
}if(d+1==k.route.length&&RoutesPage.toItem){g+='<div class="routeStopButton">';
g+='<div><span class="inlineFloatRight routeStopQuo">&raquo;</span>';
g+='<img style="margin-top: -4px;" class="routeStopIcon inlineFloatLeft" src="'+baseUrl+RoutesPage.toItem.icon+'"/>';
g+='<div style="overflow:hidden;white-space:nowrap;">&nbsp;'+RoutesPage.toItem.name+"</div>";
g+="</div>";
g+='<div class="gradient halfSize"></div>';
g+='<a class="block fullSize" href="#" onclick="InfoscreenPage.render(RoutesPage.toItem);InfoscreenPage.show();return false;"></a>';
g+="</div>"
}}g+=RoutesPage.generateTurnpointImg(e,a,h,"FF376092","FF376092",true);
return g
};
RoutesPage.generateOviRoute=function(p){var n="",g,e,f,m=0,b=dojo.byId("resultsRouteContainer").offsetWidth-20,o=(b>600?600:b),h="";
if(b>2000){b=2000
}for(g=0;
g<p.legs.length;
g++){for(e=0;
e<p.legs[g].maneuvers.length;
e++){var a=p.legs[g].maneuvers[e],d,q,c;
f=Common.roundCoord(a.position.latitude)+","+Common.roundCoord(a.position.longitude);
if(e+1!=p.legs[g].maneuvers.length){for(d=m;
d<p.legs[g].points.length;
d+=2){if(p.legs[g].points[d]==p.legs[g].maneuvers[e+1].position.latitude&&p.legs[g].points[d+1]==p.legs[g].maneuvers[e+1].position.longitude){break
}}q=Math.round((d-m)/8)*2;
if(q<2){q=2
}for(c=m+q;
c<d;
c+=q){f+=","+Common.roundCoord(p.legs[g].points[c])+","+Common.roundCoord(p.legs[g].points[c+1])
}f+=","+Common.roundCoord(p.legs[g].maneuvers[e+1].position.latitude)+","+Common.roundCoord(p.legs[g].maneuvers[e+1].position.longitude);
m=d
}h+=(e==0?"":",")+f;
n+='<div class="routeLeg" onclick="RoutesPage.legClickHandler(this, true);">';
n+='<div class="singlePadding">';
n+='<div class="textColorGray inlineFloatLeft"><span class="bold">';
n+=(!a.length?"":(a.length<1000?a.length+" m":Math.round(a.length/100)/10+" km")+"<br>")+'</span><span class="frontpageSmallFont textColorGreen"> &raquo; '+((a.distanceFromStart+(a.length?a.length:0))<1000?(a.distanceFromStart+(a.length?a.length:0))+" m":Math.round((a.distanceFromStart+(a.length?a.length:0))/100)/10+" km")+"</span></div>";
n+='<div style="margin-left:75px">'+Common.getRoutingActionText(a.action,a.turn)+'<span class="bold"> '+a.nextStreetName+(a.routeName?" ("+a.routeName+")":"")+".</span> "+(e==0?labels.routing_start+" "+Common.getCompassLabel(a.mapOrientation)+". ":"")+(!a.length?"":labels.routing_follow+" "+(a.length<1000?a.length+" m.":Math.round(a.length/100)/10+" km."))+"</div></div>";
n+=RoutesPage.generateTurnpointImg(f,b,o,null,null,false,false,e==0);
n+="</div>"
}}return[n+'<span class="halfLeftPadding smallprint">&copy; Nokia Maps</span>',RoutesPage.generateTurnpointImg(h,b,o,null,null,true,true)]
};
RoutesPage.generateTurnpointImg=function(d,b,j,a,h,e,c,i){if(d.indexOf(",")!=d.lastIndexOf(",")){var g=parseFloat(d.substring(0,d.indexOf(",")));
g+=1e-7;
d=d.substring(0,d.indexOf(",",d.indexOf(",")+1)+1)+g+d.substring(d.indexOf(","))
}var f;
if(e){f='<img class="routeLeg'+(c?" smallPanelPointer":"")+'" src="http://m.ovi.me/turnpoint?r0='+d
}else{f='<img class="'+(i?"":"hidden ")+'mapPointer" src='+(i?"":'"img/button_overlay_1px.png" alt=')+'"http://m.ovi.me/turnpoint?r0='+d
}if(a){f+="&lc="+a.replace("#","FF")
}if(h){f+="&sc="+h.replace("#","FF")
}f+="&w="+b+"&h="+j+"&f=0&token="+oviToken+'" width='+b+" />";
return f
};
RoutesPage.legClickHandler=function(b,a){var c;
if(a){c=dojo.query(".mapPointer",b.parentNode).addClass("hidden")
}c=dojo.query(".mapPointer",b);
if(c[0].alt.length>0){c[0].src=c[0].alt;
c[0].alt=""
}c.toggleClass("hidden")
};
RoutesPage.stopClickHandler=function(c,b){var a=baseUrl+"/resources/pois/stop/"+b+"/"+c+"?l="+djConfig.locale+"&u="+window.adforeObj.uid+"&uit="+window.uit;
if(RoutesPage.stopLoadXhr){if(RoutesPage.stopLoadXhr.ioArgs&&RoutesPage.stopLoadXhr.ioArgs.url==a&&(RoutesPage.stopLoadXhr.fired||RoutesPage.stopLoadXhr.isFiring)){return
}else{RoutesPage.stopLoadXhr.cancel()
}}InfoscreenPage.clear();
InfoscreenPage.show();
RoutesPage.stopLoadXhr=dojo.xhrGet({url:a,handleAs:"json",load:function(e,d){InfoscreenPage.render(e.item);
return e
},failOk:true})
};
RoutesPage.geoLocsToLocObj=function(b){var d=[],a;
for(var c=0;
c<b.length;
c++){a={addr:b[c].name+(b[c].number?" "+b[c].number:"")+" "+b[c].city,lat:b[c].location.latitude,lon:b[c].location.longitude};
a.fullAddr=a.addr;
if(b[c].category=="stop"){a.fullAddr+=" ("+labels.stop+")"
}d.push(a)
}return d
};
RoutesPage.startTimer=function(){if(!RoutesPage.timer){RoutesPage.timedDate=new Date();
RoutesPage.timer=setTimeout(RoutesPage.timerUpdate,30000)
}};
RoutesPage.stopTimer=function(){if(RoutesPage.timer){clearTimeout(RoutesPage.timer);
RoutesPage.timer=false
}};
RoutesPage.timerUpdate=function(){var a=new Date(),c,b;
if(a.getMinutes()!=RoutesPage.timedDate.getMinutes()){dojo.query(".routeTimeLeft","resultsRoutes").forEach(function(d){c=d.innerHTML-1;
if(c<0&&!dojo.hasClass(d.parentNode,"hidden")){dojo.addClass(d.parentNode,"hidden");
b=d.parentNode;
while(b.parentNode.id!="resultsRoutes"){b=b.parentNode
}dojo.query(".commandLinePointer",b).addClass("red")
}else{d.innerHTML=c
}})
}RoutesPage.timedDate=a;
RoutesPage.timer=setTimeout(RoutesPage.timerUpdate,30000)
};
RoutesPage.actionRouteHere=function(b){Common.addTrackedEvent("MRouteHere;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+b.id);
RoutesPage.show();
var a=window.adforeObj.locObj;
RoutesPage.setField(true,a.addr,a.lat,a.lon,a.pc,a.city);
RoutesPage.setField(false,b.name,b.marker.latitude,b.marker.longitude);
RoutesPage.toItem=b;
RoutesPage.nowButtonHandler(true);
RoutesPage.submitRoute()
};
RoutesPage.savedRouteHandler=function(b){RoutesPage.selectedSavedRoute=b;
var a=window.adforeObj.savedRoutes[b],c=dojo.byId("routeSavedRouteTitleContainer");
c.innerHTML='<span style="line-height: 32px" class="bold">'+a.name+'</span><div class="inlineClear topBorderedDarker halfNegativeSideMargin"></div>';
RoutesPage.setRouteType(a.type);
if(a.provider){dojo.byId("route_option_"+a.provider).onclick()
}RoutesPage.setField(true,a.from.addr,a.from.lat,a.from.lon,a.from.pc,a.from.city);
RoutesPage.setField(false,a.to.addr,a.to.lat,a.to.lon,a.to.pc,a.to.city);
dojo.removeClass(c,"hidden");
RoutesPage.nowButtonHandler(true);
RoutesPage.submitRoute()
};
RoutesPage.deleteRoute=function(a){window.adforeObj.savedRoutes.splice(a,1);
dojo.query(".popupMenu","savedRoutesContainer")[0].innerHTML=_createDropdownOptionMenu(RoutesPage.createSavedRouteOptions([]));
dojo.addClass("routeSavedRouteTitleContainer","hidden")
};
RoutesPage.createSavedRouteOptions=function(b){for(var a=0;
a<window.adforeObj.savedRoutes.length;
a++){b.push({name:window.adforeObj.savedRoutes[a].name,prehtml:createBasicButton({floatstyle:"inlineFloatRight removeSelect",padding:"halfSideMargin halfTopMargin ",contentPadding:"center",bgcolor:"buttonRed",icon:"img/x.png",iconheight:"24px",handler:"RoutesPage.deleteRouteDialog("+a+", this.parentNode.parentNode.parentNode.nextSibling.nextSibling);Common.stopEvent(event);"}),posthtml:'<div class="inlineClear"></div>',onclick:"RoutesPage.savedRouteHandler("+a+");"})
}b.push({name:labels.manage_routes,onclick:"dojo.addClass(this.parentNode.parentNode, 'remove');return false;",classes:"italic listPanelLatestLabel manageDisabled",posthtml:createBasicButton({sizestyle:"manageEnabled",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"buttonGreen",txtcolor:"textColorWhite ",label:"&nbsp;"+labels.manage_done,handler:"cleanManage(this.parentNode.parentNode.parentNode.parentNode.parentNode);Common.stopEvent(event);"})+'<div class="inlineClear></div>'});
return b
};
RoutesPage.deleteRouteDialog=function(a,b){var c='<div class="removeDialog halfMargin"><div class="singlePadding">';
c+=labels.delete_saved_route;
c+='</div><div class="singleLeftPadding singleRightPadding bold">';
c+=window.adforeObj.savedRoutes[a].name;
c+="</div>";
c+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"buttonGreen",txtcolor:"textColorWhite ",label:"&nbsp;"+labels.delete_location,handler:"RoutesPage.deleteRoute("+a+");dojo.stopEvent(event);"});
c+=createBasicButton({sizestyle:"halfWidth",floatstyle:"inlineFloatLeft",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder",bgcolor:"buttonRed",txtcolor:"textColorWhite ",label:"&nbsp;"+labels.cancel_location,handler:"replaceWithInlineClear(this.parentNode.parentNode.parentNode.parentNode);dojo.stopEvent(event);"});
c+='<div class="inlineClear singleBottomPadding"></div></div>';
dojo.place(c,b,"replace")
};
RoutesPage.saveRouteButtonHandler=function(){dojo.addClass("routeSaveRouteButtonContainer","hidden");
dojo.byId("routeSaveRouteName").value=dojo.byId("routeFromAddressFieldContent").value+" - "+dojo.byId("routeToAddressFieldContent").value;
dojo.removeClass("routeSaveRouteFormContainer","hidden")
};
RoutesPage.saveRouteHandler=function(){if(!window.adforeObj.savedRoutes){window.adforeObj.savedRoutes=[]
}var a={};
a.type=RoutesPage.routeType;
if(RoutesPage.routeType=="bus"){a.provider=RoutesPage.provider
}a.name=dojo.byId("routeSaveRouteName").value;
a.from=dojo.clone(window.adforeObj.routeFrom);
a.to=dojo.clone(window.adforeObj.routeTo);
window.adforeObj.savedRoutes.push(a);
dojo.addClass("routeSaveRouteFormContainer","hidden");
dojo.query(".popupMenu","savedRoutesContainer")[0].innerHTML=_createDropdownOptionMenu(RoutesPage.createSavedRouteOptions([]));
storeAdforeObj()
};
RoutesPage.addressFieldHandler=function(a,b){delete window.adforeObj[b];
resetAddressFieldType(a);
dojo.addClass("routeSaveRouteButtonContainer","hidden");
dojo.addClass("routeSaveRouteFormContainer","hidden");
dojo.addClass("routeSavedRouteTitleContainer","hidden")
};
RoutesPage.setupSavedRoutes=function(){var a=[],b;
if(window.adforeObj.savedRoutes&&window.adforeObj.savedRoutes.length>0){RoutesPage.createSavedRouteOptions(a)
}else{a.push({name:labels.save_route_desc,styleclass:"helptext ",onclick:";"})
}b=dojo.byId("savedRoutesContainer");
b.innerHTML='<div class="singleBottomMargin gray">'+createDropdownButton(labels.saved_routes,a)+"</div>"
};
RoutesPage.checkRoutingProvider=function(){if(RoutesPage.routeType!="bus"){return
}if(!window.adforeObj.routeFrom||!window.adforeObj.routeFrom.lat||!window.adforeObj.routeTo||!window.adforeObj.routeTo.lat){return
}var d=window.adforeObj.routeFrom&&window.adforeObj.routeFrom.lat?window.adforeObj.routeFrom:window.adforeObj.routeTo,b,c,a,e=Number.MAX_VALUE,f;
for(a=0;
a<RoutesPage.providers.length;
a++){f=Common.distanceBetweenLatLon(d.lat,d.lon,RoutesPage.providers[a].lat,RoutesPage.providers[a].lon);
if(e>f){e=f;
b=RoutesPage.providers[a]
}}if(b.name==RoutesPage.provider){return
}c=dojo.query("#routingProvidersContainer .secondaryButtonContainer")[0];
RoutesPage.providerHandler(b.name);
dojo.animateProperty({node:c,duration:1000,properties:{backgroundColor:{start:"white",end:"yellow"}},onEnd:function(){c.firstChild.innerHTML=b.label;
dojo.animateProperty({node:c,duration:1000,properties:{backgroundColor:{start:"yellow",end:"white"}}}).play()
}}).play()
};
RoutesPage.reloadOvi=function(){if(!window.ovi||!window.ovi.mapsapi){if(!window.ovi){window.ovi={}
}window.ovi.mapsapi={};
window.ovi.mapsapi.config={};
window.ovi.mapsapi.config.params={};
window.ovi.mapsapi.Config={};
window.ovi.mapsapi.Config.setDefaults=function(){};
window.ovi.mapsapi.util={};
window.ovi.mapsapi.util.ApplicationContext={};
window.ovi.mapsapi.util.ApplicationContext.set=function(){};
window.ovi.mapsapi.Features={};
window.ovi.mapsapi.Features.getFeatureMap=function(){return{}
}
}dojo.create("script",{type:"text/javascript",src:"http://api.maps.ovi.com/base.js"},dojo.body(),"last");
dojo.create("script",{type:"text/javascript",src:"http://api.maps.ovi.com/routing-nokia.js"},dojo.body(),"last");
dojo.addClass("oviNotAvailableErrorContainer","hidden")
};
RoutesPage.isOviRoutingAvailable=function(){return window.ovi&&window.ovi.mapsapi&&window.ovi.mapsapi.routing&&window.ovi.mapsapi.routing.Manager
};
ContextPage=new Page("contextPage",true);
ContextPage.selectedContentPageId=null;
ContextPage.contentPages={};
ContextPage.channel={};
ContextPage._init=function(){var a=baseUrl+"/resources/content/pages?l="+djConfig.locale;
dojo.place(createProgressItem("contextPageProgress"),"contextPageButtonPlaceHere","before");
dojo.place(createQuickButton("contextSelect_userview",labels.context_ownchoice,"ContextPage.selectButtonHandler(this.parentNode);",null,"#2E959A",null,baseUrl+"/logos/icon_userview.png"),"contextPageButtonPlaceHere","before",null);
ContextPage.contentPages.contextSelect_userview={};
ContextPage.contentPages.contextSelect_userview.loaded=true;
ContextPage.contentPages.contextSelect_userview.contentItems=[];
ContextPage.contentPages.contextSelect_userview.contents={};
ContextPage.channel.contextSelect_userview=[];
ContextPage.lastLat=window.adforeObj.locObj.lat;
ContextPage.lastLon=window.adforeObj.locObj.lon;
ContextPage.createUserview();
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:a,handleAs:"json",load:ContextPage.parseContentPages})
};
ContextPage._show=function(){window.adforeObj.lastPage=Page.current.pageName;
dojo.removeClass("headerMenu","hidden");
dojo.removeClass("headerRefresh","hidden");
dojo.place("locObjAddressContainer","contextPageTopSpot","after");
if(ContextPage.selectedContentPageId&&ContextPage.contentPages[ContextPage.selectedContentPageId].hasWeather){ContextPage.placeWeather(ContextPage.selectedContentPageId)
}};
ContextPage._hide=function(){dojo.addClass("headerMenu","hidden");
dojo.addClass("headerRefresh","hidden")
};
ContextPage._positionChange=function(){ContextPage.load()
};
ContextPage._load=function(){for(var a in ContextPage.contentPages){if(a==ContextPage.selectedContentPageId){ContextPage.updatePageData(a,window.adforeObj.locObj)
}else{ContextPage.contentPages[a].pendingLoad=true
}}};
ContextPage._update=function(){for(var a in ContextPage.contentPages){if(a==ContextPage.selectedContentPageId){ContextPage.updatePageData(a,window.adforeObj.locObj,true)
}else{ContextPage.contentPages[a].pendingUpdate=true
}}};
ContextPage.checkForUpdate=function(){if(new Date().getTime()>this.lastTS){for(var a in ContextPage.contentPages){ContextPage.contentPages[a].pendingUpdate=true
}this.lastTS=Page.setCacheTime()
}};
ContextPage.updatePageData=function(a,b,f){console.log("ContextPage.updatePageData",a,b);
var d=ContextPage.contentPages[a];
ContextPage.channel[a]=[];
if(a=="contextSelect_userview"){for(var c=0;
c<4;
c++){if(window.adforeObj.contextViews[c]){ContextPage.loadContextViewData(c,f)
}}}else{if(d.hasWeather){ContextPage.checkAndGetWeather(b,f)
}if(d.sponsoredId){ContextPage.loadSponsored(a,f)
}if(d.bookmarksId){ContextPage.loadBookmarks(b,f,ContextPage.channel[a],d.bookmarksId,d.stopBookmarksId?1:0)
}if(d.stopBookmarksId){ContextPage.loadBookmarks(b,f,ContextPage.channel[a],d.stopBookmarksId,2)
}for(var e in d.contents){ContextPage.updateContents(e,a,b)
}}d.pendingLoad=false;
d.pendingUpdate=false;
Common.checkXhrs()
};
ContextPage.loadBookmarks=function(b,e,c,a,d){e=false;
if(e&&bookmarks.length){ContextPage.renderBookmarks(null,{args:{lat:b.lat,lon:b.lon,containerId:a,channel:c,inclStops:d}})
}else{loadBookmarks(ContextPage.renderBookmarks,ContextPage,{lat:b.lat,lon:b.lon,containerId:a,channel:c,inclStops:d})
}};
ContextPage.renderBookmarks=function(d,a){var c={items:[]},b;
for(b=0;
b<bookmarks.length;
b++){if(a.args.inclStops==1&&bookmarks[b].channels&&bookmarks[b].channels.indexOf("srch_publics_stops")!=-1){continue
}else{if(a.args.inclStops==2&&bookmarks[b].channels&&bookmarks[b].channels.indexOf("srch_publics_stops")==-1){continue
}}c.items.push(bookmarks[b])
}Common.sortData(c,a.args.lat,a.args.lon);
while(c.items.length>5){c.items.pop()
}renderResultItems(c,a)
};
ContextPage.updateContents=function(b,e,c){console.log("ContextPage.updateContents",b,e,c);
var g,l,f,k=[],d=[],a,h="",i=ContextPage.contentPages[e].contents[b].items;
for(g=0;
g<i.length;
g++){l=i[g];
if(l.i18n&&l.i18n[djConfig.locale]){for(f in l.i18n[djConfig.locale]){l[f]=l.i18n[djConfig.locale][f]
}}ContextPage.channel[e].push(l);
ContextPage.contentPages[e].contentItems.push(l);
l.distance=Common.distanceBetweenLatLon(c.lat,c.lon,l.marker.latitude,l.marker.longitude);
h+=Common.renderResultItem(l,{includeDist:!ContextPage.contentPages[e].contents[b].noDist,cbTimetable:Common.parseTimetable,contentId:b,lat:c.lat,lon:c.lon});
if(l.hasIm){k.push(l.id)
}if(l.hasAd){if(xhrsWaiting.length<5){a=baseUrl+"/resources/shop/"+l.id+"/ad/"+globalDate.getTime()+"?l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,itemId:l.id,container:b,itemArr:ContextPage.channel[e],handleAs:"json",load:function(m,j){parseAd(m,j.args.itemId,j.args.container,j.args.itemArr);
return m
},failOk:true})
}else{d.push(l.id)
}}}if(d.length>0){a=baseUrl+"/resources/shop/ads/"+globalDate.getTime()+"?ids="+d+"&l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,container:b,itemArr:ContextPage.channel[e],handleAs:"json",load:function(m,j){Common.parseAds(m,j.args.container,parseAd,j.args.itemArr);
return m
},failOk:true})
}if(k.length>0){a=baseUrl+"/resources/im/"+globalDate.getTime()+"?ids="+k;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,container:b,handleAs:"json",load:function(m,j){Common.parseIms(m,j.args.container,displayMessage);
return m
},failOk:true})
}return h
};
ContextPage.parseContentPages=function(b){dojo.addClass("contextPageProgress","hidden");
dojo.place("contextPageProgress","contextPageSelectButtonSeparator","after");
for(var a=0;
a<b.pages.length;
a++){b.pages[a].icon=baseUrl+b.pages[a].icon;
ContextPage.contentPages["contextSelect_"+b.pages[a].pageId]=b.pages[a];
dojo.place(createQuickButton("contextSelect_"+b.pages[a].pageId,b.pages[a].pageName,"ContextPage.selectButtonHandler(this.parentNode);",null,b.pages[a].color,null,b.pages[a].icon,null),"contextSelect_userview","before")
}if(b.pages.length>0&&!ContextPage.selectedContentPageId){ContextPage.selectButtonHandler(dojo.byId("contextSelect_"+b.pages[0].pageId))
}};
ContextPage.createWeatherWidget=function(f,a,b,d){var e='<div id="'+a+'_weather" class="halfMargin bordered"></div>',c=window.adforeObj.locObj;
dojo.place(createResultPanel(f,b,d,e),a,"last");
dojo.place("weatherContainer",a+"_weather","first");
ContextPage.checkAndGetWeather(c,false)
};
ContextPage.selectButtonHandler=function(b){if(ContextPage.selectedContentPageId==b.id){return
}Common.addTrackedEvent("MContentShow;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+ContextPage.pageName+";"+b.id);
if(ContextPage.selectedContentPageId){dojo.removeClass(ContextPage.selectedContentPageId,"selected");
if(ContextPage.contentPages[ContextPage.selectedContentPageId].loaded){dojo.addClass("contextContentPage"+ContextPage.selectedContentPageId.substring(ContextPage.selectedContentPageId.indexOf("_")),"hidden")
}}dojo.addClass(b,"selected");
ContextPage.selectedContentPageId=b.id;
if(ContextPage.contentPages[b.id].loaded){if(ContextPage.contentPages[b.id].hasWeather){ContextPage.placeWeather(b.id)
}dojo.removeClass("contextContentPage"+ContextPage.selectedContentPageId.substring(ContextPage.selectedContentPageId.indexOf("_")),"hidden");
ContextPage.checkForUpdate();
if(ContextPage.contentPages[b.id].pendingLoad){ContextPage.updatePageData(b.id,window.adforeObj.locObj)
}else{if(ContextPage.contentPages[b.id].pendingUpdate){ContextPage.updatePageData(b.id,window.adforeObj.locObj,true)
}}}else{dojo.removeClass("contextPageProgress","hidden");
var a=baseUrl+"/resources/content/"+ContextPage.contentPages[b.id].pageId+"?l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:a,handleAs:"json",selectedContentPageId:b.id,load:ContextPage.parseContentPage})
}};
ContextPage.parseContentPage=function(d,b){console.log("ContextPage.parseContentPage",d,b);
var a="contextContentPage_"+d.pageId,c,e,h,g=b.args.selectedContentPageId;
if(ContextPage.contentPages[g].loaded){console.log("ContextPage.parseContentPage loading so return");
return
}dojo.place('<div id="'+a+'" '+(ContextPage.selectedContentPageId!=g?'class="hidden"':"")+"></div>","contextPageSelectButtonSeparator","after");
ContextPage.channel[g]=[];
ContextPage.contentPages[g].contentItems=[];
ContextPage.contentPages[g].loaded=true;
ContextPage.contentPages[g].contents={};
for(c=0;
c<d.content.length;
c++){d.content[c].icon=d.content[c].icon?baseUrl+d.content[c].icon:d.content[c].icon;
if(d.content[c].content=="weather"){ContextPage.createWeatherWidget(d.content[c].title,a,d.content[c].color,d.content[c].icon);
ContextPage.contentPages[g].hasWeather=true
}else{if(d.content[c].content=="sponsored"){ContextPage.contentPages[g].sponsoredChannels=new Object();
ContextPage.contentPages[g].sponsoredId=d.content[c].id;
ContextPage.contentPages[g].sponsoredSlot=c;
ContextPage.loadSponsored(g)
}else{if(d.content[c].content=="favs"){h="contextContent"+c+"_"+d.pageId+"_"+d.content[c].content;
e='<div id="'+h+'"></div>';
ContextPage.contentPages[g].bookmarksId=h;
dojo.place(createResultPanel(d.content[c].title,d.content[c].color,d.content[c].icon,e,null,"ContextPage.resultPanelClickHandler('list_bookmarks','"+d.content[c].title+"','"+baseUrl+d.content[c].icon+"','"+d.content[c].color+"');",null,true),a,"last")
}else{if(d.content[c].content=="stops"){h="contextContent"+c+"_"+d.pageId+"_"+d.content[c].content;
e='<div id="'+h+'"></div>';
ContextPage.contentPages[g].stopBookmarksId=h;
dojo.place(createResultPanel(d.content[c].title,d.content[c].color,d.content[c].icon,e,null,"ContextPage.resultPanelClickHandler('fav_stops');",null,true),a,"last")
}else{h="contextContent"+c+"_"+d.pageId+"_"+d.content[c].content;
e='<div id="'+h+'">';
ContextPage.contentPages[g].contents[h]={};
ContextPage.contentPages[g].contents[h].items=d.content[c].items;
if(d.content[c].content=="news"){ContextPage.contentPages[g].contents[h].noDist=true
}e+=ContextPage.updateContents(h,g,window.adforeObj.locObj);
e+="</div>";
dojo.place(createResultPanel(d.content[c].title,d.content[c].color,d.content[c].icon,e,null,d.content[c].channelId?"ContextPage.resultPanelClickHandler('"+d.content[c].channelId+"','"+d.content[c].title+"','"+baseUrl+d.content[c].icon+"','"+d.content[c].color+"');":null,null,true),a,"last")
}}}}}if(ContextPage.contentPages[g].bookmarksId){var f=0;
if(ContextPage.contentPages[g].stopBookmarksId){f=1
}ContextPage.loadBookmarks(window.adforeObj.locObj,false,ContextPage.channel[g],ContextPage.contentPages[g].bookmarksId,f)
}if(ContextPage.contentPages[g].stopBookmarksId){ContextPage.loadBookmarks(window.adforeObj.locObj,false,ContextPage.channel[g],ContextPage.contentPages[g].stopBookmarksId,2)
}Common.checkXhrs();
if(!ContextPage.contentPages[g].sponsoredId){dojo.addClass("contextPageProgress","hidden")
}};
ContextPage.loadSponsored=function(d,f){console.log("ContextPage.loadSponsored",d);
if(!ContextPage.contentPages[d].sponsoredId){return
}ContextPage.channel[d]=ContextPage.contentPages[d].contentItems.slice(0);
var c,e;
if(window.adforeObj.locObj&&window.adforeObj.locObj.lat){c=window.adforeObj.locObj.lat;
e=window.adforeObj.locObj.lon
}var a=baseUrl+"/resources/pois/special?m=true&lat="+c+"&lon="+e+"&l="+djConfig.locale+"&a="+ContextPage.contentPages[d].sponsoredId;
for(var b in ContextPage.contentPages[d].sponsoredChannels){dojo.byId("contextContentPage_"+ContextPage.contentPages[d].pageId+"_"+b).innerHTML=createProgressItem();
if(f){renderResultItems({items:ContextPage.contentPages[d].sponsoredChannels[b].items},{args:{lat:c,lon:e,containerId:"contextContentPage_"+ContextPage.contentPages[d].pageId+"_"+b,channel:ContextPage.channel[d]}})
}}if(!f){a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:a,handleAs:"json",lat:c,lon:e,containerId:"contextContentPage_"+ContextPage.contentPages[d].pageId,selectedContentPageId:d,sponsored:true,channel:ContextPage.channel[d],load:renderResultItems})
}};
ContextPage.createUserview=function(d){for(var c=0;
c<4;
c++){var b=labels.chooseContent,a="#808080",e="img/plus.png";
if(window.adforeObj.contextViews[c]){b=window.adforeObj.contextViews[c].title;
a=window.adforeObj.contextViews[c].color;
e=window.adforeObj.contextViews[c].icon
}if(d){dojo.destroy("contextContentPage_userview_"+c)
}dojo.place(createResultPanel(b,a,e,'<div id="contextContentPage_userview_'+c+'_results"></div>',"contextContentPage_userview_"+c,"ContextPage.selectContentHandler("+c+");scrollTo(0,0);"),"contextContentPage_userview","last");
if(window.adforeObj.contextViews[c]){ContextPage.loadContextViewData(c)
}}};
ContextPage.selectContentHandler=function(a){ContextPage.channelsPageEnteredFrom=a;
ChannelsPage.show();
if(!ContextPage.contentPages.contextSelect_userview.hasWeather||(window.adforeObj.contextViews[a]&&window.adforeObj.contextViews[a].id=="weather")){ChannelsPage.showWeatherChannel()
}if(window.adforeObj.contextViews[a]){ChannelsPage.setSelectedChannel(window.adforeObj.contextViews[a].id)
}else{ChannelsPage.setSelectedChannel("")
}};
ContextPage.channelsPageListener=function(b){var a={id:b.channelId,title:b.channelName,color:b.color,icon:b.icon};
Common.addTrackedEvent("MContextSelect;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+b.channelId);
if((window.adforeObj.contextViews[ContextPage.channelsPageEnteredFrom]&&window.adforeObj.contextViews[ContextPage.channelsPageEnteredFrom].id=="weather")&&a.id!="weather"){ContextPage.contentPages.contextSelect_userview.hasWeather=false;
dojo.place("weatherContainer","hiddenArea","first")
}if((window.adforeObj.contextViews[ContextPage.channelsPageEnteredFrom]&&window.adforeObj.contextViews[ContextPage.channelsPageEnteredFrom].id!="weather")&&a.id=="weather"){var c=dojo.byId("contextContentPage_userview_"+ContextPage.channelsPageEnteredFrom+"_results");
c.innerHTML=""
}updateResultPanel("contextContentPage_userview_"+ContextPage.channelsPageEnteredFrom,a.title,a.color,a.icon);
window.adforeObj.contextViews[ContextPage.channelsPageEnteredFrom]=a;
ContextPage.loadContextViewData(ContextPage.channelsPageEnteredFrom);
storeAdforeObj()
};
ContextPage.loadContextViewData=function(d,h){console.log("ContextPage.loadContextViewData"+d);
var a=window.adforeObj.contextViews[d],c=window.adforeObj.locObj;
if(a.id=="weather"){dojo.place("weatherContainer","contextContentPage_userview_"+d+"_results","first");
ContextPage.checkAndGetWeather(c,h);
ContextPage.contentPages.contextSelect_userview.hasWeather=true
}else{if(a.id=="list_bookmarks"){ContextPage.contentPages.contextSelect_userview.bookmarksId="contextContentPage_userview_"+d+"_results";
ContextPage.loadBookmarks(c,h,ContextPage.channel.contextSelect_userview,ContextPage.contentPages.contextSelect_userview.bookmarksId)
}else{var g="contextContentPage_userview_"+d+"_results",e,f,b;
if(c&&c.lat){e=c.lat;
f=c.lon
}dojo.byId(g).innerHTML=createProgressItem();
if(h&&ContextPage.contentPages.contextSelect_userview.contents[d]){renderResultItems({items:ContextPage.contentPages.contextSelect_userview.contents[d]},{args:{lat:e,lon:f,containerId:g,channel:ContextPage.channel.contextSelect_userview}})
}else{b=baseUrl+"/resources/pois/nearest?lat="+e+"&lon="+f+"&page=0&size=5&f=nokia&m=1&ts="+globalDate.getTime();
if(a.id!="find_all"){b+="&channel="+a.id
}b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrs.push(dojo.xhrGet({url:b,handleAs:"json",lat:e,lon:f,containerId:g,channel:ContextPage.channel.contextSelect_userview,contextViewId:d,load:ContextPage.parseContextViewData,failOk:true}))
}}}};
ContextPage.parseContextViewData=function(b,a){if(b.items){ContextPage.contentPages.contextSelect_userview.contents[a.args.contextViewId]=b.items
}renderResultItems(b,a)
};
ContextPage.checkAndGetWeather=function(a,b){console.log("ContextPage.checkAndGetWeather",a,b);
if((a.pc||a.city)&&(b||((a.pc!=ContextPage.lastPc||!a.pc)&&(a.city!=ContextPage.lastCity||!a.city)))){ContextPage.lastPc=a.pc;
ContextPage.lastCity=a.city;
Common.getWeather(a.city,a.pc)
}};
ContextPage.placeWeather=function(c){var a="contextContentPage_"+ContextPage.contentPages[c].pageId+"_weather";
if(c=="contextSelect_userview"){for(var b in window.adforeObj.contextViews){if(window.adforeObj.contextViews[b].id=="weather"){a="contextContentPage_userview_"+b+"_results"
}}}dojo.place("weatherContainer",a,"first")
};
ContextPage.resultPanelClickHandler=function(d,b,c,a){if(d=="fav_stops"){StopsPage.init();
StopsPage.selectButtonHandler("stopsSelect_fav","list_bookmarks");
StopsPage.show()
}else{NearestPage.init();
NearestPage.selectButtonHandler(dojo.byId("nearestChannelButton"));
NearestPage.channelsPageListener({channelId:d,channelName:b,icon:c,color:a});
NearestPage.show();
scrollTo(0,0)
}};
CollectionsMenuPage=new Page("collectionsMenuPage",true);
CollectionsMenuPage._init=function(){dojo.byId("collectionsMenuButtons").innerHTML=createProgressItem()
};
CollectionsMenuPage._show=function(){window.adforeObj.lastPage=Page.current.pageName;
dojo.removeClass("headerMenu","hidden");
dojo.place("locObjAddressContainer","collectionsMenuPageTopSpot","after");
dojo.removeClass("headerRefresh","hidden")
};
CollectionsMenuPage._hide=function(){dojo.addClass("headerMenu","hidden");
dojo.addClass("headerRefresh","hidden")
};
CollectionsMenuPage._positionChange=function(a){if((a.pc||a.city)&&(a.pc!=CollectionsMenuPage.lastPc||!a.pc)&&(a.city!=CollectionsMenuPage.lastCity||!a.city)){CollectionsMenuPage.lastPc=a.pc;
CollectionsMenuPage.lastCity=a.city;
CollectionsMenuPage.load()
}};
CollectionsMenuPage._load=function(){var a;
if(window.adforeObj.locObj.city){a=baseUrl+"/resources/coll/l/"+window.adforeObj.locObj.city
}else{a=baseUrl+"/resources/coll/z/"+window.adforeObj.locObj.pc
}if(CollectionsMenuPage.xhr){CollectionsMenuPage.xhr.cancel();
CollectionsMenuPage.xhr=null
}a+="?u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:a,handleAs:"json",failOk:true,load:CollectionsMenuPage._render})
};
CollectionsMenuPage._render=function(d){if(d.city){CollectionsMenuPage.lastCity=d.city;
if(window.adforeObj.locObj.pc==CollectionsMenuPage.lastPc){window.adforeObj.locObj.city=d.city
}}if(!d.channels||d.channels.length==0){return
}var c="",b,a;
CollectionsMenuPage.collections={};
d.channels.push({id:"collectionsN_kia",name:"Nokia Places",icon:"/logos/collection_nplaces.png",desc:labels.nokiaPlacesDesc});
for(b=0;
b<d.channels.length;
b++){d.channels[b].icon=(d.channels[b].icon?baseUrl+d.channels[b].icon:d.channels[b].icon);
a=d.channels[b].id.indexOf("_",d.channels[b].id.indexOf("_")+1);
if(d.channels[b].i18n&&d.channels[b].i18n[djConfig.locale]){for(var e in d.channels[b].i18n[djConfig.locale]){d.channels[b][e]=d.channels[b].i18n[djConfig.locale][e]
}}if(a!=-1){CollectionsMenuPage.collections[d.channels[b].id.substring(0,a)].children[d.channels[b].id]=d.channels[b];
continue
}else{d.channels[b].children={};
CollectionsMenuPage.collections[d.channels[b].id]=d.channels[b]
}c+=createSelectButton(d.channels[b].id,d.channels[b].name,"CollectionsMenuPage.selectButtonHandler('"+d.channels[b].id+"');scrollTo(0,0);",(d.channels[b].color?null:(d.channels[b].icon?"white":"collectionDeafultColor")),d.channels[b].color,(d.channels[b].icon?null:"collectionDefaultIcon"),d.channels[b].icon)
}dojo.byId("collectionsMenuButtons").innerHTML=c
};
CollectionsMenuPage.selectButtonHandler=function(a){CollectionsPage.setCollection(a);
Common.addTrackedEvent("MContentShow;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+CollectionsMenuPage.pageName+";"+a);
CollectionsPage.show()
};
CollectionsMenuPage.getCollection=function(b){var a=b.indexOf("_",b.indexOf("_")+1);
if(a==-1){return CollectionsMenuPage.collections[b]
}else{return CollectionsMenuPage.collections[b.substring(0,a)]
}};
CollectionsPage=new Page("collectionsPage",true);
CollectionsPage.pageSize=10;
CollectionsPage.pageIndex={};
CollectionsPage.channel={};
CollectionsPage.selectedContentPageId="collectionsPageChannel";
CollectionsPage.channel[CollectionsPage.selectedContentPageId]=[];
CollectionsPage.pageIndex[CollectionsPage.selectedContentPageId]=0;
CollectionsPage._init=function(){dojo.place(createResultPanel("",null,null,'<div id="collectionsResults"></div>'+createMapItem("collectionsResults_map")+createResultMoreButtons("collectionsPageChannel"),"collectionsResultPanel",null,{}),"collectionsDesc","after");
if(CollectionsPage.selectedCollection){CollectionsPage.pageTitle=CollectionsPage.selectedCollection.name
}if(Common.getUrlParam("page")=="collectionsPage"){CollectionsPage.selectedCollectionId=Common.getUrlParam("cid");
var a=baseUrl+"/resources/coll/id/"+CollectionsPage.selectedCollectionId;
a+="?u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:a,handleAs:"json",failOk:true,load:CollectionsPage._parseCollection})
}};
CollectionsPage._show=function(){dojo.removeClass("headerBack","hidden");
dojo.removeClass("headerRefresh","hidden");
dojo.place("locObjAddressContainer","collectionsPageTopSpot","after");
if(Page.pages.length==0){Page.pages.push(CollectionsMenuPage)
}};
CollectionsPage._positionChange=function(){CollectionsPage.load()
};
CollectionsPage._hide=function(){dojo.addClass("headerBack","hidden");
dojo.addClass("headerMenu","hidden");
dojo.addClass("headerRefresh","hidden")
};
CollectionsPage._parseCollection=function(a){CollectionsPage.selectedCollection=a.collection;
dojo.addClass("headerBack","hidden");
dojo.removeClass("headerMenu","hidden");
dojo.byId("headerTitle").innerHTML=a.collection.name;
CollectionsPage.load()
};
CollectionsPage._update=function(){CollectionsPage.render({items:CollectionsPage.channel[CollectionsPage.selectedContentPageId].splice(0,CollectionsPage.channel[CollectionsPage.selectedContentPageId].length)},{args:{lat:window.adforeObj.locObj.lat,lon:window.adforeObj.locObj.lon,containerId:"collectionsResults",mapContainerId:"collectionsResults_map",channel:CollectionsPage.channel[CollectionsPage.selectedContentPageId]}})
};
CollectionsPage.setCollection=function(a){if(a!=CollectionsPage.selectedCollectionId){if("collectionsN_kia"==CollectionsPage.selectedCollectionId){dojo.query("#collectionsResultPanel .dropdownTextButton a").removeClass("hidden");
dojo.query("#collectionsResultPanel .commandDownArrow").removeClass("hidden")
}CollectionsPage.selectedCollectionId=a;
CollectionsPage.selectedCollection=CollectionsMenuPage.getCollection(a);
if(CollectionsPage.selectedCollection){CollectionsPage.pageTitle=CollectionsPage.selectedCollection.name
}CollectionsPage.lastLat=null;
CollectionsPage.lastLon=null;
CollectionsPage.rendered=false;
CollectionsPage.channel[CollectionsPage.selectedContentPageId]=[]
}};
CollectionsPage._load=function(){var f=CollectionsPage.selectedCollection,g,a,b,h,i;
if(!f){return
}h=(f.id==CollectionsPage.selectedCollectionId?f.name:f.children[CollectionsPage.selectedCollectionId].name);
if(!CollectionsPage.rendered){var e=(f.img?'<img src="'+f.img+'" class="fullWidth">':""),j=[];
e+='<div class="bold">'+f.name+"</div>";
e+=(f.desc?"<div>"+f.desc+"</div>":"");
if("collectionsN_kia"==CollectionsPage.selectedCollectionId){e+=CollectionsPage.createSearchField()
}dojo.byId("collectionsDesc").innerHTML=e;
j.push({name:f.name,onclick:"CollectionsPage.dropdownMenuHandler('"+f.id+"');"});
for(var d in f.children){j.push({name:f.children[d].name,onclick:"CollectionsPage.dropdownMenuHandler('"+d+"');"})
}dojo.query(".commandIcon","collectionsResultPanel").addClass("hidden");
updateResultPanel("collectionsResultPanel",h,f.color,f.icon,j);
CollectionsPage.pageIndex[CollectionsPage.selectedContentPageId]=0;
if("collectionsN_kia"==CollectionsPage.selectedCollectionId){dojo.query("#collectionsResultPanel .dropdownTextButton a").addClass("hidden");
dojo.query("#collectionsResultPanel .commandDownArrow").addClass("hidden")
}CollectionsPage.rendered=true
}else{updateResultPanel("collectionsResultPanel",h)
}CollectionsPage.channel[CollectionsPage.selectedContentPageId]=[];
if(CollectionsPage.xhr){CollectionsPage.xhr.cancel();
CollectionsPage.xhr=null
}i=dojo.byId("collectionsResults_map");
i.src="img/button_overlay_1px.png";
i.width=0;
if("collectionsN_kia"==CollectionsPage.selectedCollectionId){dojo.byId("collectionsResults").innerHTML="";
CollectionsPage.loadNokia();
return
}dojo.byId("collectionsResults").innerHTML=createProgressItem();
if(window.adforeObj.locObj&&window.adforeObj.locObj.lat){g=window.adforeObj.locObj.lat;
a=window.adforeObj.locObj.lon
}b=baseUrl+"/resources/pois/nearest?lat="+g+"&lon="+a+"&page="+CollectionsPage.pageIndex[CollectionsPage.selectedContentPageId]+"&size="+CollectionsPage.pageSize+"&channel="+CollectionsPage.selectedCollectionId+"&l="+djConfig.locale;
b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
CollectionsPage.xhr=dojo.xhrGet({url:b,handleAs:"json",lat:g,lon:a,containerId:"collectionsResults",mapContainerId:"collectionsResults_map",channel:CollectionsPage.channel[CollectionsPage.selectedContentPageId],load:CollectionsPage._render,failOk:true})
};
CollectionsPage._render=function(b,a){renderResultItems(b,a);
Page.updateMoreButtons(CollectionsPage)
};
CollectionsPage.dropdownMenuHandler=function(a){CollectionsPage.selectedCollectionId=a;
CollectionsPage.pageIndex[CollectionsPage.selectedContentPageId]=0;
CollectionsPage.load()
};
CollectionsPage.createSearchField=function(){return'<div id="collectionsPageSearchFieldContainer" class="singleMargin"><div class="inlineFloatLeft fourfifthsWidth"><input id="collectionsPageSearchField" class="addressFieldInput placeholder fullWidth" onkeypress="if(Common.isEnter(event)){CollectionsPage.loadNokia();blur(this)}" value="'+labels.searchField_placeholder+'" onfocus="Common.removePlaceholder(this);" /></div><div class="commandButton inlineFloatRight fifthWidth plainButtonLineHeight"><div class="commandContainer green center textColorWhite halfLeftMargin"><span class="commandLabel i18n">'+labels.do_search+'</span></div><div class="gradient halfSize"></div><a class="block fullSize" href="#" onclick="CollectionsPage.load();return false;"></a></div><div class="inlineClear"></div></div>'
};
CollectionsPage.loadNokia=function(){var a=dojo.byId("collectionsPageSearchField").value;
if(dojo.hasClass("collectionsPageSearchField","placeholder")||!a){Page.updateMoreButtons(CollectionsPage);
return
}if(a!=CollectionsPage.prevKeywords){CollectionsPage.pageIndex[CollectionsPage.selectedContentPageId]=0;
CollectionsPage.prevKeywords=a
}dojo.byId("collectionsResults").innerHTML=createProgressItem();
dojo.byId("collectionsResults_map").src="img/button_overlay_1px.png";
Common.nokiaPlaceSearch({latitude:window.adforeObj.locObj.lat,longitude:window.adforeObj.locObj.lon},null,null,a,CollectionsPage.nokiaCallback,0,CollectionsPage.pageIndex[CollectionsPage.selectedContentPageId]*20+30)
};
CollectionsPage.nokiaCallback=function(b,a){console.log(b);
if(b&&b.results){var c={};
Common.parseNokiaResults(b,c,true,CollectionsPage.pageIndex[CollectionsPage.selectedContentPageId]*10);
CollectionsPage._render(c,{args:{lat:window.adforeObj.locObj.lat,lon:window.adforeObj.locObj.lon,containerId:"collectionsResults",mapContainerId:"collectionsResults_map",channel:CollectionsPage.channel[CollectionsPage.selectedContentPageId]}})
}};
dojo.provide("adfore.mobile");
var mobile=true,update=false;
var toLat=null,toLon=null;
var targetPOIid,collXhr,cityXhr,eventDateLmt,ims=new Array(),ads=new Array(),zoomscale=16;
function pushAdsIms(b){var a;
if(ads.length>0){a=baseUrl+"/resources/shop/ads/"+globalDate.getTime()+"?ids="+ads+"&l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,handleAs:"json",container:b,load:function(d,c){Common.parseAds(d,c.args.container,parseAd);
return d
},failOk:true});
while(ads.pop()){}}if(ims.length>0){a=baseUrl+"/resources/im/"+globalDate.getTime()+"?ids="+ims;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
xhrsWaiting.push({url:a,handleAs:"json",container:b,load:function(d,c){Common.parseIms(d,c.args.container,displayMessage);
return d
},failOk:true});
while(ims.pop()){}}}function loadBookmarks(g,d,c){var e=(window.adforeObj.bookmarkIds.length?"ids="+window.adforeObj.bookmarkIds:"")+(window.adforeObj.bookmarkEids.length?"&eids="+window.adforeObj.bookmarkEids:""),b;
if(e){b=baseUrl+"/resources/pois/bookmarks?"+e;
b+="&u="+window.adforeObj.uid+"&uit="+window.uit;
var f={url:b,handleAs:"json",load:function(k,h){bookmarks=[];
for(var j=0;
j<k.items.length;
j++){bookmarks.push(k.items[j])
}if(g){g.apply(d,arguments)
}return k
},failOk:true};
if(c){for(var a in c){f[a]=c[a]
}}dojo.xhrGet(f)
}else{bookmarks=[];
if(g){g.apply(d,[{items:[]},{args:c}])
}}}function parseChannelData(f,e,d){if(f){Common.sortData(f,window.adforeObj.lastState.latitude,window.adforeObj.lastState.longitude);
var c="";
if(!d){d="frontpage_"+e+"_results"
}for(var b=0;
b<f.items.length;
b++){window.channels.find_all.push(f.items[b]);
for(var a=0;
a<f.items[b].channels.length;
a++){if(e==f.items[b].channels[a]||Common.isChildOf(e,f.items[b].channels[a])){if(window.channels[f.items[b].channels[a]]){Common.pushItem(window.channels[f.items[b].channels[a]],f.items[b])
}}}c+=displayChannelData(f.items[b],d)
}pushAdsIms(d);
dojo.byId(d).innerHTML+=c;
Common.checkXhrs()
}}function parseBookmarkData(f,e){var d=new Object(),c=new Object(),a;
d.items=new Array(),c.items=new Array();
for(var b=0;
b<f.length;
b++){a=true;
for(channel in f[b].channels){if(f[b].channels[channel]=="srch_publics_stops"){d.items.push(f[b]);
a=false;
break
}}if(a){c.items.push(f[b])
}}Common.sortData(c,window.adforeObj.lastState.latitude,window.adforeObj.lastState.longitude);
while(c.items.length>3){c.items.pop()
}if(c.items.length){dojo.addClass("frontpage_list_bookmarks_no_bookmarks","hidden")
}else{dojo.removeClass("frontpage_list_bookmarks_no_bookmarks","hidden")
}dojo.byId("frontpage_list_bookmarks_results").innerHTML="";
parseChannelData(c,"list_bookmarks",e);
Common.sortData(d,window.adforeObj.lastState.latitude,window.adforeObj.lastState.longitude);
while(d.items.length>3){d.items.pop()
}if(d.items.length){dojo.removeClass("frontpage_srch_publics_stops_container","hidden")
}else{dojo.addClass("frontpage_srch_publics_stops_container","hidden")
}dojo.byId("frontpage_srch_publics_stops_results").innerHTML="";
parseChannelData(d,"srch_publics_stops",e)
}function displayChannelData(c,b){var a=Common.renderResultItem(c,true,parseTimetable,false,b);
if(c.hasIm){ims.push(c.id)
}if(c.hasAd){ads.push(c.id)
}return a
}function loadBookmarksFromCookie(){var a=getKeyValue("adforeObject");
if(a){window.adforeObj.bookmarks.bookmarkIds=a.bookmarkIds;
window.adforeObj.bookmarks.bookmarkEids=a.bookmarkEids
}deleteKey("adforeObject")
}function newButtonHandler(c){var a="newPlaces";
dojo.addClass("mainmenuTestContainer","hidden");
var b=dojo.byId("newTestMainMenuUniqueIdentifier");
b.className="newButtonContainer "+a;
dojo.byId("newTestMainMenuUniqueIdentifierLabel").innerHTML=lbl_button_header_title+" &ndash; "+window["lbl_button_header_"+a];
placesPage();
Common.stopEvent(c)
}function updateBookmarksBase(){while(channels.list_bookmarks.pop()){}for(var a=0;
a<bookmarks.length;
a++){channels.list_bookmarks.push(bookmarks[a])
}channels.list_bookmarks.isLoaded=true
}function geocodeLookupAddress(b,a){dojo.byId("addressDynamicData").innerHTML="Haetaan osoite...";
var c=new ovi.mapsapi.search.Manager();
c.addObserver("state",function(e,d,f){if(f=="finished"){geocodeHandleAddress(b,e.locations,a)
}else{if(f=="failed"){a(b,[])
}}});
c.geocode(b+", Finland")
}function geocodeHandleAddress(c,b,a){if(a){a(c,b)
}}function initAdforeObj(){var a={bookmarkEids:[],bookmarkIds:[],savedRoutes:[],channelColor:"#964B3E",channelIcon:baseUrl+"/logos/category_shops.png",channelId:"srch_shops",channelName:labels.shops,contextViews:{},stored:[],lang:getLocale(),lastPage:"menuPage",latest:[],locObj:{addr:"Rautatieasema Helsinki",lat:"60.17124761",lon:"24.94102048",city:"Helsinki"},version:5};
a.uid=generateUid();
return a
}function verifyAdforeObj(d){var c="",b=(window.adforeObj?window.adforeObj:initAdforeObj()),a=dojo.toJson(d);
if(!d){d=b;
c+="Entire adforeObj (cookie) is missing! logout must have failed."
}if(!d.bookmarkEids){d.bookmarkEids=b.bookmarkEids;
c+="bookmarkEids is missing."
}if(!d.bookmarkIds){d.bookmarkIds=b.bookmarkIds;
c+="bookmarkIds is missing."
}if(!d.savedRoutes){d.savedRoutes=b.savedRoutes;
c+="savedRoutes is missing."
}if(!d.contextViews){d.contextViews=b.contextViews;
c+="contextViews is missing."
}if(!d.stored){d.stored=b.stored;
c+="stored is missing."
}if(!d.lang){d.lang=b.lang;
c+="lang is missing."
}if(!d.uid){d.uid=b.uid;
c+="uid is missing."
}if(!d.channelId||!d.channelIcon||!d.channelId||!d.channelName){d.channelColor=b.channelColor;
d.channelIcon=b.channelIcon;
d.channelId=b.channelId;
d.channelName=b.channelName
}if(!d.lastPage){d.lastPage=b.lastPage
}if(!d.latest){d.latest=b.latest
}if(!d.locObj){d.locObj=b.locObj
}if(!d.gpsLocObj&&b.gpsLocObj){d.gpsLocObj=b.gpsLocObj
}if(!d.routeFrom&&b.routeFrom){d.routeFrom=b.routeFrom
}if(!d.routeTo&&b.routeTo){d.routeTo=b.routeTo
}return d
}function startup(){console.log("startup Tässä.fi");
try{labels=dojo.i18n.getLocalization("adfore","labels");
Common.setStaticFields();
createLangDropdownButton();
prepareCityArray();
var c=dojo.byId("hiddenIFrame");
if(c){c.iecrap=function(){}
}window.adforeObj=getKeyValue("adforeObj");
if(!window.adforeObj){window.adforeObj=initAdforeObj();
console.log("startup init adforeObj"+dojo.toJson(window.adforeObj))
}if(window.ovi&&window.ovi.mapsapi){if(typeof(window.ovi.mapsapi.routing)=="undefined"||typeof(window.ovi.mapsapi.routing.Manager)=="undefined"){dojo.create("script",{id:"fixRouting1",type:"text/javascript",src:"http://api.maps.ovi.com/base.js"},dojo.body(),"last");
dojo.create("script",{id:"fixRouting2",type:"text/javascript",src:"http://api.maps.ovi.com/routing-nokia.js"},dojo.body(),"last")
}}else{}var b=getKeyValue("adforeSession");
if(!b){b=Common.getHashParam("sid")
}if(!window.adforeObj||(!window.adforeObj.uid)){window.adforeObj=initAdforeObj();
deleteKey("adforeObj")
}if(window.adforeObj.adforeSession&&!window.adforeObj.langChange){check(window.adforeObj.adforeSession,"checkDone")
}else{if(b&&!window.adforeObj.langChange){console.log("using sid");
deleteKey("adforeSession");
window.location.hash="";
check(b,"checkDone")
}else{if(window.adforeObj.langChange){delete window.adforeObj.langChange;
storeAdforeObj()
}init()
}}if(window.adforeObj.error){delete window.adforeObj.error
}}catch(d){try{var a="Startup failed sent from browser:"+window.navigator.userAgent+" uit:"+window.uit+" AdforeObj:"+dojo.toJson(window.adforeObj)+" Error message:"+d;
if(window.adforeObj&&window.adforeObj.error){a+=" FATAL ERROR, reload did not help. Check uid:"+(window.adforeObj.uid?window.adforeObj.uid:" no uid available")
}console.log(a);
dojo.xhrPost({url:baseUrl+"/feedback/form",postData:encodeURIComponent(a),handleAs:"text",failOk:true});
if(window.adforeObj&&window.adforeObj.error&&labels.hups_fatal){dojo.byId("loadingMap").innerHTML=labels.hups_fatal;
return
}if(!labels.hups_error){dojo.byId("loadingMap").innerHTML="Hups, tapahtui virhe. Kokeile myöhemmin uudelleen. Try again later."
}else{dojo.byId("loadingMap").innerHTML=labels.hups_error
}window.adforeObj=initAdforeObj();
window.adforeObj.error=true;
storeAdforeObj(true);
window.location.href="index.html"
}catch(d){document.getElementById("loadingMap").innerHTML="Hupsis, tapahtui virhe. Kokeile myöhemmin uudelleen. Try again later."
}}}function init(){console.log("init");
try{if(typeof(beforeInit)!="undefined"){beforeInit()
}if(!window.adforeObj.locObj){var b=initAdforeObj(),f=0,a=0;
console.log("init adforeObj "+dojo.toJson(b));
if(window.adforeObj.bookmarkEids&&window.adforeObj.bookmarkEids.length){b.bookmarkEids=Common.cleanArray(window.adforeObj.bookmarkEids)
}if(window.adforeObj.bookmarkIds&&window.adforeObj.bookmarkIds.length){b.bookmarkIds=Common.cleanArray(window.adforeObj.bookmarkIds)
}if(window.adforeObj.home&&window.adforeObj.home.latitude){b.stored.push({name:"Koti",addr:window.adforeObj.home.address+" "+window.adforeObj.home.city,city:window.adforeObj.home.city,lat:window.adforeObj.home.latitude,lon:window.adforeObj.home.longitude})
}if(window.adforeObj.lastLocations&&window.adforeObj.lastLocations.length){a=window.adforeObj.lastLocations.length;
for(f=0;
f<a;
f++){b.latest.push({addr:(window.adforeObj.lastLocations[f].address?window.adforeObj.lastLocations[f].address+" ":"")+window.adforeObj.lastLocations[f].city,city:window.adforeObj.lastLocations[f].city,lat:window.adforeObj.lastLocations[f].latitude,lon:window.adforeObj.lastLocations[f].longitude})
}}if(window.adforeObj.lastCity&&window.adforeObj.lastLatitude&&window.adforeObj.lastLongitude){b.gpsLocObj={addr:(window.adforeObj.lastAddress?window.adforeObj.lastAddress+" ":"")+window.adforeObj.lastCity,city:window.adforeObj.lastCity,lat:window.adforeObj.lastLatitude,lon:window.adforeObj.lastLongitude,s:true}
}if(window.adforeObj.lastState&&window.adforeObj.lastState.city&&window.adforeObj.lastState.latitude&&window.adforeObj.lastState.longitude){b.locObj={addr:(window.adforeObj.lastState.address?window.adforeObj.lastState.address+" ":"")+window.adforeObj.lastState.city,city:window.adforeObj.lastState.city,lat:window.adforeObj.lastState.latitude,lon:window.adforeObj.lastState.longitude}
}if(window.adforeObj.uid){b.uid=window.adforeObj.uid
}if(window.adforeObj.adforeSession){b.adforeSession=window.adforeObj.adforeSession
}if(window.adforeObj.lang){b.lang=window.adforeObj.lang
}delete window.adforeObj;
window.adforeObj=b;
console.log("init window.adforeObj "+dojo.toJson(window.adforeObj));
deleteKey("adforeObj")
}window.adforeObj.bookmarkIds=Common.cleanArray(window.adforeObj.bookmarkIds?window.adforeObj.bookmarkIds:[]);
window.adforeObj.bookmarkEids=Common.cleanArray(window.adforeObj.bookmarkEids?window.adforeObj.bookmarkEids:[]);
checkAnnouncement();
createAddressContainer("locObj",true);
openPage=Common.getUrlParam("page");
targetPOIid=Common.getUrlParam("id");
if(targetPOIid){openPage="infoscreen"
}else{if(openPage==null){openPage=window.adforeObj.lastPage?window.adforeObj.lastPage:"menuPage"
}else{MenuPage._hide()
}}dojo.query(".page").addClass("hidden");
console.log('show "external" page');
Pages[openPage].show();
dojo.addClass("loadingMap","hidden");
dojo.byId("loadingMap").innerHTML=labels.closing_app;
delete window.adforeObj.error;
var d=navigator.userAgent.match(/Series60\/([\d\.]+)/i),h=navigator.userAgent.match(/Browser[\D]*\/([\d\.]+)/);
if(d&&d.length>1){d=parseFloat(d[1]);
h=parseFloat(h[1]);
if((d<5.3)&&(h<7.3)){dojo.place('<link rel="stylesheet" href="fix-widget.css" type="text/css" />',"head");
console.log("pre Anna, fix css. init done! ver:"+d+" & "+h)
}else{console.log("post Anna, styles work. init done! ver:"+d+" & "+h)
}}else{console.log("Not a Series60 device. init done!")
}}catch(g){try{var c="Init failed sent from browser:"+window.navigator.userAgent+" uit:"+window.uit+" AdforeObj:"+dojo.toJson(window.adforeObj)+" Error message:"+g;
if(window.adforeObj&&window.adforeObj.error){c+=" FATAL ERROR, reload did not help. Check uid:"+(window.adforeObj.uid?window.adforeObj.uid:" no uid available")
}console.log(c);
dojo.xhrPost({url:baseUrl+"/feedback/form",postData:encodeURIComponent(c),handleAs:"text",failOk:true});
if(window.adforeObj&&window.adforeObj.error&&labels.hups_fatal){dojo.byId("loadingMap").innerHTML=labels.hups_fatal;
return
}if(!labels.hups_error){dojo.byId("loadingMap").innerHTML="Hups, tapahtui virhe. Kokeile myöhemmin uudelleen. Try again later."
}else{dojo.byId("loadingMap").innerHTML=labels.hups_error
}window.adforeObj=initAdforeObj();
window.adforeObj.error=true;
storeAdforeObj(true);
window.location.href="index.html"
}catch(g){document.getElementById("loadingMap").innerHTML="Hups, tapahtui virhe. Kokeile myöhemmin uudelleen. Try again later."
}}}function bootstrap(){if(typeof(beforeStartup)!="undefined"){beforeStartup()
}else{startup()
}}dojo.addOnLoad(bootstrap);
function sanitizeAddress(a){return a+" Suomi"
}function getLabel(c,b){var a=getAddressFromAddr(c);
if(c.label){return c.label
}if(b&&c.addrPostalCode){a=(a?a+" ":"");
a=a+c.addrPostalCode
}if(c.addrTownshipName){a=(a?a+" ":"");
a=a+c.addrTownshipName
}else{if(c.addrCityName){a=(a?a+" ":"");
a=a+c.addrCityName
}}return a
}function updateGeocodeSuggestions(g,d){console.log("general updateGeocodeSuggestions",g,d);
var c=0,a="",e,b=dojo.byId(g+"AddressFieldListPanel"),f=geocodeParser(d);
if(f.length==0){a+="<p>"+labels.locate_noaddress+"</p>"
}else{if(f.length==1){selectHandler(g,f[0],b);
return
}else{a+='<p class="bold">'+labels.locate_multiaddress+"</p>";
for(c=0;
c<f.length;
c++){a+='<a href="#" class="select block" onclick="selectHandler(\'';
a+=g;
a+="',";
a+=dojo.toJson(f[c]).replace(/"/g,"'");
a+=',this.parentNode);return false;"><img src="img/go.png" class="green" />';
a+=f[c].fullAddr;
a+="</a>"
}}}b.innerHTML=a;
dojo.removeClass(b,"hidden");
e=dojo.byId("globalModalPane");
e.onclick=function(){dojo.addClass(b,"hidden");
dojo.addClass(e,"hidden");
var h=g+"HomeButtonContainer";
dojo.removeClass(h,"go");
dojo.addClass(h,"close");
Page.updateAddress(g)
};
dojo.removeClass(e,"hidden")
}function cbDummy(){console.log("cbDummy")
}function resetAddressFieldType(a){dojo.removeClass(a,"located stored")
}function addressSelectHandler(a,c){var b=dojo.byId(c+"HomeButtonContainer");
resetAddressFieldType(b.parentNode);
if(window.adforeObj[c]&&window.adforeObj[c].name){a.value=window.adforeObj[c].addr
}a.select()
}function addressFocusHandler(a,d){var c=dojo.byId(d+"HomeButtonContainer"),b=dojo.byId("globalModalPane");
dojo.removeClass(c,"close");
dojo.addClass(c,"go");
dojo.addClass(a,"onModalPane");
dojo.addClass(c,"onModalPane");
addressSelectHandler(a,d);
b.onclick=function(){dojo.removeClass(c,"go");
dojo.addClass(c,"close");
dojo.removeClass(a,"onModalPane");
dojo.removeClass(c,"onModalPane");
dojo.addClass(d+"AddressFieldListPanel","hidden");
dojo.addClass(b,"hidden");
Page.updateAddress(d)
};
dojo.removeClass(b,"hidden");
dojo.addClass(d+"AddressFieldListPanel","hidden")
}function addressBlurHandler(a,c){alert("if used, remove this alert, otherwise remove function as dead code");
var b=dojo.byId(c+"HomeButtonContainer");
dojo.removeClass(b,"go");
dojo.addClass(b,"close");
if(!a.value){Page.updateAddress(c)
}}function locationHandler(e,c){var b=dojo.byId(e+"AddressLocationError"),d=dojo.byId(e+"AddressFieldContainer");
if(b){dojo.addClass(b,"hidden")
}b=dojo.byId(e+"LocateProgress");
if(!b){var a='<div id="';
a+=e;
a+='LocateProgress" class="locateProgressContainer lightgray"><img class="locateIcon" src="img/locate.gif" /><span id="';
a+=e;
a+='LocateProgressLabel" class="">';
a+=labels.locating;
a+="</span></div>";
d.innerHTML=a+d.innerHTML
}else{dojo.removeClass(b,"hidden")
}dojo.addClass(e+"AddressFieldContent","hidden");
dojo.removeClass(c,"close");
dojo.addClass(c,"locate");
console.log("homeButtonNode should now locate:"+c.className)
}function locationWatchHandler(b,a){console.log("locationWatchHandler");
if(a.watchId){a.watchId=null;
return
}else{clearTimeout(a.locateNowTimout);
locationHandler(b,a);
console.log("location watch started",new Date().getTime());
if(navigator.geolocation){a.locateNowTimout=setTimeout("locationTimeoutHandler('"+b+"')",1000);
console.log("skip setting watch position, it just breaks FF + Firebug");
a.watchId=true
}else{locationTimeoutHandler(b);
a.watchId=null
}}}function locationUpdateHandler(b,a){console.log("locationUpdateHandler",b);
if(dojo.hasClass(a,"locate")){console.log("already locating, return");
return
}locationHandler(b,a);
console.log("location update fired",new Date().getTime());
clearTimeout(a.locateNowTimout);
a.isCancelled=false;
if(navigator.geolocation){a.locateNowTimout=setTimeout("locationTimeoutHandler('"+b+"')",45000);
navigator.geolocation.getCurrentPosition(function(c){console.log("nameless inner function using closure");
clearTimeout(a.locateNowTimout);
a.locateNowTimout=setTimeout("locationTimeoutHandler('"+b+"')",60000);
Common.reverseGeocodeCall(c.coords.latitude,c.coords.longitude,"(function(json){locationCallback(json, '"+b+"');})")
},function(c){console.log("nameless error inner function using closure",new Date().getTime());
clearTimeout(a.locateNowTimout);
console.log("cleared timeout");
if(c.code==c.TIMEOUT){console.log("got timeout error")
}else{if(c.code==c.POSITION_UNAVAILABLE){console.log("got unavailable error")
}else{if(c.code==c.PERMISSION_DENIED){console.log("got permission denied error")
}}}locationTimeoutHandler(b)
},{maximumAge:1000,timeout:30000})
}else{if(typeof nokiaLocationHandler!="undefined"){nokiaLocationHandler(b,a)
}else{locationTimeoutHandler(b)
}}}function locationTimeoutHandler(c){console.log("locationTimeoutHandler",c);
var b=dojo.byId(c+"AddressLocationError"),a=labels.locate_nolocation+createBasicButton({sizestyle:"fullWidth",padding:"singlePadding",icon:"img/refresh.png",iconheight:"20px",bgcolor:"darkgray roundedButton",txtcolor:"textColorWhite ",label:labels.restart_app,href:"start.html",nonewwindow:true});
if(b){b.innerHTML=a;
dojo.removeClass(b,"hidden")
}else{dojo.place('<div id="'+c+'AddressLocationError" class="red">'+a+"</div>",c+"AddressContainer")
}dojo.removeClass(c+"AddressFieldContent","hidden");
homeButtonHandler(dojo.byId(c+"HomeButtonContainer"));
Page.updateAddress(c)
}function setAddressFieldContent(c,b){var a=dojo.byId(c+"AddressFieldContent");
if(typeof a.value==="string"){a.value=getAddressLabel(b)
}else{a.innerHTML=getAddressLabel(b)
}addLocObjToLatest(b)
}function selectHandler(e,b,a){console.log("selectHandler",b,a);
var c=dojo.byId(e+"AddressLocationError");
if(c){dojo.addClass(c,"hidden")
}if(a){dojo.addClass(a,"hidden")
}dojo.addClass("globalModalPane","hidden");
addLocObjToLatest(b);
Page.updateAddress(e,b);
var d=dojo.byId(e+"HomeButtonContainer");
if(dojo.hasClass(d,"go")){dojo.removeClass(d,"go");
dojo.addClass(d,"close");
dojo.removeClass(d.idpf+"AddressFieldContent","onModalPane");
dojo.removeClass(d,"onModalPane")
}}function locationCallback(b,d){console.log("locationCallback");
var c=dojo.byId(d+"HomeButtonContainer");
clearTimeout(c.locateNowTimout);
var a=geocodeParser(b);
console.log("locationCallback got "+dojo.toJson(b)+" parsed "+dojo.toJson(a));
dojo.addClass(d+"LocateProgress","hidden");
dojo.removeClass(d+"AddressFieldContent","hidden");
if(dojo.hasClass(c,"locate")){homeButtonHandler(c,true)
}selectHandler(d,a[0])
}function addLocObjToLatest(b){var c,a=window.adforeObj.latest.length;
if(b.s&&!b.name){console.log("sensor based locObj",b);
window.adforeObj.gpsLocObj=dojo.clone(b);
return
}if(b.name){return
}for(c=0;
c<a;
c++){if(b.addr==window.adforeObj.latest[c].addr){window.adforeObj.latest.splice(c,1);
break
}}window.adforeObj.latest.unshift(dojo.clone(b));
while(window.adforeObj.latest.length>5){window.adforeObj.latest.pop()
}}function selectMunicipalitySuggestion(d,c,b){console.log("selectMunicipalitySuggestion",d,c,b);
var a=dojo.byId(c);
a.value=d;
a.focus();
dojo.addClass(b,"hidden")
}function getPos(){return{latitude:window.adforeObj.locObj.lat,longitude:window.adforeObj.locObj.lon}
}function geocodeAddressFieldHandler(c,b,e){if(Common.isEnter(b)){homeButtonHandler(dojo.byId(c+"HomeButtonContainer"));
e.blur()
}else{var j="",f,d,g=e.value.toLowerCase(),h=cityObjArray[g.charAt(0)],a=dojo.byId(c+"AddressFieldListPanel");
if(h){for(f=0;
f<h.length;
f++){d=h[f];
if(d.name.toLowerCase().indexOf(g)!=-1){j+='<a href="#" class="select block" onclick="selectMunicipalitySuggestion(\'';
j+=d.name;
j+="', '"+c+"AddressFieldContent', '"+a.id+"');return false;\">";
j+=d.name;
j+="</a>"
}}}if(j){a.innerHTML=j;
dojo.removeClass(a,"hidden")
}else{dojo.addClass(a,"hidden")
}}}function homeButtonHandler(g,d){console.log("general homeButtonHandler");
var f,a="",e,c;
if(dojo.hasClass(g,"locate")){dojo.removeClass(g,"locate");
dojo.addClass(g,"close");
if(!d&&(typeof cancelNokiaLocationHandler!="undefined")){cancelNokiaLocationHandler(g.idpf,g)
}dojo.addClass(g.idpf+"LocateProgress","hidden");
dojo.removeClass(g.idpf+"AddressFieldContent","hidden")
}else{if(dojo.hasClass(g,"go")){console.log("do lookup");
var b=dojo.byId(g.idpf+"AddressFieldContent").value,h=findCityJson(b);
if(h){selectHandler(g.idpf,geocodeParser(h)[0],dojo.byId(g.idpf+"AddressFieldListPanel"));
dojo.addClass(g.parentNode,"city")
}else{Common.geocodeCall(sanitizeAddress(b),"(function(json){updateGeocodeSuggestions('"+g.idpf+"',json);})")
}}else{if(dojo.hasClass(g,"open")){dojo.removeClass(g,"open");
dojo.addClass(g,"close");
dojo.addClass(g.idpf+"HomeButtonListPanel","hidden");
dojo.addClass("globalModalPane","hidden")
}else{dojo.removeClass(g,"close");
dojo.addClass(g,"open");
a+='<div class="listPanelHeader locatedHeader">';
a+=labels.located_locations;
a+='</div><div class="listPanelLocatedBgColor">';
if(window.adforeObj.gpsLocObj){a+=createSelectHandlerButton(g.idpf,window.adforeObj.gpsLocObj,"sensor")
}a+='<a href="#" class="block select italic" onclick="this.parentNode.parentNode.parentNode.handler();';
a+="locationUpdateHandler('";
a+=g.idpf;
a+="',this.parentNode.parentNode.parentNode);return false;\">";
a+='<img class="locate valignMiddle" width="16" src="img/refresh_dark.png">';
a+="&nbsp;"+labels.locate_now;
a+="</a>";
a+="</div>";
a+='<div class="listPanelHeader storedHeader">';
a+=labels.stored_locations;
a+='</div><div class="listPanelStoredBgColor">';
e=window.adforeObj.stored;
for(c=0;
c<e.length;
c++){a+=createSelectHandlerButton(g.idpf,e[c],"stored")
}console.log("saved disabled due to no locObj",g.idpf,window.adforeObj[g.idpf]);
if(window.adforeObj[g.idpf]&&window.adforeObj[g.idpf].lat&&window.adforeObj[g.idpf].lon){a+='<a href="#" class="block select italic dialog';
a+="\" onclick=\"dojo.toggleClass(this.parentNode, 'openDialog');var field = dojo.byId('"+g.idpf+"SaveLocationLabelField');field.value = window.adforeObj."+g.idpf+'.addr;field.focus();field.select();return false;">';
a+='<img src="img/saveplace.png" class="locate saveIcon valignMiddle" width="20" />';
a+='<span class="dialogLabel saveLabel">&nbsp;'+labels.store_location+"</span>";
a+='<span class="dialogLabel saveOpenedLabel">&nbsp;'+labels.storing_location+"</span>";
a+="</a>";
a+=createSaveDialog(g.idpf)
}else{console.log("nothing to save...")
}a+="</div>";
a+='<div class="listPanelHeader latestHeader">';
a+=labels.latest_locations;
a+="</div><div>";
e=window.adforeObj.latest;
for(c=0;
c<e.length;
c++){a+=createSelectHandlerButton(g.idpf,e[c],"latest")
}a+='<a href="#" class="block select italic listPanelLatestLabel manageDisabled" onclick="dojo.addClass(this.parentNode.parentNode, \'remove\');return false;">';
a+=labels.manage_latest;
a+="</a>";
a+=createBasicButton({sizestyle:"manageEnabled",padding:"halfTopMargin halfSideMargin halfBottomMargin ",contentPadding:"halfTopPadding halfBottomPadding center roundedButton whiteBorder ",bgcolor:"buttonGreen",txtcolor:"textColorWhite ",label:"&nbsp;"+labels.manage_done,handler:"cleanManage(this.parentNode.parentNode.parentNode.parentNode.parentNode);this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.handler();"});
a+='<div class="inlineClear"></div></div>';
f=dojo.byId(g.idpf+"HomeButtonListPanel");
f.innerHTML=a;
dojo.removeClass(f,"hidden remove");
f=dojo.byId("globalModalPane");
f.onclick=g.handler;
dojo.removeClass(f,"hidden")
}}}}function saveLocationHandler(b,a,d){console.log("saveLocationHandler",b,a,d);
var c=dojo.clone(window.adforeObj[a]);
c.name=dojo.byId(a+"SaveLocationLabelField").value;
console.log("saving with label",c.name);
delete c.s;
c.oid=window.adforeObj.stored.length;
window.adforeObj.stored.push(c);
dojo.place(createSelectHandlerButton(a,c,"stored"),d,"before");
Page.updateAddress(a,c);
storeAdforeObj();
b.parentNode.parentNode.handler()
}function deleteLocationHandler(b,a,d,c){console.log("deleteLocationHandler",b,a,d,c);
var e=(typeof(d.oid)!="undefined"?d.oid:-1);
if(d.s){delete window.adforeObj.gpsLocObj
}else{if((e==-1)&&(!d.s)){for(e=0;
e<window.adforeObj[c].length;
e++){if((window.adforeObj[c][e].lat==d.lat)&&(window.adforeObj[c][e].lon==d.lon)&&(window.adforeObj[c][e].city==d.city)&&(window.adforeObj[c][e].pc==d.pc)&&(window.adforeObj[c][e].addr==d.addr)){window.adforeObj[c].splice(e,1);
break
}}}else{window.adforeObj[c].splice(e,1);
for(;
e<window.adforeObj[c].length;
e++){window.adforeObj[c][e].oid=e
}}}if((typeof d.oid!="undefined")&&(d.oid==window.adforeObj[a].oid)){delete window.adforeObj[a].oid;
delete window.adforeObj[a].name;
Page.updateAddress(a)
}storeAdforeObj();
dojo.destroy(b.previousSibling);
dojo.destroy(b.previousSibling);
dojo.destroy(b)
}function updateGlobalDate(){globalDate=new Date()
}function logoutCB(){}var logoutSession;
function logout(c){console.log("upgrade logout to logout2, without data as there in no point");
logoutSession=window.adforeObj.adforeSession;
var b=dojo.byId("hiddenIFrame"),a="logout.html";
b.iecrap=function(){};
b.src=a;
window.adforeObj=initAdforeObj();
storeAdforeObj(true);
bookmarks=[];
console.log("logout clear userviews");
if(ContextPage.initialized){ContextPage.createUserview(true)
}if(RoutesPage.initialized){RoutesPage.setupSavedRoutes()
}console.log("logout force update");
Page.forceUpdate();
console.log("logout menupage show");
MenuPage.show();
console.log("logout done")
}function storeAdforeObj(c,d){console.log("storeAdforeObj");
setKeyValue("adforeObj",window.adforeObj);
if(c){return
}if(window.adforeObj.adforeSession&&!window.langChange){console.log("save adforeObj");
var b=dojo.byId("hiddenIFrame"),a="save.html";
if(b){if(d){b.iecrap=d
}else{b.iecrap=function(){}
}b.src=a
}}}function changeLang(a){window.adforeObj.lang=a;
window.adforeObj.langChange=true;
storeAdforeObj(true);
Common.addTrackedEvent("MLangChange;"+new Date().getTime()+";"+window.adforeObj.uid+";"+window.uit+";"+a);
window.location.reload()
}function check(c,a){dojo.destroy("checkScript");
var b="https://"+server+"/user/auth/check2/"+c+"?jsret="+(a?a:"saveDone")+"&ts="+new Date().getTime()+"&uit="+window.uit;
dojo.create("script",{id:"checkScript",type:"text/javascript",src:b},dojo.body(),"last")
}function saveDone(a){console.log("saveDone "+dojo.toJson(a));
window.adforeObj=verifyAdforeObj(a)
}function loginDone(b){console.log("loginDone "+dojo.toJson(b));
var c=getLocale();
window.adforeObj=verifyAdforeObj(b);
if(window.adforeObj.lang!=c){changeLang(window.adforeObj.lang)
}if(ContextPage.initialized){ContextPage.createUserview(true)
}if(RoutesPage.initialized){RoutesPage.setupSavedRoutes()
}Page.forceUpdate();
var a=window.adforeObj.lastPage?window.adforeObj.lastPage:"menuPage";
Pages[a].show();
storeAdforeObj(true)
}function checkDone(a){console.log("does checkDone work? cookie:"+dojo.toJson(a));
var b=getLocale();
window.adforeObj=verifyAdforeObj(a);
console.log("lang",b,"adforeObj.lang",window.adforeObj.lang,"test",(window.adforeObj.lang!=b));
if(window.adforeObj.lang!=b){changeLang(window.adforeObj.lang)
}init()
}function exitApp(a){Common.flushTrackedEvents(true);
if(window.widget){dojo.removeClass("loadingMap","hidden");
window.location.href="#loadingMap"
}if(!window.adforeObj||window.skipSave){return
}else{storeAdforeObj(true)
}if(a){window.onunload=function(){}
}}function removePlaceholder(a){if(dojo.hasClass(a,"placeholder")){a.value="";
dojo.removeClass(a,"placeholder")
}}function parseSpot(c,a){var b="";
if(c.ad){b=createAdItem(c.ad,c.ad.poiId,null,true,c.ad.poiName,c.ad.lat,c.ad.lon)
}else{if(c.im){b=createMessageItem(c,true)
}}dojo.byId(a).innerHTML=b
}function checkEventLoadingMode(a){var b=1;
if(dojo.byId("eventDateSelector").selectedIndex==7){b=2
}setEventLoadingMode(b);
updatePOIs(window.adforeObj.lastState.latitude,window.adforeObj.lastState.longitude)
}function setEventLoadingMode(a){channels.srch_events.mode=a
}function getEventLoadingMode(){return channels.srch_events.mode
}function benchmark(){var f,e,d,c,b,k,a,h,g;
g=300;
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
dojo.place('<div id="benchmarkresults"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
b=dojo.byId("benchmarkresults");
alert("running benchmark tests");
d=new Date();
h="<div>harness test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
a="";
for(f=0;
f<g;
f++){a+='<div id="benchmarkTarget'+f;
a+='" class="fullBenchmarkPointer benchmarkPointer';
a+=f;
a+='"></div>'
}k.innerHTML=a;
h="<div>Generation test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k);
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
d=new Date();
for(f=0;
f<g;
f++){a='<table id="benchmarkTable'+f;
a+='" class="fullBenchmarkTablePointer benchmarkTablePointer';
a+=f;
a+='"><tr><td>fuu</td></tr></table>';
dojo.place(a,k,"last")
}h="<div>Dojo.place table test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k);
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
d=new Date();
for(f=0;
f<g;
f++){a=document.createElement("div");
a.id="benchmarkTarget"+f;
a.className="fullBenchmarkPointer benchmarkPointer";
a.appendChild(document.createTextNode("fuu"));
k.appendChild(a)
}h="<div>Create element test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k);
dojo.place('<div id="benchmark"></div>',dojo.body(),"last");
k=dojo.byId("benchmark");
d=new Date();
for(f=0;
f<g;
f++){a='<div id="benchmarkTarget'+f;
a+='" class="fullBenchmarkPointer benchmarkPointer';
a+=f;
a+='">fuu</div>';
dojo.place(a,k,"last")
}h="<div>Dojo.place test: "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
for(f=0;
f<g;
f++){c=dojo.byId("benchmarkTarget"+f)
}h="<div>By id test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
for(f=0;
f<g;
f++){c=dojo.query(".benchmarkPointer"+f,k)[0]
}h="<div>Limited query test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
for(f=0;
f<g;
f++){c=dojo.query(".benchmarkPointer"+f)[0]
}h="<div>Unlimited query test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
d=new Date();
c=dojo.query(".fullBenchmarkPointer")[0];
h="<div>Full query test for "+c.id+": "+(new Date().getTime()-d.getTime())+" ms</div>";
b.innerHTML+=h;
dojo.destroy(k)
}function displayMessage(d,e,b){console.log("displayMessage mobile",d,e,b);
b=b?"#"+b+" ":"";
e=e?"div.resultItemContainer.id"+e+" ":"";
var a=b+e+" div.resultMessage";
var c=createMessageItem(d);
dojo.query(a).addClass("borderedTop resultPadding")[0].innerHTML=c;
console.log("rendered message",c)
}function parseAnnouncement(b){if(b&&b.info&&b.info.length>0){var a=dojo.byId("announcement");
if(a.innerHTML!=b.info){dojo.removeClass("announcement","hidden")
}a.innerHTML=b.info
}}function checkAnnouncement(){var a=baseUrl+"/resources/im/announcement";
a+="?v="+window.currentVersion+"&l="+djConfig.locale;
a+="&u="+window.adforeObj.uid+"&uit="+window.uit;
dojo.xhrGet({url:a,handleAs:"json",load:function(b){parseAnnouncement(b);
return b
},failOk:true})
}function createLangDropdownButton(){var a=[];
if(getLocale()!="fi"){a.push({onclick:"changeLang('fi');",name:'<img class="commandIcon" height="16" src="img/fi.png" /><span>Suomi</span>'})
}if(getLocale()!="en"){a.push({onclick:"changeLang('en');",name:'<img class="commandIcon" height="16" src="img/en.png" /><span>English</span>'})
}if(getLocale()!="ru"){a.push({onclick:"changeLang('ru');",name:'<img class="commandIcon" height="16" src="img/ru.png" /><span>Русский</span>'})
}dojo.byId("settingsButton").innerHTML='<div class="commandButton roundedButton footerButton halfMargin halfTopPadding halfBottomPadding whiteBorder"><div class="commandContainer center"><img class="commandIcon" height="16" src="img/langmenu.png" /><span class="bold">Language</span><img class="inlineFloatRight commandDownArrow" height="18" src="img/arrow_down_black.png" /></div><a class="block fullSize" href="#" onclick="dojo.removeClass(this.nextSibling, \'hidden\');var modal = dojo.byId(\'globalModalPane\');modal.popup=this.nextSibling;modal.onclick=modalPaneOnclick;dojo.removeClass(modal, \'hidden\');Common.stopEvent(event);return false;"></a><div class="hidden fullWidth popup popupMenu aboveButton">'+_createDropdownOptionMenu(a)+"</div></div></div>"
};
