//
// This function is the standard initialisation for all pages using the content management system and must be call by every page
//
function initialise()
{
	if (document.forms.length>0)
	{
		formcount=0;
		while(formcount<document.forms.length)
		{
			var re=/^([a-zA-Z]*)(\d*)$/;									//breaking id down in name and number
			var actionname=document.forms[formcount].id.replace(re, "$1");	//only need the name for the action
			document.forms[formcount].action=actionname+"."+
			cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
			if (document.forms[formcount].onsubmit)
			{
				var functest = String(document.forms[formcount].onsubmit);
				if (functest.substring(functest.lastIndexOf('{')+1,functest.lastIndexOf('}')).length < 3)
				{
					var new_form_validation;
					new_form_validation = eval("new "+cms_xmlDoc.getElementsByTagName("formvalidation")[0].childNodes[0].nodeValue+"()");
					document.forms[formcount].onsubmit = new_form_validation.js_onsubmit_hndl;
				}
			}
			if (document.forms[formcount].onreset)
			{
				var functest = String(document.forms[formcount].onreset);
				if (functest.substring(functest.lastIndexOf('{')+1,functest.lastIndexOf('}')).length < 3)
				{
					var new_form_reset;
					new_form_reset = eval("new "+cms_xmlDoc.getElementsByTagName("formvalidation")[0].childNodes[0].nodeValue+"()");
					document.forms[formcount].onreset = new_form_reset.js_onreset_hndl;
				}
			}			
			formcount++;
		}
	}
	if (document.links.length>0)
	{
		for (var i=0; i<document.links.length; i++)
		{
			if(document.links[i].id)
			{
				var re=/^([a-zA-Z]*)(\d*)$/;								//breaking id down in name and number
				var idswitch=document.links[i].id.replace(re, "$1");		//only need the name for the switch
				if (document.getElementById(document.links[i].id))
				{
					if (document.getElementById(document.links[i].id).href)
					{
						var changelink=false;	//switch to determine if link needs updating, if true update link
						if(cms_browser.ie)
						{
							changelink = !document.getElementById(document.links[i].id).pathname.length;	//positive becomes false,
																											//non-positive becomes true
						}
						else
						{
							changelink = (window.location.href == document.getElementById(document.links[i].id).href); 	// compare with 
															//current location if same then change as link will have been set by browser
						}
						if (changelink)		// change link when true
						{
							switch(idswitch)
							{
								case "about" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("about")[0].
									childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;
								case "accessibility" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("accessibility")[0]
									.childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;
								case "contact" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("contact")[0].
									childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;
								case "copy" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("copyright")[0].
									childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;
								case "home" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("home")[0].
									childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;
								case "location" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("location")[0].
									childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;
								case "register" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("register")[0].
									childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;
								case "site" :
									document.getElementById(document.links[i].id).href=cms_xmlDoc.getElementsByTagName("site")[0].
									childNodes[0].nodeValue+"."+cms_xmlDoc.getElementsByTagName("serverside")[0].childNodes[0].nodeValue;
									break;						
							}						
						}
					}
				}
			}
		}
	}
	//
	// Ensure full coverage of web browsers be determining the new height of the middle section that has the most changes in height
	//
	var scrBrowser = cms_xmlDoc.getElementsByTagName("screen");
	if (scrBrowser != null)
	{
		var scrMain = scrBrowser[0].getElementsByTagName("main")[0].firstChild.nodeValue;
		var scrTop = scrBrowser[0].getElementsByTagName("top")[0].firstChild.nodeValue;
		var scrMiddle = scrBrowser[0].getElementsByTagName("middle")[0].firstChild.nodeValue;
		var scrBottom = scrBrowser[0].getElementsByTagName("bottom")[0].firstChild.nodeValue;
		var scrLeft = scrBrowser[0].getElementsByTagName("left")[0].firstChild.nodeValue;
		var scrRight = scrBrowser[0].getElementsByTagName("right")[0].firstChild.nodeValue;
		var newheight = 0;
		if (scrMain !=null)
		{
			newheight = cms_height - document.getElementById(scrMain).offsetHeight;
			newheight = newheight + document.getElementById(scrMiddle).offsetHeight;
			newheight = newheight - document.getElementById(scrBottom).offsetHeight;			
		}
		else
		{
			newheight = cms_height - document.getElementById(scrTop).offsetHeight;
			newheight = newheight - document.getElementById(scrBottom).offsetHeight;
		}
		if (newheight == cms_height)
		{
			newheight = 0;
		}
		//
		// Only do it for pages smaller than the current screen
		//
		if(document.getElementById(scrMiddle))
		{
			if(newheight > document.getElementById(scrMiddle).offsetHeight)
			{
				document.getElementById(scrMiddle).style.height= newheight+"px";
			}
		}
		if(document.getElementById(scrLeft))
		{
			if(newheight > document.getElementById(scrLeft).offsetHeight)
			{
				document.getElementById(scrLeft).style.height= newheight+"px";
			}
		}
		if(document.getElementById(scrRight))
		{
			if(newheight > document.getElementById(scrRight).offsetHeight)
			{
				document.getElementById(scrRight).style.height= newheight+"px";
			}
		}
	}
}