var debug = false;
var siteRootURL = '.';
//http://www.miraclegirlproductions.org/v2

function getFileContents(strURL) {
    var xmlHttpContentReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpContentReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpContentReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpContentReq.open('GET', siteRootURL + '/content/' + strURL, true);
    self.xmlHttpContentReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

		self.xmlHttpContentReq.onreadystatechange = function() {
	
				if(debug){
				alert('[contentPage] status: ' + self.xmlHttpReq.status + ', msg: ' +self.xmlHttpReq.statusText);
			}

			if (self.xmlHttpContentReq.readyState == 4) {
						updatePageContent(self.xmlHttpContentReq.responseText);
        }

}

		self.xmlHttpContentReq.send(getquerystring());

}


function updatePageContent(contentStr){
    document.getElementById("content_box_CDATA").innerHTML = contentStr;
}





function updateMenu(whichLink, whichMenu) {
		
		if(debug)alert('whichLink = ' + whichLink + ', whichMenu = ' + whichMenu);
	
		var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
				self.xmlHttpReq.overrideMimeType("text/xml"); 
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    
		try{
		self.xmlHttpReq.open('GET', siteRootURL + '/menu.xml', true);
		}catch(e){
				alert("ERROR (" + e.name + "): " + e);
		}
    
		self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
			if(debug){
				alert('[menu.xml] status: ' + self.xmlHttpReq.status + ', msg: ' +self.xmlHttpReq.statusText);
			}
			if (self.xmlHttpReq.readyState == 4) {
				var menu_tree_doc = getMenuTreeDoc(self.xmlHttpReq.responseText);
				
				if( whichMenu == 'top' )
				{
					loadTopMenu(menu_tree_doc, whichLink);
				}else
				{
					loadSubMenu(menu_tree_doc, whichLink);
					getFileContents(whichLink);
				}
				
			}
    }
    self.xmlHttpReq.send(getquerystring());
}


function getquerystring() {
    /*var form     = document.forms['f1'];
    var word = form.word.value;
    qstr = 'w=' + escape(word);  // NOTE: no '?' before querystring
		*/
    return null;
}



function getMenuTreeDoc(txt){
	var parser = new XMLParser();
	var doc = null;
	parser.parse(txt);
	return parser.doc;
}

function loadTopMenu(doc, menuLink){
	var rootElem = doc.getElementsByTagName('top_menu').item(0);
	var menuElems = rootElem.childNodes;
	var theMenuStr = "";
	var subMenuLinkToLoad = null;
	var whichAttributeOfClickedLink = null;
	var whichAttributeTemp = null;
	
	if( menuLink.indexOf('.html') != -1 )
		whichAttributeOfClickedLink = 'link';
	else
		whichAttributeOfClickedLink = 'title';
	
	for(i=0; i<menuElems.length; i++)
	{
		
		if( menuElems[i].getAttribute('link') == null 
														|| menuElems[i].getAttribute('link').indexOf('.html') < 0 )
			whichAttributeTemp = 'title';
		else
			whichAttributeTemp = 'link';
			
		//active menu item
		if(menuElems[i].getAttribute(whichAttributeOfClickedLink) == menuLink )
		{
			style_class = 'topmenu_selected';
			if( menuElems[i].childNodes.length > 0 )
			{	//load first submenu item
				subMenuLinkToLoad = menuElems[i].childNodes[0].getAttribute('link');
				if(debug)alert('subMenuLinkToLoad: ' + subMenuLinkToLoad);
			}
		}else{
			style_class = 'topmenu';
		}
			
		theMenuStr += '<b><a ' + 'class=\'' + style_class + '\' onclick="javascript:updateMenu(\'' + menuElems[i].getAttribute(whichAttributeTemp) +  '\',\'top\');">' + menuElems[i].getAttribute("title") + '</a>';
		
		//add divider if there are more menu items
		if( i < menuElems.length-1 )
			theMenuStr += "|";
		
	}
	
		try{
		document.getElementById("top_menu").innerHTML = theMenuStr;
		}catch(e){
			alert('ERROR: ' + e);
		}
	
	if(debug)alert('subMenuLinkToLoad = ' + subMenuLinkToLoad);
	
	if( subMenuLinkToLoad )
		getFileContents(subMenuLinkToLoad);
	else
		getFileContents(menuLink);

	loadSubMenu(doc, subMenuLinkToLoad);
	return;
	//alert(theMenu);
}



