﻿function findNextSibling(obj)
{	
	if(!obj)return undefined;
	var typ=obj.nodeType;
	var tag=obj.tagName;
	var found=false;
	var sibl=obj.nextSibling;
	while(!found)
	{
		if(!sibl){found=true;}
		else{if(sibl.nodeType==typ&&sibl.tagName==tag)found=true;else sibl=sibl.nextSibling;}
	}
	return sibl;
}
function showHideComment(img,cId)
{
	var tr,obj,obj1,spans,i;
	if(img.src.indexOf("plus")!=-1)
	//показать коммент
	{
		tr=makeRow(cId);// создаем ряд с комментом
		if(!tr)return;
		obj=img;// берем картинку за точку отсчета

		obj1=obj.parentNode;// находим первую ячейку ряда
		spans=obj1.rowSpan;// определяем, сколько рядов занимает эта ячейка

		obj=obj1.parentNode;// находим ряд таблицы, в котором находится картинка
		
		// находим ряд, после которого надо вставить ряд с комментом
		i=1;
		while(i<spans)
		{
			obj=findNextSibling(obj);
			if(!!obj)i++;
		}
		// разобираемся, последний это ряд в таблице или нет
		if(!findNextSibling(obj))
		// если последний, то делаем для таблицы appendChild
		{
			obj.parentNode.appendChild(tr);
		}
		else
		// если не последний, находим следующий ряд и для него делаем insertBefore
		{
			obj=findNextSibling(obj);
			obj.parentNode.insertBefore(tr,obj);
			var t=document.getElementById('asdf');
		}
		obj1.rowSpan=spans+1;
		img.src='/images2/minus.gif';
	}
	else
	//спрятать коммент
	{
		//debugger;
		obj=img;// берем картинку за точку отсчета

		obj1=obj.parentNode;// находим первую ячейку ряда
		spans=obj1.rowSpan;// определяем, сколько рядов занимает эта ячейка

		obj=obj1.parentNode;// находим ряд таблицы, в котором находится картинка
		
		// находим последний ряд, в котором комментарий и который надо удалить
		i=1;
		while(i<spans)
		{
			obj=findNextSibling(obj);
			if(!!obj)i++;
		}
		obj.parentNode.removeChild(obj);

		img.src='/images2/plus.gif';
		obj1.rowSpan=spans-1;
	}
}
function makeRow(cId)
{
	if(!stat_comments[cId])return undefined;
	var tr=document.createElement('tr');
	var td=document.createElement('td');
	td.className='left';
	td.colSpan=7;
	td.innerHTML=stat_comments[cId];
	tr.appendChild(td);
	return tr;
}

function hideInfo()
{
	var div=document.getElementById('IndexInfoDiv');
	//var info=document.getElementById('IndexInfoText');
	//if(!!info)info.innerHTML=' ';
	if(!!div)div.style.display='none';
}
function showInfo(hdr,inf,lnk)
{
	//debugger;
	var div=document.getElementById('IndexInfoDiv');
	var info=document.getElementById('IndexInfoText');
	var header=document.getElementById('IndexInfoHeader');
	if(!!header)
		header.innerHTML=hdr;
	if(!!info)
	{
		info.readOnly=false;
		info.innerHTML=inf;
		info.value=inf;
		info.readOnly=true;
	}
	if(!!div)
	{
		//div.style.margin=(relPosY(lnk)+15)+'px 0px 0px '+ relPosX(lnk) +'px;';
		div.style.top=(relPosY(lnk)+15+'px');
		div.style.left=(relPosX(lnk)+'px');
		div.style.display='block';
	}
}

function relPosX(elem) { var pos = elem.offsetLeft; while (elem.offsetParent != null) { elem = elem.offsetParent; pos += elem.offsetLeft; if (elem.tagName == 'DIV') break; } return pos; }
function relPosY(elem) { var pos = elem.offsetTop; while (elem.offsetParent != null) { elem = elem.offsetParent; pos += elem.offsetTop; if (elem.tagName == 'DIV') break; } return pos; }

