var initCallbacks = new Array();
var verbose;
var firstLoad = 0;
var updateDropOpenTime = 1;
var base_dir = "/whitelabel/";
$(document).ready(function() {
    // IE Fix for select dropdowns
    $(".ui-dialog").hover(function() {
        $("select").css({
            visibility: "hidden"
        });
    }, function() {
        $("select").css({
            visibility: "visible"
        });
    });


    for(var i = 0; i < initCallbacks.length; i++) {
        initCallbacks[i]();
    }

});

function isIE(version) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
        var ieversion=new Number(RegExp.$1) // capture x.x portion and store as
        // a number

        if (ieversion == version) {
            return true;
        }
    }
    return false;
}

function sessionExpireCheck() {
    $.getJSON('/sessioncheck.php', function(data) {
        if (data == 1) {
            alert('Session has expired!');
        } else {
            setTimeout('sessionExpireCheck()', 10000);
        }
    });
}

function addInitCallback(callback) {
    initCallbacks.push(callback);
}


function initSearchBox() {
    $('#pickup_country').change( changePickupCountry );
    $('#pickup_city').change( changePickupCity );
    $('#pickup_location').change( changePickupLocation );
    $('#dropoff_country').change( changeDropoffCountry );
    $('#dropoff_city').change( changeDropoffCity );
    $('#dropoff_location').change( changeDropoffLocation );
    /*
 * $('#pickup_year').change( changePickupYear ); $('#pickup_month').change(
 * changePickupMonth ); $('#pickup_day').change( changePickupDay );
 * $('#pickup_month').change( changePickupMonth ); $('#pickup_minute').change(
 * changePickupMinute ); $('#dropoff_year').change( changeDropoffYear );
 * $('#dropoff_month').change( changeDropoffMonth ); $('#dropoff_day').change(
 * changeDropoffDay ); $('#dropoff_month').change( changeDropoffMonth );
 * $('#dropoff_minute').change( changeDropoffMinute );
 */
    initSearchBoxSelectValues();
}

function initSearchBoxSelectValues () {
    // Select User values for dropdown menus on page load
    setOptionSelected(document.getElementById('pickup_country').options, pickupCountry);
    setOptionSelected(document.getElementById('pickup_city').options, pickupCity);
    setOptionSelected(document.getElementById('pickup_location').options, pickupLocation);
    setOptionSelected(document.getElementById('dropoff_country').options, dropoffCountry);
    setOptionSelected(document.getElementById('dropoff_city').options, dropoffCity);
    setOptionSelected(document.getElementById('dropoff_location').options, dropoffLocation);
    // setOptionSelected(document.getElementById('pickup_year').options,
    // pickupYear);

    // setOptionSelectedArray(document.getElementById('pickup_hour').options,
    // Array(pickupHour, 12));
    // setOptionSelectedArray(document.getElementById('dropoff_hour').options,
    // Array(dropoffHour, 12));

    // document.getElementById('f-calendar-field-pickup_date_calendar').value =
    // pickupYear + '-' + pickupMonth + '-' + pickupDay;
    // document.getElementById('f-calendar-field-dropoff_date_calendar').value =
    // dropoffYear + '-' + dropoffMonth + '-' + dropoffDay;

    firstLoad = 1;
    // changePickupYear();
    firstLoad = 0;
// changePickupHour();
// changeDropoffHour();
}


function initInsertDate() {
    $('#birth_year').change ( updateDayDropoff );
    $('#birth_month').change ( updateDayDropoff );
}


function updateDayDropoff() {
    var options = document.getElementById('birth_day').options;

    var birthDay = parseInt($('#birth_day').val());
    var birthYear = parseInt($('#birth_year').val());
    var birthMonth = parseInt($('#birth_month').val());

    options.length = 0;
    if (birthYear == 0 || birthMonth == 0) {
    } else {
        var firstDay = 1;
        var lastDay = monthLength(birthMonth, birthYear);

        for (var i = firstDay; i <= lastDay; i++) {
            options.add(new Option(i + '.', i));
        }
    }

    setOptionSelected (options, birthDay);
}


