
//Global variable to render the navigation string
var treeString='';
var maxLevel=3;//Global var keeps changing.....on calling changeColspan()
var lastFolder=0;
var PRDMEnabled=0;
var MPMNavEnabled=0;
var leftPosition = 24;
var maxChild=0;
var folderOpenarr =[];
//folderOpenarr=0;

var clickCount=0;
var parentOpen;

//this function is added to render the tree for PRDM
function isPRDM(count)
{
	if(count==1)
		PRDMEnabled=1;
	else
		PRDMEnabled=0;
		
}
function isMPMNavTree(count)
{
	if(count==1)
		MPMNavEnabled=1;
	else
		MPMNavEnabled=0;
		
}


//Function to determine the colspan 
function changeColspan(id)
{
	var parseArray=[]; //array containing individual elments of id 
	var idString = String(id);
	var count=0;
	var myLevel;
	//if id=0.1.1, parseArray[0]=0...parseArray[1]=1...parseArray[2]=1
	parseArray=idString.split(".");
	
	//determine the element level
	myLevel  = parseArray.length -1;
	
	//set colspan for the element
	colspanValue = (maxLevel - myLevel) + 1;
	
	return colspanValue;
}

//Tree Class
function Tree()
{
	this.m_node; 
	//Create the Root Node
	this.addRootNode=function(label,level,state,url,type,toolTip,icon)
	{
		
		this.m_node = new Element(label,level,state,url,type,'',toolTip,icon);
		
	}
	
	//Create the element
	this.addNode=function(label,level,state,url,type,toolTip,icon)
	{
		
		changelevel=level;
		
		changelevel = level - 1;
		this.m_node.addChild(label,level,state,url,type,changelevel,toolTip,icon);

	}
	
	//Function called to highlight an element
	this.setSelection=function(id)
	{
		var parseArray=[];
		var idString = String(id);
		var idLength=idString.length;
		var count=0;
		var increment=1;
		var actualLength;
		
		//if id=0.1.1, parseArray[0]=0...parseArray[1]=1...parseArray[2]=1
		parseArray=idString.split(".");
		
		actualLength = parseArray.length -1;
		
		//setNodeSelection called recursively.....hence paasing the actualLength=level, arrayconatinin 
		this.m_node.setNodeSelection(actualLength,parseArray, increment);
	}

	//Function called on OnClick event of +/- image
	
	this.onIconClicked = function(id)
	{

	var parseArray=[];
	var idString = String(id);
	var count=0;
	var increment=1;
	var actualLength;
	
	parseArray=idString.split(".");
	actualLength = parseArray.length -1;
	
	//parsing the array
	
	this.m_node.onChildIconClicked(actualLength,parseArray, increment);
	
	maxChild=0;
	clickCount=0;
	//folderOpenarr=0;
	//alert(folderOpenarr);

	
	this.displayTree();
	
	
	}
	//Display the Tree..loop through the array of objects
  	this.displayTree = function()
  	{
    		treeString = "<div id=navdiv>";
   		var fredlayer;
		clickCount=0;
		maxChild=0;
		parentOpen=0;
		//alert(folderOpenarr);

	//folderOpenarr=0;
		this.setPosition();
		//folderOpenarr=0;
		clickCount=0;
		maxChild=0;
	

	if(document.all){
		//thisbrowser="ie"
		fredlayer = document.all["Header"];
		fredlayer.innerHTML = "";
		treeString=this.m_node.displayElement(this.m_node.noChild) ;
		fredlayer.innerHTML = treeString;
		fredlayer.style.width ="180px";
		if(MPMNavEnabled)
			fredlayer.style.height ="250px";
		else
			fredlayer.style.height ="480px";
		fredlayer.style.overflow = "auto";
		
		
	}
	else if(document.getElementById)
	{
		fredlayer = document.getElementById("Header");
		fredlayer.innerHTML = "";
		treeString =this.m_node.displayElement(this.m_node.noChild);
		fredlayer.innerHTML = treeString;
		fredlayer.style.width ="180px";
		if(MPMNavEnabled)
			fredlayer.style.height ="250px";
		else
			fredlayer.style.height ="410px";
		fredlayer.style.overflow = "auto";
		
	}

       
  }
  /*Function used to clear the highlight property of each element in the Navigation Tree */
   this.clearHighlight=function()
	{
		this.m_node.clearChildHighlight();
	}
	/*Function to determine the topPosition for the <DIV> containing the element label */
	this.setPosition=function()
	{
		this.m_node.setChildPosition();
	}
	this.checkOpened=function(count,parseArray, increment)
	{

		this.m_node.checkParentOpened(count,parseArray, increment);

	}
}

