
	var TOCtree,TFRtree;
	var xmlString="";
	var tocFrame;
	var divhtmlConntentDoc;
	function loadTree1()
	{
		setTimeout("loadTree()",3000);
	}
	function loadTree()
	{	
		tocFrame = window.parent.document.getElementById("tocIFrame");
		divhtmlConntentDoc=window.parent.document.getElementById("chaptercontent");
		try
		{
			xmlUtil=new XMLDOM();
			TOC_config=xmlUtil.load("TOC/ContentExplorer.xml");

			var CENodes=xmlUtil.doXPath('/ce/*',TOC_config);		
			xmlString='<tree id="0">';				
			for(var i=0;i<CENodes.length;i++)
			{
				
				switch(CENodes[i].nodeName.toLowerCase())
				{
					
					case "toc":
						xmlString=xmlString+Generate_TOC_XML(divhtmlConntentDoc,CENodes[i]);
						break;
					case "figure":
						xmlString=xmlString+Generate_Figure_XML(divhtmlConntentDoc,CENodes[i]);
						break;
					case "table":
						xmlString=xmlString+Generate_Table_XML(divhtmlConntentDoc,CENodes[i]);
						break;	
				}
			}
			xmlString=xmlString+"</tree>";
			TreeInitialize(xmlString)
		}
		catch(e)
		{
			alert(e.message+"1");
		}
	}

	function TreeInitialize(xmlString)
	{
		try
		{
			document.getElementById("treebox1").innerHTML=""; 
			TOCtree=new dhtmlXTreeObject("treebox1","100%","100%",0);
			TOCtree.setImagePath("TOC/TreeView/imgs/");
			TOCtree.enableAutoTooltips(true);
			TOCtree.setOnClickHandler(TOCNodeClicked);
			TOCtree.loadXMLString(xmlString,"");
			TOCtree.openItem("toc");
		}
		catch(e)
		{
			//alert(e.message+"2");
		}
	}
	function TOCNodeClicked()
	{
		try
		{	
			var nodeId=TOCtree.getSelectedItemId();
			//var divhtmlConntentDoc=document.getElementById("chaptercontent");
			ContentExplorerSelection(nodeId);
		}
		catch(ex)
		{
			//alert(ex.message);
		}
	}
	
	function ContentExplorerSelection(str)
	{
		try
		{	
			//var objToSelect=document.getElementById(str);
			var objToSelect=window.parent.document.getElementById(str);
			SetSelectionByNode(objToSelect,true);			
		}
		catch(e)
		{
			//alert(e.message);
		}
	}
	
	function SetSelectionByNode(node,isView,isSelected)
	{
		if(typeof(isSelected)=='undefined')
			isSelected=true;
		//debugger;
		var tmp_htmldoc=window.parent.document;
		var tmp_htmlwin=window.parent;
		
		var TxtRange;
		if (!isView)
			isView=true;
			
		if(navigator.appName.lastIndexOf("Microsoft")!=-1)
		{
			if(node.innerText!="")
			{
				TxtRange = tmp_htmldoc.body.createTextRange();
				TxtRange.moveEnd("textedit");
				TxtRange.moveToElementText(node);
				if(isSelected)
					TxtRange.select();
			}
		}
		else
		{
			var sel=tmp_htmlwin.getSelection();
			//Safari
			if(sel.setBaseAndExtent)
				sel.setBaseAndExtent(node,0,node,child_nodes(node).length || 1);
			else
				sel.selectAllChildren(node);
				
			TxtRange=sel.getRangeAt(0);
			if(!isSelected)
				TxtRange.collapse(true);
		}
		if(isView==true)
		{
			var objPos=findPos(node);
			//tmp_htmlwin.scrollTo(objPos[0],objPos[1]);
			tmp_htmldoc.getElementById("chapcontent1").scrollTop=objPos[1]-210;
		}
		return TxtRange;
	}

function findPos(node)
{
	var curleft = curtop = 0;
	if (node.offsetParent)
	{
		curleft = node.offsetLeft;
		curtop = node.offsetTop;
		while (node = node.offsetParent)
		{
			curleft += node.offsetLeft;
			curtop += node.offsetTop;
		}
	}
	return [curleft,curtop];
}


