﻿function InitBooking() {
    var cities = external_file_cities;
    var airports = external_file_airports;
    var countrys = external_file_countrys;
    var providers = external_file_providers;

    minDateFrom_air = 0;
    if (typeof advanced_purchase_air != 'undefined') {
        minDateFrom_air = advanced_purchase_air;
    }
    minDateFrom_hotel = 0;
    if (typeof advanced_purchase_hotel != 'undefined') {
        minDateFrom_hotel = advanced_purchase_hotel;
    }
    minDateFrom_extra = 0;
    if (typeof advanced_purchase_extra != 'undefined') {
        minDateFrom_extra = advanced_purchase_extra;
    }
    maxDateTo_extra = 30;
    if (typeof max_range_extra != 'undefined') {
        maxDateTo_extra = max_range_extra;
    }

    // Air Inicialization

    // Air Autocomplete
    $(".txtAirCityFrom").autocomplete(cities, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    $(".txtAirCityTo").autocomplete(cities, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    // Air Datepickers
    $('.txtAirDateFrom').datepicker({
        minDate: minDateFrom_air,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtAirDateTo').datepicker({
        minDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtAirDateFrom').change(function () {
        $('.txtAirDateTo').datepicker("option", "minDate", $('.txtAirDateFrom').datepicker('getDate'));
    });

    // Air Toggle
    $("#special_options_toggle_netactica_air").toggle(
		function () {
		    $("#arrow_aditional_details_netactica_air").removeClass('ui-icon-triangle-1-s').addClass('ui-icon-triangle-1-n');
		    $("#special_options_netactica_air").show("fast");
		}, function () {
		    $("#arrow_aditional_details_netactica_air").removeClass('ui-icon-triangle-1-n').addClass('ui-icon-triangle-1-s');
		    $("#special_options_netactica_air").hide("fast");
		});


    // Hotel Inicialization

    // Hotel Autocomplete
	$(".txtHotelCity").autocomplete(cities, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    // Hotel Datepickers
    $('.txtHotelDateFrom').datepicker({
        minDate: minDateFrom_hotel,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtHotelDateTo').datepicker({
        minDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });

    $('.txtHotelDateFrom').change(function () {
        $('.txtHotelDateTo').datepicker("option", "minDate", new Date(
		    $.datepicker.formatDate('yy', $('.txtHotelDateFrom').datepicker('getDate')),
		    $.datepicker.formatDate('mm', $('.txtHotelDateFrom').datepicker('getDate')) * 1 - 1,
		    $.datepicker.formatDate('dd', $('.txtHotelDateFrom').datepicker('getDate')) * 1 + 1
	    ));
    });

    // Listas dinamicas de adultos por cuarto
    $('.ddlHotelNumberRooms').change(function () {
        showRooms($(this).val());
    });
    // Listas dinamicas de chicos por cuarto
    $('.ddlHotelNumberChildrens').change(function () {
        ShowAges($(this));
    });


    // Package Inicialization

    // Package Autocomplete
    $(".txtPackageCity").autocomplete(cities, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    // Package Datepickers
    $('.txtPackageDateFrom').datepicker({
        minDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']

    });
    $('.txtPackageDateTo').datepicker({
        minDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtPackageDateFrom').change(function () {
        $('.txtPackageDateTo').datepicker("option", "minDate", $('.txtPackageDateFrom').datepicker('getDate'));
    });


    // Car Inicialization

    // Car Autocomplete
    $(".txtCarAirportFrom").autocomplete(airports, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    $(".txtCarAirportTo").autocomplete(airports, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    $(".txtCarCountry").autocomplete(countrys, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    // Car Datepickers
    $('.txtCarDateFrom').datepicker({
        minDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtCarDateTo').datepicker({
        minDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtCarDateFrom').change(function () {
        $('.txtCarDateTo').datepicker("option", "minDate", $('.txtCarDateFrom').datepicker('getDate'));
    });

    // Car Toggle
    $("#special_options_toggle_netactica_car").toggle(
		function () {
		    $("#arrow_aditional_details_netactica_car").removeClass('ui-icon-triangle-1-s').addClass('ui-icon-triangle-1-n');
		    $("#special_options_netactica_car").show("fast");
		}, function () {
		    $("#arrow_aditional_details_netactica_car").removeClass('ui-icon-triangle-1-n').addClass('ui-icon-triangle-1-s');
		    $("#special_options_netactica_car").hide("fast");
		});
    $("#dropoff_toggle_netactica_car").toggle(
		function () {
		    $("#arrow_dropoff_netactica_car").removeClass('ui-icon-triangle-1-s').addClass('ui-icon-triangle-1-n');
		    $("#special_dropoff_netactica_car").show("fast");
		}, function () {
		    $("#arrow_dropoff_netactica_car").removeClass('ui-icon-triangle-1-n').addClass('ui-icon-triangle-1-s');
		    $("#special_dropoff_netactica_car").hide("fast");
		});


    // Travel Extras Inicialization

    // Travel Extras Autocomplete
	$(".txtExtraCity").autocomplete(cities, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    $(".TxtExtraProvider").autocomplete(cities, {
        formatItem: function (item) {
            return item.displayname;
        },
        width: "auto"
    });

    // Travel Extras Datepickers
    $('.txtExtraDateFrom').datepicker({
        minDate: minDateFrom_extra,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtExtraDateTo').datepicker({
        minDate: 0,
        maxDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });

    $('.txtExtraDateFrom').change(function () {
        $('.txtExtraDateTo').datepicker("option", "minDate", $('.txtExtraDateFrom').datepicker('getDate'));
    });
    $('.txtExtraDateFrom').change(function () {
        var numRangeDays = Math.floor((new Date($('.txtExtraDateFrom').datepicker('getDate') - new Date())) / 86400000);
        var maxDateTo = numRangeDays + maxDateTo_extra;

        $('.txtExtraDateTo').datepicker("option", "maxDate", '+' + maxDateTo + 'd');
    });
}

function initAirDate() {
    var data = external_file_cities;

    $('.txtAirDateFrom').datepicker({
        minDate: minDateFrom_air,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtAirDateTo').datepicker({
        minDate: 0,
        dateFormat: 'dd-mm-yy',
        numberOfMonths: [1, 2],
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa']
    });
    $('.txtAirDateFrom').change(function () {
        $('.txtAirDateTo').datepicker("option", "minDate", $('.txtAirDateFrom').datepicker('getDate'));
    });
}

function showRooms(num) {
    for (var i = 2; i <= parseInt(num); i++) {
        var currentRoomDiv = document.getElementById('room_span_netactica_hotel' + i);
        currentRoomDiv.style.display = '';
    }

    var num2 = parseInt(num) + 1;

    for (var j = num2; j < 4; j++) {
        var currentRoomDiv = document.getElementById('room_span_netactica_hotel' + j);
        currentRoomDiv.style.display = 'none';
        var currentChildrenAgesDiv = document.getElementById('age_span_netactica_hotel' + j);
        currentChildrenAgesDiv.style.display = 'none';

        var currentAdultsDrop = $('select[id$=ddlHotelNumberAdults' + j + ']');
        document.getElementById(currentAdultsDrop.attr('id')).options[0].selected = true;

        var currentChildrensDrop = $('select[id$=ddlHotelNumberChildrens' + j + ']');
        document.getElementById(currentChildrensDrop.attr('id')).options[0].selected = true;

        for (var k = 1; k < 4; k++) {
            var currentAgeDrop = $('select[id$=ddlHotelAgenChildrens' + j + k + ']');
            document.getElementById(currentAgeDrop.attr('id')).options[0].selected = true;
        }
    }
}

function ShowAges(obj) {
    var childVal = parseInt(obj.val());
    var room = obj.attr('name').substring(obj.attr('name').length, obj.attr('name').length - 1);
    var currentDiv = document.getElementById('age_span_netactica_hotel' + room);

    if (childVal != 0) {
        currentDiv.style.display = '';
    }
    else {
        currentDiv.style.display = 'none';
    }

    for (var i = 1; i <= childVal; i++) {
        var currentDrop = $('select[id$=ddlHotelAgenChildrens' + room + i + ']');
        currentDrop.attr('style', 'display:block');
    }

    for (var j = childVal + 1; j < 4; j++) {
        var currentDrop = $('select[id$=ddlHotelAgenChildrens' + room + j + ']');
        currentDrop.attr('style', 'display:none');
        document.getElementById(currentDrop.attr('id')).options[0].selected = true;
    }
}
function onlyNumbers(evt) {
    var isNav = (navigator.appName.indexOf("Netscape") != -1)
    var isIE = (navigator.appName.indexOf("Microsoft") != -1)

    if (isNav) {
        var key = evt.which;
    }
    else if (isIE) {
        var key = evt.keyCode;
    }

    return (key <= 13 || (key >= 48 && key <= 57) || key == 46);
}
function valReqAirDateTo(source, args) {
    if ($(".txtAirDateTo").css('display') != 'none') {
        if ((args.Value == '') || (args.Value == null))
            args.IsValid = false;
        else
            args.IsValid = true;
    } else {
        args.IsValid = true;
    }
}