// month in [1,12]
// year any integer
// return number of days in the month
function monthLength(month, year) {
    if (month < 1 || month > 12) {
        consolelog("Invalid monthLenght parameter month: " + month);
        return 0;
    }
    var lastDay = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)[month-1];
    if (month == 2 && year % 4 == 0) lastDay++; // Y2100 bug

    return lastDay;
}


/*
 * Usage: var prevValue = $('#xxx').val(); var options =
 * document.getElementById('xxx').options; ... update list of options ...
 * setOptionSelected (options, prevValue, defaultValue); // Try to select
 * previously selected option value
 */
function setOptionSelected (options, selected_value) {
    // consolelog("searching for " + selected_value);
    // if (isNaN(selected_value)) return;
    for (var i = 0; i < options.length; i++) {
        if (verbose) consolelog("opt " + options[i].value + ' ' + selected_value);
        if (options[i].value == selected_value) {
            options[i].selected = true;
            return;
        }
    }
}

// Select first possible nonzero value in the array
function setOptionSelectedArray (options, selected_value_array) {
    // consolelog("searching for " + selected_value);
    // verbose = 1;
    for (var j = 0; j < selected_value_array.length; j++) {
        var selected_value = selected_value_array[j];
        if (verbose) consolelog("try option " + selected_value);
        // if (isNaN(selected_value)) continue;
        // if (selected_value == 0) continue;
        for (var i = 0; i < options.length; i++) {
            if (verbose) consolelog("opt " + options[i].value + ' ' + selected_value);
            if (options[i].value == selected_value) {
                options[i].selected = true;
                return;
            }
        }
    }
// verbose = 0;
}


function toInteger (id) {
    // var y = parseInt(document.getElementById(id).value, 10);
    // document.getElementById(id).value = (isNaN(y) || y<=0 ? "" : y);
    var y = parseInt(id.value, 10);
    id.value = (isNaN(y) || y<=0 ? "" : y);
}


/*
 * Update Pickup Place
 */

function processSingleSelect(el)
{
    var currentValue = el.val();
    if (currentValue && currentValue != 0)
    {
        // alert("Select has a value " + el.val() + "!");
        return;
    }

    var defVal = el.attr('default');
    var defText = el.attr('defaultText');

    if(
        defVal
        && defVal.length > 0)
        {
        el.val(defVal);
        pickupCountry = defVal;
    }


    else
    {
        if(
            defText
            && defText.length > 0)
            {
            var value = 0;

            el.children("option").each(function(){
                if ($(this).html() == defText)
                    value = $(this).val();
            });
            if (value > 0)
                el.val(value);

            if (el.attr('id') == 'pickup_country')
                pickupCountry = value;


        }
        else
        {
            if (el.attr('id') == 'pickup_country')
            {
                if (agentDefaultCountry && agentDefaultCountry.length > 0)
                {
                    pickupCountry = agentDefaultCountry;
                    el.val(agentDefaultCountry);
                }
                else
                {
                    pickupCountry = el.val();
                }
            }
            else
            if (el.attr('id') == 'pickup_city')
            {
                pickupCity = el.val();
            }
        }
    }

    if (el.attr('id') == 'pickup_country')
        updatePickupCityDropdown();
}

function updatePickupCountryDropdown() {
    var options = document.getElementById('pickup_country').options;

    setOptionSelected(options, pickupCountry);
    changePickupCountry();
}

function changePickupCountry() {
    pickupCountry = parseInt($('#pickup_country').val());
    updatePickupCityDropdown();
}

function updatePickupCityDropdown() {
    var options = document.getElementById('pickup_city').options;

    if(pickupCountry == 0) {
        options.length = 1;
        changePickupCity();
        return;
    }

    $.getJSON(base_dir + 'cityrq.php?c=' + pickupCountry, function(data) {
        options.length = 1;
        for(var i = 0; i < data.length; i++) {
            options.add(new Option(data[i]['name'], data[i]['id']));
        }
        //setOptionSelected(options, pickupCity);
        processSingleSelect($('#pickup_city'));
        changePickupCity();
    });
}

