// JScript File
//base script to load pages and set menus
window.onload=loadXML

var xmlDoc
function loadXML()
{
//setSeason();
// load xml file
// code for IE
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("/menus/menuitems.xml");
getmenu();
colourme();
}
// code for Mozilla, etc.
else if (document.implementation &&
document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async=false;
xmlDoc.load("/menus/menuitems.xml");
getmenu();
colourme();
}
else
{
alert('Your browser cannot handle this script');
}
}

function getmenu(){
    var headstr
    var footstr
    var menu
    var pagename, pagetitle
    var filename
    var i
    var base
    var root
    var relative
    var relpath
    //var season=setSeason();
    
    //alert("getmenu start");  
    //window.resizeTo(1024,768);
    //determine page calling script
    pagename = window.document.location
    pagetitle = window.document.title
    pagetitle = "Stobswell Church, Dundee: " + pagetitle
    window.document.title = pagetitle
    relative = window.location.pathname
    relative = relative.substr(1,relative.length-1)
    //set relative path from page to base
    relpath=""
    //alert(relative)
    for (i=1;i<relative.length;i++) //ignore leading / in pathname
    {
        if (relative.substr(i,1) == "/")
        {
            relpath="../" + relpath;
        }
    }
   
    menu=buildmenu(relative)
    menu="/menus/" + menu
    //alert(menu);
    
    
    //add html to base page for header and menu handling
    //headstr = "<div class='headframe'>\n<img class='outsetborder' src='/images/"+season+"hd2.gif' />\n</div>"
    headstr = "<div class='headframe'>\n<img id='hd2' class='outsetborder' src='/images/hd2.gif' />\n</div>"
    headstr = headstr + "\n<a target='_blank' href='http://www.churchofscotland.org.uk'>\n<img border=0 style='position:absolute; top:0px; left:60px;' src='/images/cofsemblem2.gif' title='The Church of Scotland' />\n</a>"
    footstr="<iframe id='menuframe' frameborder=0 class='menuframe' src='" + menu + "' scrolling='no' />"

    window.document.body.insertAdjacentHTML("AfterBegin",headstr);
    window.document.body.insertAdjacentHTML ("BeforeEnd",footstr);
    
   //window.document.contentdiv.click();
}

function buildmenu(page){
    
    var xusedin
    var x
    var y
    var thisone
    
    //alert('into buildmenu ' + page);
    var xnode = xmlDoc.getElementsByTagName('menuitem');
    //alert (xnode.length);
    for(var i=0; i<xnode.length; i++) {
        //alert(xnode[i].getElementsByTagName('itemname')[0].childNodes[0].nodeValue);
        var ynode=xnode[i].getElementsByTagName('usedin');
        for(var j=0; j<ynode.length; j++){
            thisone=ynode[j].childNodes[0].nodeValue;
            //alert('i:'+i+' j:'+j+' - '+thisone);
            //alert(page)
            if (thisone==page){
                //alert("thisone = page");
                buildmenu=xnode[i].getElementsByTagName('itemurl')[0].childNodes[0].nodeValue;
                //alert (buildmenu);
                return (buildmenu);
            }
        }
    }
    
    xmlDoc.finalize;
    //}
    
}

if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
	HTMLElement.prototype.insertAdjacentElement = function
(where,parsedNode)
	{
		switch (where){
		case 'beforeBegin':
			this.parentNode.insertBefore(parsedNode,this)
			break;
		case 'afterBegin':
			this.insertBefore(parsedNode,this.firstChild);
			break;
		case 'beforeEnd':
			this.appendChild(parsedNode);
			break;
		case 'afterEnd':
			if (this.nextSibling) 
this.parentNode.insertBefore(parsedNode,this.nextSibling);
			else this.parentNode.appendChild(parsedNode);
			break;
		}
	}

HTMLElement.prototype.insertAdjacentHTML = function (sWhere, sHTML) {
   var df;   // : DocumentFragment
   var r = this.ownerDocument.createRange();
   
   switch (String(sWhere).toLowerCase()) {  // convert to string and unify case
      case "beforebegin":
         r.setStartBefore(this);
         df = r.createContextualFragment(sHTML);
         this.parentNode.insertBefore(df, this);
         break;
         
      case "afterbegin":
         r.selectNodeContents(this);
         r.collapse(true);
         df = r.createContextualFragment(sHTML);
         this.insertBefore(df, this.firstChild);
         break;
         
      case "beforeend":
         r.selectNodeContents(this);
         r.collapse(false);
         df = r.createContextualFragment(sHTML);
         this.appendChild(df);
         break;
         
      case "afterend":
         r.setStartAfter(this);
         df = r.createContextualFragment(sHTML);
         this.parentNode.insertBefore(df, this.nextSibling);
         break;
   }   
}
}

function colourme()
        {
            var locate = window.location;
            colour = delineate(locate);
            //document.body.className= colour;
            var hd2src = "./images/"+colour+"hd2.gif";
            window.document.getElementById("hd2").src = hd2src;
        }
                
function delineate(str)
        {
            theleft = str.search.indexOf("=") + 1;
            theright = str.search.indexOf("&");
            if (theright < theleft)
            {
                theright = str.search.length;
            }
            return(str.search.substring(theleft, theright));
            
        } 
