void Spider(xTreeItem CurrentItem)
{
	CString spaces, xStr, DirectoryBar, currentpath, currenturl;
	if(CurrentItem.IsBranch())
	{
		CurrentLevel ++;
		currentpath = BasePath;	currenturl = BaseURL;	
		CurrentItem.FileName = "index.txt";
		CurrentItem.Level = CurrentLevel;			
		DirectoryL[CurrentLevel] = CurrentItem.Directory;
		
		for(int l = 1; l <= CurrentLevel; l ++)
		{
			currentpath += "\\" + DirectoryL[l];
			currenturl += "/" + DirectoryL[l];	 
		}

		CurrentItem.LocalHtmlPath=currentpath + "\\index.html";
		CurrentItem.Url = currenturl + "/index.html";
		currentpath += "\\index.txt";
		xTreeItems.Add(xTreeItem(CurrentItem));
		InputIndexFile[CurrentLevel].Open(currentpath, CFile::modeRead | CFile::typeText);
		HrefL[CurrentLevel] = CurrentItem.MakeHref();
		
		for(;;)
		{
			if(InputIndexFile[CurrentLevel].ReadString(xStr))
			{
				xTreeItem NewTreeItem;
				NewTreeItem.InitFromTxtEntry(xStr);
				Spider(NewTreeItem);	
			}
			else
			{		
				InputIndexFile[CurrentLevel].Close();
				CurrentLevel --;
				break;
			}
		}	
	}
	else
	{
		if(CurrentItem.Url)
		{
			CurrentItem.Level = CurrentLevel + 1;
			xTreeItems.Add(xTreeItem(CurrentItem));	

			for(;;)
			{			
				if(InputIndexFile[CurrentLevel].ReadString(xStr))
				{
					CurrentItem.InitFromTxtEntry(xStr);
					CurrentItem.Level = CurrentLevel + 1;				
					xTreeItems.Add(xTreeItem(CurrentItem));		
				}
				else
				{
					break;
				}			
			}
		}		
	}
}