$(function() {
    $("#prices").hide();
    $("#travellers").hide();
    $("#times").hide();
    $("#returnDate").hide();
    $("#hotelAddress").hide();
    $("#datepicker").datepicker(
        {buttonImage: '/img/layout/datumselektor.jpg',
            buttonImageOnly: true,
            showOn: 'button',
            defaultDate: '+21',
            beforeShowDay: function(date) {
                showDays = $("#showDays").val();
                if (showDays != '' && showDays.indexOf(date.getDay()) == -1){
                    return [false,''];
                } else {
                    return [true, ''];
                }
            },
            onClose: function() {pid=$("#pid").val();checkDate(pid);}
        });
});
$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});

function checkDate(pid){
    window.scrollTo(0, 700);
    travelDate = $("#datepicker").val();
    $("#prices").load('/getPrices/ajax.html?pid='+pid+'&travelDate='+travelDate);
    $("#notice").hide();
    $("#travellers").hide();
    $("#travellersTabLink").removeClass('on');
    $("#times").hide();
    $("#timesTabLink").removeClass('on');
    $("#returnDate").show();
    $("#returnDateTabLink").removeClass('on');
    $("#hotelAddress").hide();
    $("#hotelAddressTabLink").removeClass('on');
    $("#returnDate").hide();
    $("#returnDateTabLink").removeClass('on');
    $("#prices").show();
    $("#pricesTabLink").addClass('on');
    return false;
}


function showTabReturnDate(pid){
    lastForm = $("#currentForm").val();
    formData = $('#'+lastForm).serialize();
    $('#'+lastForm).empty();
    $("#returnDate").load('/getReturnDate/ajax.html?pid='+pid+'&'+formData);
    $("#notice").hide();
    $("#travellers").hide();
    $("#travellersTabLink").removeClass('on');
    $("#times").hide();
    $("#timesTabLink").removeClass('on');
    $('#prices').hide();
    $("#pricesTabLink").removeClass('on');
    $("#hotelAddress").hide();
    $("#hotelAddressTabLink").removeClass('on');
    $("#returnDate").show();
    $("#returnDateTabLink").addClass('on');
    return false;
}

function showTabHotelAddress(pid){
    lastForm = $("#currentForm").val();
    formData = $('#'+lastForm).serialize();
    $('#'+lastForm).empty();
    $("#hotelAddress").load('/getHotelAddress/ajax.html?pid='+pid+'&'+formData);
    $("#notice").hide();
    $("#travellers").hide();
    $("#travellersTabLink").removeClass('on');
    $("#times").hide();
    $("#timesTabLink").removeClass('on');
    $("#returnDate").hide();
    $("#returnDateTabLink").removeClass('on');
    $('#prices').hide();
    $("#pricesTabLink").removeClass('on');
    $("#hotelAddress").show();
    $("#hotelAddressTabLink").addClass('on');
    return false;
}

function showTabPrices(pid){
    travelDate = $("#datepicker").val();
    lastForm = $("#currentForm").val();
    formData = $('#'+lastForm).serialize();
    $('#'+lastForm).empty();
    $("#prices").load('/getPrices/ajax.html?pid='+pid+'&travelDate='+travelDate+'&'+formData);
    $("#notice").hide();
    $("#travellers").hide();
    $("#travellersTabLink").removeClass('on');
    $("#times").hide();
    $("#timesTabLink").removeClass('on');
    $("#returnDate").hide();
    $("#returnDateTabLink").removeClass('on');
    $("#hotelAddress").hide();
    $("#hotelAddressTabLink").removeClass('on'); 
    $('#prices').show();
    $("#pricesTabLink").addClass('on');
    return false;
}

function showTabTravellers(pid){
    lastForm = $("#currentForm").val();
    formData = $('#'+lastForm).serialize();
    $('#'+lastForm).empty();
    $("#travellers").load('/getTravellers/ajax.html?pid='+pid+'&'+formData);
    $("#notice").hide();
    $('#prices').hide();
    $("#pricesTabLink").removeClass('on');
    $("#times").hide();
    $("#timesTabLink").removeClass('on');
    $("#returnDate").hide();
    $("#returnDateTabLink").removeClass('on');
    $("#hotelAddress").hide();
    $("#hotelAddressTabLink").removeClass('on'); 
    $("#travellers").show();
    $("#travellersTabLink").addClass('on');

    return false;
}

function showTabTimes(pid){
    lastForm = $("#currentForm").val();
    formData = $('#'+lastForm).serialize();
    $('#'+lastForm).empty();
    $("#times").load('/getTimes/ajax.html?pid='+pid+'&'+formData);
    $("#notice").hide();
    $('#prices').hide();
    $("#pricesTabLink").removeClass('on');
    $("#travellers").hide();
    $("#travellersTabLink").removeClass('on');
    $("#returnDate").hide();
    $("#returnDateTabLink").removeClass('on');
    $("#hotelAddress").hide();
    $("#hotelAddressTabLink").removeClass('on'); 
    $("#times").show();
    $("#timesTabLink").addClass('on');
    return false;
}

function calcPrices(id){
    amount = $('#amount'+id).val();
    if(!amount || amount < 0) {
        amount = 0;
        $('#amount'+id).val(0);
    }
    amount = parseInt(amount);
    price = $('#price'+id).text();
    price=delocalizePrice(price);

    mySum = Math.round((price * amount) * 100) / 100;
    mySum = localizePrice(mySum);
    if(mySum == '00') mySum ='0,00';
    $('#sum'+id).val(mySum);
    calcSum();
}

function calcSum(){
    var $inputs = $('#PricesForm :input');
    var mySum = 0;
    $inputs.each(function() {
        if(this.name.match(/^sum([0-9]+)/)){
            mySum = Math.round((mySum + delocalizePrice(this.value)) * 100) / 100;
        }
    });
    mySum = localizePrice(mySum);
    if(mySum == '0' && mySum == '00') mySum ='0,00';
    $('#sum').text(mySum);
    return true;
}

function localizePrice(price){   
    price = String(price);
    if (price.indexOf('.') != -1 && price.indexOf('.') == price.length -2) price += '0';
    if (price.indexOf('.') == -1) price += ',00';
    price = price.replace(/\./,",");
    return price;
}

function delocalizePrice(price){
    price = String(price);
    price = price.replace(/\./,"");
    price = price.replace(/,/,".");
    price = parseFloat(price);
    price = Math.round(price * 100) / 100;
    return price;
}
