  var siteName = 'supersaver_fi';

  var WebConstants = {
    ALLOW_LETTERS_IN_ZIPCODE : false,
    RE_JS_WORD_CHARACTERS : '\wÀÁÂÃÄÅÆÇÈÉÊËİÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿŒœŠšŸΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψω',
    REGEXP_JS_ALPHABETIC_STRING : /^[\wÀÁÂÃÄÅÆÇÈÉÊËİÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿŒœŠšŸΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψω\s-]+$/,
    REGEXP_JS_ALPHANUMERIC_STRING : /^[\wÀÁÂÃÄÅÆÇÈÉÊËİÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿŒœŠšŸΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψω\d\s]+$/
  };

  var IBE = {
    CarrierPromoWidth : 530,
    CarrierPromoHeight : 600,
    CalendarNames : {
      MONTHS_SHORT:['tam','hel','maa','huh','tou','kes','hei','elo','syy','lok','mar','jou'],
MONTHS_LONG:['tammikuu','helmikuu','maaliskuu','huhtikuu','toukokuu','kesäkuu','heinäkuu','elokuu','syyskuu','lokakuu','marraskuu','joulukuu'],
WEEKDAYS_1CHAR:['s','m','t','k','t','p','l'],
WEEKDAYS_SHORT:['su','ma','ti','ke','to','pe','la'],
WEEKDAYS_MEDIUM:['su','ma','ti','ke','to','pe','la'],
WEEKDAYS_LONG:['sunnuntai','maanantai','tiistai','keskiviikko','torstai','perjantai','lauantai']
    },
    debug : false,
    environment : 'prod'
  };
  var UiText = {
    textMap: {
             'Air.Search.EarlyReturnTripDate' : 'Olet valinnut liian aikaisen paluupäivän. Ensimmäinen mahdollinen paluupäivä on',
       'Air.Search.EarlyTripToDate' : 'Olet valinnut liian aikaisen lähtöpäivän. Ensimmäinen mahdollinen lähtöpäivä on {0}.',
       'Air.Search.EnterDestination' : 'Kirjoita matkakohde!',
       'Air.Search.InvalidReturnTripDate' : 'Antamasi paluupäivä on virheellinen',
       'Air.Search.InvalidTripToDate' : 'Antamasi lähtöpäivä on virheellinen',
       'Air.Search.ReturnTripDateBeforeTripToDate' : 'Olet antanut paluupäivän, joka on ennen lähtöpäivää',
       'Air.Search.StillSearching' : 'Edellinen hakusi on vielä käynnissä.',
       'Air.SelectCons.ChooseBoth' : 'Valitse sekä meno- että paluumatka',
       'Car.PickupStation.NotSelected' : 'Valitse noutopaikka',
       'Car.Search.InvalidPickupDate' : 'Tarkista palautusaika.',
       'Car.Search.InvalidReturnDate' : 'Tarkista palautusaika.',
       'Car.Search.EarlyPickupToDate' : 'Valitsemasi noutopäivä on liian aikainen. Ensimmäinen mahdollinen noutopäivä on {0}.',
       'Car.Search.ReturnDateBeforePickupDate' : 'Palautuspäivä ei voi olla aikaisempi kuin noutopäivä.',
       'Car.FlightNo.IsEmpty' : 'Ole hyvä ja anna lennonnumero',
       'Car.FlightArrivalTime.IsEmpty' : 'Ole hyvä ja anna lennon saapumisaika muodossa tt:mm.',
       'Car.FlightArrivalTime.OnlyDigits' : 'Lennon aika voi sisältää vain numeroita',
       'Combo.Search.CheckInDateBeforeDepartureDate' : 'Hotelliin sisäänkirjautuminen ei voi olla ennen kohteeseen saapumista',
       'Combo.Search.CheckOutDateAfterReturnDate' : 'Hotellista lähtö ei voi olla paluupäivän jälkeen',
       'Combo.Search.CheckOutDateBeforeCheckInDate' : 'Hotellista lähtö ei voi olla ennen hotelliin saapumista',
       'Combo.Search.ChooseDepartureCity' : 'Valitse lähtöpaikkakunta',
       'Combo.Search.EarlyCheckInDate' : 'Olet valinnut liian aikaisen saapumispäivän. Aikaisin hotelliin saapumispäivä on',
       'Combo.Search.EarlyCheckOutDate' : 'Olet valinnut liian aikaisen lähtöpäivän. Aikaisin lähtöpäivä hotellista on',
       'Combo.Search.EarlyReturnTripDate' : 'Olet valinnut liian aikaisen paluupäivän. Aikaisin paluupäivä on',
       'Combo.Search.EarlyTripToDate' : 'Olet valinnut liian aikaisen lähtöpäivän. Aikaisin lähtöpäivä on',
       'Combo.Search.EnterDestination' : 'Kirjoita matkakohde!',
       'Combo.Search.InvalidDepCheckInDate' : 'Lähtöpäivä tai saapumispäivä hotelliin ei kelpaa',
       'Combo.Search.InvalidRetCheckOutDate' : 'Paluupäivä tai lähtöpäivä hotellista ei kelpaa',
       'Combo.Search.ReturnTripDateBeforeTripToDate' : 'Olet antanut paluupäivän, joka on ennen lähtöpäivää',
       'Combo.Search.SameHotelDate' : 'Saapumis- ja lähtöpäivä eivät voi olla samoja',
       'Combo.Search.StillSearching' : 'Haku on vielä käynnissä',
       'Confirmation.EnterInfo.Email' : 'Sähköpostiosoite johon varausvahvistus lähetetään',
       'Confirmation.EnterInfo.OrderNumber' : 'Tilausnumero',
       'ContactForm.Message' : 'Viestisi',
       'ContactForm.OrderNumber' : '',
       'General.Currency.Symbol' : ' €',
       'General.Currency.Format' : '{0} €',
       'Hotel.Search.EarlyReturnTripDate' : 'Olet valinnut liian aikaisen paluupäivän. Ensimmäinen mahdollinen paluupäivä on',
       'Hotel.Search.EarlyTripToDate' : 'Olet valinnut liian aikaisen lähtöpäivän. Ensimmäinen mahdollinen lähtöpäivä on',
       'Hotel.Search.InvalidCheckInDate' : 'Olet antanut virheellisen saapumispäivän hotelliin',
       'Hotel.Search.InvalidCheckOutDate' : 'Olet antanut virheellisen lähtöpäivän hotellista',
       'Hotel.Search.EarlyCheckInDate' : 'Olet valinnut liian aikaisen sisäänkirjoittautumispäivän. Aikaisin mahdollinen päivämäärä on {0}.',
       'Hotel.Search.LateCheckOutDate' : 'Olet valinnut liian myöhäisen uloskirjoittautumispäivän. Viimeisin mahdollinen päivämäärä on {0}.',
       'Hotel.Search.ReturnTripDateBeforeTripToDate' : 'Antamasi paluupäivä on ennen lähtöpäivää',
       'Hotel.Search.SameHotelDate' : 'Saapumis- ja lähtöpäivät eivät voi olla samoja',
       'Hotel.Search.StillSearching' : 'Edellinen hakusi on vielä käynnissä.',
       'Hotel.Search.TooManyNights' : 'Liian pitkä majoitusaika. Majoituksen kesto ei saa ylittää 30 vuorokautta.',
       'Input.Validation.ChildAgesRequired' : 'Jotta löytäisimme edullisimmat hinnat perheellenne, ole hyvä ja anna lasten syntymäajat.',
       'JavaScript.ProductType.AddSales.AllNotSelected' : 'Ilmoita, haluatko ottaa Peruutusturva ja/tai vakuutuksen lentoyhtiön konkurssin varalta.',
       'Javascript.CC.InvalidCardNum' : 'Virheellinen luottokortin numero.',
       'Javascript.CC.InvalidExpiryDate' : 'Tarkista kortin voimassaoloaika',
       'Javascript.Util.BonusCard' : 'Anna voimassaoleva kanta-asiakaskortin numero.',
       'Javascript.Util.Emai2' : 'Et ole antanut kahta samaa sähköpostiosoitetta.',
       'Javascript.Util.Email' : 'Anna sähköpostiosoite. Hyväksyttyjä merkkejä ovat aakkoset A:sta Z:aan (ei ääkkösiä), numerot 0:sta 9:ään, \'@\', \'_\' sekä \'.\'.',
       'Javascript.Util.EuroBonusCard' : 'EuroBonus -numero sisältää 3 kirjainta ja 9 numeroa.',
       'Javascript.Util.FirstName' : 'Anna etunimi. Nimi voi sisältää vain tavallisia aakkosia, ei esim. väliviivaa.',
       'Javascript.Util.LastName' : 'Anna sukunimi. Nimi voi sisältää vain tavallisia aakkosia.',
       'Javascript.Util.PaxNameTooLong' : 'Matkustajan nimi on liian pitkä. Nimen maksimipituus on 24 merkkiä. Vihje: Syötä sukunimi niin kuin se on passissa ja syötä vain matkustajan ensimmäinen etunimi.',
       'Javascript.Util.Phone' : 'Anna puhelinnumero. Puhelinnumero voi sisältää vain numeroita.',
       'Javascript.Validation.AdultDateOfBirthRequired' : 'Ole hyvä ja anna syntymäaikasi.',
       'Javascript.Validation.AdultAgeMismatchTooYoung' : 'Olet antanut iäksi {0} joka on liian alhainen aikuiselle. Syntymäaika tulee olla {0} tai aikaisemmin.',
       'Javascript.Validation.ChildAgeMismatchTooOld' : 'Antamasi syntymäajan {0} mukaan lapsen ikä matkan päättyessä on (yli {1} vuotta). Ensimmäinen mahdollinen syntymäaika tulisi olla {2}.'+'\n'+'',
       'Javascript.Validation.ChildAgeMismatchTooYoung' : 'Antamasi syntymäajan {0} mukaan lapsi ei ole vielä {1} vuotta matkan päättyessä. Syntymäpäivän olisi pitänyt olla viimeistään {2}.',
       'Javascript.Validation.ChooseCity' : 'Valitse kaupunki hakua varten.',
       'Javascript.Validation.CannotPaste' : 'Turvallisuussyistä ole hyvä ja syötä tieto käsin',
       'Javascript.Validation.InvalidAddress' : 'Anna osoite.',
       'Javascript.Validation.InvalidBank' : 'Ole hyvä ja valitse pankki',
       'Javascript.Validation.InvalidCVVCode' : 'Ole hyvä ja tarkista antamasi CVV-numero',
       'Javascript.Validation.InvalidCardType' : 'Ole hyvä ja tarkista valitsemasi luottokortin tyyppi',
       'Javascript.Validation.InvalidChildAge' : 'Anna lapsen ikä.',
       'Javascript.Validation.InvalidCity' : 'Paikkakunta (ei postinumeroa)',
       'Javascript.Validation.InvalidCountry' : 'Kirjoita maan nimi maakenttään.',
       'Javascript.Validation.InvalidDestination' : 'Kirjoita kaupunki tai paikkakunta kohdekenttään.',
       'Javascript.Validation.InvalidMobile' : 'Tarkista antamasi puhelinnumero',
       'Javascript.Validation.InvalidNumGuests' : 'Henkilömäärä ei täsmää vuoteiden lukumäärän kanssa. Alle 2-vuotiaat lapset eivät tarvitse vuodepaikkaa.',
       'Javascript.Validation.InvalidOrigin' : 'Anna lähtökaupunki.',
       'Javascript.Validation.InvalidPaytype' : 'Valitse verkkomaksu/pankki',
       'Javascript.Validation.InvalidPersonalId' : 'Sosiaaliturvatunnus on pakollinen',
       'Javascript.Validation.InvalidProvince' : 'Maakunta on pakollinen',
       'Javascript.Validation.InvalidTitle' : 'Ole hyvä ja anna sukupuoli',
       'Javascript.Validation.InvalidTravelConditions' : 'Sinun tulee hyväksyä matkaehdot',
       'Javascript.Validation.InvalidZipCode' : 'Anna pelkkä postinumero (ei kirjaimia).',
       'Javascript.Validation.MaxNumInfantsAdult' : 'Enintään yksi sylilapsi per aikuinen.',
       'Javascript.Validation.MaxNumSeats' : 'Lentopaikkojen enimmäismäärä per varaus:',
       'Javascript.Validation.Pieces' : 'kpl',
       'Javascript.Validation.SameNameRestriction' : 'Sinun tulee antaa eri nimi eri huoneisiin majoittuville matkustajille.',
       'Javascript.Validation.AnySameNameRestriction' : 'Et voi antaa samaa nimeä eri matkustajille',
       'Javascript.ValidationHeader' : 'Ole hyvä ja täytä puuttuvat tiedot',
       'Javascript.Validation.InvalidPaymentMethod' : 'Et ole valinnut maksutapaa',
       'OrderNumber' : 'Tilausnumero',
       'PassengerType.ChildAge.Missmatch' : 'Lapsen syntymäaika ei vastaa valitsemaasi matkustajatyyppiä. Ole hyvä ja aloita alusta.',
       'Payment.P.Mobile' : 'Matkapuhelin',
       'ProgressMessage.Air.Booking' : '<span class=\'AltTextBody\'>Tietosi lähetetään varausjärjestelmäämme lentovarauksen tekemiseksi. Korkeat tietoturvavaatimukset saattavat pitkittää varauksen teon jopa 45 sekuntiin. Pyydämme sinua olemaan liikuttamatta hiirtä tai koskemasta näppäimistöön tuona aikana.<br>Kiitämme kärsivällisyydestäsi.</span>',
       'ProgressMessage.Air.Search' : '<br>Supersaver tarkastaa paikkatilannetta ja etsii sitten parhaat hinnat.',
       'ProgressMessage.Combo.Booking' : '<span class=\'AltTextBody\'>Tietosi lähetetään varausjärjestelmäämme lentovarauksen tekemiseksi. Korkeat tietoturvavaatimukset saattavat pitkittää varauksen teon jopa 45 sekuntiin. Pyydämme sinua olemaan liikuttamatta hiirtä tai koskemasta näppäimistöön tuona aikana.<br>Kiitämme kärsivällisyydestäsi.</span>',
       'ProgressMessage.Combo.Search' : '<br>Supersaver tarkastaa paikkatilannetta ja etsii sitten parhaat hinnat.',
       'ProgressMessage.Header' : 'Valintaasi käsitellään.',
       'ProgressMessage.Hotel.Booking' : 'Valintaasi käsitellään.',
       'ProgressMessage.Hotel.Search' : '<br>Supersaver tarkastaa paikkatilannetta ja etsii sitten parhaat hinnat.',
       'ProgressMessage.Payment' : '<p><br>Järjestelmä vahvistaa parhaillaan varaustasi.<br>Aikaa kuluu joitakin sekunteja. Älä koske näppäimistöön äläkä liikuta hiirtä sinä aikana.</p>',
       'ProgressMessage.SmallSearch' : 'Valintaasi käsitellään.',
       'Receipt.R.OrderNum' : 'Tilausnumero',
       'Site.Email.Info' : 'varaus@supersaver.fi',
       'Site.Email.Reservation' : 'varaus@supersaver.fi',
       'Site.Email.Sales' : 'varaus@supersaver.fi',
       'Site.HostName' : 'www.supersaver.fi',
       'Site.Name' : 'Supersaver',
       'User.Registration.PageHeader' : 'Rekisteröidy uutena asiakkaana',
       'User.Registration.Content' : 'Rekisteröidy asiakkaaksemme ja sinulle avautuu täysin uusi maailma.',
       'User.Registration.SuccessContent' : 'Profiilisi on luotu! Saat viestin sähköpostiisi jossa on ohjeet kuinka aktivoit profiilisi ja vahvistat antamasi sähköpostiosoitteen. ',
       'User.VerifyNewEmail.SuccessContent' : 'Uusi sähköpostiosoitteesi on vahvistettu ja vanha ei ole enää käytössä! SInut ohjataan uudelleen omille sivuille.',
       'User.VerifyEmail.SuccessContent' : 'Sähköpostiosoitteesi on vahvistettu. Voit kirjautua sisään ja alkaa käyttämään palveluitamme.',
       'User.LogoutUser.SuccessContent' : 'Olet kirjautunut ulos',
       'User.LoginUser.SuccessContent' : 'Olet kirjautunut sisään',
       'User.ForgotPassword.SuccessContent' : 'Ohjeet sisältävä viesti on lähetetty sähköpostiosoitteeseesi.',
       'User.SetNewPassword.SuccessContent' : '',
       'User.ChangeEmail.SuccessContent' : '',
       'User.Alert.FillOutFormCorrectly' : 'Ole hyvä ja täytä lomake oikein.',
       'User.Alert.CaptchaFailed' : 'Et antanut kuvan kirjaimia oikein. Ole hyvä ja yritä uudelleen. ',
       'User.Alert.SystemError' : 'Toimenpide epäonnistui järjestelmävirheen vuoksi. Ole hyvä ja yritä myöhemmin uudelleen.',
       'User.Alert.CodeSent' : 'Koodi on lähetetty antamaasi sähköpostiosoitteeseen.',
       'User.Alert.InvalidCode' : 'Ole hyvä ja tarkista antamasi koodi.',
       'User.Alert.InvalidEmail' : 'Järjestelmämme ei tunnista antamaasi sähköpostiosoitetta, ole hyvä ja tarkista se.',
       'User.Alert.InvalidModel' : 'Ainakin yksi täyttämistäsi kentistä ei kelpaa. Ole hyvä ja tarkista antamasi tiedot.',
       'User.Alert.InvalidPassword' : 'Antamasi salasana ei täsmää profiiliin.',
       'User.Alert.NotVerified' : 'Ole hyvä ja vahvista sähköpostiosoitteesi ennen kirjautumista.',
       'User.Alert.NotLoggedIn' : 'Sinun tulee kirjautua sisään käyttääksesi tätä toimintoa.',
       'User.Alert.Unknown' : 'Virheilmoitus: [{0}]',
       'User.Alert.InvalidEmail.VerifyNewEmail' : 'Sähköpostiosoite ei ole käytettävissä.',
       'User.Alert.MissingRequirement.RegisterUser' : '',
       'User.ForgotPassword.ValidationMessage.EmailNotInUse' : 'Kyseinen sähköpostiosoite ei ole käytössä.',
       'User.VerifyEmail.SuccessContent.AlreadyVerified' : '',
       'User.Alert.InvalidCode.SetNewPassword' : 'Antamasi koodi ei kelpaa. Salasana on jo muutettu tai olet syöttänyt virheellisen koodin.',
       'User.Alert.NotVerified.EmailSent' : 'Sähköpostiosoitettasi ei ole vielä vahvistettu. Uusi vahvistusviesti on lähetetty antamaasi osoitteeseen.',
       'User.General.Loading' : 'Lataa...',
       'Hotel.Result.NoHotelsMatchFilters' : 'Emme valitettavasti löytäneet hakuehtojasi vastaavaa hotellia.',
       'Hotel.Result.Filter.Stars.PricePrefix' : 'alk.',
       'Hotel.Result.Menu.Map.Label' : 'Katso kartta',
       'Hotel.Result.Menu.List.Label' : 'Katso lista',
       'Hotel.Result.List.Tabs.Overview.Label' : 'Yleiskuvaus',
       'Hotel.Result.List.Tabs.Description.Label' : 'Kuvaus',
       'Hotel.Result.List.Tabs.Photos.Label' : 'Valokuvat',
       'Hotel.Result.List.Tabs.Reviews.Label' : 'Arvostelut',
       'Hotel.Result.List.Tabs.Map.Label' : 'Kartta',
       'Hotel.Result.List.Tabs.Air.Label' : 'Lentotiedot',
       'Hotel.Result.List.ShowMoreButton.Label' : 'Näytä lisää hotelleja',
       'Hotel.Result.List.HotelsListedHeader' : 'Valittavana $0 hotellia ',
       'User.Details.MenuButton.Travellers' : 'Anna matkustajatiedot',
       'User.Details.MenuButton.Login' : 'Kirjautuminen',
       'User.Details.MenuButton.Register' : 'Luo profiili',
       'User.VerifyEmail.ValidationMessage.NotValidEmail' : 'Sähköpostiosoite ei kelpaa.',
       'User.VerifyEmail.ValidationMessage.NoSuchEmail' : 'Sähköpostiosoitetta vastaavaa profiilia ei ole luotu.',
       'User.VerifyEmail.ValidationMessage.NoCodeEntered' : 'Anna vahvistuskoodi.',
       'User.VerifyEmail.ValidationMessage.NoEmailEntered' : 'Anna sähköpostiosoite.',
       'User.VerifyEmail.ValidationMessage.InvalidLengthEntered' : 'Vahvistuskoodin tulee olla 32 merkkiä pitkä.',
       'User.VerifyEmail.ResultMessage.Failed' : 'Vahvistus epäonnistui. Annoitko oikean vahvistuskoodin ja sähköpostiosoitteen?',
       'User.VerifyEmail.ResultMessage.NoSuchEmail' : 'Sähköpostiosoitetta vastaavaa profiilia ei ole luotu.',
       'User.VerifyEmail.ResultMessage.AlreadyVerified' : 'Sähköpostiosoitteesi on jo vahvistettu! Sinut ohjataan hetken kuluttua kirjautumissivulle.',
       'User.VerifyEmail.ResultMessage.Success' : 'Sähköpostiosoitteesi on vahvistettu! Sinut ohjataan hetken kuluttua omille sivuillesi.',
       'User.SetNewPassword.ResultMessage.Success' : 'Salasanasi on vaihdettu!',
       'User.SetNewPassword.ResultMessage.NoSuchAccount' : 'Sähköpostiosoite ja vahvistuskoodi eivät täsmää. Ole hyvä ja tarkista molemmat ja yritä uudelleen.',
       'User.SetNewPassword.ResultMessage.Failed' : 'Salasanan vaihtaminen ei onnistunut, ole hyvä ja yritä uudelleen.',
       'User.SetNewPassword.ValidationMessage.NoPasswordEntered' : 'Anna salasana.',
       'User.SetNewPassword.ValidationMessage.PasswordTooWeak' : 'Salasanan pituuden tulee olla vähintään 6 merkkiä.',
       'User.SetNewPassword.ValidationMessage.NoPasswordRepeatEntered' : 'Anna salasana uudelleen.',
       'User.SetNewPassword.ValidationMessage.PasswordsDoNotMatch' : 'Et antanut samaa salasanaa.',
       'User.Registration.ResultMessage.Success' : '<b>Olet kirjautunut sisään ja sinulle on lähetetty viesti kuinka vahvistat sähköpostiosoitteesi ja aktivoit tilisi. Et voi kirjautua sisään uudelleen ennen kuin olet aktivoinut tilisi.</b>',
       'User.Registration.ResultMessage.Failed.CaptchaFailed' : 'Annettu teksti ei täsmää kuvan kanssa. Ole hyvä ja yritä uudelleen.',
       'User.Registration.ResultMessage.Failed.TooYoung' : 'Sinun tulee olla 18-vuotias voidaksesi rekisteröityä.',
       'User.Registration.ResultMessage.Failed.InvalidParameters' : 'Et antanut kaikkea vaadittavaa tietoa oikein. Ole hyvä ja anna tiedot uudelleen.',
       'User.DisabledMessage' : 'Kirjautuminen ei ole käytössä joten toimintoa ei voi käyttää.',
       'User.Profile.Texts.UserConditions' : '<h3>Omien sivujen käyttöehdot </h3>'+'\n'+'<p> </p>'+'\n'+'<p>Pyydämme, että hyväksyt käyttöehtomme, kun rekisteröit profiilisi Omien sivujen palvelussa. Hyväksymällä ehdot sallit, että Supersaver käsittelee henkilötietojasi tarkoituksena yksinkertaistaa hallinnollista työtä kohdallasi varausten ja ennakkotilauspalvelujen osalta sekä tuottaa sinulle jatkossakin korkealaatuista asiakaspalvelua. Tietojasi voidaan esimerkiksi käyttää tuottamaan palveluita, joita olet pyytänyt, sekä lähettämään tarjouksia tai muita mielenkiintoisia tietoja.</p>'+'\n'+'<p><a target=\'_blank\' href=\'/omien-sivujen\'>Linkki käyttöehtoihin</a></p>'+'\n'+'<p> </p>',
       'User.Profile.FormLabel.Private' : 'Koti',
       'User.Profile.FormLabel.Company' : 'Yritys',
       'User.Profile.FormLabel.Email' : 'Sähköposti',
       'User.Profile.FormLabel.EmailAgain' : 'Vahvista sähköpostiosoite',
       'User.Profile.FormLabel.Username' : 'Käyttäjätunnus',
       'User.Profile.FormLabel.Password' : 'Salasana',
       'User.Profile.FormLabel.PasswordAgain' : 'Vahvista salasana',
       'User.Profile.FormLabel.FirstName' : 'Etunimi',
       'User.Profile.FormLabel.LastName' : 'Sukunimi',
       'User.Profile.FormLabel.CompanyName' : 'Yritys',
       'User.Profile.FormLabel.OrgNumber' : 'Org.number',
       'User.Profile.FormLabel.BirthDate' : 'Syntymäaika',
       'User.Profile.FormLabel.Gender' : 'Sukupuoli',
       'User.Profile.FormLabel.Gender.Male' : 'Mies',
       'User.Profile.FormLabel.Gender.Female' : 'Nainen',
       'User.Profile.FormLabel.Address' : 'Osoite',
       'User.Profile.FormLabel.Co' : 'c/o',
       'User.Profile.FormLabel.Zipcode' : 'Postinumero',
       'User.Profile.FormLabel.City' : 'Paikkakunta',
       'User.Profile.FormLabel.Phone' : 'Puhelin',
       'User.Profile.FormLabel.CellPhone' : 'Matkapuhelin',
       'User.Profile.TabMenu.Overview.Label' : 'Yleiskuva',
       'User.Profile.TabMenu.Orders.Label' : 'Tilaukseni',
       'User.Profile.TabMenu.Account.Label' : 'Oma profiili',
       'User.Profile.TabMenu.Settings.Label' : 'Asetukset',
       'User.ProfileForm.ValidationMessage.NoEmailEntered' : 'Anna sähköpostiosoitteesi.',
       'User.ProfileForm.ValidationMessage.InvalidEmailEntered' : 'Sähköpostiosoite ei kelpaa.',
       'User.ProfileForm.ValidationMessage.EmailAlreadyTaken' : 'Antamasi sähköpostiosoite on jo käytössä.',
       'User.ProfileForm.ValidationMessage.NoEmailRepeatEntered' : 'Ole hyvä ja anna sähköpostiosoite uudelleen.',
       'User.ProfileForm.ValidationMessage.EmailRepeatDoNotMatch' : 'Tarkista antamasi sähköpostiosoite.',
       'User.ProfileForm.ValidationMessage.NoPasswordEntered' : 'Anna salasana.',
       'User.ProfileForm.ValidationMessage.PasswordTooWeak' : 'Salasanan tulee olla vähintään {0} merkkiä.',
       'User.ProfileForm.ValidationMessage.NoPasswordRepeatEntered' : 'Anna salasana uudelleen.',
       'User.ProfileForm.ValidationMessage.PasswordRepeatDoNotMatch' : 'Tarkista antamasi salasana.',
       'User.ProfileForm.ValidationMessage.NoFirstNameEntered' : 'Ole hyvä ja anna etunimi.',
       'User.ProfileForm.ValidationMessage.NoLastNameEntered' : 'Ole hyvä ja anna sukunimi.',
       'User.ProfileForm.ValidationMessage.NoBirthDateSelected' : 'Ole hyvä ja anna syntymäaikasi.',
       'User.ProfileForm.ValidationMessage.NoBirthYearSelected' : 'Ole hyvä ja valitse vuosi.',
       'User.ProfileForm.ValidationMessage.NoBirthMonthSelected' : 'Ole hyvä ja valitse kuukausi.',
       'User.ProfileForm.ValidationMessage.NoBirthDaySelected' : 'Ole hyvä ja valitse päivä.',
       'User.ProfileForm.ValidationMessage.TooYoung' : 'Sinun tulee olla vähintään 18-vuotias rekisteröityäksesi.',
       'User.ProfileForm.ValidationMessage.NoGenderSelected' : 'Valitse sukupuoli.',
       'User.ProfileForm.ValidationMessage.NoAddressEntered' : 'Anna osoite.',
       'User.ProfileForm.ValidationMessage.NoZipCodeEntered' : 'Anna postinumero.',
       'User.ProfileForm.ValidationMessage.ZipCodeInvalid' : 'Postinumero voi sisältää vain numeroita.',
       'User.ProfileForm.ValidationMessage.NoCityEntered' : 'Anna kaupunki.',
       'User.ProfileForm.ValidationMessage.NoPhoneEntered' : 'Anna puhelinnumero.',
       'User.ProfileForm.ValidationMessage.InvalidPhoneEntered' : 'Antamasi numero ei kelpaa, anna numero ilman välilyöntejä tai muita merkkejä.',
       'User.ProfileForm.ValidationMessage.NoMobilePhoneEntered' : 'Anna matkapuhelinnumero ',
       'User.ProfileForm.ValidationMessage.InvalidMobilePhoneEntered' : 'Antamasi numero ei kelpaa, anna numero ilman välilyöntejä tai muita merkkejä.',
       'User.ProfileForm.ValidationMessage.NoCaptchaResponseEntered' : 'Anna kuvassa näkyvät merkit.',
       'User.ProfileForm.ValidationMessage.AgreementNotAccepted' : 'Sinun tulee hyväksyä ehdot.',
       'User.Profile.ValidationMessage.EnterEmail' : 'Anna sähköpostiosoite.',
       'User.Profile.ValidationMessage.EnterPassword' : 'Ole hyvä ja anna salasana.',
       'User.Profile.ValidationMessage.EnterPasswordAgain' : 'Ole hyvä ja anna salasana uudelleen.',
       'User.Profile.Travellers.Error.UnableToStoreTraveller' : 'Tallennus ei onnistunut, täytitkö kaikki kentät?',
       'User.Profile.Travellers.Error.UnableToDeleteTraveller' : 'Kumppanin poisto ei onnistunut.',
       'User.Profile.Travellers.NoTravellers' : 'Et ole lisännyt vielä yhtään kumppania.',
       'User.Profile.Travellers.ConfirmDelete' : 'Oletko varma että haluat poistaa matkustajan?',
       'User.Profile.Travellers.AgePrefix' : '',
       'User.Profile.Travellers.AgeSuffix' : 'vuotta vanha',
       'User.Profile.Discounts.Error.UnableToFetchDiscounts' : 'Listaa luotaessa tapahtui virhe.',
       'User.Profile.Discounts.NoDiscounts' : 'Sinulla ei ole henkilökohtaisia bonuksia.',
       'User.Profile.Discounts.NoActiveDiscounts' : 'Sinulla ei ole voimassaolevia käyttämättömiä bonuksia.',
       'User.Profile.Orders.NoOrders' : 'Sinulla ei ole tilauksia',
       'User.Profile.Orders.OrderHasNoProducts' : 'Tilauksella ei ole tuotteita.',
       'User.Profile.Orders.NoActiveOrders' : 'Sinulla ei ole voimassaolevia tilauksia.',
       'User.Profile.Orders.NoArchivedOrders' : 'Sinulla ei ole vanhoja tilauksia',
       'User.Profile.ChangePassword.ResultMessage.Success' : 'Salasanasi on muutettu!',
       'User.Profile.ChangePassword.ValidationMessage.NoPasswordEntered' : 'Anna nykyinen salasana.',
       'User.Profile.ChangePassword.ValidationMessage.WrongPasswordEntered' : 'Väärä salasana.',
       'User.Profile.ChangePassword.ValidationMessage.NoNewPasswordEntered' : 'Anna uusi salasana.',
       'User.Profile.ChangePassword.ValidationMessage.NewPasswordTooWeak' : 'Salasanan pituus tulee olla vähintään {0} merkkiä.',
       'User.Profile.ChangePassword.ValidationMessage.NoNewPasswordRepeatEntered' : 'Anna uusi salasana uudelleen.',
       'User.Profile.ChangePassword.ValidationMessage.NewPasswordRepeatNoMatch' : 'Salasanan tulee olla sama molemmissa kentissä.',
       'User.Profile.ChangeEmail.ValidationMessage.NoPasswordEntered' : 'Anna salasana.',
       'User.Profile.ChangeEmail.ValidationMessage.WrongPasswordEntered' : 'Väärä salasana.',
       'User.Profile.ChangeEmail.ValidationMessage.NoNewEmailEntered' : 'Anna uusi sähköpostiosoite.',
       'User.Profile.ChangeEmail.ValidationMessage.NewEmailInvalid' : 'Antamasi sähköpostiosoite ei kelpaa.',
       'User.Profile.ChangeEmail.ValidationMessage.NewEmailAlreadyInUse' : 'Antamasi sähköpostiosoite on jo käytössä.',
       'User.Profile.ChangeEmail.ValidationMessage.NoNewEmailRepeatEntered' : 'Anna uusi sähköpostiosoitteesi uudelleen.',
       'User.Profile.ChangeEmail.ValidationMessage.NewEmailRepeatNoMatch' : 'Sähköpostiosoitteen tulee olla sama molemmissa kentissä.',
       'User.Registration.ResultMessage.Success.ContinueBooking' : '',
       'User.Registration.ResultMessage.Success.ContinueProfile' : '',
       'Air.Result.List.ShowMoreButton.Label' : 'Näytä lisää lentoja',
       'Hotel.Result.List.ShowMoreButton.Label' : 'Näytä lisää hotelleja',
       'Car.Result.List.ShowMoreButton.Label' : 'Näytä lisää autoja',
       'Combo.Result.List.ShowMoreButton.Label' : 'Näytä lisää',
       'Air.Result.NoDealsFound' : 'Lentohintoja ei ole saatavilla. Ole hyvä ja muokkaa hakua.',
       'Hotel.Result.NoDealsFound' : 'Hotellihintoja ei ole saatavilla. Ole hyvä ja muokkaa hakua.',
       'Car.Result.NoDealsFound' : 'Autonvuokraushintoja ei ole saatavilla. Ole hyvä ja muokkaa hakua.',
       'Combo.Result.NoDealsFound' : 'Lento- ja hotellihintoja ei ole saatavilla. Ole hyvä ja muokkaa hakua.',
       'General.Of' : ' ',
       'User.General.ResultMessage.UnableToSaveMessage' : 'Tallennus ei onnistunut, ole hyvä ja yritä uudelleen myöhemmin.'
    },
    get: function(key, defaultText) {
      var r = UiText.textMap[key];
      if (!r) {
        if (defaultText !== undefined) r = defaultText;
        else {
          ibewarning("UiText.get(" + key + ") did not find any texts. Has not been added in js-ui-texts.conf?");
          r = key;
        }
      }
    
      var REPLACE_END = decodeURIComponent("%7D");
      var REPLACE_START = decodeURIComponent("%24%7B");

      for (var i = 1; i < arguments.length; i++) {
        r = r.replace(decodeURIComponent("%7B") + (i - 1) + REPLACE_END, arguments[i]);
      }

      if (r) {
        var nLoops = 0;
        var idxStart = r.indexOf(REPLACE_START);
        var idxEnd = r.indexOf(REPLACE_END);
        while (idxStart >= 0 && idxEnd > idxStart && (nLoops++ < 10)) {
          var innerKey = r.substring(idxStart + 2, idxEnd);
          var rInner = UiText.textMap[innerKey];
          if (!rInner) {
            rInner = '#' + innerKey + '#';
          }
          r = r.substring(0, idxStart) + rInner + r.substring(idxEnd + 1);

          idxStart = r.indexOf(REPLACE_START);
          idxEnd = r.indexOf(REPLACE_END);
        }
      }

      return r;
    }
  };
