var shipping = Class.create(
{
	initialize: function(obj)
	{
		var self = this;
		this.obj = obj;
		
		if($('zip').value.length == 4){
			self.changeZip();
		}
		
		this.setObservers();
	},
	setObservers: function(){
		
		var self = this;
		
		$(this.obj.changeShipping).observe('click',function(ev){
			Event.stop(ev);
			if($(self.obj.invoice).getStyle('display') == 'none'){
				$(self.obj.invoice).show();
				$(self.obj.invoiceAsShipping).value = '0';
			}else{
				$(self.obj.invoice).hide();
				$(self.obj.invoiceAsShipping).value = '1';
			}
			
		});
		
		$(this.obj.zip).observe('keyup',function(){
			if($(self.obj.zip).value.length == 4){
				self.changeZip();
			}
		});
	},
	changeZip: function(){
		
		var self = this;
		
		var zipValue = $(this.obj.zip).value;
		var mva =  $(self.obj.getmva).innerHTML;

		new Ajax.Request('/index.php',
		{
			method: 'post',
			parameters: {
				'c_' : 'InfoGrafikk_ShippingDisplay',
				'm_' : 'displayShipping',
				'zip' : zipValue,
				'paymentMethod' : 'dibs',
				'mva' : mva
			},
			onSuccess: function(transport)
			{
				if(mva == 'true'){
					var mvaText = ' inkl.mva';
				}else{
					var mvaText = ' eks.mva';
				}
				var ShipObj = transport.responseText.evalJSON();
				$(self.obj.shippingfee).update(ShipObj.frakt);
				$(self.obj.total).update(ShipObj.sumimva);
			}
		});
	}
});

Event.observe(window, 'load', function()
{
	if($('changeShipping')){

		new shipping(
		{
			changeShipping: 'changeShipping',
			invoice: 'invoice',
			invoiceAsShipping: 'invoiceAsShipping',
			zip: 'zip',
			total: 'total',
			shippingfee: 'shippingfee',
			getmva: 'getmva'
			
		});
	}	
});