function changePickupCity () {
    /*
    var dt = $('#pickup_city').attr('defaultText');
    var dv = $('#pickup_city').attr('default');
    if(dt && dt.length > 0)
    {
        var v = $('#pickup_city').attr('defaultText');
        $('#pickup_city').attr('defaultText', '');
        $('#pickup_city').val(v);
        pickupCity = $('#pickup_city').val();
		
    }
    else
        if (dv && dv.lenght > 0)
        {
            $('#pickup_city').val(dv);
            pickupCity = dv;
        }
    else
        pickupCity = parseInt($('#pickup_city').val());
    */
    pickupCity = parseInt($('#pickup_city').val());
    updatePickupLocationDropdown();
}

function updatePickupLocationDropdown() {
    var options = document.getElementById('pickup_location').options;
    options.length = 1;
    if(pickupCity == 0) {
        options.length = 1;
        changePickupLocation();
        return;
    }
    $.getJSON(base_dir + 'locationrq.php?c=' + pickupCity, function(data) {
		
        for(var i = 0; i < data.length; i++) {
            options.add(new Option(data[i]['name'], data[i]['id']));
        }
        //setOptionSelected(options, pickupLocation);
        processSingleSelect($('#pickup_location'));
        changePickupLocation();
    });
}

function changePickupLocation () {
    pickupLocation = parseInt($('#pickup_location').val());

    // updatePickupHourDropdown();
    updateDropoffCountryDropdown();
}

/*
 * Update Dropoff Place
 */


function updateDropoffCountryDropdown() {
    var options = document.getElementById('dropoff_country').options;

    options.length = 1;
    if (pickupLocation == 0) {
        changeDropoffCountry();
        return;
    }

    pickupCountry = $('#pickup_country').val();
    $.getJSON(base_dir + 'dropcountryrq.php?l=' + pickupLocation, function(data) {
        for(var i = 0; i < data.length; i++) {
            options.add(new Option(data[i]['name'], data[i]['id']));
        }

        setOptionSelectedArray(options, new Array(dropoffCountry == 0 ? -1 : dropoffCountry, pickupCountry));
        changeDropoffCountry();
    });
}

function changeDropoffCountry () {
    dropoffCountry = parseInt($('#dropoff_country').val());
    updateDropoffCityDropdown();
}

function updateDropoffCityDropdown() {
    var options = document.getElementById('dropoff_city').options;
	
    options.length = 1;
    if (pickupLocation == 0 || dropoffCountry == 0) {
        changeDropoffCity();
        return;
    }
	
    pickupCity = $('#pickup_city').val();
	
    $.getJSON(base_dir + 'dropcityrq.php?l=' + pickupLocation + '&c=' + dropoffCountry, function(data) {
        for(var i = 0; i < data.length; i++) {
            options.add(new Option(data[i]['name'], data[i]['id']));
        }
        setOptionSelectedArray(options, new Array(dropoffCity == 0 ? -1 : dropoffCity, pickupCity));
        changeDropoffCity();
    });
}

function changeDropoffCity() {
    dropoffCity = parseInt($('#dropoff_city').val());
    updateDropoffLocationDropdown();
}

function updateDropoffLocationDropdown() {
    var options = document.getElementById('dropoff_location').options;
    options.length = 1;
    pickupLocation = $("#pickup_location").val();
    if (pickupLocation == 0 || dropoffCity == 0) {
        changeDropoffLocation();
        return;
    }

    $.getJSON(base_dir + 'droplocationrq.php?l=' + pickupLocation + '&c=' + dropoffCity, function(data) {
        for(var i = 0; i < data.length; i++) {
            options.add(new Option(data[i]['name'], data[i]['id']));
        }
        setOptionSelectedArray(options, new Array(dropoffLocation == 0 ? -1 : dropoffCity, pickupLocation));
        changeDropoffLocation();
    });
}

