var localizedStrings={
    chooseValidConnection:{
        'de':'Bitte wählen Sie eine gültige Verbindung!',
        'en':'Please choose a valid connection',
        'pl':'Proszę wybrać poprawne połączenie.',
        'rs':'Molimo izaberite važeću vezu.',
        'hr':'Molimo odaberite vožnju'
    },
    chooseConnection:{
        'de':'Bitte wählen Sie Ihre Verbindung!',
        'en':'Please choose your connections',
        'pl':'Proszę wybrać połączenie.',
        'rs':'Molimo izaberite Vašu vezu.',
        'hr':'Molimo odaberite Vašu vožnju!'
    },
    chooseDifferentCountries:{
        'de':'Bitte wählen Sie zwei unterschiedliche Länder aus!',
        'en':'Please choose two different countries',
        'pl':'Proszę wybrać dwa różne kraje.',
        'rs':'Molimo izaberite dve različite države!',
        'hr':'Molimo odaberite dvije različite države!'
    },
    chooseDate:{
        'de':'Bitte wählen Sie ein gültiges Datum aus!',
        'en':'Please choose a valid date',
        'pl':'Proszę wybrać poprawną datę.',
        'rs':'Molimo izaberite Važeći datum!',
        'hr':'Molimo odaberite valjani datum!'
    },
    chooseDepartureDate:{
        'de':'Bitte wählen Sie das Datum der Abfahrt aus!',
        'en':'Please choose daparture date',
        'pl':'Proszę wybrać datę wyjazdu.',
        'rs':'Molimo izaberite datum polaska!',
        'hr':'Molimo odaberite datum polaska!'
    },
    chooseDepartureCity:{
        'de':'Bitte wählen Sie die Abfahrtstadt aus!',
        'en':'Please choose departure city',
        'pl':'Proszę wybrać miejsce wyjazdu.',
        'rs':'Molimo izaberite grad iz kojeg putujete!',
        'hr':'Molimo odaberite polazište!'
    },
    chooseDestinationCity:{
        'de':'Bitte wählen Sie die Zielstadt aus!',
        'en':'Please choose destination city',
        'pl':'Proszę wybrać miasto docelowe.',
        'rs':'Molimo izaberite grad u koji putujete!',
        'hr':'Molimo odaberite odredište!'
    },
    chooseDepCountry:{
        'de':'Bitte wählen Sie Abfahrtsland aus!',
        'en':'Please choose departure country',
        'pl':'Proszę wybrać kraj wyjazdu.',
        'rs':'Molimo izaberite državu iz koje putujete!',
        'hr':'Molimo odaberite državu polaska!'
    },
    chooseDestCountry:{
        'de':'Bitte wählen Sie Zielland aus!',
        'en':'Please choose destination country',
        'pl':'Proszę wybra państwo docelowe.',
        'rs':'Molimo izaberite državu u koju putujete!',
        'hr':'Molimo odaberite državu dolaska!'
    },
    enterNameOfPassenger:{
        'de':'Bitte den Namen eingeben für Passagier Nr. ',
        'en':'Please enter name of passenger No. ',
        'pl':'Proszę wpisać nazwisko pasażera numer ',
        'rs':'Molimo unesite prezime za putnika Br. ',
        'hr':'Molimo unesite ime za putnika br. '
    },
    enterFirstNameOfPassenger:{
        'de':'Bitte den Vornamen eingeben für Passagier Nr. ',
        'en':'Please enter first name of passenger No. ',
        'pl':'proszę wpisać imię pasażera numer ',
        'rs':'Molimo unesite ime za putnika Br. ',
        'hr':'Molimo unesite imena putnika Br. '
    },
    chooseDiscount:{
        'de':'Bitte die Preisstufe auswählen für Passagier Nr. ',
        'en':'Please choose discount for passenger No. ',
        'pl':'Proszę wybrać rodzaj zniżki dla pasażera numer ',
        'rs':'Molimo izaberite vrstu cene za putnika Br. ',
        'hr':'Molimo odaberite cjenovni razred za putnika br. '
    },
    infantWarning:{
        'de':'Kinder unter 16 Jahren müssen von einer 18-jährigen Person begleitet werden.',
        'en':'Children under the age of 16 are not permitted to travel unless accompanied by an adult of at least 18 years of age.',
        'pl':'Dzieci poniżej 16 roku życia muszą podróżować w towarzystwie osoby pełnoletniej.',
        'rs':'Deca ispod 16 godina moraju biti u pratnji osobe, koja ima najmanje 18 godina.',
        'hr':'Djeca koja nisu navršila 18 godina moraju imati punoljetnog pratitelja.'
    },
    enterFirstName:{
        'de':'Bitte geben Sie Ihren Vornamen ein',
        'en':'Please enter your first name',
        'pl':'proszę wpisać imię',
        'rs':'Molimo unesite Vaše ime',
        'hr':'Molimo unesite svoje ime'
    },
    enterSurname:{
        'de':'Bitte geben Sie Ihren Nachnamen ein',
        'en':'Please enter your surname',
        'pl':'Proszę wpisać nazwisko',
        'rs':'Molimo unesite Vaše prezime',
        'hr':'Molimo unesite svoje prezime'
    },
    enterStreet:{
        'de':'Bitte geben Sie Ihre Straße ein',
        'en':'Please enter your street',
        'pl':'Proszę wpisać nazwę ulicy',
        'rs':'Molimo unesite Vašu ulicu',
        'hr':'Molimo unesite svoju ulicu'
    },
    enterCity:{
        'de':'Bitte geben Sie Ihre Stadt ein',
        'en':'Please enter your city',
        'pl':'Proszę wpisać nazwę miasta.',
        'rs':'Molimo unesite Vaš grad',
        'hr':'Molimo unesite svoj grad'
    },
    enterPostcode:{
        'de':'Bitte geben Sie Ihre Postleitzahl ein',
        'en':'Please enter your postcode',
        'pl':'Proszę wpisać kod pocztowy.',
        'rs':'Molimo unesite Vaš poštanski broj',
        'hr':'Molimo unesite svoj poštanski broj'
    },
    enterPhone:{
        'de':'Bitte geben Sie Ihre Telefonnumer ein',
        'en':'Please enter your phone number',
        'pl':'Please enter your phone number',
        'rs':'Please enter your phone number',
        'hr':'Please enter your phone number'
    },
    enterMail:{
        'de':'Bitte geben Sie Ihre E-Mail-Adresse ein',
        'en':'Please enter your e-mail address',
        'pl':'Proszę sprawdzić podany adres e-mail.',
        'rs':'Molimo proverite Vašu E-Mail adresu',
        'hr':'Molimo provjerite svoju e mail adresu'
    },
    errorPhone:{
        'de':'Im Feld Telefon sind nur numerische Eingaben erlaubt',
        'en':'Only numeric values are allowed for the phone number',
        'pl':'W polu numer telefonu są dozwolone tylko symbole numeryczne.',
        'rs':'U polju telefon su dozvoljeni samo numerički unosi',
        'hr':'U polju telefon dozvoljene su samo numeričke oznake'
    },
    errorFirstName:{
        'de':'Im Feld Vorname sind keine numerischen Eingaben erlaubt',
        'en':'No numeric values are allowed for the first name',
        'pl':'W polu imię nie są dozwolone symbole numeryczne.',
        'rs':'U polju ime nisu dozvoljeni numerički unosi',
        'hr':'U polju ime nisu dozvoljene numeričke oznake'
    },
    errorSurName:{
        'de':'Im Feld Nachname sind keine numerischen Eingaben erlaubt',
        'en':'No numeric values are allowed for the surname',
        'pl':'W polu nazwisko nie są dozwolone symbole numeryczne.',
        'rs':'U polju prezime nisu dozvoljeni numerički unosi',
        'hr':'U polju prezime nisu dozvoljene numeričke oznake'
    },
    errorCity:{
        'de':'Im Feld Stadt sind keine numerischen Eingaben erlaubt',
        'en':'No numeric values are allowed for the city',
        'pl':'W polu miasto nie są dozwolone symbole numeryczne.',
        'rs':'U polju grad nisu dozvoljeni numerički unosi',
        'hr':'U polju grad nisu dozvoljene numeričke oznake'
    },
    confirmMail:{
        'de':'Bitte bestätigen Sie Ihre E-Mail-Adresse',
        'en':'Please confirm your e-mail address',
        'pl':'Proszę potwierdzić adres e-mail.',
        'rs':'Molimo potvrdite Vašu E-Mail adresu',
        'hr':'Molimo potvrdite svoju e mail adresu'
    },
    errorInMails:{
        'de':'Bitte überprüfen Sie Ihre E-Mail-Adresse',
        'en':'Please check your e-mail address',
        'pl':'Proszę sprawdzić podany adres e-mail.',
        'rs':'Molimo proverite Vašu E-Mail adresu',
        'hr':'Molimo provjerite svoju e mail adresu'
    },
    selectCardType:{
        'de':'Bitte wählen Sie Ihren Kartentyp aus',
        'en':'Pleasechoose the credit card type',
        'pl':'Proszę wybrać typ karty.',
        'rs':'Molimo izaberite tip kartice',
        'hr':'Molimo izaberite vrstu karte'
    },
    enterCreditcardNumber:{
        'de':'Bitte geben Sie Ihre Kreditkartennummer ein',
        'en':'Please enter credit card number',
        'pl':'Proszę podać numer karty kredytowej.',
        'rs':'Molimo unesite broj Vaše kreditne kartice',
        'hr':'Molimo unesite broj kreditne kartice'
    },
    enterCVN:{
        'de':'Bitte geben Sie die Sicherheitsnummer Ihrer Kreditkarte ein',
        'en':'Please enter CVN',
        'pl':'Proszę wpisać kod CVC karty kredytowej.',
        'rs':'Molimo unesite sigurnosni broj Vaše kreditne kartice',
        'hr':'Molimo unesite sigurnosni broj sa kreditne kartice'
    },
    selectExpiryMonth:{
        'de':'Bitte geben Sie die Gültigkeit Ihrer Kreditkarte ein (Monat)',
        'en':'Please choose validity month',
        'pl':'Proszę wpisać ważność karty kredytowej (miesiąc)',
        'rs':'Molimo unesite dokle važi Vaša kreditna kartica ( mesec)',
        'hr':'Molimo Vas unesite mjesec valjanosti kartice'
    },
    selectExpiryYear:{
        'de':'Bitte geben Sie die Gültigkeit Ihrer Kreditkarte ein (Jahr)',
        'en':'Please choose validity year',
        'pl':'Proszę wpisać ważność karty kredytowej (rok)',
        'rs':'Molimo unesite dokle važi Vaša kreditna kartica ( godina)',
        'hr':'Molimo unesite godinu valjanosti kartice'
    },
    confirmAGB:{
        'de':'Bitte akzeptieren Sie unsere Allgemeinen Geschäftsbedingungen',
        'en':'Please confirm our terms of travel',
        'pl':'Proszę zaakceptować ogólne warunki Deutsche Touring.',
        'rs':'Molimo Vas prihvatite naše opšte uslove poslovanja',
        'hr':'Molimo Vas da prihvatite naše Opće uvjete poslovanja'
    },
    promoMessage:{
        'de':'Promotional Ticket - can not be changed or refunded!',
        'en':'Promotional Ticket - can not be changed or refunded!',
        'pl':'Bilet promocyjny – nie można go zmienić ani zwrócić!',
        'rs':'Promotional Ticket - can not be changed or refunded!',
        'hr':'Promotional Ticket - can not be changed or refunded!'
    },
    thx_reisebewertung:{
        'de':'Vielen Dank für Ihre Anmeldung!  Nach Abschluss Ihrer Hin- und Rückfahrt werden Sie jeweils eine Email mit dem Link zu Ihrer Fahrtbewertung erhalten.',
        'en':'Thank you for registering!  You will receive an e-mail with a link to rate your experience after each respective bus ride.',
        'pl':'Dziękujemy za rejestrację! Po zakończeniu podróży w tamtą stronę oraz podróży powrotnej otrzymają Państwo każdorazowo wiadomość e-mail zawierającą link do ankiety oceniającej podróż.',
        'rs':'Vielen Dank für Ihre Anmeldung!  Nach Abschluss Ihrer Hin- und Rückfahrt werden Sie jeweils eine Email mit dem Link zu Ihrer Fahrtbewertung erhalten.',
        'hr':'Zahvaljujemo Vam na Vašoj prijavi! Po dolasku na odredište, odnosno po povratku dobit ćete po jednu poruku putem elektronske pošte s poveznicom na ocjenu kvalitete Vašeg putovanja autobusom.'
    },
    insuranceError:{
        'de':'Bitte akzeptieren Sie die Versicherungsbedingungen.',
        'en':'Please accept the terms and conditions of the  cancellation insurance!',
        'pl':'Proszę zaakceptować warunki ubezpieczenia!',
        'rs':'Bitte akzeptieren Sie die Versicherungsbedingungen.',
        'hr':'Molimo Vas da akceptirate uvjete osiguranja!'
    }
}

