var SiteMap = { };

if(document.all){
	var _arLoadingTimeouts = new Array();
}

SiteMap.LoadChildren = function(Image, nAction){
	if(Image.src == Image.getAttribute("openbulleturl")){
		Image.src = Image.getAttribute("closebulleturl");
	}else{
		Image.src = Image.getAttribute("openbulleturl");
	}
	
    Image.title = (Image.getAttribute("openalttext") == Image.title || Image.title == "") ? Image.getAttribute("closealttext") : Image.getAttribute("openalttext");
   //alert(Image.getAttribute("AlreadyLoaded")); 
   
   
	if(Image.getAttribute("AlreadyLoaded")){
		if(document.all != undefined){
			Image.parentNode.parentNode.nextSibling.style.display = (Image.parentNode.parentNode.nextSibling.style.display == "") ? "none" : "";
		}else{
			Image.parentNode.nextSibling.nextSibling.style.display = (Image.parentNode.nextSibling.nextSibling.style.display == "") ? "none" : "";
		}
		
		return false;
	}

	var nSectionID = Image.getAttribute("_sectionid");
	var nRecordID = Image.getAttribute("_recordid");

	var HttpRequest = new CHttpRequest();
	
	HttpRequest.AddProperty("AjaxType", "HTML");
	HttpRequest.AddProperty("RequestFile", "UI.SiteMap");
	HttpRequest.AddProperty("MethodName", "XLoadLevel");
	HttpRequest.AddProperty("Arguments[Action]", nAction);
	
	HttpRequest.AddProperty("Arguments[SectionID]", nSectionID);
	HttpRequest.AddProperty("Arguments[RecordID]", nRecordID);
	
	HttpRequest.AddProperty("Arguments[ImageID]", nSectionID+"_"+nRecordID);
	
	HttpRequest.State = {SectionID:nSectionID, RecordID:nRecordID};
	
	HttpRequest.OnResponse = SiteMap.LoadChildren_Callback;
	
	Image.parentNode.disabled = true;
	HttpRequest.Send();
	
	return false;
}

SiteMap.LoadChildren_Callback = function(request, state){
	var HtmlNode = request.responseText;
	
	var Image = document.getElementById(state.SectionID +"_"+ state.RecordID);
	Image.setAttribute("AlreadyLoaded", true);

	var Container = Image.parentNode.parentNode;
	
	if(document.all != undefined){
		Container.insertAdjacentHTML("afterEnd", HtmlNode);
	}else{
		Container.innerHTML = Container.innerHTML + HtmlNode;

	}
}