/*global $, $$, $F, __utmSetTrans, addToBasketItem, addToBasketSuite, calNextMonth, changeDateText, changeStep, checkLength, clearHoverImage, clearStatusBarLinkText, closeAddedToBasket, displayBookmarkPopup, displayHoverImage, displayPopup, doAJAXRequest, getTimes, getValue, getXMLNodeSerialisation, moveStartFinish, navigateToUrl, newCalendar, processAJAXRequest, req, searchNavigate, selectDate, setImage, setStatusBarAltText, setStatusBarLinkText, setValue, submitBasketForm, ActiveXObject, XMLSerializer*/

window.onload = function ()
{
	var myBody;
	var myDirections;
	var myHeaderImage;
	var myInputs;
	var myLinks;
	var myLogo;
	var myMBLogo;
	var myNewScriptDiv;
	var myNewStepDiv;
	var myNewStepNumber;
	var mySwitchSwap;
	if ($('logo'))
	{
		myLogo = $('logo');
		myLogo.observe('click', navigateToUrl('/'));
		myLogo.observe('mouseover', function ()
		{
			window.status = 'Home';
			return true;
		});
		myLogo.observe('mouseout', function ()
		{
			window.status = '';
			return true;
		});
		myLogo.style.cursor = 'pointer';
	}
	if ($('moneyBackLogo'))
	{
		myMBLogo = $('moneyBackLogo');
		myMBLogo.observe('click', navigateToUrl('/zpage/terms.htm'));
		myMBLogo.observe('mouseover', function ()
		{
			window.status = 'Money Back Guarantee';
			return true;
		});
		myMBLogo.observe('mouseout', function ()
		{
			window.status = '';
			return true;
		});
		myMBLogo.style.cursor = 'pointer';
	}
	if ($('headerImage'))
	{
		myHeaderImage = $('headerImage');
		myHeaderImage.observe('click', function ()
		{
			navigateToUrl('/zpage/deliveries.htm');
		});
		myHeaderImage.observe('mouseover', function ()
		{
			window.status = 'Deliveries';
			return true;
		});
		myHeaderImage.observe('mouseout', function ()
		{
			window.status = '';
			return true;
		});
		myHeaderImage.style.cursor = 'pointer';
	}
	if ($('switchSwap'))
	{
		mySwitchSwap = $('switchSwap');
		mySwitchSwap.observe('click', function ()
		{
			navigateToUrl('/zpage/help.htm');
		});
		mySwitchSwap.observe('mouseover', function ()
		{
			window.status = 'Switch & Swap';
			return true;
		});
		mySwitchSwap.observe('mouseout', function ()
		{
			window.status = '';
			return true;
		});
		mySwitchSwap.style.cursor = 'pointer';
	}
	if ($('googleAnalyticsData'))
	{
		__utmSetTrans();
	}
	myLinks = $$('a');
	myLinks.invoke('observe', 'mouseover', function ()
	{
		setStatusBarLinkText(this);
	});
	myLinks.invoke('observe', 'mouseout', function ()
	{
		clearStatusBarLinkText();
	});
	myInputs = $$('input');
	myInputs.invoke('observe', 'mouseover', function ()
	{
		setStatusBarAltText(this);
	});
	myInputs.invoke('observe', 'mouseout', function ()
	{
		clearStatusBarLinkText();
	});
	$$('img[src="/images/ui/reset.png"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/resethover.png');
	});
	$$('img[src="/images/ui/reset.png"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/reset.png');
	});
	$$('img[src="/images/ui/toggle.png"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/toggle_hover.png');
	});
	$$('img[src="/images/ui/toggle.png"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/toggle.png');
	});
	$$('img[src="/images/ui/upgrade.png"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/upgradehover.png');
	});
	$$('img[src="/images/ui/upgrade.png"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/upgrade.png');
	});
	$$('img[src="/images/ui/basketcheckoutbutton.gif"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/basketcheckoutbuttonhover.gif');
	});
	$$('img[src="/images/ui/basketcheckoutbutton.gif"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/basketcheckoutbutton.gif');
	});
	$$('img[src="/images/ui/viewbutton.gif"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/viewbuttonhover.gif');
	});
	$$('img[src="/images/ui/viewbutton.gif"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/viewbutton.gif');
	});
	$$('img[src="/images/ui/basket.gif"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/baskethover.gif');
	});
	$$('img[src="/images/ui/basket.gif"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/basket.gif');
	});
	$$('img[src="/images/ui/basket_checkout_button.gif"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/basket_checkout_button_hover.gif');
	});
	$$('img[src="/images/ui/basket_checkout_button.gif"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/basket_checkout_button.gif');
	});
	$$('img[src="/images/ui/choosebutton.gif"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/choosebuttonhover.gif');
	});
	$$('img[src="/images/ui/choosebutton.gif"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/choosebutton.gif');
	});
	$$('img[src="/images/ui/continueshopping.png"]').invoke('observe', 'mouseover', function ()
	{
		setImage(this, '/images/ui/continueshoppinghover.png');
	});
	$$('img[src="/images/ui/continueshopping.png"]').invoke('observe', 'mouseout', function ()
	{
		setImage(this, '/images/ui/continueshopping.png');
	});
	$$('li.pricecat').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/side-menu-header-hover.png');
	});
	$$('li.pricecat').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/side-menu-header.gif');
	});
	$$('li.pricecat').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('li.headerMenuHome').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/toolbarhomehover.png');
	});
	$$('li.headerMenuHome').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/toolbarhome.png');
	});
	$$('li.headerMenuHome').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('li.headerMenuAboutUs').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/toolbaraboutushover.png');
	});
	$$('li.headerMenuAboutUs').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/toolbaraboutus.png');
	});
	$$('li.headerMenuAboutUs').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('li.headerMenuContactUs').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/toolbarcontactushover.png');
	});
	$$('li.headerMenuContactUs').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/toolbarcontactus.png');
	});
	$$('li.headerMenuContactUs').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('li.headerMenuSecurity').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/toolbarsecurityhover.png');
	});
	$$('li.headerMenuSecurity').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/toolbarsecurity.png');
	});
	$$('li.headerMenuSecurity').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('li.headerMenuDeliveries').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/toolbardeliverieshover.png');
	});
	$$('li.headerMenuDeliveries').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/toolbardeliveries.png');
	});
	$$('li.headerMenuDeliveries').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('li.headerMenuTermsPrivacy').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/toolbartermshover.png');
	});
	$$('li.headerMenuTermsPrivacy').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/toolbarterms.png');
	});
	$$('li.headerMenuTermsPrivacy').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('div.configuratorCategory').invoke('observe', 'mouseover', function ()
	{
		displayHoverImage(this, '/images/ui/configurator_categoryhover.png');
	});
	$$('div.configuratorCategory').invoke('observe', 'mouseout', function ()
	{
		clearHoverImage(this, '/images/ui/configurator_category.png');
	});
	$$('div.configuratorCategory').invoke('observe', 'click', function ()
	{
		navigateToUrl(this.getElementsByTagName('a')[0].href);
	});
	$$('input[src="/images/ui/buybutton.gif"]').invoke('observe', 'mouseover', function ()
	{
		this.setAttribute('src', '/images/ui/buybuttonhover.gif');
	});
	$$('input[src="/images/ui/buybutton.gif"]').invoke('observe', 'mouseout', function ()
	{
		this.setAttribute('src', '/images/ui/buybutton.gif');
	});
	$$('input[src="/images/ui/basketupdatebutton.gif"]').invoke('observe', 'mouseover', function ()
	{
		this.setAttribute('src', '/images/ui/basketupdatebuttonhover.gif');
	});
	$$('input[src="/images/ui/basketupdatebutton.gif"]').invoke('observe', 'mouseout', function ()
	{
		this.setAttribute('src', '/images/ui/basketupdatebutton.gif');
	});
	if ($('showTechView') && $('showMarketingView') && $('mainMarketingHeader') && $('mainMarketingCopy') && $('techMarketingHeader') && $('techMarketingCopy'))
	{
		$('showTechView').observe('click', function ()
		{
			$('mainMarketingHeader').toggle();
			$('mainMarketingCopy').toggle();
			$('techMarketingHeader').toggle();
			$('techMarketingCopy').toggle();
		});
		$('showMarketingView').observe('click', function ()
		{
			$('mainMarketingHeader').toggle();
			$('mainMarketingCopy').toggle();
			$('techMarketingHeader').toggle();
			$('techMarketingCopy').toggle();
		});
	}
	if ($$('body'))
	{
		if ($$('body')[0])
		{
			myBody = $$('body')[0];
			myNewScriptDiv = document.createElement('div');
			myNewScriptDiv.setAttribute('id', 'scriptInfo');
			myNewStepDiv = document.createElement('div');
			myNewStepDiv.setAttribute('id', 'stepNumber');
			myNewStepNumber = document.createTextNode('1');
			myNewStepDiv.appendChild(myNewStepNumber);
			myNewScriptDiv.appendChild(myNewStepDiv);
			myBody.appendChild(myNewScriptDiv);
		}
	}
	if ($('directions'))
	{
		myDirections = $('directions');
		myDirections.observe('keyup', function ()
		{
			checkLength(this, '80');
		});
		myDirections.observe('change', function ()
		{
			checkLength(this, '80');
		});
		myDirections.observe('blur', function ()
		{
			checkLength(this, '80');
		});
	}
	if ($('print'))
	{
		$('print').observe('click', function ()
		{
			window.print();
		});
	}
	if ($('startTime') && $('arrivalTime'))
	{
		moveStartFinish();
	}
	$$('a.popup').invoke('observe', 'click', function ()
	{
		displayPopup(this);
	});
	$$('a.bookmarkPopup').invoke('observe', 'click', function ()
	{
		displayBookmarkPopup(this);
	});
	if ($('updateButton') && $('shoppingBasket'))
	{
		$$('select.quantityUpdate').invoke('observe', 'change', function ()
		{
			submitBasketForm();
		});
	}
	/*if ($('buyButtonSuite1') || $('buyButtonSuite2'))
	{
		var myButton = true ? $('buyButtonSuite1') : $('buyButtonSuite2');
		if (myButton)
		{
			myButton.up('form').observe('submit', function (event)
			{
				addToBasketSuite('1');
				event.stop();
			});
		}
	}
	if ($('buyButtonItem'))
	{
		$('buyButtonItem').up('form').observe('submit', function (event)
		{
			if ($('quantity'))
			{
				addToBasketItem($F($('quantity')));
				event.stop();
			}
		});
	}*/
	if ($('searchResults')) {
		$$('#searchResults div.searchForward, #searchResults div.searchBack').invoke('observe', 'click', function (e)
		{
			searchNavigate(this);
		});
//	myResults = $$('#searchResults div.searchForward, #searchResults div.searchBack');
//		for (i = 0; i < myResults.length; i = i + 1) {
//			myResults[i].onclick = searchNavigate(this).bind(this);
//		}
	}
	//initialiseWhosOn();
	correctPNG();
};

