function loadSynchPage(linkID) 
{
	var folderObj;

	docObj = parent.treeframe.findObj(linkID);
	docObj.forceOpeningOfAncestorFolders();
	parent.treeframe.clickOnLink(linkID,docObj.link,'main'); 

	if (typeof parent.treeframe.document.body != "undefined")
        	parent.treeframe.document.body.scrollTop=docObj.navObj.offsetTop
} 

function openWindow(Path) 
{
	var Width=550;
	var Height=500;

	window.open(Path,"","height=" + Height + ",width=" + Width + ",toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,left=200,top=50,resizable=1");
}

function inserttags(left, right)
{
	var flagClose=0;

	if(window.opener)
	{
		if((window.opener.document.selection))
		{
			window.opener.document.forms[0].links.focus();
			window.opener.document.forms[0].document.selection.createRange().text = left+window.opener.document.forms[0].document.selection.createRange().text+right;
		}
		else
		{
			window.opener.document.forms[0].links.value += left+right;
		}

		flagClose=1;
	}
	else
	{
		if((document.selection))
		{
			document.forms[0].text.focus();
			document.forms[0].document.selection.createRange().text = left+document.forms[0].document.selection.createRange().text+right;
		}
		else
		{
			window.opener.document.forms[0].text.value += left+right;
		}
	}

	if(flagClose==1)
	{
		window.close();
	}
}

function insertObj(obj)
{
	var Form="";
	var flagClose=0;

	if(window.opener)
	{
		Form=window.opener.document;
		flagClose=1;
	}
	else
	{
		Form=document;
	}

	if((Form.selection))
	{
		Form.forms[0].text.focus();
		Form.selection.createRange().text = obj;
	}
	else
	{
		Form.forms[0].text.value += obj;
	}

	Form.forms[0].text.focus();

	if(flagClose==1)
	{
		window.close();
	}
}

function insertlist(left, right)
{
	if((document.selection))
	{
		document.forms[0].text.focus();

		var list=document.forms[0].document.selection.createRange().text.split(/\n/);

		for(var i=0; i<list.length; i++)
		{
			list[i]=list[i].replace(/[\r\n]+/g, "");
			list[i]="<LI>"+list[i]+"</LI>\n";
		}

		document.forms[0].document.selection.createRange().text = left+"\n"+list.join("")+right;
	}
	else
	{
		document.forms[0].text.value += left+right;
	}
}

function sendclose(path, obj)
{
	window.opener.document.forms[0].elements[obj].value=path;
	window.opener.focus();
	window.close();
}
 