function changeDropoffLocation() {
    dropoffLocation = parseInt($('#dropoff_location').val());
    updateDropOpenTime = 1;
// updateDropoffHourDropdown();
}

/*
 * Update Pickup Time
 */

function changePickupDate () {
    var pickupDate = document.getElementById('f-calendar-field-pickup_date_calendar').value;
    var ymd = pickupDate.split('-');

    pickupYear = parseInt(ymd[0], 10);
    pickupMonth = parseInt(ymd[1], 10);
    pickupDay = parseInt(ymd[2], 10);

// consolelog("got: " + ymd[0] + '-' + ymd[1] + '-' + ymd[2]);
// verbose = 1;
// updatePickupYearDropdown();
// verbose = 0;
}

function updatePickupYearDropdown() {
    var options = document.getElementById('pickup_year').options;

    setOptionSelected(options, pickupYear);
    changePickupYear();
}

function changePickupYear() {
    pickupYear = parseInt($('#pickup_year').val());
// updatePickupMonthDropdown();
}

function updatePickupMonthDropdown() {
    var options = document.getElementById('pickup_month').options;

    options.length = 0;

    if (pickupYear == 0) {
    } else {
        var firstMonth = 0;
        if (currentYear == pickupYear) {
            firstMonth = currentMonth - 1;
        }

        for (var i = firstMonth; i < monthNames.length; i++) {
            options.add(new Option(monthNames[i], i + 1));
        }
    }

    setOptionSelected(options, pickupMonth);
    changePickupMonth();
}

function changePickupMonth() {
    pickupMonth = parseInt($('#pickup_month').val());
    updatePickupDayDropdown();
}

function updatePickupDayDropdown() {
    var options = document.getElementById('pickup_day').options;

    options.length = 0;
    if (pickupYear == 0 || pickupMonth == 0) {
    } else {
        var firstDay = 1;
        if (currentYear == pickupYear && currentMonth == pickupMonth) {
            firstDay = currentDay;
        }

        var lastDay = monthLength(pickupMonth, pickupYear);

        for (var i = firstDay; i <= lastDay; i++) {
            options.add(new Option(i, i));
        }
    }

    setOptionSelected (options, pickupDay);
    changePickupDay();
}

function changePickupDay() {
    pickupDay = parseInt($('#pickup_day').val());
    document.getElementById('f-calendar-field-pickup_date_calendar').value = pickupYear + '-' + pickupMonth + '-' + pickupDay;

    pickupTomorrowDay = pickupDay + tomorrowDays;
    pickupTomorrowMonth = pickupMonth;
    pickupTomorrowYear = pickupYear;
    var monthLen = monthLength(pickupTomorrowMonth, pickupTomorrowYear);
    if (pickupTomorrowDay > monthLen) {
        pickupTomorrowDay -= monthLen;
        pickupTomorrowMonth++;
    }
    if (pickupTomorrowMonth > 12) {
        pickupTomorrowMonth -= 12;
        pickupTomorrowYear++;
    }
    if (pickupTomorrowYear > dropoffYear
        || pickupTomorrowYear == dropoffYear && pickupTomorrowMonth > dropoffMonth
        || pickupTomorrowYear == dropoffYear && pickupTomorrowMonth > dropoffMonth && pickupTomorrowDay > dropoffDay) {
        dropoffYear = pickupTomorrowYear;
        dropoffMonth = pickupTomorrowMonth;
        dropoffDay = pickupTomorrowDay;
    }
    if (!firstLoad) {
        updatePickupHourDropdown();
    }
    updateDropoffYearDropdown();
}