function setImage(element, image)
{
	element.src = image;
}

function submitBasketForm()
{
	var myBasketForm;
	if ($('basketForm'))
	{
		myBasketForm = $('basketForm');
		myBasketForm.submit();
	}
}

function displayBookmarkPopup(element)
{
	window.open(element.href, 'popupwindow', 'width=800,height=520,toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1');
	return false;
}

function displayPopup(element)
{
	window.open(element.href, 'popupwindow', 'width=640,height=480,toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1');
	return false;
}

function displayHoverImage(element, image)
{
	element.style.backgroundImage = 'url(' + image + ')';
	element.style.cursor = 'pointer';
}

function clearHoverImage(element, image)
{
	element.style.backgroundImage = 'url(' + image + ')';
}

function setStatusBarLinkText(element)
{
	var myImage;
	if ($(element).getElementsBySelector('img')[0])
	{
		myImage = $(element).getElementsBySelector('img')[0];
		window.status = myImage.getAttribute('alt');
	}
	else
	{
		if (element.lastChild)
		{
			window.status = element.lastChild.nodeValue;
		}
		else
		{
			window.status = element.nodeValue;
		}
	}
	return true;
}

function clearStatusBarLinkText()
{
	window.status = '';
}

function setStatusBarAltText(element)
{
	window.status = element.getAttribute('alt');
}