function getLocale() {
    var locale = $('#lang').val();
    return locale;
}

function preSelect(fromCountry, fromCity, toCountry, toCity) {
    $('#bookingmask_abfahrtLand').val(fromCountry);
    $('#bookingmask_ankunftLand').val(toCountry);
    checkCountrySelects(fromCity, toCity);
}

function getTheTickets(orderGuid, sitelang, sellerguid) {
    $.ajax({
        type: "GET",
        url: "fileadmin/booking/php/setOrderPayed.php",
        data: "orderGuid=" + orderGuid + "&sitelang=" + sitelang + "&sellerguid=" + sellerguid,
        success: function(msg){
            if(msg == 'OK') {
                $('#ticketWait').slideUp('slow', function(){
                    $('#ticketDownload').slideDown('slow');
                });
            }
        }
    });
}

function checkSearchMask() {
    var message ='';
    var abfahrt = $('#bookingmask_datumHinfahrt').val();
    var abfahrtTag = abfahrt.substring(0,2);
    var abfahrtMonat = abfahrt.substring(3,5);
    var abfahrtJahr = abfahrt.substring(6,10);
    var jetzt = new Date();
    var abfahrtDate = new Date(abfahrtJahr, abfahrtMonat-1, abfahrtTag, jetzt.getHours() + 1, jetzt.getMinutes() ,jetzt.getSeconds());
    var jetzt = new Date();
    var limit = new Date();
    limit.setDate(limit.getDate() + 3);
    //  if (abfahrtDate < limit) {
    //      message = message.concat(localizedStrings['chooseDate'][getLocale()] + '\n');
    //      var error = true;
    //  }
    if (abfahrtDate == '') {
        message = message.concat(localizedStrings['chooseDate'][getLocale()] + '\n');
        var error = true;
    }
    // Abfahrtsland und Zielland gleich
    //  if ($('#bookingmask_abfahrtLand').val() != 'x' && $('#bookingmask_abfahrtLand').val() == $('#bookingmask_ankunftLand').val()) {
    //      message = message.concat(localizedStrings['chooseDifferentCountries'][getLocale()] + '\n');
    //      var error = true;
    //  }
    // Keine gültigen Verbindungen
    if ($('#bookingmask_abfahrtStadt').length == 0) {
        message = message.concat(localizedStrings['chooseValidConnection'][getLocale()] + '\n');
        var error = true;
    }
    // Abfahrtsland
    if ($('#bookingmask_abfahrtLand').val() == 'x') {
        message = message.concat(localizedStrings['chooseDepCountry'][getLocale()] + '\n');
        var error = true;
    }
    // Zielland
    if ($('#bookingmask_ankunftLand').val() == 'x') {
        message = message.concat(localizedStrings['chooseDestCountry'][getLocale()] + '\n');
        var error = true;
    }
    // Abfahrtsstadt
    if ($('#bookingmask_abfahrtStadt').val() == 'x' || $('#bookingmask_abfahrtStadt').val() == null) {
        message = message.concat(localizedStrings['chooseDepartureCity'][getLocale()] + '\n');
        var error = true;
    }
    // Zielstadt
    if ($('#bookingmask_ankunftStadt').val() == 'x' || $('#bookingmask_ankunftStadt').val() == null) {
        message = message.concat(localizedStrings['chooseDestinationCity'][getLocale()] + '\n');
        var error = true;
    }
    // Abfahrt
    if ($('#bookingmask_datumHinfahrt').val() == '') {
        message = message.concat(localizedStrings['chooseDepartureDate'][getLocale()] + '\n');
        var error = true;
    }

    if (error != true) {
        showOverlay();
        $('#bookingmask_ankunftLand').attr('disabled', '');
        $('#bookingmask_abfahrtLand').attr('disabled', '');
        document.formBuchungsmaske.submit();
    }
    else {
        alert(message);
    }
}