function updatePickupHourDropdown() {
    var options = document.getElementById('pickup_hour').options;

    if (pickupLocation == 0 || pickupYear == 0
        || pickupMonth == 0 || pickupDay == 0) {
        options.length = 0;
        for (var i = 0; i < 24; i++) {
            options.add(new Option(i, i));
        }
        setOptionSelectedArray (options, new Array(pickupHour, 12));
        changePickupHour();
    } else {
        var pickupDate = pickupYear + '-' + pickupMonth + '-' + pickupDay;
        $.getJSON('locationopentimerq.php?loc=' + pickupLocation + '&d=' + pickupDate, function(data) {
            options.length = 0;
            for(var i = 0; i < data.length; i++) {
                options.add(new Option(data[i], data[i]));
            }
            // Copy-paste from if-clause, Asynchrouneus getJSON!!
            setOptionSelectedArray (options, new Array(pickupHour, 12));
            changePickupHour();
        });
    }
}

function changePickupMonth() {
	
// $("#dropoff_month").selectOptions( $("#pickup_month").val());
}

function getMonthFromStr(str)
{
    return str.split('.')[0];
}

function updatePickupMinuteDropdown() {
    var options = document.getElementById('pickup_minute').options;

    options.length = 0;
    if (isNaN(pickupHour)) {
    } else {
        for (var i = 0; i < minuteList.length; i++) {
            options.add(new Option(minuteList[i], minuteList[i]));
        }
    }

    setOptionSelected(options, pickupMinute);
    changePickupMinute();
}

function changePickupMinute() {
    pickupMinute = parseInt($('#pickup_minute').val());
}


/*
 * Update Dropoff Time
 */

function changeDropoffDate () {
    var dropoffDate = document.getElementById('f-calendar-field-dropoff_date_calendar').value;
    var ymd = dropoffDate.split('-');

    dropoffYear = parseInt(ymd[0], 10);
    dropoffMonth = parseInt(ymd[1], 10);
    dropoffDay = parseInt(ymd[2], 10);

    consolelog("drop got: " + ymd[0] + '-' + ymd[1] + '-' + ymd[2]);

    updateDropoffYearDropdown();
}

function updateDropoffYearDropdown() {
    var options = document.getElementById('dropoff_year').options;

    options.length = 0;
    if (pickupYear == 0 || pickupMonth == 0 || pickupDay == 0) {
        updateDropoffMonthDropdown();
        return;
    }

    for (var i = 0; i < yearList.length; i++) {
        if (pickupTomorrowYear > yearList[i]) continue;
        options.add(new Option(yearList[i], yearList[i]));
    }

    setOptionSelected(options, dropoffYear);
    changeDropoffYear();
}

function changeDropoffYear() {
    if (dropoffYear != parseInt($('#dropoff_year').val())) updateDropOpenTime = 1;
    dropoffYear = parseInt($('#dropoff_year').val());
    updateDropoffMonthDropdown();
}

function updateDropoffMonthDropdown() {
    var options = document.getElementById('dropoff_month').options;

    options.length = 0;
    if (isNaN(dropoffYear) || pickupYear == 0
        || pickupMonth == 0 || pickupDay == 0) {
    } else {
        var firstMonth = 0;
        if (pickupTomorrowYear == dropoffYear) {
            firstMonth = pickupTomorrowMonth - 1;
        }

        for (var i = firstMonth; i < monthNames.length; i++) {
            options.add(new Option(monthNames[i], i + 1));
        }
    }

    setOptionSelected(options, dropoffMonth);
    changeDropoffMonth();
}

function changeDropoffMonth() {
    if (dropoffMonth != parseInt($('#dropoff_month').val())) updateDropOpenTime = 1;
    dropoffMonth = parseInt($('#dropoff_month').val());
    updateDropoffDayDropdown();
}

