	function init()
	{
//	declare objects
		var oBody = document.getElementsByTagName( "body" )[0];
		var oHTMLElement = oBody.getElementsByTagName( "*" );
			var oAnchors = document.getElementsByTagName( "a" );
			var oTables = document.getElementsByTagName( "table" );
			var oContainer = document.getElementById( "container" );
				var oProgress = document.getElementById( "progress" );
				var oTrail = document.getElementById( "trail" );
				var oAdSectionMenu = document.getElementById( "adsectionmenu" );
				var oBookAd = document.getElementById( "book_ad" );
					var oEditAd = document.getElementById( "edit_ad" );
					var oImage = document.getElementById( "image" );
					var oTitleCopy = document.getElementById( "title_copy" );
					var oBodyCopy = document.getElementById( "body_copy" );
					var oAdCost = document.getElementById( "ad_cost" );
					var oFooterCopy = document.getElementById( "footer_copy" );
					var oCostBodyCopy = document.getElementById( "cost_body_copy" );
					var oPreview = document.getElementById( "preview" );
					var oImageChooser = document.getElementById( "imagechooser" );
				var oPreviewAd = document.getElementById( "preview_ad" );
				var oPreviewDisclaimer = document.getElementById( "previewdisclaimer" );
				var oAmount = document.getElementById( "amount" );
				var oCartId = document.getElementById( "cartId" );
				var oDisplayBasket = document.getElementById( "displaybasket" );
				
//	This will highlight the current page in the progress indicator
	/*	var oBodyID = oBody.id.replace( /^pg_(.*)$/i, "$1" );
		
		if ( exist( oProgress ) )
		{
			var oProgressLi = oProgress.getElementsByTagName( "li" );
			for ( var i = 0 ; i < oProgressLi.length ; i++ )
				if ( oProgressLi[i].getElementsByTagName( "span" )[0].id == oBodyID )
					oProgressLi[i].className = "highlight";
		}*/
//	add the delimitre to the bread crumbs
		if ( exist( oTrail ) ) createNLDelimitres( oTrail, ">" );
		
//	if any anchor links need a JS popup then this will find 'em and add 'em
		if ( exist( oAnchors ) ) makePopUps( oAnchors );

//	adds "pretty" interlaced shading to data tables
		if ( exist( oTables ) && !satansBw ) formatDataTables( oTables, oImage, oTitleCopy );
		
//	here is where we run speacial init functions for specific pages in the application
	//	if ( oBody.id.match( /welcome/i ) ) initWelcome( oProgress );
		if ( oBody.id.match( /book/i ) )
		{
			if ( !satansBw ) initBookAd( oBookAd, oTitleCopy, oBodyCopy, oAdCost, oPreview, oPreviewAd, oPreviewDisclaimer );
			else if ( ( satansBw || got.mac  ) && exist( oHTMLElement ) )
			{
				for ( i = 0 ; i < oHTMLElement.length ; i++ )
					if ( oHTMLElement[i].className.match( /hide_dom/i ) && !oHTMLElement[i].id.match( /previewyourad/i ) )
						oHTMLElement[i].className = oHTMLElement[i].className.replace( "/(.*?)hide_dom(.*?)/i", "$1block$2" );
			}
		}
		else if ( oBody.id.match( /confirm/i ) && exist( oDisplayBasket ) ) initConfirm( oDisplayBasket.getElementsByTagName( "*" ) );
		else if ( oBody.id.match( /worldpay/i ) ) initWorldpay( oAmount, oCartId );
		
/*		uncomment this to load the page structure site wide using DOM
		if ( got.ie && widthStyle == "liquid" ) resize();
		else oBody.className = alignStyle + " " + widthStyle;
		
		oContainer.className = columnStyle;
*/
	}