var EagleMusicCargoModule = Class.create(
{
	initialize: function(cargoObj)
	{
		if(!cargoObj) {return false;}
		if(!$(cargoObj.cargoHolder)) { return false; }
		this.setObservers(cargoObj);
		if($(cargoObj.zipValueId).value.length == 4)
		{
			this.checkCheckoutData(cargoObj);
		}
	},
	
	setObservers: function(cargoObj)
	{
		Event.observe(cargoObj.zipValueId, 'keyup', function()
		{
			if($(cargoObj.zipValueId).value.length == 4)
			{
				this.checkCheckoutData(cargoObj);
			}
		}.bind(this));
		$(cargoObj.shippingDelivery).observe('click', function()
		{
			this.checkCheckoutData(cargoObj);
		}.bind(this));
		$(cargoObj.shippingPickup).observe('click', function()
		{
			this.checkCheckoutData(cargoObj);
		}.bind(this));
		$(cargoObj.paymentDemand).observe('click', function()
		{
			this.checkCheckoutData(cargoObj);
		}.bind(this));
		$(cargoObj.paymentCresco).observe('click', function()
		{
			this.checkCheckoutData(cargoObj);
		}.bind(this));
		$(cargoObj.paymentCreditCard).observe('click', function()
		{
			this.checkCheckoutData(cargoObj);
		}.bind(this));
	},
	
	checkCheckoutData: function(cargoObj)
	{
		var pickup = 0;
		var demand = 0;
		
		if($(cargoObj.shippingPickup).checked == true)
		{
			pickup = 1;
		}
		if($(cargoObj.paymentDemand).checked == true)
		{
			demand = 1;
		}
		this.changeZip($(cargoObj.zipValueId).value, cargoObj, pickup, demand);
	},
	
	changeZip: function(zipValue, cargoObj, pickup, demand)
	{
		new Ajax.Request('/index.php',
		{
			method: 'get',
			parameters: {
				'c_' : 'EAG_ShippingDisplay',
				'm_' : 'displayShipping',
				'zip' : zipValue,
				'pickup' : 	pickup || 0,
				'demand' : demand || 0	
			},
			onSuccess: function(transport)
			{
				var ShipObj = transport.responseText.evalJSON();
				$(cargoObj.cargoHolder).update(ShipObj.frakt);
				$(cargoObj.totalHolder).update(ShipObj.sumemva);
				$(cargoObj.totalTaxHolder).update(ShipObj.sumimva);
			}
		});
	}	
});
Event.observe(window, 'load', function()
{
	var checkout = new EagleMusicCargoModule(
	{
		zipValueId : 'zip',
		cargoHolder: 'cargoHolder',
		totalHolder: 'totalHolder',
		totalTaxHolder : 'totalHolderTax',
		zipChanger: 'deliveryMethodShipping',
		shippingDelivery : 'deliveryMethodShipping',
		shippingPickup : 'deliveryMethodPickup',
		paymentDemand : 'paymentPRE',
		paymentCresco : 'paymentCRESCO',
		paymentCreditCard : 'paymentCC'
	});
});