/* Language preferences */
lang_fly = {
children : "Bērni nevar ceļot bez pavadoņa!
",
infants : "Zīdaiņu skaits nevar pārsniegt pieaugušo pasažieru skaitu!
",
adults : "Lūdzu izvēlieties pasažieru tipu!
",
passengers : "Pārsniegts maksimālais pasažieru skaits vienā rezervācijā!
",
dep0 : "Izvēlieties no saraksta Jūsu izlidošanas pilsētu vai lidostu!
",
dep1 : "Izvēlieties no saraksta Jūsu 2. izlidošanas pilsētu vai lidostu!
",
arr0 : "Izvēlieties no saraksta Jūsu galamērķa pilsētu vai lidostu!
",
arr1 : "Izvēlieties no saraksta Jūsu 2. galamērķa pilsētu vai lidostu!
",
cal0 : "Lūdzu izvēlieties izlidošanas datumu!
",
cal1 : "Lūdzu izvēlieties atgriešanās datumu!
"
};
/* Functions */
function formatAirport(val, inList) {
var dest = val.toString().split(";");
if(dest[dest.length-1] == '2') {
var str = dest[1];
if (dest[2].length > 0) str+= ", " + dest[2];
if (dest[5].length > 0) str += ", " + dest[5];
str += " (" + dest[0] + ")";
return (inList) ? " " + str : str;
} else if(dest[dest.length-1] == '1') {
var str = dest[1] + ", " + dest[2] + " (" + dest[0] + ")";
return (inList) ? "" + str : str;
} else {
var str = dest[1] + ", " + dest[5] + " (" + dest[3] + ")";
return (inList) ? " " + str : str;
}
}
function formatAirline( val, inList ) {
var dest = val.toString().split(";");
var str = dest[1];
if (dest.length == 2)
return (inList) ? dest[1] : str;
}
function avioPassengers() {
var adults = parseInt($('select[name=adtcount]').val());
var children = parseInt($('select[name=chdcount]').val());
var infants = parseInt($('select[name=infcount]').val());
var youths = parseInt($('select[name=youths]').val());
adults = adults + youths;
var passengers = adults + children + infants;
if (!adults && children) {
myAlert( lang_fly.children );
} else if (adults < infants) {
myAlert( lang_fly.infants );
} else if (!adults) {
myAlert( lang_fly.adults );
} else if (passengers > 9) {
myAlert( lang_fly.passengers );
} else {
return true;
}
return false;
}
function myAlert( msg ){
$('.alert-error').hide();
$('#error_message').html( msg );
$('.alert-error').show();
$('html, body').animate({scrollTop: $('.alert-error').offset().top - 120}, 200);
}
$(document).ready(function() {
// avio
$('#avioCont .journey_type input').click(function(){
$('#avioCont .journey_type label').removeClass('text-primary');
$(this).parent('label').addClass('text-primary');
$('#avioCont').removeClass('RT');
$('#avioCont').removeClass('OW');
$('#avioCont').removeClass('OJ');
$('#avioCont').addClass($(this).val());
});
$('#avioCont .addOptionShow .optionBtn').click(function(){
$('#avioCont .addOptionShow').addClass('hidden');
$('#avioCont .addOptionHide').removeClass('hidden');
return false;
});
$('#avioCont .addOptionHide .optionBtn').click(function(){
$('#avioCont .addOptionHide').addClass('hidden');
$('#avioCont .addOptionShow').removeClass('hidden');
return false;
});
var locale = 'en';
if($('#avioCont').data('lng')) locale = $('#avioCont').data('lng');
$('#datetimepicker1').datetimepicker({
format: 'DD.MM.YYYY',
defaultDate: $('#datetimepicker1').data('mindate'),
minDate: $('#datetimepicker1').data('mindate'),
maxDate: $('#datetimepicker1').data('maxdate'),
locale: locale
});
$('#datetimepicker2').datetimepicker({
format: 'DD.MM.YYYY',
defaultDate: $('#datetimepicker1').data('mindate'),
minDate: $('#datetimepicker2').data('mindate'),
maxDate: $('#datetimepicker1').data('maxdate'),
locale: locale
});
$("#datetimepicker1").on("dp.change",function (e) {
$('#datetimepicker2').data("DateTimePicker").minDate(e.date);
var one_day=1000*60*60*24;
var date_1 = new Date($('#datetimepicker1').data("DateTimePicker").date());
var date_2 = new Date($('#datetimepicker2').data("DateTimePicker").date());
if(date_2 < date_1){
$('#datetimepicker2').data("DateTimePicker").date(new Date(parseInt(date_1.getTime())+parseInt(one_day)));
}
$('input[name=date_2]', $('#avioCont')).click();
});
$("#datetimepicker2").on("dp.change",function (e) {
//$('#datetimepicker1').data("DateTimePicker").maxDate(e.date);
$('select[name=adtcount]', $('#avioCont')).focus();
});
$('#datetimepicker1 input, #datetimepicker2 input').click(function(){
$(this).parent('div').children('span').click();
});
$('#datetimepicker1 input, #datetimepicker2 input').keyup(function(){
$(this).parent('div').children('span').click();
});
$(document).on('change', '.has-error', function() {$(this).removeClass('has-error');});
$(document).on('click', '.has-error', function() {$(this).removeClass('has-error');});
$('#avioCont .addAirportDep').click(function(){
if($('#avioCont .fromAdd_1').hasClass('hidden')){
$('#avioCont .deleteAirportDep').removeClass('hidden');
$('#avioCont .fromAdd_1').removeClass('hidden');
}else if($('#avioCont .fromAdd_2').hasClass('hidden')){
$('#avioCont .deleteAirportDep').removeClass('hidden');
$('#avioCont .fromAdd_2').removeClass('hidden');
$('#avioCont .addAirportDep').addClass('hidden');
}
$('#avioCont .addAirportArr').addClass('hidden');
return false;
});
$('#avioCont .deleteAirportDep').click(function(){
if(!$('#avioCont .fromAdd_2').hasClass('hidden')){
$('#avioCont .deleteAirportDep').removeClass('hidden');
$('#avioCont .fromAdd_2').addClass('hidden');
$('#avioCont .fromAdd_2 input').val('');
$('#avioCont .addAirportDep').removeClass('hidden');
}else if(!$('#avioCont .fromAdd_1').hasClass('hidden')){
$('#avioCont .deleteAirportDep').addClass('hidden');
$('#avioCont .fromAdd_1').addClass('hidden');
$('#avioCont .fromAdd_1 input').val('');
$('#avioCont .addAirportDep').removeClass('hidden');
$('#avioCont .addAirportArr').removeClass('hidden');
}
return false;
});
$('#avioCont .addAirportArr').click(function(){
if($('#avioCont .toAdd_1').hasClass('hidden')){
$('#avioCont .deleteAirportArr').removeClass('hidden');
$('#avioCont .toAdd_1').removeClass('hidden');
}else if($('#avioCont .toAdd_2').hasClass('hidden')){
$('#avioCont .deleteAirportArr').removeClass('hidden');
$('#avioCont .toAdd_2').removeClass('hidden');
$('#avioCont .addAirportArr').addClass('hidden');
}
$('#avioCont .addAirportDep').addClass('hidden');
return false;
});
$('#avioCont .deleteAirportArr').click(function(){
if(!$('#avioCont .toAdd_2').hasClass('hidden')){
$('#avioCont .deleteAirportArr').removeClass('hidden');
$('#avioCont .toAdd_2').addClass('hidden');
$('#avioCont .toAdd_2 input').val('');
$('#avioCont .addAirportArr').removeClass('hidden');
}else if(!$('#avioCont .toAdd_1').hasClass('hidden')){
$('#avioCont .deleteAirportArr').addClass('hidden');
$('#avioCont .toAdd_1').addClass('hidden');
$('#avioCont .toAdd_1 input').val('');
$('#avioCont .addAirportArr').removeClass('hidden');
$('#avioCont .addAirportDep').removeClass('hidden');
}
return false;
});
$('#avioCont form').submit(function(){
//has-error
var error = false;
var error_text = '';
if($('input[name=journey_type]:checked').val() == 'RT'){
var check = ["dep_0", "arr_0", "date_1", "date_2"];
}else if($('input[name=journey_type]:checked').val() == 'OW'){
var check = ["dep_0", "arr_0", "date_1"];
}else if($('input[name=journey_type]:checked').val() == 'OJ'){
var check = ["dep_0", "arr_0", "date_1", "date_2", "dep_1", "arr_1"];
}
$('.has-error').removeClass('has-error');
for (index = 0; index < check.length; index++) {
if($('#avioCont input[name='+check[index]+']').val().length < 2){
error = true;
$('#avioCont input[name='+check[index]+']').parent('div').addClass('has-error');
if(check[index] == 'dep_0')
error_text = error_text+lang_fly.dep0;
else if(check[index] == 'arr_0')
error_text = error_text+lang_fly.arr0;
else if(check[index] == 'dep_1')
error_text = error_text+lang_fly.dep1;
else if(check[index] == 'arr_1')
error_text = error_text+lang_fly.arr1;
else if(check[index] == 'date_1')
error_text = error_text+lang_fly.cal0;
else if(check[index] == 'date_2')
error_text = error_text+lang_fly.cal1;
}
}
if(error){
myAlert( error_text );
return false;
}
return avioPassengers();
});
var lng=$("#avioCont").data("lng");
$(document).on('click', '.airport-select', function(e) {
$('input[name='+$('#countryModal').data('to')+']').val($(this).html());
$('input[name='+$('#countryModal').data('to')+']').focus();
$('.close').click();
return false;
});
//avioCont dep_0
$('#avioCont input[name=dep_0]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=dep_0]").val(formatAirport(item, false));
setTimeout(function(){$("#avioCont input[name=arr_0]").focus();}, 10);
},
});
$('#avioCont input[name=dep_0_1]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=dep_0_1]").val(formatAirport(item, false));
setTimeout(function(){$("#avioCont input[name=arr_0]").focus();}, 10);
},
});
$('#avioCont input[name=dep_0_2]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=dep_0_2]").val(formatAirport(item, false));
setTimeout(function(){$("#avioCont input[name=arr_0]").focus();}, 10);
},
});
//avioCont arr_0
$('#avioCont input[name=arr_0]').click(function(){$(this).val('');});
$('#avioCont input[name=arr_0_1]').click(function(){$(this).val('');});
$('#avioCont input[name=arr_0_2]').click(function(){$(this).val('');});
$('#avioCont input[name=arr_0]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=arr_0]").val(formatAirport(item, false));
if($("input[name=journey_type]:checked").val() == 'OJ')
setTimeout(function(){$("#avioCont input[name=dep_1]").focus();}, 10);
else
setTimeout(function(){$("#avioCont input[name=date_1]").click();}, 10);
},
});
$('#avioCont input[name=arr_0_1]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=arr_0_1]").val(formatAirport(item, false));
setTimeout(function(){$("#avioCont input[name=date_1]").click();}, 10);
},
});
$('#avioCont input[name=arr_0_2]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=arr_0_2]").val(formatAirport(item, false));
setTimeout(function(){$("#avioCont input[name=date_1]").click();}, 10);
},
});
//avioCont dep_1
$('#avioCont input[name=dep_1]').click(function(){$(this).val('');});
$('#avioCont input[name=dep_1]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=dep_1]").val(formatAirport(item, false));
setTimeout(function(){$("#avioCont input[name=arr_1]").focus();}, 10);
},
});
//avioCont arr_1
$('#avioCont input[name=arr_1]').click(function(){$(this).val('');});
$('#avioCont input[name=arr_1]').typeahead({source: function (query, process) {
return $.getJSON('/flights_search_form/whisper_airport.php', { query: query, lng: lng }, function (data) {
//myAlert(data);
return process(data);
});
},
autoSelect: true,
highlighter: function(item){
return formatAirport(item, true);
},
items: 20,
afterSelect: function(item){
$("#avioCont input[name=arr_1]").val(formatAirport(item, false));
setTimeout(function(){$("#avioCont input[name=date_1]").click();}, 10);
},
});
//
$('.changePassengers').change(function(){return avioPassengers();})
});