function keywords()
{
	var str=document.forms[0].text.value;

	if(!(str.match(/^[\s\r\n]*$/)))
	{
		var Words=new Array();

		str=str.toLowerCase();
		str=str.replace(/<.+>/g, "");		
		str=str.replace(/[\.\,\-\"\'\&\*\-\+\/\\\$\#\@\%\^\!\?\~\`\[\]\)\(\{\}\=\_\:\;0-9]/g, "");
		str=str.replace(/[\r\n]/g, " ");

		Words=str.split(/\s/);

		str="";

		for(var i=0; i<Words.length; i++)
		{
			if(Words[i].length>3)
			{
				for(var j=i+1; j<Words.length; j++)
				{
					if(Words[j]==Words[i])
					{
						Words[j]="";
					}
				}

				str+=" "+Words[i];
			}
		}
	
		str=str.replace(/[\s]+/g, " ");
		document.forms[0].keywords.value=str;
	}
}

function translit(str)
{
	str=str.toLowerCase();
	str=str.replace(/щ/g, "sch");
	str=str.replace(/ч/g, "ch");
	str=str.replace(/ш/g, "sh"); 
	str=str.replace(/э/g, "ae");
	str=str.replace(/ю/g, "yu"); 
	str=str.replace(/я/g, "ya");
	str=str.replace(/ы/g, "uy");
	str=str.replace(/ь/g, "");
	str=str.replace(/ъ/g, "");
	str=str.replace(/ъ/g, "");
	str=str.replace(/й/g, "i");	
	str=str.replace(/ж/g, "j");
	str=str.replace(/а/g, "a");
	str=str.replace(/б/g, "b");
	str=str.replace(/в/g, "v");
	str=str.replace(/г/g, "g");
	str=str.replace(/д/g, "d");
	str=str.replace(/е/g, "e");
	str=str.replace(/з/g, "z");
	str=str.replace(/и/g, "i");
	str=str.replace(/к/g, "k");
	str=str.replace(/л/g, "l");
	str=str.replace(/м/g, "m");
	str=str.replace(/н/g, "n");
	str=str.replace(/о/g, "o");
	str=str.replace(/п/g, "p");
	str=str.replace(/р/g, "r");
	str=str.replace(/с/g, "s");
	str=str.replace(/т/g, "t");
	str=str.replace(/у/g, "u");
	str=str.replace(/ф/g, "f");
	str=str.replace(/х/g, "h");
	str=str.replace(/ц/g, "c");
	str=str.replace(/[\s]+/g, "_");
	str=str.replace(/[^a-zA-Z0-9_]+/g, "");

	return str;
}

function insertmethod(path)
{
	if((window.opener.document.selection))
	{
		window.opener.document.forms[0].text.focus();
		window.opener.document.forms[0].document.selection.createRange().text = window.opener.document.forms[0].document.selection.createRange().text+'METHOD{'+path+'}';
	}
	else
	{                                       
		window.opener.document.forms[0].text.value+='METHOD{'+path+'}';
	}

	window.close();
}

function mark(n, right)
{
	if(document.all("obj"+parent.id))
		document.all("obj"+parent.id).style.color='black';

	if(parent.id!=n || parent.check==0 || right==1)
	{
		document.all("obj"+n).style.color='red';
		parent.id=n;
		parent.check=1;
	}
	else
	{
		parent.id=0;
		parent.check=0;
	}
}

function markcut()
{
	if(document.all("obj"+parent.id))
		document.all("obj"+parent.id).style.color='lightgrey';
}

function markImage(n, size)
{
	if(document.all("obj"+parent.id))
		document.all("obj"+parent.id).style.color='black';

	if(parent.id!=n)
	{
		document.all("obj"+n).style.color='red';
		parent.id=n;
		parent.check=1;
		parent.imgsize=size;
	}
	else
	{
		parent.id=0;
		parent.check=0;
		parent.imgsize=0;
	}
}

function move(where)
{
	if(parent.check==1)
	{
		var step=1;

		if(where==2)
		{
			step=-1;
		}

		if(document.all("obj"+(parent.id-step)))
		{
			var temp=document.all("obj"+parent.id).innerHTML;
			document.all("obj"+parent.id).innerHTML=document.all("obj"+(parent.id-step)).innerHTML;
			document.all("obj"+(parent.id-step)).innerHTML=temp;

			temp=ids[parent.id];
			ids[parent.id]=ids[parent.id-step];
			ids[parent.id-step]=temp;

			mark(parent.id-step);
		}

		parent.change=1;
	}
	else
	{
		alert("Ошибка! Выберите объект для удаления");
	}
}

function mdelete()
{
	if(parent.check>0)
	{
		if(ids[parent.id]>0)
		{
			var fullPath=document.URL.split("?");
			document.location.href=fullPath[0]+"?action=save&type=2&id="+ids[parent.id];
		}
		else
		{
			alert("Выберите объект для удаления");
		}
	}
	else
	{
		alert("Выберите объект для удаления");
	}
}

function edit(path)
{
	if(ids[parent.id]>0) document.location.href="?action=form&id="+ids[parent.id];
	else alert("Выберите объект для редактирования");
}

function deleteimage()
{
	if(parent.check>0)
	{
		if(ids[parent.id]>0)
		{
			document.location.href='files.pl?action=save&type=3&id='+ids[parent.id]+'&size='+parent.imgsize+'&pid='+document.forms[0].pid.value;
		}
		else
		{
			alert("Выберите объект для удаления");
		}
	}
	else
	{
		alert("Выберите объект для удаления");
	}
}

function redirect(url)
{
	if(parent.change==1)
	{
		for(var i=0; i<ids.length; i++)
			document.forms[0].elements[i].value=ids[i];

		var fullPath=document.URL.split("?");

		if(url==1)
		{
			url=fullPath[0]+"?action=save&type=2&id="+ids[parent.id];
		}
		else if(url==2)
		{
			url=fullPath[0]+"?action=form&id="+ids[parent.id];
		}
		else
		{
			document.forms[0].action.value="savepos";
		}

		document.forms[0].link.value=url;
		document.forms[0].submit();
	}
	else
	{
		if(url==1)
		{
			mdelete();
		}
		else if(url==2)
		{
			edit("","");
		}
		else
		{
			document.location.href=url;
		}
	}
}

function menuunselect()
{
	for(var i=0; i<document.forms[0].elements.length; i++)
	{
		if(document.all("obj"+i))
		{
			document.all("obj"+i).unselectable = "on";
			document.all("name"+i).unselectable = "on";
		}
	}
}

function createName()
{
	var j=0;
	var count=0;
	var name="";

	for(var i=0; i<document.forms[0].elements.length; i++)
	{
		var item = document.forms[0].elements[i];

		if (item.name == "num")
		{
			if(item.checked)
			{
				if(name!="")
				{
					name=name+" + "
				}

				name=name+document.all("name"+item.value).innerHTML;
				count++;
			}

			j++;
		}
	}

	if(count>0)
	{
		document.forms[0].title.value=count+" - "+name;
	}
	else
	{
		document.forms[0].title.value="";
	}
}

function markmenu(n)
{
	if(document.all("obj"+parent.id))
		document.all("obj"+parent.id).style.color='black';
	document.all("obj"+n).style.color='red';
	parent.id=n;
	parent.check=1;
}

function SetCheck(n, level)
{
	if(nobj[level]==null)
	{
		nobj[level]=0;
	}

	if(document.forms[0].elements[n-1].checked)
	{
		document.forms[0].elements[n-1].checked=false;
		nobj[level]=nobj[level]-1;

		if(nobj[level]==0)
			document.forms[0].submit();
	}
	else
	{
		document.forms[0].elements[n-1].checked=true;
		nobj[level]=nobj[level]+1;

		if(nobj[level]==1)
			document.forms[0].submit();
	}
}

function Dialog(path, width, height)
{
	var Win=window.open(path, "Window", "height=" + height + ", width=" + width + ",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,left=200,top=50,resizable=0");
}

function ApplyFormat(obj, param)
{
	if(obj=="createlink")
	{
		if(param==null)
			Dialog("/popup/vlink.htm", 375, 146);
		else
			document.execCommand("createlink", false, param);
	}
	else if(obj=="forecolor")
	{
		if(param==null)
		{
			document.forms[0].mcolor.value=1;
			Dialog("/popup/color.htm", 290, 150);
		}
		else
		{
			document.execCommand("forecolor", false, param);
		}
	}
	else if(obj=="backcolor")
	{
		if(param==null)
		{
			document.forms[0].mcolor.value=2;
			Dialog("/popup/color.htm", 290, 150);
		}
		else
		{
			document.execCommand("backcolor", false, param);
		}
	}
	else
	{
		document.execCommand(obj);
		if(document.vtext) vtext.focus();
	}
}

function toOtherMode(m)
{
	if(m<=1)
	{
		if(document.forms[0].mode.value==2)
		{
			document.forms[0].text.value=document.all("vtext").innerHTML;
			document.all("vtext").innerHTML="";
		}

		if(m<=1)
		{
			document.all("visualedit").style.visibility="hidden";
			document.all("htmledit").style.visibility="visible";
		}
	}
	else if(m==2)
	{
		if(document.forms[0].mode.value<2)
		{
			document.all("vtext").innerHTML=document.forms[0].text.value;
			document.forms[0].text.value="";
		}

		document.all("visualedit").style.visibility="visible";
		document.all("htmledit").style.visibility="hidden";
	}

	if(m==3)
	{
		if(document.forms[0].mode.value==2)
			document.forms[0].text.value=document.all("vtext").innerHTML;
	}
	else
	{
		document.forms[0].mode.value=m;
	}
}

function fromPrice(pid, name)
{
	var obj=document.forms[0];

	var checked=0;
	var allNum=0;
	var Query="";

	for(var i=0; i<obj.elements.length; i++)
	{
		if(obj.elements[i].name=="num")
		{
			if(obj.elements[i].checked==true)
			{
				if(Query!="")
					Query+=":";
				Query+="n="+obj.elements[i].value;

				checked++;
			}

			allNum++;
		}
	}

	if(checked==allNum)
		Query="pid="+pid;

	window.opener.inserttags('', 'METHOD{'+name+':'+Query+'}');
	window.opener.document.forms[0].text.focus();
	window.close();
}

function mmenu(n, hide)
{
	if(ids[n]>0)
	{
		if(hide==0)
		{
			if(document.all('obj'+n).style.visibility=='hidden')
			{
				document.all('obj'+n).style.visibility='visible';
				document.all('obj'+n).style.top=h[n];
			}
		}
		else
		{
			document.all('obj'+n).style.visibility='hidden';
		}
	}
}

function doInit()
{
	for (i=0; i<document.all.length; i++)
		document.all(i).unselectable = "on";
}

function DeleteConfirm()
{
	if(confirm("Вы действительно хотите удалить?      ")) return true;
	else return false;
}

function Delete()
{
	if(DeleteConfirm())
	{
		document.forms[0].type.value='2';
		document.forms[0].submit();
	}
}

function sFiles(simg)
{
	var bound="--###--";

	if(window.opener)
	{
		if(window.opener.document.forms[0].image)
		{
			window.opener.document.forms[0].image.value=simg;
			window.opener.parent.frames['temp'].document.location.href='/cgi-bin/files.pl?action=thumbal&file='+simg;
			window.opener.document.forms[0].type.value='6';
			window.opener.document.forms[0].submit();
			window.close();
		}
		else
		{
			window.opener.inserttags('','<IMG SRC="'+simg+'">');
			window.opener.focus();
			window.close();
		}
	}
	else
	{
		openWindow("/files/"+simg);
	}
}

function linecheck(id)
{
	var realcolor="white";

	if(document.forms[0].elements("d"+id).checked)
	{
		realcolor="red";
	}
	else 
	{
		if(document.forms[0].elements("h"+id).checked)
			realcolor="lightgrey";
	}

	document.all("obj"+id).style.background=realcolor;	
}

function priceconf(id)
{
	if(document.all("ph"+id).style.display=="block")
		document.all("ph"+id).style.display="none";
	else
		document.all("ph"+id).style.display="block";
}

function pricetree(pid, str)
{
	if(window.opener)
	{
		window.opener.document.forms[0].dpid.value=pid;
		window.opener.document.forms[0].path.value=str;
	}

	window.close();
}

function pEdit()
{
	var path="";

	if(parent.price==0) path="/cgi-bin/price.pl?action=cform&id="+ids[parent.id];
	else path="/cgi-bin/price.pl?action=foredit&id="+ids[parent.id];

	document.location.href=path;
}

function pMark(n, oprice)
{
	if(document.all("obj"+parent.id))
		document.all("obj"+parent.id).style.color='black';

	if(parent.id!=n || parent.check==0)
	{
		document.all("obj"+n).style.color='red';
		parent.id=n;
		parent.check=1;
		parent.price=oprice;
	}
	else
	{
		parent.id=0;
		parent.check=0;
		parent.price=0;
	}
}

function pLink()
{
	document.forms[0].plink.value=plink[document.forms[0].id.options[document.forms[0].id.selectedIndex].value];
}

function SelectAll()
{
	var mark="";

	if(!document.forms[0].scheck.checked) mark=false;
	else mark=true;

	for(i = 0; i < document.forms[0].elements.length; i++)
	{
		var item = document.forms[0].elements[i];

		if(item.name=="id")
		{
			item.checked = mark;
		}
	}
}

function DeleteUser()
{
	if(DeleteConfirm())
	{
		var type=2;

		if(confirm("Вы хотите удалить данные о клиенте?      ")) type=4;

		document.forms[0].type.value=type;
		document.forms[0].submit();
	}
}

function openImage(name) {
	var str=name;
	var wname=str.substring(str.indexOf("/")+2, str.indexOf("."));
	var bz="/show.php?file="+name;
	var win4 = window.open(bz, 'win4', "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,left=0,top=0,resizable=1");
}