function openLiveperson()
{
	var lpButtonCTTUrl = 'http://server.iad.liveperson.net/hc/29608783/?cmd=file&file=visitorWantsToChat&site=29608783&imageUrl=http://www.cheapsuites.co.uk/images/ui&referrer='+escape(document.location);
	lpButtonCTTUrl = (typeof(lpAppendVisitorCookies) !== 'undefined' ? lpAppendVisitorCookies(lpButtonCTTUrl) : lpButtonCTTUrl);
	try
	{
		window.open(lpButtonCTTUrl,'chat29608783','width=475,height=400,resizable=yes');
		return false;
	}
	catch(e)
	{
		return false;
	}
//	document.location = lpButtonCTTUrl;
//	return false;
}
function trackLiveperson()
{
	var lpPosY = 100;
	if (document.all && typeof(hcShowTheImage) !== 'undefined')
	{
		lpOldShowTheImage = hcShowTheImage;hcShowTheImage = lpShowTheImageHook;
	}
}

function lpShowTheImageHook()
{
	var body = $$('body');
	var divE = document.createElement('bgsound');
	divE.id = 'lpInvitationSound';
	divE.style.position = 'absolute';
	divE.style.left = '0px';
	divE.style.top = '0px';
	divE.hidden = 'true';
	divE.src='http://server.iad.liveperson.net/hcp/Gallery/chime03.wav';
	divE.autostart='true';
	divE.loop='0';
	body[0].appendChild(divE);
	setTimeout("$$('body')[0].removeChild($('lpInvitationSound'))", 3000);
	lpOldShowTheImage();
}

