var LEHMKUHL_CargoModule = Class.create(
{
	initialize: function(cargoObj)
	{
		
		var allRadioBtn = $$('.'+cargoObj.radioBtn);
		allRadioBtn.each(function(elm,i){
			if(elm.checked){
				var paymentMethod = elm.value;
			}
		});
		
		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
		Event.observe(cargoObj.zipValueId, 'keyup', function()
		{
			var allRadioBtn = $$('.'+cargoObj.radioBtn);
			allRadioBtn.each(function(elm,i){
				if(elm.checked){
					paymentMethod = elm.value;
				}else{
					paymentMethod = '';
				}
			});

			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_' : 'LEHMKUHL_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()
{
	new LEHMKUHL_CargoModule(
	{
		zipValueId : 'shippingZip',
		cargoHolder : 'frakt',
		totalHolder: 'totalsum',
		radioBtn : 'radio'
	});
});