window.addEvent('domready',function(){Order.setup();});

var Order = {
	setup : function()
	{
		var del = new SWFObject("deliverymap.swf", "deliverymap", "270", "300", "7", "#FFFFFF");
		del.addParam("loop","false");
		del.write('deliverymap');
		
		Order.ChargeInfo = $$('#deliverycharges div');
		Order.showDel(1);
		
		if ($('dpcode') != null)
			$('dpcode').addEvent('submit',function(e){Order.deliveryCheck(e)});
		
	}
	,
	showDel: function(i)
	{
	for(var j=0;j<Order.ChargeInfo.length;j++)
		{
			if (Order.ChargeInfo[j].id == "del" + i)
				Order.ChargeInfo[j].removeClass('hidden');
			else
				Order.ChargeInfo[j].addClass('hidden');
		}
	},
	deliveryCheck: function(e)
	{
		var er = false;
		if (!$('pcode').value.test("^([A-PR-UWYZ0-9][A-HK-Y0-9][AEGHJMNPRTUVXY0-9]?[ABEGJKHMNPRSUVWXY0-9]? {1}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$","i")) { er = true; $('pcode').setProperty('class','input_e'); } else { $('pcode').setProperty('class','input'); };

		e=new Event(e);
		e.stop();
		if (!er)
			{	
					
			$('loading').toggleClass('hidden');
			var post=$('dpcode').toQueryString()+'&ajax=1';
			var action = $('dpcode').getAttributeNode('action').nodeValue;
			
				req = new Request({url:action, autoCancel:true, onSuccess: Order.deliveryResponse});
				req.send(post);
			
			}
			else
			{
				$('dp_intro').set('html','<p class="error">Sorry, an invalid postcode was entered. Please check below and try again:</p>');
			}
		
		
	},
	deliveryResponse: function(r)
	{
			$('loading').toggleClass('hidden');
			if (r.length > 2 && r.substr(0,2) == "OK")
			{	
				$('fulldeliverycharges').set('html',r.substr(3,r.length-3));
				$('deliverymapdetails').addClass('hidden');
				$('fulldeliverycharges').removeClass('hidden');
				$('dp_intro').set('html','<p>Please enter an alternative delivery postcode:</p>');
				//$('rs').addEvent('click',function(e){$('fulldeliverycharges').addClass('hidden');$('deliverymapdetails').removeClass('hidden');$('dp_intro').set('html','<p>Or enter your postcode to find the exact delivery charges for your area:</p>');e=new Event(e);e.stop();});
			}
			else
			{
				$('dp_intro').set('html','<p class="error">Sorry, there was a problem obtaining the correct delivery charges for your postcode area. Please try again later.</p>');
			}
	}
	}