function updateDropoffDayDropdown() {
    var options = document.getElementById('dropoff_day').options;

    options.length = 0;
    if (pickupYear == 0 || pickupMonth == 0
        || pickupDay == 0 || dropoffYear == 0
        || dropoffMonth == 0) {
    } else {
        var firstDay = 1;
        if (dropoffYear == pickupTomorrowYear && dropoffMonth == pickupTomorrowMonth) {
            firstDay = pickupTomorrowDay;
        }

        var lastDay = monthLength(dropoffMonth, dropoffYear);

        for (var i = firstDay; i <= lastDay; i++) {
            options.add(new Option(i, i));
        }
    }

    setOptionSelected (options, dropoffDay);
    changeDropoffDay();
}

function changeDropoffDay() {
    if (dropoffDay != parseInt($('#dropoff_day').val())) updateDropOpenTime = 1;
    dropoffDay = parseInt($('#dropoff_day').val());
    document.getElementById('f-calendar-field-dropoff_date_calendar').value = dropoffYear + '-' + dropoffMonth + '-' + dropoffDay;
    if (!firstLoad) {
        updateDropoffHourDropdown();
    }
}

function updateDropoffHourDropdown() {
    var options = document.getElementById('dropoff_hour').options;

    if (dropoffLocation == 0 || pickupYear == 0 || pickupMonth == 0 || pickupDay == 0
        || dropoffYear == 0 || dropoffMonth == 0 || dropoffDay == 0) {
        options.length = 0;
        for (var i = 0; i < 24; i++) {
            options.add(new Option(i, i));
        }
        setOptionSelectedArray (options, new Array(dropoffHour, 12));
        changeDropoffHour();
    } else {
        if (updateDropOpenTime == 0) {
            setOptionSelectedArray (options, new Array(dropoffHour, 12));
            changeDropoffHour();
            return;
        }
        updateDropOpenTime = 0;
        var dropoffDate = dropoffYear + '-' + dropoffMonth + '-' + dropoffDay;
        $.getJSON('locationdroptimerq.php?l=' + pickupLocation + '&d=' + dropoffDate, function(data) {
            options.length = 0;
            for(var i = 0; i < data.length; i++) {
                options.add(new Option(data[i], data[i]));
            }
            // Copy-paste from if-clause, Asynchrouneus getJSON!!
            setOptionSelectedArray (options, new Array(dropoffHour, 12));
            changeDropoffHour();
        });
    }

}

function changeDropoffMonth() {
    TODO
}

function updateDropoffMinuteDropdown() {
    var options = document.getElementById('dropoff_minute').options;

    options.length = 0;
    if (isNaN(dropoffHour)) {
    } else {
        for (var i = 0; i < minuteList.length; i++) {
            options.add(new Option(minuteList[i], minuteList[i]));
        }
    }

    setOptionSelected(options, dropoffMinute);
    changeDropoffMinute();
}


function changeDropoffMinute() {
    dropoffMinute = parseInt($('#dropoff_minute').val());
}

function updateExtraPrice(id, reservNumber) {
    var key = '#quantity_' + id;
    var amount = $(key).val();

    var url = '/33/process/updateextraprice/' + id + '/' + amount;
    if (reservNumber != 0) {
        url += '/' + reservNumber;
    }

    $.getJSON(url, function(data) {
        $('#price_' + data['id']).html(data['price']);
        // $('#localtotal').html(data['localtotal']);
        // $('#nowtotal').html(data['nowtotal']);
        $('#extra_total').html(data['total']);
    // updateExtraTotalPrices();
    });
}

function consolelog(message) {
    if(window.console) {
        console.log(message);
    }
}

function updateFilter(id) {
    var any = document.getElementById('filter_any');
    var a = document.getElementById('filter_automatic');
    var m = document.getElementById('filter_manual');

    if (id == 'any') {
        if (any.checked) {
            a.checked = true;
            m.checked = true;
        } else {
            a.checked = true;
            m.checked = false;
        }
    } else if (id == 'a' || id == 'm') {
        if (a.checked && m.checked) {
            any.checked = true;
        } else if (a.checked || m.checked) {
            any.checked = false;
        }
    }
}