function navigateToUrl(url)
{
	var myBody;
	var myNewForm;
	if (url)
	{
		if ($$('body'))
		{
			if ($$('body')[0])
			{
				myBody = $$('body')[0];
				myNewForm = document.createElement('form');
				myNewForm.setAttribute('method', 'post');
				myNewForm.setAttribute('action', url);
				myBody.appendChild(myNewForm);
				myNewForm.submit();
			}
		}
	}
	return false;
}

/*function selectDate(itemRef, newDate)
{
	var myDate;
	var myText;
	if (itemRef)
	{
		var flag = false;
		var myCounter = 0;
		var x = 0;
		$('selectedDate').value = newDate;
		if ($('myDate'))
		{
			myDate = $('myDate');
			myText = document.createTextNode('You have selected ' + newDate.substring(6, 8) + '.' + newDate.substring(4, 6) + '.' + newDate.substring(0, 4) + ' as your delivery date.');
			while (myDate.lastChild)
			{
				myDate.removeChild(myDate.lastChild);
			}
			myDate.appendChild(myText);
		}
		var eltArray = $$('td');
		if (eltArray)
		{
			for (x = 0; x < eltArray.length; x = x + 1)
			{
				if (eltArray[x].className === 'calCellSelected' && eltArray[x].getAttribute('id') !== 'legendItem1')
				{
					myCounter = myCounter + 1;
				}
			}
		}
		if (myCounter > 0)
		{
			for (x = 0; x < eltArray.length; x = x + 1)
			{
				if (eltArray[x].className === 'calCellSelected' && eltArray[x].getAttribute('id') !== 'legendItem1')
				{
					eltArray[x].className = 'calCellLink';
				}
			}
		}
		itemRef.className = 'calCellSelected';
		myCounter = 0;
	}
}*/

function calNextMonth(hideID, showID)
{
	var myHideElement;
	var myShowElement;
	if ($(hideID))
	{
		if ($(showID))
		{
			myHideElement = $(hideID);
			myShowElement = $(showID);
			myHideElement.style.display = 'none';
			myShowElement.style.display = 'block';
		}
	}
}

function moveStartFinish()
{
	var movement;
	var myOrder;
	var myOrderNumber;
	if ($('order_number'))
	{
		myOrder = $('order_number');
		myOrderNumber = getValue(myOrder);
		getTimes(myOrderNumber);
		movement = setTimeout(moveStartFinish(), 10000);
	}
}

function getTimes(myOrderNumber)
{
	var myAJAXUrl;
	myAJAXUrl = 'delivery_progress.xml?order_number=' + myOrderNumber;
	doAJAXRequest(myAJAXUrl);
}

