writeMain()

function writeMain()
{
  var res = "";
  var varValue = "";
  var PM = "";
  var sPM = "";
  var sICO = "";
  var sBUT = "";
  var fDepth = 30;
  
  switch (firstimeOpened)
  {
  	case "ON": PM = "minus"; break;
    case "OFF": PM = "plus"; break;
  }
  switch (showPM)
  {
  	case "ON": sPM = "block"; break;
    case "OFF": sPM = "none"; fDepth=0; break;
  }
  switch (showIcons)
  {
  	case "ON": sICO = "block"; break;
    case "OFF": sICO = "none"; break;
  }
  
  for (var i=1; i<all.length; i++)
  {
		varValue = all[i][0].split(";");
	
	  switch (folderTextLink)
		{
			case "ON": sBUT = ""; break;
		  case "OFF": sBUT = 'onclick="mainFunc(this.id,0)" id="' + varValue[4] + '"'; break;
	  }

    if(openRegion == varValue[4])	 PM = "minus";   
		else	 PM = "plus"; 

//alert(varValue[1]);
//если первый главный элемент
//определяем фон по имени главного елемента
bgcolor='#ffffff';
foncolor='#ffffff';
if(varValue[0]=='Rothenberger') {bgcolor='#FFAEC0'; foncolor='#CC64AA';}
if(varValue[0]=='Бетон') {bgcolor='#89BED8'; foncolor='#CC64AA'; }
if(varValue[0]=='Сварка пластмасс') {bgcolor='#99F6A2'; foncolor='#CC64AA';}
if(varValue[0]=='Herz') {bgcolor='#F5D1E7'; foncolor='#0ED7A3';}
if(varValue[0]=='Naval') {bgcolor='#B7DCF3'; foncolor='#0ED7A3';}
if(varValue[0]=='Dab') {bgcolor='#C9EBA7'; foncolor='#78C532';}
if(varValue[0]=='Wilo') {bgcolor='#99EFD6'; foncolor='#78C532';}
if(varValue[0]=='Радиаторы Vogel&Noot') {bgcolor='#DEB6DE'; foncolor='#B4A532';}
	  if (all[i].length > 0)
  	{
			res = '<table cellspacing="0" cellpadding="0" border="0"   width="100%"><tr><td>';
  
      res += '<table style="display:block;" cellspacing="0" width="100%" cellpadding="0" border="0"><tr>\n';
      res += '<td style="width:0;"></td>\n';
      res += '<td  width="100%" style="text-align:center;vertical-align:middle;width:20;display:' + sPM + ';">';
      res += '<img src="/images/x3m_img/' + PM + '.gif" onmouseover="setCur(this)" onclick="mainFunc(this.id,0)" id="' + varValue[4] + '">\n';
      res += '</td>\n';
      res += '<td  width="100%" style="text-align:center;vertical-align:middle;width:20;display:' + sICO + ';">\n';
      res += '<img src="' + varValue[2] + '" onmouseover="setCur(this)" onclick="mainFunc(this.id,0)" id="' + varValue[4] + '">\n';
      res += '</td>\n';
      res += '<td  width="100%" style="padding-left:3; text-align:left;vertical-align:middle;">\n';
      res += '<a class="menug1" href="' + varValue[1] + '" ' + sBUT + '>' + varValue[0] + '</a>\n';
      res += '</td></tr></table>\n';
      res += '<table cellspacing="0" cellpadding="0" border="0"><tr><td>';
      res += writeSub(all[i],1);
      res += '</td></tr></table>';
      
      res += '</td></tr></table>';
		}
	  else
	  {
			res = '<table style="display:block;" cellspacing="0" cellpadding="0" border="0"><tr>\n';
      res += '<td style="width:0;"></td>\n';
      res += '<td style="width:' + fDepth + ';"></td>\n';
      res += '<td style="text-align:center;vertical-align:middle;width:20;display:' + sICO + ';">\n';
      res += '<img src="' + varValue[2] + '">\n';
      res += '</td>\n';
      res += '<td style="text-align:left;vertical-align:top;">\n';
      res += '<a href="' + varValue[1] + '" class="subLnk">' + varValue[0] + '</a>\n';
      res += '</td>\n';
      res += '</tr></table>';
	  }
	  document.write(res);
  }
}

