var EbruShippingDisplayModule = Class.create(
{
	initialize: function(cargoObj)
	{
		if(!cargoObj) {return false;}
		if(!$(cargoObj.cargoHolder)) { return false; }
		this.setObservers(cargoObj);
		if($(cargoObj.zipValueId).value.length == 4)
		{
			this.getShippingInfo($(cargoObj.zipValueId).value, cargoObj);
		}
	},
	
	setObservers: function(cargoObj)
	{
		Event.observe(cargoObj.zipValueId, 'keyup', function()
		{
			if($(cargoObj.zipValueId).value.length == 4)
			{
				this.getShippingInfo($(cargoObj.zipValueId).value, cargoObj);
			}
		}.bind(this));
	},
	
	getShippingInfo: function(zipValue, cargoObj)
	{
		new Ajax.Request('/index.php',
		{
			method: 'get',
			parameters: {
				'c_' : 'Ebru_ShippingDisplay',
				'm_' : 'displayShipping',
				'zip' : zipValue
			},
			onSuccess: function(transport)
			{
				var ShipObj = transport.responseText.evalJSON();
				$(cargoObj.cargoHolder).update(ShipObj.frakt);
				//$(cargoObj.totalHolder).update(ShipObj.sumemva);
				$(cargoObj.totalTaxHolder).update(ShipObj.sumimva);
				$(cargoObj.taxHandler).update(ShipObj.moms);
			}
		});
	}	
});
Event.observe(window, 'load', function()
{
	var shippingModule = new EbruShippingDisplayModule(
	{
		zipValueId : 'zip',
		cargoHolder : 'frakt',
		totalTaxHolder : 'total',
	//	totalHolder : 'total',
	//	totalTaxHolder : 'totalpris',
		taxHandler : 'taxHandler'
	});
});