function newCalendar()
{
	var myCalendar;
	var myPostcode;
	var myPostcodeValue;
	var myOrderNumber;
	var myOrderNumberValue;
	var myAJAXUrl;
	if ($('calendar'))
	{
		if ($('postcode'))
		{
			if ($('order_number'))
			{
				myCalendar = $('calendar');
				myPostcode = $('postcode');
				myPostcodeValue = getValue(myPostcode);
				myOrderNumber = $('order_number');
				myOrderNumberValue = getValue(myOrderNumber);
				myAJAXUrl = '/calendar.xml?order_number=' + myOrderNumberValue + '&postcode=' + myPostcodeValue;
				doAJAXRequest(myAJAXUrl);
			}
		}
	}
}

function addToBasketItem(zquantity) 
{
	var q;
	var myAJAXUrl;
	/* Fix Get quantity from field */
	q = $('quantity');
	
	if (q)
	{
		zquantity = q.value;
	}
	
	myAJAXUrl = "/add_to_basket.xml?zaction=item" + 
									"&zquantity=" + zquantity + 
									"&zrand="		 + Math.random();
	doAJAXRequest(myAJAXUrl);
	scroll(0, 0);
}
function addToBasketSuite(zquantity) 
{
	var myAJAXUrl;
	myAJAXUrl = "/add_to_basket.xml?zaction=suite" + 
									"&zquantity=" + zquantity + 
									"&zrand="		 + Math.random();
	doAJAXRequest(myAJAXUrl);
	scroll(0, 0);
}
function closeAddedToBasket()
{
	$('addedToBasketWrapper').style.display = 'none';	
}

function doAJAXRequest(AJAXUrl)
{
	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req)
	{
		req.onreadystatechange = processAJAXRequest;
		req.open("GET", AJAXUrl, true);
		req.send(null);
	}
}

function processAJAXRequest()
{
	var i;
	var tempName;
	var response;
	var root;
	var myCalendar;
	var myCalendarNodes;
	var myCalendarXML;
	var myDelivery;
	var myDeliveryNodes;
	var myDeliveryXML;
	if (req.readyState === 4)
	{
		if (req.status === 200)
		{
			response = req.responseXML;
			if (response)
			{
				if (response.getElementsByTagName('addtobasket')[0])
				{
					root = response.getElementsByTagName('addtobasket')[0];
					
					$('basketItems').innerHTML = root.getElementsByTagName('items')[0].lastChild.nodeValue;
					$('basketDelivery').innerHTML = root.getElementsByTagName('deliveryCharge')[0].lastChild.nodeValue;
					$('basketTotal').innerHTML = root.getElementsByTagName('total')[0].lastChild.nodeValue;
					
					if (root.getElementsByTagName('name')[0].lastChild)
					{
						tempName = root.getElementsByTagName('name')[0].lastChild.nodeValue; 
					}
					$('addedToBasketContent').innerHTML = '<p>You have added this item.</p><p>You have ' + root.getElementsByTagName('items')[0].lastChild.nodeValue + ' items in your basket.</p>';
					
					$('addedToBasketWrapper').style.display = '';
					$('addedToBasketBackground').style.height = document.body.clientHeight + 500 + "px"; 							
				}		 
				else if (response.getElementsByTagName('calendar')[0])
				{
					if ($('calendar'))
					{
						myCalendar = $('calendar');
						myCalendarNodes = myCalendar.childNodes;
						for (i = myCalendarNodes.length - 1; i >= 0; i = i - 1)
						{
							myCalendar.removeChild(myCalendarNodes[i]);
						}
						myCalendarXML = response.getElementsByTagName('calendar')[0];
						myCalendar.innerHTML = getXMLNodeSerialisation(myCalendarXML);
					}
				}
				else if (response.getElementsByTagName('delivery')[0])
				{
					if ($('delivery'))
					{
						myDelivery = $('delivery');
						myDeliveryNodes = myDelivery.childNodes;
						for (i = myDeliveryNodes.length - 1; i >= 0; i = i - 1)
						{
							myDelivery.removeChild(myDeliveryNodes[i]);
						}
						myDeliveryXML = response.getElementsByTagName('delivery')[0];
						myDelivery.innerHTML = getXMLNodeSerialisation(myDeliveryXML);
					}
				}
			}
		}
	}
}

function getXMLNodeSerialisation(xmlNode) {
	var text;
	var serializer;
	text = false;
	try
	{
		serializer = new XMLSerializer();
		text = serializer.serializeToString(xmlNode);
	}
	catch (ffError)
	{
		try
		{
			text = xmlNode.xml;
		}
		catch (ieError) {}
	}
	return text;
}

