//
// Require Prototype 1.6
//

var gUpdatePricePath = '';

document.observe('dom:loaded', function() {
  var CUSTOM_FIELD = /^property_set/;
  
	var form = $('addToCart'), price = $('price'),
		submit = form.down('input[type="image"]');
	if (!form || !price) return;
	var oldSer = form.serialize(true);
	new Form.EventObserver(form, function(e) {
	  var newSer = form.serialize(true);
	  var actualChange = $H(newSer).any(function(pair) {
	    return CUSTOM_FIELD.test(pair.key) && pair.value != oldSer[pair.key];
	  });
	  if (!actualChange) return;
		new Ajax.Updater(price, gUpdatePricePath, {
			method: 'get', parameters: form.serialize(),
			onSuccess: function() {
				submit.show();
				oldSer = newSer;
				price.highlight({ duration: 1 });
			},
			onFailure: function() {
				submit.hide();
				alert('Cette combinaison n’existe pas.');
			}
		});
	});
});