function initTermsDialog() {
    $('#tc').dialog({
        modal: true,
        autoOpen: false,
        draggable: false,
        height: 'auto',
        width: 600,
        position: 'center',
        overlay: {
            opacity: 0.5,
            background: "black"
        }
    });
}

function openTerms(branchId) {

    $.get('termsrq.php?branch=' + branchId,
        function(data) {
                 
            $('#termsDialog').dialog('open');
            $('#termsDialog').html(data);

        // $('#terms').dialog('open');
        });
	
    $('#termsDialog').dialog('open');
    return false;
}

function initExtraInfoDialog() {
    $('#extrainfo').dialog({
        modal: true,
        autoOpen: false,
        draggable: false,
        height: 250,
        width: 250,
        position: 'center',
        resizable: false,
        overlay: {
            opacity: 0.5,
            background: 'black'
        }
    });
}

function openExtraInfo(extraId) {

    $.get('/' + LANG + '/process/extrainforq/' + extraId, function(data) {
        if (data.length == 0) return;
        if (isIE(6)) {
            data = '<iframe class="overlap_iframe"></iframe>' + data;
        }
        $('#extrainfo').html(data);
        $('#extrainfo').dialog('open');
    });

    return false;
}

function initCvv2Dialog() {
    $('#whatiscvv2').dialog({
        modal: false,
        autoOpen: false,
        draggable: false,
        height: 350,
        width: 400
    });

    $('#open_cvv2_dialog').click(function(e) {
        return openCvv2(e.pageX, e.pageY);
    });
}

function openCvv2(x, y) {
    $.get('/' + LANG + '/whatiscvv2', function(data) {
        if (isIE(6)) {
            data = '<iframe class="overlap_iframe"></iframe>' + data;
        }
        $('#whatiscvv2').html(data);
        $('#whatiscvv2').dialog('open');
    });
    return false;
}

function initSelfServiceTabs() {
    $('#selfservice-tabs').tabs();
}

/**
 * Change booking
 */
function initChangeBooking() {
    $('#check_availability').click(function() {
        var data = {
            pickup_location: $('#pickup_location').val(),
            dropoff_location: $('#dropoff_location').val(),
            pickup_day: $('#pickup_day').val(),
            pickup_month: $('#pickup_month').val(),
            pickup_year: $('#pickup_year').val(),
            pickup_hour: $('#pickup_hour').val(),
            pickup_minute: $('#pickup_minute').val(),
            dropoff_day: $('#dropoff_day').val(),
            dropoff_month: $('#dropoff_month').val(),
            dropoff_year: $('#dropoff_year').val(),
            dropoff_hour: $('#dropoff_hour').val(),
            dropoff_minute: $('#dropoff_minute').val(),
            driver_age: $('#driver_age').val()
        };

        $.post('/33/process/checkavailability', data, function(data) {
            if(data['status'] == 0) {
                alert(data['message']);
            } else if(data['status'] == 2) {
                if(confirm(data['message'])) {
                    $('#search_for_new_car').click();
                    return false;
                }
            } else {
                window.location.href = '/33/changebooking/';
                return false;
            }
            return false;
        }, "json");
        return false;
    });

    $('#close_search').click(function() {
        $("#car_search").hide();
        $("#change_booking").show();
        return false;
    });

    $('#search_for_new_car').click(function() {
        var data = {
            pickup_location: $('#pickup_location').val(),
            dropoff_location: $('#dropoff_location').val(),
            pickup_day: $('#pickup_day').val(),
            pickup_month: $('#pickup_month').val(),
            pickup_year: $('#pickup_year').val(),
            pickup_hour: $('#pickup_hour').val(),
            pickup_minute: $('#pickup_minute').val(),
            dropoff_day: $('#dropoff_day').val(),
            dropoff_month: $('#dropoff_month').val(),
            dropoff_year: $('#dropoff_year').val(),
            dropoff_hour: $('#dropoff_hour').val(),
            dropoff_minute: $('#dropoff_minute').val(),
            driver_age: $('#driver_age').val()
        };

        $.post('/33/process/searchvehicles', data, function(data) {
            $("#result").html('');
            $('#car_search').show();
            $("#loading").fadeIn('slow');
            for(var i = 0;i < data.length; i++) {
                $("#result").append(data[i]);
            }

            $("#loading").fadeOut('slow');
            if(data.length > 0) {
                $('#change_booking').hide();
            } else {
                $('#car_search').hide();
            }

            if(data.length == 0) {
                alert("Unfortunately we haven't found vehicles matching your criteria. Ensure the data youve entered is correct.");
            }
        }, "json");

        return false;
    });

    $('#convert_quote').click(function() {
        return checkBookForm(document.getElementById('personal_form'));
    });

    $('#amend_booking').click(function() {
        var data = {
            pickup_location: $('#pickup_location').val(),
            dropoff_location: $('#dropoff_location').val(),
            pickup_day: $('#pickup_day').val(),
            pickup_month: $('#pickup_month').val(),
            pickup_year: $('#pickup_year').val(),
            pickup_hour: $('#pickup_hour').val(),
            pickup_minute: $('#pickup_minute').val(),
            dropoff_day: $('#dropoff_day').val(),
            dropoff_month: $('#dropoff_month').val(),
            dropoff_year: $('#dropoff_year').val(),
            dropoff_hour: $('#dropoff_hour').val(),
            dropoff_minute: $('#dropoff_minute').val(),
            driver_age: $('#driver_age').val()
        };

        $.post('/33/process/checkavailability', data, function(data) {
            if(data['status'] == 0) {
                alert(data['message']);
            } else if(data['status'] == 2) {
                if(confirm(data['message'])) {
                    $('#search_for_new_car').click();
                    return false;
                }
            } else {
                checkBookForm(document.getElementById('personal_form'));
                return false;
            }
            return false;
        }, "json");
        return false;
    });
}