function changeDateText(date)
{
	var myInstruction;
	var myInstructionNodes;
	var myInstructionText;
	var i;
	if ($('calendarInstruction'))
	{
		myInstruction = $('calendarInstruction');
		myInstructionNodes = myInstruction.childNodes;
		for (i = myInstructionNodes.length - 1; i >= 0; i = i - 1)
		{
			myInstruction.removeChild(myInstructionNodes[i]);
		}
		myInstructionText = document.createTextNode('You have selected ' + date.substring(6, 8) + '/' + date.substring(4, 6) + '/' + date.substring(0, 4) + ' as your delivery date.');
		myInstruction.appendChild(myInstructionText);
	}
}

function checkLength(element, length)
{
	var myNewValue;
	var myValue;
	if (element)
	{
		if (length > 0)
		{
			myValue = getValue(element);
			if (myValue.length > length)
			{
				myNewValue = myValue.substring(0, length);
				setValue(element, myNewValue);
			}
		}
	}
}

function getValue(element)
{
	if (element)
	{
		if (element.value || element.value === '')
		{
			return element.value;
		}
		else if (element.lastChild)
		{
			return element.lastChild.nodeValue;
		}
		else
		{
			return element.nodeValue;
		}
	}
}

function setValue(element, value)
{
	if (element)
	{
		if (element.value || element.value === '')
		{
			element.value = value;
		}
		else if (element.lastChild)
		{
			element.lastChild.nodeValue = value;
		}
		else
		{
			element.nodeValue = value;
		}
	}
}

function selectDate(element, date)
{
	var mySelectedDate;
	var myCalendar;
	var mySelectedDates;
	var i;
	if ($('selectedDate'))
	{
		mySelectedDate = $('selectedDate');
		setValue(mySelectedDate, date);
		changeDateText(date);
		if ($('calendar'))
		{
			myCalendar = $('calendar');
			mySelectedDates = myCalendar.getElementsBySelector('td.calCellSelected');
			for (i = 0; i < mySelectedDates.length; i = i + 1)
			{
				mySelectedDates[i].className = 'calCellLink';
			}
			element.className = 'calCellSelected';
		}
	}
}

function changeStep(newStepNumber)
{
	var myStepCounter;
	var myOldStepNumber;
	var myOldStepName;
	var myNewStepName;
	var myOldStep;
	var myNewStep;
	if ($('stepNumber'))
	{
		myStepCounter = $('stepNumber');
		myOldStepNumber = getValue(myStepCounter);
		if (myOldStepNumber === 1)
		{
			newCalendar();
		}
		myOldStepName = 'step' + myOldStepNumber;
		myNewStepName = 'step' + newStepNumber;
		if ($(myOldStepName))
		{
			if ($(myNewStepName))
			{
				myOldStep = $(myOldStepName);
				myNewStep = $(myNewStepName); 
				myOldStep.style.display = 'none';
				myNewStep.style.display = 'block';
				setValue(myStepCounter, newStepNumber);
			}
		}
	}
}
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
  var arVersion = navigator.appVersion.split("MSIE");
  var version = parseFloat(arVersion[1]);
  if ((version >= 5.5) && (document.body.filters)) 
  {
    for(var i=0; i<document.images.length; i++)
    {
      var img = document.images[i];
      var imgName = img.src.toUpperCase();
      if (imgName.substring(imgName.length-3, imgName.length) == "PNG"  && img.src.indexOf('google') == -1 && img.className == 'overlay')
      {
        var imgID = (img.id) ? "id='" + img.id + "' " : "";
        var imgClass = (img.className) ? "class='" + img.className + "' " : "";
        var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
        var imgStyle = "display:inline-block;" + img.style.cssText ;
        var cssClass = img.className;
        if (img.align == "left") imgStyle = "float:left;" + imgStyle;
        if (img.align == "right") imgStyle = "float:right;" + imgStyle;
        if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
        var strNewHTML = "<span " + imgID + imgClass + imgTitle
        + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
        + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
        + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
        img.outerHTML = strNewHTML;
        i = i-1;
      }
    }
  }
}
