$(document).ready(function () {
    var $first = $('#product-list li:not(.hide)');
    var product = $first.attr('product');
    var carclass = $first.attr('carclass');

    $('#product_matrix_image').attr('src', $first.find('.images img').attr('src')).show();
    filterProduct(product, false, true);
    displayPricePerDay(product, carclass);

    $('#productmatrix td:not(.disable) a').click(function () {
        var product = $(this).attr('product');
        var carclass = $(this).parent().parent('tr').attr('carclass');

        $('#productmatrix td,#productmatrix th,#productmatrix a').removeClass('selected');
        $(this).addClass('selected');

        filterProduct(product, carclass);
        displayPricePerDay(product, carclass);

        return false;
    }).hover(function () {
        var product = $(this).attr('product');
        var carclass = $(this).parent().parent('tr').attr('carclass');

        displayPricePerDay(product, carclass);
    }, function () {
        var product = $('#productmatrix').attr('product');
        var carclass = $('#productmatrix').attr('carclass');
        displayPricePerDay(product, carclass);
    });

    $('#products a').click(function () {
        $('#productmatrix td a,#productmatrix th a').removeClass('selected');
        var product = $(this).attr('product');
        $('#productmatrix td a[product=' + product + ']').addClass('selected');

        filterProduct(product, false);
        displayPricePerDay(product, false);

        return false;
    }).hover(function () {
        var product = $(this).attr('product');
        $('#productmatrix td a[product=' + product + ']').addClass('hover');

        displayPricePerDay(product, false);
    }, function () {
        $('#productmatrix td a[product=' + $(this).attr('product') + ']').removeClass('hover');

        var product = $('#productmatrix').attr('product');
        var carclass = $('#productmatrix').attr('carclass');
        displayPricePerDay(product, carclass);
    });

    $('#productmatrix th a.carclass').click(function () {
        $('#productmatrix td a,#productmatrix th a').removeClass('selected');
        var carclass = $(this).parent().parent().attr('carclass');
        $(this).parent().parent().find('a').addClass('selected');

        filterProduct(false, carclass);
        displayPricePerDay(false, carclass);

        return false;
    }).hover(function () {
        var carclass = $(this).parent().parent().attr('carclass');
        $(this).parent().parent().find('a').addClass('hover');

        displayPricePerDay(false, carclass);
    }, function () {
        $(this).parent().parent().find('a').removeClass('hover');

        var product = $('#productmatrix').attr('product');
        var carclass = $('#productmatrix').attr('carclass');
        displayPricePerDay(product, carclass);
    });

    $('#product-list').css('min-height', $(window).height() + 100);
});

function filterProduct(product, carclass, notscroll){

  //$('#product-list li').stop(true, true).fadeOut();
  $('#product-list li').hide();
  
  var productselector = '';
  var carclassselector = '';

  if (product) {
      productselector = '[product="' + product + '"]';
  }
  if (carclass) {
      carclassselector = '[carclass="' + carclass + '"]';
  }
  $('#productmatrix').attr('product', product);
  $('#productmatrix').attr('carclass', carclass);

  //$('#product-list li' + productselector + carclassselector).fadeIn();
  $('#product-list li' + productselector + carclassselector).show();
  
  //if ($("#product-list").height() < $(window).height()) {
  //    $('#product-list').height($(window).height() + 100);
  //}

  if (!notscroll) $.scrollTo("#productmatrix", 200, { offset: -100 });
};

function displayPricePerDay(product, carclass) {
    var productselector = '';
    var carclassselector = '';

    if (product && product != 'false') {
        productselector = '[product="' + product + '"]';
    }
    if (carclass && carclass != 'false') {
        carclassselector = '[carclass="' + carclass + '"]';
    }

    var priceStr = $('#product-list li' + productselector + carclassselector).first().attr('price').replace(/^\s+|\s+$/g, '');
    var price = parseFloat(priceStr.substring(priceStr.lastIndexOf(' ') + 1).replace(',', '.'));
    var period = parseInt($("#bookingperiod").val(), 10);
    var pricePerDay = priceStr.substring(0, priceStr.lastIndexOf(' ')) + ' ' + roundNumber(price/period, 2).toFixed(2) + "";
    if ($("#culture").val() == 'nl')
        pricePerDay = pricePerDay.replace('.', ',');

    if (pricePerDay.length <= 7) {
        $("#price").css('font-size', '28px').html(pricePerDay);
    } else {
        $("#price").css('font-size', '20px').html(pricePerDay);
    }
}

function roundNumber(rnum, rlength) { // Arguments: number to round, number of decimal places
    return Math.round(rnum * Math.pow(10, rlength)) / Math.pow(10, rlength);
}