function checkCardType() {
    var type = document.getElementById('cc_type').options[document.getElementById('cc_type').options.selectedIndex].text;
    if (type == "Visa" || type == "Mastercard") {
        document.getElementById('cc_start_date').style.display = "none";
    } else {
        document.getElementById('cc_start_date').style.display = "";
    }
}
function initCardType() {
    $('#cc_type').change( checkCardType );
    setOptionSelected(document.getElementById('cc_start_year').options, 2009);
}

function loadHowto(){
    var str="<embed src='/images/Banner_6.swf' type='application/x-shockwave-flash' wmode='transparent' height='600' width='600'></embed>";
    document.write(str);
}

function loadBanner() {
    var str="<embed src='/images/Eavto_351x156.swf' type='application/x-shockwave-flash' wmode='transparent' height='156' width='351'></embed>";
    document.write(str);
}

function loadRinningText() {
    var str="<embed src='/images/Eavto_376x30.swf' type='application/x-shockwave-flash' wmode='transparent' height='30' width='376'></embed>";
    document.write(str);

}

function showCarInfo(carId) {
    window.open('/' + '24' + '/carinfo/' + carId, 'carinfo', 'height=600,width=640,scrollbars=yes');
    return false;
// $.get('/' + LANG + '/carinfo/' + carId, function(data) {
// document.getElementById('carinfo').innerHTML=data;
// $('#carinfo').dialog('open');
// // $('#carinfo').dialog('open');
// // $('#carinfo').html(data);
// // $('#carinfo').show();
// // $('#carinfo').dialog('open');
//
// //document.getElementById('carinfo').style.display='';
// //document.getElementById('carinfo').style.height='auto';
// });
// // carinfoDialog.data('dialog.height', 'auto');
// // document.getElementById('carinfo').style.height = 'auto';
// return false;
}
// var carinfoDialog;
// function initCarinfoDialog() {
// carinfoDialog = $('#carinfo').dialog({
// modal: false,
// autoOpen: false,
// width: 'auto'
// });
// document.getElementById('carinfo').style.display='';
// carinfoDialog.data('height.dialog', 'auto');
// }