function writeSub(theVar,qrt)
{
  var FTO = "";
  var PM = "";
  var sPM = "";
  var sICO = "";
  var sBUT = "";
  var res = "";
  var subLength = 0;
  var subLWOPM = 0;
  var subLengthPM =0;

  for (var k=1; k<=qrt; k++)
  {
		subLength += pixDepth;
  }

  switch (firstimeOpened)
  {
		case "ON": PM = "minus"; FTO = "block"; break;
	  case "OFF": PM = "plus"; FTO = "none"; break;
  }

  switch (showPM)
  {
  	case "ON": sPM = "block"; break;
    case "OFF": sPM = "none"; subLWOPM = 20; break;
  }

  switch (showIcons)
  {
  	case "ON": sICO = "block"; break;
    case "OFF": sICO = "none"; subLWOPM = -2; break;
  }

  if (showIcons == "OFF" && showPM == "OFF")
  {
		subLWOPM = 20;
  }

  subLengthPM = subLength-subLWOPM;
  
  for (var j=1; j<theVar.length; j++)
  {
  	varValue =  theVar[j][0].split(";");
  	
  	switch (folderTextLink)
  	{
  		case "ON": sBUT = ""; break;
  		case "OFF": sBUT = 'onclick="mainFunc(this.id,0)" id="' + varValue[4] + '"'; break;
  	}
  

    if(openRegion == varValue[3])	 FTO = "block";   
		else{	
		var name = navigator.appName
		  if(name=="Netscape" /*|| name=="Opera"*/) {FTO = "block";}
		  else
		  {FTO = "block"; }
		 }
//alert(openRegion);		
    if (theVar[j].length > 1)
    {
			res += '<table style="display:' + FTO + ';" cellspacing="0" cellpadding="0" border="0"><tr><td>';
      res += '<table  cellspacing="0" cellpadding="0" border="0"><tr>\n';
      res += '<td style="width:' + subLength + ';"></td>\n';
      res += '<td style="text-align:center;vertical-align:middle;width:20;display:' + sPM + ';">';
      res += '<img src="/images/x3m_img/' + PM + '.gif" onmouseover="setCur(this)" onclick="mainFunc(this.id,0)" id="' + varValue[4] + '">\n';
      res += '</td>\n';
      res += '<td style="text-align:center;vertical-align:top;width:20;display:' + sICO + ';">\n';
      res += '<img src="' + varValue[2] + '" onmouseover="setCur(this)" onclick="mainFunc(this.id,0)" id="' + varValue[4] + '">\n';
      res += '</td>\n';
      res += '<td style="text-align:left;vertical-align:top;">\n';
      res += '<a class="menug3" href="' + varValue[1] + '" ' + sBUT + '>';
			if(openAppel == varValue[4])
				res += '<b>' + varValue[0] + '</b>'; 
			else
				res += varValue[0];
	  res += '</a>\n';
      res += '</td></tr></table>\n';
      
      res += '<table cellspacing="0" cellpadding="0" border="0"><tr><td>';
      res += writeSub(theVar[j],qrt+1);
      res += '</td></tr></table>';
      
      res += '</td></tr></table>';
    }
    else
    {
      res += '<table style="display:' + FTO + ';" cellspacing="0" cellpadding="0" border="0"><tr>\n';
      res += '<td style="width:20;"></td>\n'; //' + subLengthPM + '
      res += '<td style="width:28;"></td>\n';
      res += '<td style="text-align:center;vertical-align:top;width:20;display:' + sICO + ';">\n';
      res += '<img src="' + varValue[2] + '">\n';
      res += '</td>\n';
      res += '<td style="text-align:left;vertical-align:top;"><a href="' + varValue[1] + '" class="menug3">\n';
      
			if(openAppel == varValue[4])
				res += '<b>' + varValue[0] + '</b></a>'; 
			else
				res += varValue[0];
      
			res += '</a>\n'; 


			
			res += '</td>\n';
      res += '</tr></table>\n';
    }
 	}
	return res;
}