function step2() {
    if ($('input[name=hinfahrtID]:checked').val()) {
        var error = false;
    }
    else {
        var error = true;
    }
    var retval = $('#rueckfahrtID_2').size();
    if (!!retval == true)  {
        if ($('input[name=rueckfahrtID]:checked').val()) {
            var error = false;
        }
        else {
            var error = true;
        }
    }
    if (error == true) {
        alert(localizedStrings['chooseConnection'][getLocale()]);
    }
    else {
        showOverlay();
        document.theForm.submit();
    }
}

function step3() {
    var message ='';
    var messageChild ='';
    var onlyChilds = true;
    //  if ($('.priceRow').length == 1) {
    //      if($('#passenger_discount_1').val() == '23d5f2d2-0bc8-42b0-a83d-6e54da47db9e' || $('#passenger_discount_1').val() == '5236c366-cbf2-4bf0-8abf-419d1f4e31f5') {
    //        message = message.concat('Children under the age of 16 are not permitted to travel unless accompanied by an adult of at least 18 years of age!\n');
    //        var error = true;
    //      }
    //  }
    if($('#insurance_Cancel').is(":checked") && $('#insurance_agb').is(":checked") == false) {
        message = message.concat(localizedStrings['insuranceError'][getLocale()] + '\n');
        var error = true;
    }
    for (var i = 1; i <= $('.priceRow').length; i++) {
        if($('#passenger_discount_' + i).val() != 'bf5924b5-a604-4e13-a132-ccd607d907d3' && $('#passenger_discount_' + i).val() != '9b22a60c-0f86-4660-a070-430893b35ee6') {
            var onlyChilds = false;
        }
        if (onlyChilds == true) {
            messageChild = localizedStrings['infantWarning'][getLocale()];
            var error = true;
        }
        if ($('#passenger_name_' + i).val() == '') {
            message = message.concat(localizedStrings['enterNameOfPassenger'][getLocale()] + i + '!\n');
            var error = true;
        }
        if ($('#passenger_firstname_' + i).val() == '') {
            message = message.concat(localizedStrings['enterFirstNameOfPassenger'][getLocale()] + i + '!\n');
            var error = true;
        }
        if ($('#passenger_discount_' + i).val() == 'x') {
            message = message.concat(localizedStrings['chooseDiscount'][getLocale()] + i + '!\n');
            var error = true;
        }
    }
    if (error != true) {
        showOverlay();
        document.theForm.submit();
    }
    else {
        message = message.concat(messageChild);
        alert(message);
    }
}

