var Cart = Class.create({
  
  removeProduct: function(uri, id) {
    id = id.replace('.', '^');
 
    var full_uri = uri + ',remove_product.' + id;

	  new Ajax.Updater('cart', full_uri, { method: 'get' });
	  
	  this.cleanBlock(uri, id);
  },
  
  cleanBlock: function(uri, id) {
    var full_uri = uri + ',remove_product_block.' + id;
   
    new Ajax.Updater('cart_block', full_uri, { method: 'get' });
  },
  
  removeCartAll: function(uri) {
    var full_uri = uri + ',remove_cart_all.1';

    new Ajax.Updater('cart_block', full_uri, { method: 'get' });
  },
  
  changePrice: function(uri, id) {
    var amount = parseInt($('amount-' + id).value);
    var price = parseFloat($('price-' + id).innerHTML);
    var totalprice = parseFloat($('totalprice-' + id).innerHTML);
    var old_delivery = parseFloat($('delivery').innerHTML);

    var sum = parseFloat($('sum_wo_vat').innerHTML); 
     
    if (isNaN(price)) {
      price = 0; 
    }   
       
    if (isNaN(totalprice)) {
      totalprice = 0; 
    }
    
    if (isNaN(sum)) {
      sum = 0;
    } 
  
    if(amount <= 0 || isNaN(amount)){
      amount = 1;
      $(amount1).value = 1;
    }
    
    id_for_pass = id.replace('.', '^');
    var full_uri = uri + ',change_amount.' + id_for_pass + ',amount.' + amount;
    
    new Ajax.Request(full_uri, {
                      method: 'get',
                      onSuccess: function(transport) {
                       var newtotalprice = price * amount;
                       
                       new_delivery = parseFloat(transport.responseText);
                       if (old_delivery != parseFloat(new_delivery)) {
                         var newsum = parseFloat(sum - totalprice + newtotalprice - old_delivery + new_delivery);
                         $('delivery').update(new_delivery);
                       } else {
                         var newsum = parseFloat(sum - totalprice + newtotalprice);
                       }
                       
                       newtotalprice = newtotalprice.toFixed(2);
                       newsum = newsum.toFixed(2);
                   
                       $('totalprice-' + id).update(newtotalprice);
                       
                       $('sum_wo_vat').update(newsum);
                       
                       sum_vat = newsum * 0.19;
                       $('sum_vat').update(sum_vat.toFixed(2));
                       
                       total = newsum * 1.19;
                       $('sum').update(total.toFixed(2));
                     }
    });
  }
});

var objCart = new Cart();

