var xmlHttp;
var menu = new tabsContainer();

function generateMenu(id) {
	var obj = document.getElementById(id);
	for (var i=0; i<obj.childNodes.length; i++) {
		if (obj.childNodes[i].nodeName == "DIV")
			menu.addTab(obj.childNodes[i]);
	}
}

function changeTab(id) {	
	var tab = menu.getTabByID(id);
	tab.changeTabBckgrnd();
}

function menuClick(url, id) {
	var params = "?url="+url;
	
	var tab = menu.getTabByID(id);
	tab.clicked = true;
	tab.changeTabBckgrnd();
	tab.setMargin();
	var clickedTabID = menu.clickedTabID;
	if (clickedTabID&&clickedTabID!=id) {
		var clickedTab = menu.getTabByID(clickedTabID);
		clickedTab.clicked = false;
		clickedTab.changeTabBckgrnd();
		clickedTab.setMargin();
	}
	menu.clickedTabID = id;
	
	createXmlHttpRequest();
	xmlHttp.open("GET","/offlineResources/resources"+params,true);
	xmlHttp.onreadystatechange=handleStateChange;
	xmlHttp.send(null);
}

function directoryClick(url) {
	var params = "?url="+url;
	
	createXmlHttpRequest();
	xmlHttp.open("GET","/offlineResources/resources"+params,true);
	xmlHttp.onreadystatechange=handleStateChange;
	xmlHttp.send(null);
}

function createXmlHttpRequest() {
	if(window.ActiveXObject) {
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	} else if(window.XMLHttpRequest) {
		xmlHttp=new XMLHttpRequest();
	}
}

function handleStateChange() {
	if(xmlHttp.readyState==4) {
		if(xmlHttp.status==200) {
			var root = xmlHttp.responseXML.getElementsByTagName("root")[0];
			var offlineResources = document.getElementById("offlineResources");
			offlineResources.innerHTML = "";

			var directories = root.getElementsByTagName("directory");
			for(var i=0; i<directories.length; i++) {
				var name = directories[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
				if (name == 'Parent Directory')
					name = '... ATGAL ...';
				var link = directories[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
				var directory = document.createElement("div");
				directory.setAttribute("id", link);
				directory.onclick = function() {
					directoryClick(this.getAttribute("id"));
				};
				directory.innerHTML = name;
				offlineResources.appendChild(directory);
			}
			
			var files = root.getElementsByTagName("file");
			for(var i=0; i<files.length; i++) {
				var name = files[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
				var link = files[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;				
				var aTag = document.createElement("a");
				aTag.setAttribute("href", link);
				aTag.setAttribute("target", "_blank");
				aTag.innerHTML = name;
				var pTag = document.createElement("p");
				pTag.appendChild(aTag);
				offlineResources.appendChild(pTag);
			}
		} else {
			alert("Error loading page "+xmlHttp.status+":"+xmlHttp.statusText);
		}
	}
}
