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'
    }
}

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') {
      message = message.concat(localizedStrings['chooseDepartureCity'][getLocale()] + '\n');
      var error = true;
  }
  // Zielstadt
  if ($('#bookingmask_ankunftStadt').val() == 'x') {
      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;
//      }
//  }
  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();
    }
    else {
        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());
  thePrice = thePrice + service_fee;
  $('#price_result').html($('#currencySymbol').val() + '&nbsp;' + thePrice.toFixed(2));
}

function updateCities() {
  if($('#bookingmask_abfahrtLand').val() != 'Germany') {
        $('#bookingmask_ankunftLand').val('Germany');
        $('#bookingmask_ankunftLand').attr('disabled', 'disabled');
  }
  else {
        $('#bookingmask_ankunftLand').attr('disabled', '');
  }
  if($('#bookingmask_ankunftLand').val() != 'Germany') {
        $('#bookingmask_abfahrtLand').val('Germany');
        $('#bookingmask_abfahrtLand').attr('disabled', 'disabled');
  }
  else {
        $('#bookingmask_abfahrtLand').attr('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() + "&site=" + $('#site').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()) {
    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()) {
    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('Promotional Ticket - can not be changed or refunded!');
});
// 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() {
  if($('#bookingmask_abfahrtLand').val() != 'Germany') {
        $('#bookingmask_ankunftLand').val('Germany');
        $('#bookingmask_ankunftLand').attr('disabled', 'disabled');
  }
  else {
        $('#bookingmask_ankunftLand').attr('disabled', '');
        $('#bookingmask_ankunftLand').val('x');
  }
  checkCountrySelects();
});
$('#bookingmask_ankunftLand').bind("change", function() {
  if($('#bookingmask_ankunftLand').val() != 'Germany') {
        $('#bookingmask_abfahrtLand').val('Germany');
        $('#bookingmask_abfahrtLand').attr('disabled', 'disabled');
  }
  else {
        $('#bookingmask_abfahrtLand').attr('disabled', '');
        $('#bookingmask_abfahrtLand').val('x');
  }
  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()
});

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');
  }    
}