function step4() {
    var message ='';
    var exp_txt = new RegExp('[0-9]+', 'i');
    if ($('#firstname').val() == '') {
        message = message.concat(localizedStrings['enterFirstName'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#familyname').val() == '') {
        message = message.concat(localizedStrings['enterSurname'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#street').val() == '') {
        message = message.concat(localizedStrings['enterStreet'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#city').val() == '') {
        message = message.concat(localizedStrings['enterCity'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#postcode').val() == '') {
        message = message.concat(localizedStrings['enterPostcode'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#phone').val() == '') {
        message = message.concat(localizedStrings['enterPhone'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#emailconf').val() == '') {
        message = message.concat(localizedStrings['enterMail'][getLocale()] + '\n');
        var error = true;
    }
    if (checkEmail($('#emailconf').val()) == false) {
        message = message.concat(localizedStrings['confirmMail'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#emailconf').val() != $('#email').val()) {
        message = message.concat(localizedStrings['errorInMails'][getLocale()] + '\n');
        var error = true;
    }
    //  if ($('#phone').val() != '' && isNaN($('#phone').val())) {
    //    message = message.concat('Only numeric values are allowed for the phone number!\n');
    //    var error = true;
    //  }
    var exp_phone = new RegExp('^([0-9]*\-?\ ?\/?[0-9]*)$');
    phonenumber = $('#phone').val();
    phonenumber = phonenumber.replace('+', '');
    if (phonenumber != '' && exp_phone.test(phonenumber) === false) {
        message = message.concat(localizedStrings['errorPhone'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#firstname').val() != '' && exp_txt.test($('#firstname').val()) === true) {
        message = message.concat(localizedStrings['errorFirstName'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#familyname').val() != '' && exp_txt.test($('#familyname').val()) === true) {
        message = message.concat(localizedStrings['errorSurName'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#city').val() != '' && exp_txt.test($('#city').val()) === true) {
        message = message.concat(localizedStrings['errorCity'][getLocale()] + '\n');
        var error = true;
    }



    //  if ($("#acceptagb").attr("checked") != true) {
    //    message = message.concat('Please confirm that you accept our conditions of travel!\n');
    //    var error = true;
    //  }
    if (error != true) {
        showOverlay();
        //    passengerDataRaw = $("#passengertitle").val() + '|' + $("#firstname").val() + '|' + $("#familyname").val() + '|' + $("#street").val() + '|' + $("#city").val() + '|' + $("#postcode").val() + '|' + $("#phone").val() + '|' + $("#email").val() + '|' + $("#country").val()
        //    passengerData = encodeURI(passengerDataRaw);
        //    newUrl = 'http://scandinavia.touring.de/index.php?id=1155&data=' + passengerData;
        //    $("#Accept").val(newUrl);
        document.theForm.submit();
    }
    else {
        alert(message);
    }
}

function step5() {
    var message ='';
    //  if ($('#cardtype').val() == 'x') {
    //    message = message.concat(localizedStrings['selectCardType'][getLocale()] + '\n');
    //    var error = true;
    //  }
    //  if ($('#cardnumber').val() == '') {
    //    message = message.concat(localizedStrings['enterCreditcardNumber'][getLocale()] + '\n');
    //    var error = true;
    //  }
    if ($('#cvc').val() == '') {
        message = message.concat(localizedStrings['enterCVN'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#expmm').val() == 'x') {
        message = message.concat(localizedStrings['selectExpiryMonth'][getLocale()] + '\n');
        var error = true;
    }
    if ($('#expyy').val() == 'x') {
        message = message.concat(localizedStrings['selectExpiryYear'][getLocale()] + '\n');
        var error = true;
    }
    if ($("#acceptagb").attr("checked") != true) {
        message = message.concat(localizedStrings['confirmAGB'][getLocale()] + '\n');
        var error = true;
    }
    //  if ($('#cardnumber').val() != '' && isNaN($('#cardnumber').val())) {
    //    message = message.concat('Only numeric values are allowed for the card number!\n');
    //    var error = true;
    //  }
    //  if ($('#cvc').val() != '' && isNaN(parseInt($('#cvc').val()))) {
    //    message = message.concat('Only numeric values are allowed for the security number!\n');
    //    var error = true;
    //  }
    if (error != true) {
        showOverlay();
        //    passengerDataRaw = $("#passengertitle").val() + '|' + $("#firstname").val() + '|' + $("#familyname").val() + '|' + $("#street").val() + '|' + $("#city").val() + '|' + $("#postcode").val() + '|' + $("#phone").val() + '|' + $("#email").val() + '|' + $("#country").val()
        //    passengerData = encodeURI(passengerDataRaw);
        //    newUrl = 'http://scandinavia.touring.de/index.php?id=1155&data=' + passengerData;
        //    $("#Accept").val(newUrl);
        if($('#paypal_checkout').attr("checked") == true) {
            document.paypal_form.submit();
        }
        if($('#sofortueberweisung_checkout').attr("checked") == true) {
            document.sofortueberweisung_form.submit();
        }
        if($('#paypal_checkout').attr("checked") != true && $('#sofortueberweisung_checkout').attr("checked") != true) {
            document.theForm.submit();
        }
    }
    else {
        alert(message);
    }
}

// Overlay
function showOverlay() {
    $('#overlayWrapper').css('display', 'block');
}

// E-Mail-Adresse
function checkEmail(x) {
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    return filter.test(x);
}

function updatePrice(passenger) {
    // Student?
    if($('#passenger_discount_' + passenger).val() == '920438AF-10AD-4FAD-8198-148140EDF49E') {
        $('#studentText').show();
    }
    // Youth?
    if($('#passenger_discount_' + passenger).val() == '519c8775-c11c-4d21-ab8d-21f56da155f2') {
        $('#childText').show();
    }
    // Child?
    if($('#passenger_discount_' + passenger).val() == 'bf5924b5-a604-4e13-a132-ccd607d907d3') {
        $('#passenger_title_' + passenger).val('Child');
        $('#childText').show();
    }
    //Baby?
    if($('#passenger_discount_' + passenger).val() == '9b22a60c-0f86-4660-a070-430893b35ee6') {
        $('#passenger_title_' + passenger).val('Baby');
        $('#childText').show();
    }
    if($('#passenger_discount_' + passenger).val() != 'bf5924b5-a604-4e13-a132-ccd607d907d3' && $('#passenger_discount_' + passenger).val() != '9b22a60c-0f86-4660-a070-430893b35ee6' && $('#passenger_discount_' + passenger).val() != '519c8775-c11c-4d21-ab8d-21f56da155f2') {
        //$('#passenger_title_' + passenger).val('Baby');
        $('#childText').hide();
    }
    if ($('#passenger_discount_' + passenger).val() == 'x') {
        $('#passenger_price_' + passenger).html('&nbsp;');
        $('#passenger_price_hidden_' + passenger).val(0);
        updateCompletePrice();
    }
    else {
        var pricetype = $('#passenger_discount_' + passenger).val();
        if ($('#passenger_promo_' + passenger).is(":checked")) {
            var price = $('#promoprice').val();
        }
        else {
            var price = $('#' + pricetype).val();
        }
        $('#passenger_price_' + passenger).html($('#currencySymbol').val() + '&nbsp;' + price);
        $('#passenger_price_hidden_' + passenger).val(price);
        updateCompletePrice();

    }
}

function updateCompletePrice() {
    var thePrice = 0;
    for (var i = 1; i <= $('.priceRow').length; i++) {
        var b = parseFloat($('#passenger_price_hidden_' + i).val());
        thePrice = thePrice + b;
    }
    var service_fee = parseFloat($('#service_fee').val());
    var insurance_price = parseFloat($('#price_Cancel').val());
    thePrice = thePrice + service_fee;
    if ($('#insurance_Cancel').is(":checked")) {
        thePrice = thePrice + insurance_price;
        $('#insuranceSpan').show();
        $('#insuranceAgbTR').show();
    }
    else {
        $('#insuranceSpan').hide();
        $('#insuranceAgbTR').hide();
    }
    $('#price_result').html($('#currencySymbol').val() + '&nbsp;' + thePrice.toFixed(2));
}

function updateCities() {
    $('#bookingmask_ankunftLand').attr('disabled', false);
    if($('#bookingmask_abfahrtLand').val() == 'Austria') {
        $('#bookingmask_ankunftLand').attr('disabled', false);
        $('#bookingmask_ankunftLand OPTION').attr('disabled', 'disabled');
        $('#bookingmask_ankunftLand OPTION').hide();
        $('#bookingmask_ankunftLand OPTION').each(function(index) {
            if($(this).val() == 'Czech Republic' || $(this).val() == 'Slovak Republic' || $(this).val() == 'Hungary' || $(this).val() == 'Denmark' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                $(this).attr('disabled', false);
                $(this).show();
            }
        });
    }
    if ($('#bookingmask_abfahrtLand').val() == 'Switzerland') {
        $('#bookingmask_ankunftLand').attr('disabled', false);
        $('#bookingmask_ankunftLand OPTION').attr('disabled', 'disabled');
        $('#bookingmask_ankunftLand OPTION').hide();
        $('#bookingmask_ankunftLand OPTION').each(function(index) {
            if($(this).val() == 'Italy' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                $(this).attr('disabled', false);
                $(this).show();
            }
        });
    }
    if ($('#bookingmask_abfahrtLand').val() == 'Italy') {
        $('#bookingmask_ankunftLand').attr('disabled', false);
        $('#bookingmask_ankunftLand OPTION').attr('disabled', 'disabled');
        $('#bookingmask_ankunftLand OPTION').hide();
        $('#bookingmask_ankunftLand OPTION').each(function(index) {
            if( $(this).val() == 'Switzerland' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                $(this).attr('disabled', false);
                $(this).show();
            }
        });
    }
    if($('#bookingmask_abfahrtLand').val() == 'Germany') {
        $('#bookingmask_ankunftLand OPTION').attr('disabled', false);
        $('#bookingmask_ankunftLand OPTION').show();
        $('#bookingmask_ankunftLand').attr('disabled', false);
    }
    if($('#bookingmask_abfahrtLand').val() != 'Germany' && $('#bookingmask_abfahrtLand').val() != 'Austria' && $('#bookingmask_abfahrtLand').val() != 'Czech Republic' && $('#bookingmask_abfahrtLand').val() != 'Switzerland' && $('#bookingmask_abfahrtLand').val() != 'Italy') {
        $('#bookingmask_ankunftLand OPTION').show();
        $('#bookingmask_ankunftLand').val('Germany');
        $('#bookingmask_ankunftLand').attr('disabled', 'disabled');
    }
    sel = document.getElementById('bookingmask_abfahrtStadt'); 
    selB = document.getElementById('bookingmask_ankunftStadt'); 
    if (/^[^\(]*\(([^\)]+)\)$/.test(sel.value)) {
        var cities = RegExp.$1;
        var cities = cities.split("|");
        var selected = selB.options[selB.selectedIndex].value;
        while (selB.options.length > 0)
            selB.options[0] = null;
        for (var i = 0; i < cities.length-1; i++) {
            var o = selB.options[selB.options.length] = new Option(cities[i], cities[i]);
            if (o.value == selected) o.selected = true;
        }
    }
}


function checkCountrySelects(fromCity, toCity) {
    if ($('#bookingmask_abfahrtLand').val() != 'x' && $('#bookingmask_ankunftLand').val() != 'x') {
        getCities($('#bookingmask_abfahrtLand').val(), $('#bookingmask_ankunftLand').val(), fromCity, toCity);
    }
}

/*******************************************************/
/*            AJAX-Call für Städte-Selects             */
/*******************************************************/

function getCities(startLand, zielLand, fromCity, toCity) {
    $.ajax({
        type: "GET",
        url: "fileadmin/booking/php/getCities.php",
        data: "startland=" + startLand + "&zielland=" + zielLand + "&lang=" + $('#lang').val(),
        success: function(msg){
            $('#bookingmask_selectCountries').html(msg);
            $('#bookingmask_abfahrtStadt').val(fromCity);
            $('#bookingmask_ankunftStadt').val(toCity);
        //      $("#bookingmask_abfahrtStadt option[text=" + fromCity +"]").attr("selected","selected");
        //      $("#bookingmask_ankunftStadt option[text=PARIS]").attr("selected","selected");
        }
    });
}

function showCheapestConnection(startLand, zielLand, startStadt, zielStadt, datum, anzahlPersonen, priceType) {
    $('#cheapestConnectionRow').html('<td colspan="7">Loading data...</td>');
    $.ajax({
        type: "GET",
        url: "fileadmin/booking/php/findCheapestConnection.php",
        data: "fromcountry=" + startLand + "&tocountry=" + zielLand + "&fromcity=" + startStadt + "&tocity=" + zielStadt + "&departuredate=" + datum + "&count=" + anzahlPersonen + "&priceType=" + priceType + "&currencyGuid=" + $('#currencyGuid').val(),
        success: function(msg){
            $('#cheapestConnectionRow').html(msg);
        }
    });
}

function showPrices(departureDate, lineGuidFirst, busstopGuidFrom, busstopGuidTo, serviceNrFirst, count, departureDateReturn, lineGuidReturn, busstopGuidFromReturn, busstopGuidToReturn, serviceNrReturn, returnOpen, sellerGuid) {
    $.ajax({
        type: "GET",
        url: "fileadmin/booking/php/findPrices.php",
        data: "departureDate=" + departureDate + "&lineGuidFirst=" + lineGuidFirst + "&busstopGuidFrom=" + busstopGuidFrom + "&busstopGuidTo=" + busstopGuidTo + "&serviceNrFirst=" + serviceNrFirst + "&count=" + count + "&departureDateReturn=" + departureDateReturn + "&busstopGuidFromReturn=" + busstopGuidFromReturn + "&busstopGuidToReturn=" + busstopGuidToReturn + "&serviceNrReturn=" + serviceNrReturn + "&lineGuidReturn=" + lineGuidReturn + "&returnOpen=" + returnOpen + "&sellerGuid=" + sellerGuid + "&currencyGuid=" + $('#currencyGuid').val() + "&currencySymbol=" + $('#currencySymbol').val() + "&lang=" + $('#lang').val(),
        success: function(msg){
            $('#pricesRow').html(msg);
        }
    });
}

$(document).ready(function() {
    //changeRueckfahrt($('#bookingmask_datumHinfahrt').val());
    // AJAX-Loader anzeigen
    $().ajaxSend(function(r,s){
        var retval = $('.connection').size();
        if (!!retval == false)  {
            $('#bookingmask_loading').show();
        }
    });  
    // AJAX-Loader ausblenden
    $().ajaxStop(function(r,s){  
        var retval = $('.connection').size();
        if (!!retval == false)  {
            $('#bookingmask_loading').hide();
        }
    });  
    // Preise anzeigen, falls möglich
    if ($('input[name=hinfahrtID]:checked').val()) {
        if($('input[name=hinfahrtID]:checked').hasClass('bc')) {
            $("#bc").val("true");
        }
        else {
            $("#bc").val("false");
        }
        var selectedFirst = $('input[name=hinfahrtID]:checked').val()
        var selectedReturn = $('input[name=rueckfahrtID]:checked').val()
        var departureDate = $('#first_departureDate' + selectedFirst).val();
        var lineGuidFirst = $('#first_lineGuidFirst' + selectedFirst).val();
        var busstopGuidFromFirst = $('#first_busstopGuidFrom' + selectedFirst).val();
        var busstopGuidToFirst = $('#first_busstopGuidTo' + selectedFirst).val();
        var serviceNrFirst = $('#first_serviceNr' + selectedFirst).val();
        var count = $('#passengercount').val();
        var sellerGuid = $('#sellerGuid').val();
        var departureDateReturn = $('#return_departureDate' + selectedReturn).val();
        var lineGuidReturn = $('#return_lineGuidFirst' + selectedReturn).val();
        var busstopGuidFromReturn = $('#return_busstopGuidFrom' + selectedReturn).val();
        var busstopGuidToReturn = $('#return_busstopGuidTo' + selectedReturn).val();
        var serviceNrReturn = $('#return_serviceNr' + selectedReturn).val();
        var returnOpen = $('#returnOpen').val();
        //alert(serviceNrFirst);
        $('#pricesRow').html('<tr><td><img src="fileadmin/booking/images/loading.gif"></td></tr>');
        showPrices(departureDate, lineGuidFirst, busstopGuidFromFirst, busstopGuidToFirst, serviceNrFirst, count, departureDateReturn, lineGuidReturn, busstopGuidFromReturn, busstopGuidToReturn, serviceNrReturn, returnOpen, sellerGuid);
    }
    // Listener für Connections
    $('.radioConnection').bind("click", function() {
        if ($('input[name=hinfahrtID]:checked').val()) {
            if($('input[name=hinfahrtID]:checked').hasClass('bc') || $('input[name=rueckfahrtID]:checked').hasClass('bc')) {
                $("#bc").val("true");
            }
            else {
                $("#bc").val("false");
            }
            var selectedFirst = $('input[name=hinfahrtID]:checked').val()
            var selectedReturn = $('input[name=rueckfahrtID]:checked').val()
            var departureDate = $('#first_departureDate' + selectedFirst).val();
            var lineGuidFirst = $('#first_lineGuidFirst' + selectedFirst).val();
            var busstopGuidFromFirst = $('#first_busstopGuidFrom' + selectedFirst).val();
            var busstopGuidToFirst = $('#first_busstopGuidTo' + selectedFirst).val();
            var serviceNrFirst = $('#first_serviceNr' + selectedFirst).val();
            var count = $('#bookingmask_anzahlpersonen').val();
            var sellerGuid = $('#sellerGuid').val();
            var departureDateReturn = $('#return_departureDate' + selectedReturn).val();
            var lineGuidReturn = $('#return_lineGuidFirst' + selectedReturn).val();
            var busstopGuidFromReturn = $('#return_busstopGuidFrom' + selectedReturn).val();
            var busstopGuidToReturn = $('#return_busstopGuidTo' + selectedReturn).val();
            var serviceNrReturn = $('#return_serviceNr' + selectedReturn).val();
            var returnOpen = $('#returnOpen').val();
            //alert(serviceNrFirst);
            $('#pricesRow').html('<tr><td><img src="fileadmin/booking/images/loading.gif"></td></tr>');
            showPrices(departureDate, lineGuidFirst, busstopGuidFromFirst, busstopGuidToFirst, serviceNrFirst, count, departureDateReturn, lineGuidReturn, busstopGuidFromReturn, busstopGuidToReturn, serviceNrReturn, returnOpen, sellerGuid);
        }
    });
    // Listener für Submit-Button
    $('#bookingmask_submitBuchungsmaske').bind("click", function() {
        checkSearchMask();
    //document.formBuchungsmaske.submit();
    });
    // Listener für Line Infos
    $('#showLineInfos').bind("click", function() {
        $('#lineInfos').slideToggle();
        $('#openerLineInfos').toggleClass('openerActive');
    });
    // Listener für AGBs
    $('#showAGBs').bind("click", function() {
        $('#agbs').slideToggle();
        $('#openerAGBs').toggleClass('openerActive');
    });
    // Listener für Fragezeichen
    $('.questionmark').bind("click", function() {
        //window.open('http://www.bei.cz/pages/promotarify/okno.asp?english=&refr={FCB4D9D6-2D8B-442B-9AC9-4A4E5D0B1D06}', 'promo', 'toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=480,height=385');
        alert(localizedStrings['promoMessage'][getLocale()]);
    });
    // Listener für Fragezeichen (card verification number)
    $('.questionmark_cvn').bind("click", function() {
        window.open('fileadmin/booking/php/cvn_help.php', 'help', 'toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=640,height=520');
    });
    // Listener für "Nur Hinfahrt"
    $('#bookingmask_nurHinfahrt').bind("click", function() {
        toggleRueckfahrt();
        $('#bookingmask_Oneway').attr('checked', false);
    });
    // Listener für "Offene Rückfahrt"
    $('#bookingmask_Oneway').bind("click", function() {
        toggleRueckfahrt();
        $('#bookingmask_nurHinfahrt').attr('checked', false);
    });
    // Listener für Select-Felder
    $('#bookingmask_abfahrtLand').bind("change", function() {
        $('#bookingmask_ankunftLand').attr('disabled', false);
        if($('#bookingmask_abfahrtLand').val() == 'Austria') {
            $('#bookingmask_ankunftLand').attr('disabled', false);
            $('#bookingmask_ankunftLand OPTION').attr('disabled', 'disabled');
            $('#bookingmask_ankunftLand OPTION').hide();
            $('#bookingmask_ankunftLand OPTION').each(function(index) {
                if($(this).val() == 'Czech Republic' || $(this).val() == 'Slovak Republic' || $(this).val() == 'Hungary' || $(this).val() == 'Denmark' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                    $(this).attr('disabled', false);
                    $(this).show();
                }
            });
        }
        if($('#bookingmask_abfahrtLand').val() == 'Austria' && $('#bookingmask_ankunftLand').val() != 'Slovak Republic' && $('#bookingmask_ankunftLand').val() != 'Hungary' && $('#bookingmask_ankunftLand').val() != 'Denmark' && $('#bookingmask_ankunftLand').val() != 'Germany' && $('#bookingmask_ankunftLand').val() != 'x') {
            //alert('f');
            $('#bookingmask_abfahrtLand').val('x');
            updateCities();
        }
        if($('#bookingmask_abfahrtLand').val() == 'Switzerland') {
            $('#bookingmask_ankunftLand').attr('disabled', false);
            $('#bookingmask_ankunftLand OPTION').attr('disabled', 'disabled');
            $('#bookingmask_ankunftLand OPTION').hide();
            $('#bookingmask_ankunftLand OPTION').each(function(index) {
                if($(this).val() == 'Italy' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                    $(this).attr('disabled', false);
                    $(this).show();
                }
            });
        }
        if($('#bookingmask_abfahrtLand').val() == 'Italy') {
            $('#bookingmask_ankunftLand').attr('disabled', false);
            $('#bookingmask_ankunftLand OPTION').attr('disabled', 'disabled');
            $('#bookingmask_ankunftLand OPTION').hide();
            $('#bookingmask_ankunftLand OPTION').each(function(index) {
                if($(this).val() == 'Switzerland' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                    $(this).attr('disabled', false);
                    $(this).show();
                }
            });
        }
        if($('#bookingmask_abfahrtLand').val() == 'Germany') {
            $('#bookingmask_ankunftLand OPTION').attr('disabled', false);
            $('#bookingmask_ankunftLand OPTION').show();
            $('#bookingmask_ankunftLand').attr('disabled', false);
        }
        if($('#bookingmask_abfahrtLand').val() != 'Germany' && $('#bookingmask_abfahrtLand').val() != 'Austria' && $('#bookingmask_abfahrtLand').val() != 'Italy' && $('#bookingmask_abfahrtLand').val() != 'Switzerland' ) {
            $('#bookingmask_ankunftLand OPTION').show();
            $('#bookingmask_ankunftLand').val('Germany');
            $('#bookingmask_ankunftLand').attr('disabled', 'disabled');
        }
        checkCountrySelects();
    });
    $('#bookingmask_ankunftLand').bind("change", function() {
        $('#bookingmask_abfahrtLand').attr('disabled', false);
        if($('#bookingmask_ankunfttLand').val() == 'Austria') {
            $('#bookingmask_abfahrtLand').attr('disabled', false);
            $('#bookingmask_abfahrtLand OPTION').attr('disabled', 'disabled');
            $('#bookingmask_abfahrtLand OPTION').hide();
            $('#bookingmask_abfahrtLand OPTION').each(function(index) {
                if($(this).val() == 'Czech Republic' || $(this).val() == 'Slovak Republic' || $(this).val() == 'Hungary' || $(this).val() == 'Denmark' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                    $(this).attr('disabled', false);
                    $(this).show();
                }
            });
        }
          if($('#bookingmask_ankunfttLand').val() == 'Switzerland') {
            $('#bookingmask_abfahrtLand').attr('disabled', false);
            $('#bookingmask_abfahrtLand OPTION').attr('disabled', 'disabled');
            $('#bookingmask_abfahrtLand OPTION').hide();
            $('#bookingmask_abfahrtLand OPTION').each(function(index) {
                if($(this).val() == 'Italy' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                    $(this).attr('disabled', false);
                    $(this).show();
                }
            });
        }
        if ($('#bookingmask_ankunfttLand').val() == 'Italy') {
            $('#bookingmask_abfahrtLand').attr('disabled', false);
            $('#bookingmask_abfahrtLand OPTION').attr('disabled', 'disabled');
            $('#bookingmask_abfahrtLand OPTION').hide();
            $('#bookingmask_abfahrtLand OPTION').each(function(index) {
                if($(this).val() == 'Switzerland' || $(this).val() == 'Germany' || $(this).val() == 'x') {
                    $(this).attr('disabled', false);
                    $(this).show();
                }
            });
        }
        if($('#bookingmask_ankunftLand').val() == 'Germany') {
            $('#bookingmask_abfahrtLand OPTION').attr('disabled', false);
            $('#bookingmask_abfahrtLand OPTION').show();
            $('#bookingmask_abfahrtLand').attr('disabled', false);
        }
        if($('#bookingmask_ankunftLand').val() != 'Germany' && $('#bookingmask_abfahrtLand').val() != 'Austria' && $('#bookingmask_abfahrtLand').val() != 'Italy' && $('#bookingmask_abfahrtLand').val() != 'Switzerland') {
            $('#bookingmask_abfahrtLand').val('Germany');
            $('#bookingmask_abfahrtLand OPTION').show();
            $('#bookingmask_abfahrtLand').attr('disabled', 'disabled');
        }
        checkCountrySelects();
    });
    // Datepicker
    $('#bookingmask_datumHinfahrt').datepick({
        dateFormat: 'dd-mm-yy', 
        minDate: +1, 
        showOn: 'both', 
        buttonImageOnly: true, 
        buttonImage: '../fileadmin/php/formulare/images/icon_calendar.gif', 
        onSelect: function(date) {
            changeRueckfahrt(date)
        }
    });
    $('#bookingmask_datumRueckfahrt').datepick({
        dateFormat: 'dd-mm-yy', 
        minDate: +1, 
        showOn: 'both', 
        buttonImageOnly: true, 
        buttonImage: '../fileadmin/php/formulare/images/icon_calendar.gif'
    });
    toggleRueckfahrt()
    $('.showchangingroutes').mouseenter(function() {
        $(this).next().fadeIn();
    })
    .mouseleave(function() {
        $(this).next().fadeOut();
    });

});

function changeRueckfahrt(date) {
    var tag = date.substring(0, 2);
    var monat = date.substring(3, 5);
    var jahr = date.substring(6, 10);
    $('#bookingmask_datumRueckfahrt').val(''). 
    datepick('option', {
        minDate: new Date(jahr, monat - 1, tag)
    }); 
}

function toggleRueckfahrt() {
    if ($("#bookingmask_nurHinfahrt").is(":checked") || $("#bookingmask_Oneway").is(":checked")) {
        $('#bookingmask_datumRueckfahrt').val('');
        $('#bookingmask_datumRueckfahrt').datepick('disable');
    }
    else {
        $('#bookingmask_datumRueckfahrt').datepick('enable');
    }    
}

function startTimer() {
    window.setTimeout("cancelPayment()", 3600000);
}

function cancelPayment() {
    alert('Your session has expired! Please start a new booking!');
    $('.goToPaymentBtn').remove();
}

function doReisebewertung() {
    $.ajax({
        type: "POST",
        url: "fileadmin/booking/php/dialogue1.php",
        data: "firstname=" + $('#firstname').val() + "&surname=" + $('#surname').val() + "&email=" + $('#email').val() + "&email=" + $('#email').val() + "&1_ORDERNR=" + $('#1_ORDERNR').val() + "&1_ABFAHRTSZEIT=" + $('#1_ABFAHRTSZEIT').val() + "&1_ABFAHRTSORT=" + $('#1_ABFAHRTSORT').val() + "&1_ABFAHRTSLAND=" + $('#1_ABFAHRTSLAND').val() + "&1_ANKUNFTSZEIT=" + $('#1_ANKUNFTSZEIT').val() + "&1_ANKUNFTSORT=" + $('#1_ANKUNFTSORT').val() + "&1_ANKUNFTSLAND=" + $('#1_ANKUNFTSLAND').val() + "&1_TOTALCOST=" + $('#1_TOTALCOST').val() + "&1_ABFAHRTSUHRZEIT=" + $('#1_ABFAHRTSUHRZEIT').val() + "&1_ANKUNFTSUHRZEIT=" + $('#1_ANKUNFTSUHRZEIT').val() + "&lang=" + $('#lang').val() + "&GENDER=" + $('#GENDER').val(),
        success: function(msg){
            alert(msg);
            if(msg == 'OK') {
                $('#reisebewertung').html(localizedStrings['thx_reisebewertung'][getLocale()]);
            }
        }
    });
}

function showChangingRoutes(el) {
    $(el).hide();
}                   

