		
			function MM_preloadImages() { /* load images into cache so they appear without a loading delay */
  				var d=document; if(d.images){ 
			    if (!d.MM_p) d.MM_p=new Array();
				var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for(i = 0; i < a.length; i++)
			    if (a[i].indexOf("#")!= 0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i]; } }
			}
			
			/* swap back the image after a mouseover to its original source image */
			
			function MM_swapImgRestore() {
			  var i, x, a = document.MM_sr; for(i = 0; a && i <a.length && (x = a[i])&&x.oSrc; i++) x.src=x.oSrc;
			}
			
			/* swap the image for the alternate on mouseover */
			
			function MM_swapImage() {
			  var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr=new Array; for(i = 0; i < (a.length-2); i += 3)
			   if ((x=MM_findObj(a[i])) != null){document.MM_sr[j++] = x; if(!x.oSrc) x.oSrc=x.src; x.src= a [i+2]; }
			}
			
			/* find the object to be swapped using the name attribute */
			
			function MM_findObj(n, d) {
			  var p, i, x;  if(!d) d = document; 
			  if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
			    d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);}
			  if(!(x=d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
			  for(i = 0; !x && d.layers && i < d.layers.length; i++) x=MM_findObj(n, d.layers[i].document);
			  if(!x && d.getElementById) x=d.getElementById(n); return x;
			}
        
        	/* these are the functions for the change text colour instead of using images
        	   but they can't easily be used due to the non-standard gillsans font, and the ampersand requirements here */ 
        
    		function changeit(nodrequired, setreset, coltoset, tagtoset){
         		var nodilist = document.getElementById(nodrequired).childNodes;
         		recursivechildren(nodilist, setreset, coltoset, tagtoset); /* step down the object tree recursively */
    		}
            
            function recursivechildren(xvar, setreset, coltoset, tagtoset){
                //if (xvar.childElementCount > 0){
                var q = 0;
                for (q = 0; q < xvar.length; q++) {
                    if (xvar[q].childNodes.length > 0) {
                        if (xvar[q].nodeType == 1) {
                            settags(xvar[q], setreset, coltoset, tagtoset);
                            var qt = xvar[q].childNodes;
                            recursivechildren(qt, setreset, coltoset, tagtoset);
                        }
                    }
                    else {
                        if (xvar[q].nodeType == 1) {
                            settags(xvar[q], setreset, coltoset, tagtoset);
                            
                            //}
                        }
                    }
                }
            }
            
            function settags(nodetoset, setreset, coltoset, tagtoset){
            
                if (nodetoset.nodeName == tagtoset) {
                    if (setreset == 1) {
                        nodetoset.style.title = nodetoset.style.color;
                        nodetoset.style.color = coltoset;
                    }
                    else {
                        nodetoset.style.color = nodetoset.style.title;
                    }
                }
            }
            /* end of text swap functions */
            