function loadSubMenu(doc, clickedMenuLink){
	var menuItemLabels = new Array(" ", " ", " ", " ");
	var menuItemLinks = new Array(" ", " ", " ", " ");
	var menuItemClass = new Array("submenu", "submenu", "submenu", "submenu");

	if( clickedMenuLink )
	{
			
		var allMenuElems = doc.getElementsByTagName('menu');
		
		var parent = null;
		
		//find parent
		for(i=0; i<allMenuElems.length; i++)
		{
			if ( allMenuElems[i].getAttribute("link") == clickedMenuLink )
			{
				parent = allMenuElems[i].getParentNode();
				break;
			}
		}
		
		var menuElems = parent.childNodes;
	
	for(i=0; i<menuElems.length; i++)
		{
			if( menuElems[i].getAttribute("link") == clickedMenuLink )
				menuItemClass[i] = "submenu_selected";


			menuItemLabels[i] = '<a onclick=\"javascript:updateMenu(\'' + menuElems[i].getAttribute("link") + '\',\'sub\');\" class=\"' + menuItemClass[i] +'\">' + menuElems[i].getAttribute("title"); + '</a>';

	//menuItemLabels[i] =  menuElems[i].getAttribute("title");
			//menuItemLinks[i] = '<a href=\"javascript:updateMenu(\'' + menuElems[i].getAttribute("link") + '\',\'sub\');\">' + menuElems[i].getAttribute("title"); + '</a>';
		}
	}
	
	
		try{
			
			var theTargetNode = document.getElementById("sub_menu1");
			theTargetNode.innerHTML = menuItemLabels[0];
			//theTargetNode.setAttribute('onclick', menuItemLinks[0]);
			theTargetNode.setAttribute('class', menuItemClass[0]);
			
			var theTargetNode = document.getElementById("sub_menu2");
			theTargetNode.innerHTML = menuItemLabels[1];
			//theTargetNode.setAttribute('onclick', menuItemLinks[1]);
			theTargetNode.setAttribute('class', menuItemClass[1]);

			var theTargetNode = document.getElementById("sub_menu3");
			theTargetNode.innerHTML = menuItemLabels[2];
			//theTargetNode.setAttribute('onclick', menuItemLinks[2]);
			theTargetNode.setAttribute('class', menuItemClass[2]);

			var theTargetNode = document.getElementById("sub_menu4");
			theTargetNode.innerHTML = menuItemLabels[3];
			//theTargetNode.setAttribute('onclick', menuItemLinks[3]);
			theTargetNode.setAttribute('class', menuItemClass[3]);
			
			if(debug) 
				alert( document.getElementById("sub_menu1").getAttribute('onclick') +
' | ' + document.getElementById("sub_menu2").getAttribute('onclick') + ' | ' +
document.getElementById("sub_menu3").getAttribute('onclick') + ' | ' +
document.getElementById("sub_menu4").getAttribute('onclick') );
			if(debug) 
				alert( document.getElementById("sub_menu1").getAttribute('class') +
' | ' + document.getElementById("sub_menu2").getAttribute('class') + ' | ' +
document.getElementById("sub_menu3").getAttribute('class') + ' | ' +
document.getElementById("sub_menu4").getAttribute('class') );
			
			
		}catch(e){
			alert('ERROR: ' + e);
		}
	return;
	
	//alert(theMenu);
}

