	function addEvent(elm, evType, fn, useCapture)
		{
		if (elm.addEventListener)
			{
			elm.addEventListener(evType, fn, useCapture);
			return true;
			}
		else if (elm.attachEvent)
			{
			var r = elm.attachEvent('on' + evType, fn);
			return r;
			}
		else
			{
			elm['on' + evType] = fn;
			}
		}
		
	
		
			function newAJAXswap(new_content, holder_div)
				{
					var xmlHttp;
					try
						{
							//IE7, FF, Opera, Safari
							xmlHttp=new XMLHttpRequest();
						}
					catch(e)
						{
							//IE5+6
							try
								{
									xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
								}
							catch(e)
								{
									try
										{
											xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
										}
									catch(e)
										{
											alert("Your browser does is not supported. Please upgrade.");
											return false;
										}
								}

						}
						xmlHttp.onreadystatechange = function()
							{
								if (xmlHttp.readyState == 4)
									{
										document.getElementById(holder_div).innerHTML = xmlHttp.responseText;
									}
							}
							xmlHttp.open("GET", new_content, true);
							xmlHttp.send(null);
				}
			

	function stop_dupes(e)
		{
			var targ;
			if (!e)
				var e = window.event;
			if (e.target)
				targ = e.target;
			else if (e.srcElement)
				targ = e.srcElement;
			if (targ.nodeType == 3) // defeat Safari bug
				targ = targ.parentNode;
			
			var trigger = document.getElementById(targ.id);
			trigger.innerHTML = "adding...";
		}
	
	function stop_dupes_many(e)
		{
			var targ;
			if (!e)
				var e = window.event;
			if (e.target)
				targ = e.target;
			else if (e.srcElement)
				targ = e.srcElement;
			if (targ.nodeType == 3) // defeat Safari bug
				targ = targ.parentNode;
				
			var trig_name = targ.id;
			var message = document.getElementById(trig_name.substr(2))
			message.innerHTML = "adding..."
		}
	
	function show_extras(e)
		{
			var targ;
			if (!e)
				var e = window.event;
			if (e.target)
				targ = e.target;
			else if (e.srcElement)
				targ = e.srcElement;
			if (targ.nodeType == 3) // defeat Safari bug
				targ = targ.parentNode;
				
			document.getElementById("span_"+targ.id.substr(4)).style.display = "";
		}
	
	function hide_extras()
		{
			var all_spans = document.getElementsByTagName('span')
			for (f=0; f<all_spans.length; f++)
				{
					var this_span = all_spans[f]
					if (this_span.className == "extra_buttons")
						{
							this_span.style.display = "none"
						}
				}
		}
	
	function revert_add_buttons()
		{
			var all_in = document.getElementsByTagName('a');
			for (f=0; f<all_in.length; f++)
				{
					var this_in = all_in[f];
					if (this_in.innerHTML == "adding...")
						{
							this_in.innerHTML = "add another";
						}
				} 
		}
		
	function change_country()
		{
			var order_country = document.getElementById('order_country');
			var shipping_value = document.getElementById('shipping_value');
			var total_value = document.getElementById('total_value');
			
			shipping_value.innerHTML = "&pound;"+order_country.value;
			
			var total = parseFloat(shipping_value.innerHTML.substr(1)) + parseFloat(subtotal_value.innerHTML.substr(1));
			total_value.innerHTML = "&pound;" + Math.round(total*100) / 100;			
			if ((parseFloat(subtotal_value.innerHTML.substr(1)) > 20) && (order_country.value == "1.99"))
				{
					shipping_value.innerHTML = "Free!!";
					total_value.innerHTML = subtotal_value.innerHTML;
				}
		}
	
	function visa_select()
		{
			document.getElementById('order_pay_type_visa').checked = true
		}
		
	function master_select()
		{
			document.getElementById('order_pay_type_master').checked = true
		}
		
	function maestro_select()
		{
			document.getElementById('order_pay_type_maestro').checked = true
		}
	
	function showShippingFields()
		{
			document.getElementById('shipping_address_area').style.display = "block";
			document.getElementById('country_holder').className = "sep_shipping";
			document.getElementById('shipping_trigger').style.display = "none";
		}
	
	function setFreeGift()
		{
			document.getElementById('order_gift').value = document.getElementById('gift_selector').value;
		}
		
	function cycle_left_header(n)
		{
			if (n==0)
				{					
					var texts = header_left.getElementsByTagName('h1');
					texts[0].innerHTML = "Recommend Us";
					
					var imgs = header_left.getElementsByTagName('img');
					imgs[0].src = "/images/spotlights/recommend.gif";
					imgs[0].alt = "Recommend us to receive a discount";
					
					setTimeout("cycle_left_header(1)", 10000);
				}
			else
				{
					var texts = header_left.getElementsByTagName('h1');
					texts[0].innerHTML = "Free Delivery";
					
					var imgs = header_left.getElementsByTagName('img');
					imgs[0].src = "/images/spotlights/delivery.jpg";
					imgs[0].alt = "Free Delivery";
					
					setTimeout("cycle_left_header(0)", 10000);
				}
		}

//ADD THE LISTENERS ========================================================================
	function addListeners(e)
		{
			if (undefined != document.getElementById('header_left'))
				{
					var header_left = document.getElementById('header_left');
					setTimeout("cycle_left_header(0)", 5000);
				}
			
			if (undefined != document.getElementById('card_form'))
				{
					addEvent(document.getElementById('left_card_img'), 'click', visa_select, true);
					addEvent(document.getElementById('center_card_img'), 'click', master_select, true);
					addEvent(document.getElementById('right_card_img'), 'click', maestro_select, true);
				}
			if (undefined != document.getElementById('order_country'))
				{
					var order_country = document.getElementById('order_country');
					addEvent(order_country, 'click', change_country, true);
				}
		if (undefined != document.getElementById('product_list'))	
			{
				var all_spans = document.getElementsByTagName('span')
				for (f=0; f<all_spans.length; f++)
					{
						var this_span = all_spans[f]
						if (this_span.className == "extra_buttons")
							{
								this_span.style.display = "none"
							}
					}
				
				var all_in = document.getElementsByTagName('a');
				for (f=0; f<all_in.length; f++)
					{
						var this_in = all_in[f];
						if (this_in.className == "add_button")
							{
								addEvent(this_in, 'click', stop_dupes, true);
								addEvent(this_in, 'mouseover', show_extras, true);
							}
						if (this_in.className == "add_many_button")
							{
								addEvent(this_in, 'click', stop_dupes_many, true);
							}
					}
				
			}
		}

addEvent(window, 'load', addListeners, false);