function mainFunc(obj,i)
{
	if (window.event.srcElement.parentElement.parentElement.children[1].children[0].src.indexOf("minus.gif") != -1)
	{
		mainFuncCl(obj,i);
	}
	else
	if (window.event.srcElement.parentElement.parentElement.children[1].children[0].src.indexOf("plus.gif") != -1)
	{
	//mainFuncOp(obj,i); было так - остальное добавлено
	
	
	  var varValue1="";
	  var varV="";

		 if(obj=='279' || obj=='281'  || obj=='280' || obj=='282' || obj=='285' || obj=='283' || obj=='286' || obj=='53'|| obj=='56'){
			  for (var n=1; n<all[2].length; n++)
		        {
				varValue1 = all[2][n][0];
				varV=varValue1.split(';');
				  mainFuncCl(varV[4],0);
		        }
		  }	
     mainFuncCl('56',0);
	 mainFuncCl('53',0);
	 mainFuncOp(obj,i);
	}
}

function mainFuncCl(obj,i)
{
	var subLayer = document.getElementById(obj).parentElement.parentElement.parentElement.parentElement.parentElement.children[1];
	var re = new RegExp("op","g")
	var newLnkImg = document.getElementById(obj).parentElement.parentElement.children[2].children[0].src.replace(re,"cl")
	i++;
	document.getElementById(obj).parentElement.parentElement.children[1].children[0].src = "/images/x3m_img/plus.gif";
	document.getElementById(obj).parentElement.parentElement.children[2].children[0].src = newLnkImg;
	if (closingSpeed != 0 && subLayer.children[0].children[0].children[0].children[i-1])
	{
		subLayer.children[0].children[0].children[0].children[i-1].style.display = "none";
		document.getElementById("mainArea").setAttribute("var", obj)
		setTimeout("mainFuncCl('" + document.getElementById('mainArea').getAttribute('var')  + "'," + i + ")", closingSpeed);
	}
	else
	{
		for (var i=0; i<subLayer.children[0].children[0].children[0].children.length; i++)
		{
			subLayer.children[0].children[0].children[0].children[i].style.display = "none";
		}
	}
}

function mainFuncOp(obj,i)
{
	var subLayer = document.getElementById(obj).parentElement.parentElement.parentElement.parentElement.parentElement.children[1];
	var re = new RegExp("cl","g")
	var newLnkImg = document.getElementById(obj).parentElement.parentElement.children[2].children[0].src.replace(re,"op")
	i++;
	document.getElementById(obj).parentElement.parentElement.children[1].children[0].src = "/images/x3m_img/minus.gif";
	document.getElementById(obj).parentElement.parentElement.children[2].children[0].src = newLnkImg;
	if (openingSpeed != 0 && subLayer.children[0].children[0].children[0].children[subLayer.children[0].children[0].children[0].children.length-i])
	{
		subLayer.children[0].children[0].children[0].children[subLayer.children[0].children[0].children[0].children.length-i].style.display = "block";
		document.getElementById("mainArea").setAttribute("var", obj)
		setTimeout("mainFuncOp('" + document.getElementById('mainArea').getAttribute('var')  + "'," + i + ")", openingSpeed);
	}
	else
	{
		for (var i=0; i<subLayer.children[0].children[0].children[0].children.length; i++)
		{
			subLayer.children[0].children[0].children[0].children[i].style.display = "block";
		}
	}
}

function closeSub(obj,i)
{
	var parCol = document.getElementById(obj).children[0].children[0].children[0].children[1].children[0].children[0].children[0];
	if (parCol.children[i])
	{
		parCol.children[i].style.display = "none";
		alert();
		i++;
		document.getElementById("mainArea").setAttribute("var2", obj)
		setTimeout("closeSub(" + document.getElementById('mainArea').getAttribute('var2')  + "," + i + ")", closingSpeed);
	}
}

function setCur(obj)
{
	obj.style.cursor = "hand";
}