var MILLA_CargoModule = Class.create(
{
	initialize: function(cargoObj)
	{
		
		var paymentMethod = 'dibs';
		
		if(!cargoObj) {return false;}
		if(!$(cargoObj.totalHolder)) { return false; }
		this.setObservers(cargoObj);
		if($(cargoObj.zipValueId).value.length == 4)
		{
			this.changeZip($(cargoObj.zipValueId).value, cargoObj, paymentMethod);
		}
		
	},
	
	setObservers: function(cargoObj)
	{
		var paymentMethod = 'dibs';
		
		Event.observe(cargoObj.zipValueId, 'keyup', function()
		{

			if($(cargoObj.zipValueId).value.length == 4)
			{
				this.changeZip($(cargoObj.zipValueId).value, cargoObj, paymentMethod);
			}
		}.bind(this));
	},
	
	changeZip: function(zipValue, cargoObj, paymentMethod)
	{
		new Ajax.Request('/index.php',
		{
			method: 'get',
			parameters: {
				'c_' : 'MILLA_ShippingDisplay',
				'm_' : 'displayShipping',
				'zip' : zipValue,
				'paymentMethod' : paymentMethod
			},
			onSuccess: function(transport)
			{
				var ShipObj = transport.responseText.evalJSON();

				$(cargoObj.cargoHolder).update(ShipObj.frakt);
				$(cargoObj.totalHolder).update(ShipObj.sumimva);
			}
		});
	}	
});
Event.observe(window, 'load', function()
{

		var checkout = new MILLA_CargoModule(
		{
			zipValueId : 'shippingZip',
			cargoHolder : 'frakt',
			totalHolder: 'totalsum'
		});
	
});