//Element Class
function Element(label,level,state,url,type,changelevel,toolTip,icon)
{
	//Data members
	this.m_child=[];
	this.label=label;	//caption
	this.level=level;	//element level....first level=0..secondlevel=1....and so on.
	this.state=state;	//open, close
	this.url=url;		//URL
	this.type=type;		//folder,item
	this.toolTip = toolTip;
	
	this.noChild=0;		//total no of offsprings each folder has
	this.selected=0;	//to know if this element is selected(1) or not selected(0) defualt=0
	this.parentSelected=0; //to know if a offspring of this folder is selected(1) or not selected(0)default=0
	this.id=0;		//unique id to each element.
	this.icon=(icon?icon:'../images/doc.gif');
	var ofolder="../images/fo.gif";
	var cfolder="../images/fc.gif";
	

	this.topPos=0;	// to determine the top position of the <div>containing the element label.
	this.leftPos=0; // to determine the left position of the <div>containing the element label.
	this.parentOpened =0; // to determine if a parent is opened or not
	
	//Member Functions
	
	//add the element to the Tree
	this.addChild=function(label,level,state,url,type,changelevel,toolTip,icon)
	{
		var leftIncr=0;
		if(changelevel==0)
		{
			
			this.m_child[this.noChild] = new Element(label,level,state,url,type,changelevel, toolTip,icon);
			this.noChild=this.noChild+1;
			//assigns a unique id to each element
			this.m_child[this.noChild-1].id= this.id + "." +this.noChild;
			for(counter=this.m_child[this.noChild-1].level;counter>0;counter--)
			{
				this.m_child[this.noChild-1].leftPos = leftPosition + leftIncr;
				leftIncr = leftIncr + 12;
			}
		}
		if(changelevel>0)
		{
			
			var temp = this.noChild - 1;			
			changelevel = changelevel-1;
			this.m_child[temp].addChild(label,level,state,url,type,changelevel,toolTip,icon); 

		}

	}

	//Display the Element
	this.displayElement=function(nodeCount,increment)
    	{
	 	var count;
		var tempString=String(this.id);
		var tempArray=[];	//array to store each numeral of the id
		tempArray=tempString.split(".");
		
	 	if(this.type=='header')
{
       var  colspanValue=0;
       colspanValue=changeColspan(this.id);
       treeString+="<div id=navouterdiv style='top:0px'><div id = navheadergifdiv><img width=\"16\" height=\"18\" border=0 src='../images/q19tsav.gif'></img></div>";
       //treeString+="<img  width=\"12\" src='q20tsav.gif'></img></div>";
       treeString+="<div nowrap=true id=navlabeldiv style='top:0px; left:14px'><font id=navHeadFont>"+this.label+"</font></div></div>";
}
else if(this.type=='node')
{
	var  colspanValue=0;
        colspanValue=changeColspan(this.id);
	if(this.level >1 )
	{
		var itemLevel = this.level;
		if(PRDMEnabled)
		{
			if(lastFolder==1)
				treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navemptydiv>&nbsp;</div>";
			else
				treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
				for(i=itemLevel;i>=3;i--)
				{
					treeString+="<div id=navemptydiv>&nbsp;</div>";
				}
		}
		else{
			if(increment)
			for (i=1;i<=increment ;i++ )
			{
				treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
			}
			else
				treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navemptydiv>&nbsp;</div>";
			if(increment)
				for(i=itemLevel;i>=3;i--)
				{
					treeString+="<div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
				}
				else
				for(i=itemLevel;i>=3;i--)
					treeString+="<div id=navemptydiv>&nbsp;</div>";
		}
		if(this.highlight)
		{
			if(tempArray[tempArray.length-1] == nodeCount)
			{
				treeString+="<div id=navqcrndiv><img width=\"12\" height=\"20\" border=0 src='../images/qcrn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<a  href="+this.url+" title='"+this.toolTip+"'><font id=navTDFont>"+this.label+"</font></div></a></div>";
			}
			else
				treeString+="<div id=navqtjndiv><img width=\"12\" height=\"20\" border=0 src='../images/qtjn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div  nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<a  href="+this.url+" title='"+this.toolTip+"'><font id=navTDFont>"+this.label+"</font></div></a></div>";
			}
			else
			{
				if(tempArray[tempArray.length-1] == nodeCount)
				{
					treeString+="<div id=navqcrndiv><img width=\"12\" height=\"20\" border=0 src='../images/qcrn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFont><a  href="+this.url+" title='"+this.toolTip+"'>"+this.label+"</font></div></a></div>";
				}
				else
				{
					treeString+="<div id=navqtjndiv><img width=\"12\" height=\"20\" border=0 src='../images/qtjn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div  nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFont><a  href="+this.url+" title='"+this.toolTip+"'>"+this.label+"</font></div></a></div>";
				}
			}
		}else
		{
			if(this.highlight)
			{
				if(tempArray[tempArray.length-1] == nodeCount)
					treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqcrndiv><img width=\"12\" height=\"20\" border=0 src='../images/qcrn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<a  href="+this.url+" title='"+this.toolTip+"'><font id=navTDFont>"+this.label+"</font></div></a></div>";
				else
					treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqtjndiv><img width=\"12\" height=\"20\" border=0 src='../images/qtjn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<a href="+this.url+" title='"+this.toolTip+"'><font id=navTDFont>"+this.label+"</font></div></a></div>";
			}
			else
			{
				if(tempArray[tempArray.length-1] == nodeCount)
					{treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqcrndiv><img width=\"12\" height=\"20\" border=0 src='../images/qcrn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFont><a  href="+this.url+" title='"+this.toolTip+"'>"+this.label+"</font></div></a></div>";} else{ treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqtjndiv><img width=\"12\" height=\"20\" border=0 src='../images/qtjn_icn.gif'></img></div><div id=navemptydiv><a style=\"text-decoration:none\" href="+this.url+"><img width=\"12\" height=\"13\" border=0 src="+this.icon+"></img></a></div><div nowrap=true  id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFont><a  href="+this.url+" title='"+this.toolTip+"'>"+this.label+"</font></div></a></div>";}
		}}}
		if(this.type=='folder')
		 {
			var  colspanValue=0;
               		colspanValue=changeColspan(this.id);
			if(PRDMEnabled==1)
				lastFolder=0;
			else if(tempArray[tempArray.length-1] == nodeCount)
			{
				lastFolder=1;
				this.hasSibling=0;
			}
			 else if(tempArray[tempArray.length-1] != nodeCount)
			{
				lastFolder=1;
				this.hasSibling=1;
			 }
			if(this.state=='open')
			 {
				if(this.level > 1)
				 {
					var itemLevel = this.level;
					if(PRDMEnabled)
				   	{
					if(lastFolder==1)
					treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navemptydiv></div>";
					else
					treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
					for(i=itemLevel;i>=3;i--)
					 {
						treeString+="<div id=navemptydiv>&nbsp;</div>";
					 }}
					 else{
					if(increment)
				   	for (i=1;i<=increment ;i++ )
				   	{
						treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
				   	}
				   	else
						treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navemptydiv>&nbsp;</div>";
					if(increment==1)
					for(i=itemLevel;i>=3;i--)
					 {
						treeString+="<div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
					 }
					 else
						 for(i=itemLevel;i>=3;i--)
					 {
						treeString+="<div id=navemptydiv>&nbsp;</div>";
					 }
					}
					 if(this.highlight)
					{
					treeString+="<div id=navminusdiv onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/minus.gif'></img></div><div id=navofdiv><img width=\"13\" height=\"15\" src="+ofolder+"></div><div nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFontFolder>"+this.label+"</font></div></div>";
					}
					else
						treeString+="<div id=navminusdiv onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/minus.gif'></img></div><div id=navofdiv><img width=\"13\" height=\"15\" src="+ofolder+"></div><div nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFontFolder>"+this.label+"</font></div></div>";
				 }
				 else{
						 if(this.highlight)
						{
						 treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navminusdiv  onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/minus.gif'></img></div><div id=navofdiv><img width=\"13\" height=\"15\" src="+ofolder+"></div><div nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFontFolder>"+this.label+"</font></div></div>";
						}
						else
							treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navminusdiv  onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/minus.gif'></img></div><div id=navofdiv><img width=\"13\" height=\"15\" src="+ofolder+"></div><div nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFontFolder>"+this.label+"</font></div></div>";
				 }
				 for(count =0; count<this.noChild;count++)
				 {
					 if(this.hasSibling)
					 {
						this.m_child[count].displayElement(this.noChild,increment);
					 }
					 else
						 this.m_child[count].displayElement(this.noChild);
				 }
			 }else if(this.state=='close')
			 {
				 if(this.level > 1)
				 {
					var itemLevel = this.level;
					if(PRDMEnabled)
				   	{
					if(lastFolder==1)
						treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navemptydiv>&nbsp;</div>";
					else
						treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
					for(i=itemLevel;i>=3;i--)
					 {
						treeString+="<div id=navemptydiv>&nbsp;</div>";
					 }}
					 else{
					if(increment)
				        for (i=1;i<=increment ;i++ )
				        {
						treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
				        }
				  	else
						treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navemptydiv>&nbsp;</div>";
				   	if(increment==1)
					for(i=itemLevel;i>=3;i--)
					{
						treeString+="<div id=navqvptdiv><img width=\"12\" height=\"20\" border=0 src='../images/qvpt_icn.gif'></img></div>";
					}
					else
					for(i=itemLevel;i>=3;i--)
					treeString+="<div id=navemptydiv>&nbsp;</div>";}
					if(this.highlight)
					{
					 treeString+="<div id=navplusdiv onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/plus.gif'></img></div><div id=navcfdiv><img width=\"12\" height=\"14\" src="+cfolder+"></div><div nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFontFolder>"+this.label+"</font></div></div>";
					}
						else
							treeString+="<div id=navplusdiv onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/plus.gif'></img></div><div id=navcfdiv><img width=\"12\" height=\"14\" src="+cfolder+"></div><div  nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFontFolder>"+this.label+"</font></div></div>";
				 }
				 else
				 {
					 if(this.highlight)
						{
					 treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navplusdiv onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/plus.gif'></img></div><div id=navcfdiv><img width=\"12\" height=\"14\" src="+cfolder+"></div><div  nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDFontFolder>"+this.label+"</font></div></div>";
						}
					 else
						treeString+="<div id=navouterdiv style='top:"+this.topPos+"px'><div id=navplusdiv onClick=TreeObj.onIconClicked(\'"+this.id+"\')><img width=\"12\" height=\"20\" border=0 src='../images/plus.gif'></img></div><div id=navcfdiv><img width=\"12\" height=\"14\" src="+cfolder+"></div><div nowrap=true id=navlabeldiv style='left:"+this.leftPos+"px'>&nbsp;<font id=navTDNormalFontFolder>"+this.label+"</font></div></div>";
				 }
			 }
		 }
		if(this.type=='header')
		{
			 var increment=1;
				for(count =0; count<this.noChild;count++)
			 {
				this.m_child[count].displayElement(this.noChild,increment);
			 }
		}		return treeString;
       
     }
    
    	// function invoked on onClick event of +/- image

	this.onChildIconClicked=function(count,parseArray, increment, state) //arguments passed id, count and parsed array 
	{
			count = count -1;
			if(count ==0)
			{
				
				this.m_child[parseArray[increment]-1].changeState();
			}
			else
			{
				this.m_child[parseArray[increment]-1].onChildIconClicked(count,parseArray,(increment+1),this.m_child[parseArray[increment]-1].state);
			}
		

	}

	//function to change the state(open/close) of a folder
	this.changeState=function()
	{
		var temp;
		if(this.state =='open')	//swap the state
		{
			this.state= 'close';
			if(this.parentSelected==1)
				this.highlight=1;
			
		}
		else if(this.state == 'close')
		{
			if(this.level >=maxLevel)
			{
				maxLevel = parseInt(this.level) + 1;
			}
			if(this.parentSelected==1)
				this.highlight=0;
			this.state = 'open';
			
		}

	}
	
	//function to set the element as selected
	this.setNodeSelection=function(count,parseArray, increment) //arguments passed  count, parsedarray increment
	{
			
			
			count = count -1;
			if(count ==0)
			{
				
				this.m_child[parseArray[increment]-1].highlight=1;
				
			}
			else
			{
				this.m_child[parseArray[increment]-1].parentSelected=1; // for highlight
				this.m_child[parseArray[increment]-1].state='open';
				this.m_child[parseArray[increment]-1].setNodeSelection(count,parseArray,(increment+1));
				if(this.level >=maxLevel)//change the Colspan ....
			{
				maxLevel = parseInt(this.level) + 1;
			}
			}
		

	}
	/*Function called by the clearHighlight() in the Tree Class to clear each element's highlight property*/
	this.clearChildHighlight=function()
	{
		 this.highlight=0;
		 this.parentSelected=0;
		 
		 if(this.type=="header")
		{
		 for(i=0;i<this.noChild;i++)
		{
			 this.m_child[i].clearChildHighlight();
		}
		}
		if(this.type=="folder")
		{
		 for(num=0;num<this.noChild;num++)
		{
			 this.m_child[num].clearChildHighlight();
		}
		}

	}
	/*Function to determine the topPosition for the <DIV> containing the element label */
	this.setChildPosition=function()
	{
		var parseArray=[]; //array containing individual elments of id 
		var id = this.id;
		var idString = String(id);
		var count=0;
		var totalCount=0;
		var counter=0;
		var k=0;
		var m=0;
		//if id=0.1.1, parseArray[0]=0...parseArray[1]=1...parseArray[2]=1
		parseArray=idString.split(".");
		//alert("id");
		//alert(this.id);
		
		if(this.type != "header")
		{
		for(counter=0;counter<parseArray.length;counter++)
			totalCount = totalCount + parseInt(parseArray[counter]) ;
		this.topPos = 20*(totalCount) + maxChild * 20;
		//alert(this.topPos);

		}
		 if(this.type=="header")
		{
		 for(m=0;m<this.noChild;m++)
		{
			 this.m_child[m].setChildPosition();
		}
		}
		if(this.type=="folder")
		{
			
		 for(k=0;k<this.noChild;k++)
		{
			 this.m_child[k].setChildPosition();
			 
		}
		if(this.level >1)
		{
			//alert(this.id);
			var parArray=[];
			var id1= this.id;
			var idString1 = String(id1);
			var increment=1;
			var actualLength;
		
		//if id=0.1.1, parseArray[0]=0...parseArray[1]=1...parseArray[2]=1
			parArray=idString.split(".");
		
			actualLength = parArray.length -1;
			
			if(this.state == "open" )
			{

				 TreeObj.checkOpened(actualLength,parArray, increment);
				/* folderOpenarr=0;*/
				 clickCount=0; 
				 if(this.parentOpened)
				 maxChild = maxChild + this.noChild;
			}
		}
		else{
			if(this.state == "open")
				 maxChild = maxChild + this.noChild;
			}
		}

	}
	/*Function to check if the parent of a folder is open or not */
	this.checkParentOpened=function(count,parseArray, increment) //arguments passed  count, parsedarray increment
	{
			
			
			count = count -1;
			var i=0;
			if(count ==0)
			{
				folderOpenarr[clickCount] = 1;
				clickCount=clickCount+1;
				
				for(i=0;i<folderOpenarr.length-1;i++)
				{
					if(folderOpenarr[i] == 1)
						parentOpen =1;
					else 
					{
						parentOpen =0;
					break;
					}
					folderOpenarr[i]=0;
					
					clickCount=0;
				}
				for(i=0;i<folderOpenarr.length;i++)
				{
					if(folderOpenarr[i] == 1)
						folderOpenarr[i]=0;
					}
				
				if(parentOpen ==1)
					this.m_child[parseArray[increment]-1].parentOpened=1;
				else
					this.m_child[parseArray[increment]-1].parentOpened=0;
				
			}
			else
			{
				if(this.m_child[parseArray[increment]-1].state=="open" && this.m_child[parseArray[increment]-1].type != "header")
				{
					folderOpenarr[clickCount] = 1;
					clickCount=clickCount+1;
				}
				else if(this.m_child[parseArray[increment]-1].state=="close")
				{
					folderOpenarr[clickCount] = 0;
					clickCount=clickCount+1;
				}
				
				this.m_child[parseArray[increment]-1].checkParentOpened(count,parseArray,(increment+1));
				
			}
		

	}

       
    }
