<!--
//
function recContainer(login, role, name/*данные для генерации записей выпадающего списка (могут быть использованы не все)*/){
	this.login=login;
	this.role=role;
	this.name=name;
	//добавляем данные здесь... и в "аргументах" (записи класса)
}

function curatorList(name, container, znum){
	this.Name=name;
	this.Container=document.getElementById(container);
	this.Znum=znum;
	this.Curator=0;
	this.List= new Array();
	this.addList=function(id, login, role, name)
	  {//добавляем новую строку в выпадающий список ///// добавляем записи
		this.List[id]=new recContainer(login, role, name); ///// добавляем записи
	  }
	this.showCurator=function()
	  {//прописываем данные текущего отв.сотрудника (curator)
		var s='<a href="#" onClick="'+this.Name+'.showList();" title="Заменить/снять ответственного">Поручен:</a> ';
		if(this.Curator<2)
		  {
			s+='<img src="images/subjects/cooworker_candidat.gif" border="0"> <b style="font-size:150%;color:#999999">?</b>';//не установленный
		  }
		else
		  {
			s+='<a href="see_one_cooworker.php?cnum='+this.Curator+'" title="Загрузить профайл текущего сотрудника"><img src="images/subjects/cooworker.gif" border="0"> '+this.List[this.Curator].login+' '+this.List[this.Curator].name/*берём "аргумент функции" (класса recContainer)*/+'</a>';//выбранный
		  }
		this.Container.innerHTML=s;
	  }
	this.showList=function()
	  {//генерируем выпадающий список
		var s='<a href="#" onClick="'+this.Name+'.showCurator();">Поручен:</a> <select name="select" onChange="'+this.Name+'.selectCurator(this.value);"><option value="0" selected="selected">-Выберите:-</option><option value="1">Никому не поручен</option>';
		for(var id in this.List)
		  {
			if(id!=this.Curator)
			{
				s+='<option value="'+id+'">'+this.List[id].login+' '+this.List[id].role+'</option>';//генерируем строку выпадающего списка
			}
		  }
		s+='</select>';
		this.Container.innerHTML=s;
	  }
	this.selectCurator=function(cnum)   {
		if (confirm('Заменить/снять ответственного?'))
		  {
			var s='set_curator.php?znum='+this.Znum+'&cnum='+cnum+'&ret='+this.Name;
			gloFlagCuratorSet=true;
			loadXMLDoc(s);
		  }
		else
		  {
			this.showCurator();
		  }
	  }
	this.setCurator=function(cnum)  	{ this.Curator=cnum;this.showCurator(); }
}

var req;//XmlHTTPRequest
function loadXMLDoc(url)
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest)
	{
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject)
	{
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req)
		{
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            //...processing statements go here...
			//alert(req.responseText);
			locReqReaction();
        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

var gloFlagMakeBill=false;
var gloFlagSendData=false;
var gloFlagSendSubject=false;
var gloFlagCuratorSet=false;

var direct='';

function setFlagProblem(znum){
	direct='problem';
	loadXMLDoc('set_zakaz_flag_problem.php?znum='+znum);
}
function setFlagStar(znum){
	direct='star';
	loadXMLDoc('set_zakaz_flag_star.php?znum='+znum);
}

function locReqReaction(){
	
	if(gloFlagCuratorSet){
		//выставить нового куратора
		var s=req.responseText;
		eval(s);
		gloFlagCuratorSet=false;
	}
	if(gloFlagMakeBill){
		gloFlagMakeBill=false;
		//перегрузить страницу
		self.location.reload();
	}
	if(gloFlagSendData){
		gloFlagSendData=false;
		document.getElementById('showMess').style.display='none';
	}
	if(gloFlagSendSubject){
		gloFlagSendSubject=false;
		document.getElementById('showMess').style.display='none';
	}
	
	if(direct){
		eval(req.responseText);
		if(direct=='problem' || direct=='star'){
			var objpr=document.getElementById('FlagProblem_'+znum);
			var objst=document.getElementById('FlagStar_'+znum);
		}
		if(direct=='problem'){//если кликаем по отметке проблемности
			if(flag_problem=='Y'){//если ставим заказу пометку проблемности
				objpr.src='images/pyctos/exclaime.gif';
				objst.src='images/pyctos/star_gray.gif';
			}else{
				objpr.src='images/pyctos/exclaime_gray.gif';
			}
		}
		if(direct=='star'){//если помечаем заказ звёздочкой
			if(flag_star=='Y'){//если помечаем заказ звёздочкой
				objst.src='images/pyctos/star.gif';
				objpr.src='images/pyctos/exclaime_gray.gif';
			}else{
				objst.src='images/pyctos/star_gray.gif';
			}
		}
	}
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_scanStyles(obj, prop) { //v8.0
  var inlineStyle = null; var ccProp = prop; var dash = ccProp.indexOf("-");
  while (dash != -1){ccProp = ccProp.substring(0, dash) + ccProp.substring(dash+1,dash+2).toUpperCase() + ccProp.substring(dash+2); dash = ccProp.indexOf("-");}
  inlineStyle = eval("obj.style." + ccProp);
  if(inlineStyle) return inlineStyle;
  var ss = document.styleSheets;
  for (var x = 0; x < ss.length; x++) { var rules = ss[x].cssRules;
	for (var y = 0; y < rules.length; y++) { var z = rules[y].style;
	  if(z[prop] && (rules[y].selectorText == '*[ID"' + obj.id + '"]')) {
        return z[prop];
  }  }  }  return "";
}

function MM_getProp(obj, prop) { //v8.0
  if (!obj) return ("");
  if (prop == "L") return obj.offsetLeft;
  else if (prop == "T") return obj.offsetTop;
  else if (prop == "W") return obj.offsetWidth;
  else if (prop == "H") return obj.offsetHeight;
  else {
    if (typeof(window.getComputedStyle) == "undefined") {
	    if (typeof(obj.currentStyle) == "undefined"){
		    if (prop == "P") return MM_scanStyles(obj,"position");
        else if (prop == "Z") return MM_scanStyles(obj,"z-index");
        else if (prop == "V") return MM_scanStyles(obj,"visibility");
	    } else {
	      if (prop == "P") return obj.currentStyle.position;
        else if (prop == "Z") return obj.currentStyle.zIndex;
        else if (prop == "V") return obj.currentStyle.visibility;
	    }
    } else {
	    if (prop == "P") return window.getComputedStyle(obj,null).getPropertyValue("position");
      else if (prop == "Z") return window.getComputedStyle(obj,null).getPropertyValue("z-index");
      else if (prop == "V") return window.getComputedStyle(obj,null).getPropertyValue("visibility");
    }
  }
}

function MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v8.0
  //Copyright 2005 Macromedia, Inc. All rights reserved.
  var i,j,aLayer,retVal,curDrag=null,curLeft,curTop,IE=document.all,NS4=document.layers;
  var NS6=(!IE&&document.getElementById), NS=(NS4||NS6); if (!IE && !NS) return false;
  retVal = true; if(IE && event) event.returnValue = true;
  if (MM_dragLayer.arguments.length > 1) {
    curDrag = MM_findObj(objName); if (!curDrag) return false;
    if (!document.allLayers) { document.allLayers = new Array();
      with (document) if (NS4) { for (i=0; i<layers.length; i++) allLayers[i]=layers[i];
        for (i=0; i<allLayers.length; i++) if (allLayers[i].document && allLayers[i].document.layers)
          with (allLayers[i].document) for (j=0; j<layers.length; j++) allLayers[allLayers.length]=layers[j];
      } else {
        if (NS6) { var spns = getElementsByTagName("span"); var all = getElementsByTagName("div"); 
          for (i=0;i<spns.length;i++) if (MM_getProp(spns[i],'P')) allLayers[allLayers.length]=spns[i];}
        for (i=0;i<all.length;i++) {
	  if (NS4){if (all[i].style&&all[i].style.position) allLayers[allLayers.length]=all[i];}
          else if (MM_getProp(all[i],'P')) allLayers[allLayers.length]=all[i]; 
        }
    } }
    curDrag.MM_dragOk=true; curDrag.MM_targL=targL; curDrag.MM_targT=targT;
    curDrag.MM_tol=Math.pow(tol,2); curDrag.MM_hLeft=hL; curDrag.MM_hTop=hT;
    curDrag.MM_hWidth=hW; curDrag.MM_hHeight=hH; curDrag.MM_toFront=toFront;
    curDrag.MM_dropBack=dropBack; curDrag.MM_dropJS=dropJS;
    curDrag.MM_everyTime=et; curDrag.MM_dragJS=dragJS;
  
    curDrag.MM_oldZ = (NS4)?curDrag.zIndex:MM_getProp(curDrag,'Z');
    curLeft= (NS4)?curDrag.left:MM_getProp(curDrag,'L');
    if (String(curLeft)=="NaN") curLeft=0; curDrag.MM_startL = curLeft;
    curTop = (NS4)?curDrag.top:MM_getProp(curDrag,'T');
    if (String(curTop)=="NaN") curTop=0; curDrag.MM_startT = curTop;
    curDrag.MM_bL=(cL<0)?null:curLeft-cL; curDrag.MM_bT=(cU<0)?null:curTop-cU;
    curDrag.MM_bR=(cR<0)?null:curLeft+cR; curDrag.MM_bB=(cD<0)?null:curTop+cD;
    curDrag.MM_LEFTRIGHT=0; curDrag.MM_UPDOWN=0; curDrag.MM_SNAPPED=false; //use in your JS!
    document.onmousedown = MM_dragLayer; document.onmouseup = MM_dragLayer;
    if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  } else {
    var theEvent = ((NS)?objName.type:event.type);
    if (theEvent == 'mousedown') {
      var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
      var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
      var maxDragZ=null; document.MM_maxZ = 0;
      for (i=0; i<document.allLayers.length; i++) { aLayer = document.allLayers[i];
        var aLayerZ = (NS4)?aLayer.zIndex:MM_getProp(aLayer,'Z');
        if (aLayerZ > document.MM_maxZ) document.MM_maxZ = aLayerZ;
        var isVisible = ((NS4)?aLayer.visibility:MM_getProp(aLayer,'V')).indexOf('hid') == -1;
        if (aLayer.MM_dragOk != null && isVisible) with (aLayer) {
          var parentL=0; var parentT=0;
          if (NS6) { parentLayer = aLayer.parentNode;
            while (parentLayer != null && parentLayer != document && MM_getProp(parentLayer,'P')) {
              parentL += parseInt(MM_getProp(parentLayer,'L')); parentT += parseInt(MM_getProp(parentLayer,'T'));
              parentLayer = parentLayer.parentNode;
              if (parentLayer==document) parentLayer = null;
          } } else if (IE) { parentLayer = aLayer.parentElement;       
            while (parentLayer != null && MM_getProp(parentLayer,'P')) {
              parentL += MM_getProp(parentLayer,'L'); parentT += MM_getProp(parentLayer,'T');
              parentLayer = parentLayer.parentElement; } }
          var tmpX=mouseX-((NS4)?pageX:(MM_getProp(aLayer,'L'))+parentL+MM_hLeft);
          var tmpY=mouseY-((NS4)?pageY:(MM_getProp(aLayer,'T'))+parentT+MM_hTop);
          if (String(tmpX)=="NaN") tmpX=0; if (String(tmpY)=="NaN") tmpY=0;
          var tmpW = MM_hWidth;  if (tmpW <= 0) tmpW += (NS4)?clip.width:MM_getProp(aLayer,'W');
          var tmpH = MM_hHeight; if (tmpH <= 0) tmpH += (NS4)?clip.height:MM_getProp(aLayer,'H');
          if ((0 <= tmpX && tmpX < tmpW && 0 <= tmpY && tmpY < tmpH) && (maxDragZ == null
              || maxDragZ <= aLayerZ)) { curDrag = aLayer; maxDragZ = aLayerZ; } } }
      if (curDrag) {
        document.onmousemove = MM_dragLayer; if (NS4) document.captureEvents(Event.MOUSEMOVE);
        curLeft = (NS4)?curDrag.left:MM_getProp(curDrag,'L');
        curTop = (NS4)?curDrag.top:MM_getProp(curDrag,'T');
        if (String(curLeft)=="NaN") curLeft=0; if (String(curTop)=="NaN") curTop=0;
        MM_oldX = mouseX - curLeft; MM_oldY = mouseY - curTop;
        document.MM_curDrag = curDrag;  curDrag.MM_SNAPPED=false;
        if(curDrag.MM_toFront) {
          var newZ = parseInt(document.MM_maxZ)+1;
          eval('curDrag.'+((NS4)?'':'style.')+'zIndex=newZ');
          if (!curDrag.MM_dropBack) document.MM_maxZ++; }
        retVal = false; if(!NS4&&!NS6) event.returnValue = false;
    } } else if (theEvent == 'mousemove') {
      if (document.MM_curDrag) with (document.MM_curDrag) {
        var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
        var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
        var newLeft = mouseX-MM_oldX; var newTop  = mouseY-MM_oldY;
        if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL);
        if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR);
        if (MM_bT!=null) newTop  = Math.max(newTop ,MM_bT);
        if (MM_bB!=null) newTop  = Math.min(newTop ,MM_bB);
        MM_LEFTRIGHT = newLeft-MM_startL; MM_UPDOWN = newTop-MM_startT;
        if (NS4) {left = newLeft; top = newTop;}
        else if (NS6){style.left = newLeft + "px"; style.top = newTop + "px";}
        else {style.pixelLeft = newLeft; style.pixelTop = newTop;}
        if (MM_dragJS) eval(MM_dragJS);
        retVal = false; if(!NS) event.returnValue = false;
    } } else if (theEvent == 'mouseup') {
      document.onmousemove = null;
      if (NS) document.releaseEvents(Event.MOUSEMOVE);
      if (NS) document.captureEvents(Event.MOUSEDOWN); //for mac NS
      if (document.MM_curDrag) with (document.MM_curDrag) {
        if (typeof MM_targL =='number' && typeof MM_targT == 'number' &&
            (Math.pow(MM_targL-((NS4)?left:MM_getProp(document.MM_curDrag,'L')),2)+
             Math.pow(MM_targT-((NS4)?top:MM_getProp(document.MM_curDrag,'T')),2))<=MM_tol) {
          if (NS4) {left = MM_targL; top = MM_targT;}
          else if (NS6) {style.left = MM_targL + "px"; style.top = MM_targT + "px";}
          else {style.pixelLeft = MM_targL; style.pixelTop = MM_targT;}
          MM_SNAPPED = true; MM_LEFTRIGHT = MM_startL-MM_targL; MM_UPDOWN = MM_startT-MM_targT; }
        if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS);
        if(MM_dropBack) {if (NS4) zIndex = MM_oldZ; else style.zIndex = MM_oldZ;}
        retVal = false; if(!NS) event.returnValue = false; }
      document.MM_curDrag = null;
    }
    if (NS) document.routeEvent(objName);
  } return retVal;
}

function  myLayers(name,view,marg) {
var layerDef=document.getElementById(name);
if (view=='visible') layerDef.style.position='relative';
else {layerDef.style.position='absolute'}
layerDef.style.visibility=view;
}

function makeTopTitle () {//заменяем заголовок верхнего фрейма на заголовок текущего документа
if (window.top.topFrame.document.getElementById('pageHeader')) window.top.topFrame.document.title=document.title;	
}

function tuchButton (myObj, myStat)	{
//alert (myStat);
//if (myStat==1) myObj.id='butOver';
//else {myObj.id=''};
(myStat==1)? myObj.id='butOver':myObj.id=''
} 
function minCost ()	 {
var mf=document.form1;
	if (mf.nickname.value=="")  {alert ('Вы не указали своё имя!');	mf.nickname.focus(); return false;}
	if (mf.mytown.value=="")  {alert ('Вы не указали город своего проживания!'); mf.mytown.focus(); return false;}
	if (mf.uch_zav.options[mf.uch_zav.selectedIndex].value==0)  {alert ('Вы не указали тип своего учебного заведения!');	mf.uch_zav.focus(); return false;}
	if (mf.almamater.value=="Введите здесь полное название Вашего учебного заведения.")  {alert ('Вы не указали название своего учебного заведения!'); mf.almamater.focus(); return false;}
	if (mf.fuck.value=="")  {alert ('Вы не указали свой факультет!');	mf.fuck.focus(); return false;}
	if (mf.course.options[mf.course.selectedIndex].value==0)  {alert ('Вы не указали свой курс или класс!');	mf.course.focus(); return false;}
	if (mf.predmet.options[mf.predmet.selectedIndex].value==0)  {alert ('Вы не выбрали предмет Вашей работы из списка\nи не указали никакой другой!');	mf.predmet.focus(); return false;}
	if (mf.type_work.options[mf.type_work.selectedIndex].value==0)  {alert ('Вы не указали тип Вашей работы');	mf.type_work.focus(); return false;}
	if (mf.subject.value=="")  {alert ('Вы не указали тему Вашей работы!'); mf.subject.focus(); return false;}
	if (mf.num_page.value=="")  {alert ('Вы не указали минимальное количество страниц!'); mf.num_page.focus(); return false;}
	if (mf.num_page2.value=="")  {alert ('Вы не указали максимальное количество страниц!'); mf.num_page2.focus();	return false;}
	if (mf.money_trans.options[mf.money_trans.selectedIndex].value=="никакой")  {alert ('Вы не указали предпочитаемый способ оплаты!');	mf.money_trans.focus();	return false;}
		if (isNaN(parseInt(mf.usercost.value))==true) {alert ('Вы не указали приемлемую для вас стоимость\nработы или указали её не корректно!'); mf.usercost.select(); return false;}
	if (mf.how_known.options[mf.how_known.selectedIndex].value==0)  {alert ('Вы не выбрали источник информации о наших услугах!'); mf.how_known.focus(); return false;}
	if (mf.how_known.options[mf.how_known.selectedIndex].value=="Другое"&&mf.known_another.value=="")  {alert ('Вы не сообщили, откуда Вы узнали о наших услугах!\nЗаполните ячейку "другое", пожалуйста!');	mf.known_another.focus(); return false;}
	if (mf.agree.checked==false) {alert ('Вы не согласились с условиями нашего пользовательского соглашения!'); location.href='#agrm';return false;}
	if (mf.capche.value=="")  {alert ('Вы не ввели число в ячейку!');	mf.capche.focus(); return false;}
	
	else {return emailCheck(mf.myemail.value, mf.myemail);}
}


function goProfileCell(celVal/*id ячейки*/)	{//загружаем профайл заказа 
if (!document.getElementById('checkbox').checked&&window.top.mainContent) window.top.mainContent.location='profile.php?znum='+document.getElementById(celVal).value; 
//если чекбокс не отмечен, загружаем профайл заказа в фрейме mainFrame;
else window.open('access_panel.php?profile='+document.getElementById(celVal).value);
//если отмечен, грузим новое окно верхнего уровня и передаём в него переменную для определения адреса основоного фрейма mainContent
}

function goProfileList (optVal/*выбранное значение списка*/)	{//загружаем профайл заказа
if (!document.getElementById('checkbox').checked&&window.top.mainContent) window.top.mainContent.location='profile.php?znum='+optVal; 
//если чекбокс не отмечен, загружаем профайл заказа в фрейме mainFrame;
else window.open('access_panel.php?profile='+optVal);
//если отмечен, грузим новое окно верхнего уровня и передаём в него переменную для определения адреса основоного фрейма mainContent
}
if (window.top.mainContent) window.top.document.title=window.top.mainContent.document.title;

function switchTabsDisplay (getObj/*объект-источник события (ссылка/кнопка)*/,dObjs/*идентификатор активного массива*/,insTab,insName)	{//переключатель видимости блоков/оформления ссылок ("вкладок")
var getDisplayObj;//идентификатор объекта - блока для отображения/скрытия
(insTab)? getDisplayObj=getObj:getDisplayObj=getObj.id;//если есть переключатель, в функцию передаётся id объекта (блока для отображения/скрытия), в противном случае -- сам объект, а его id будет дописываться
(!insName)? targObj=document:targObj=window.frames[insName].document;//если iframe нет, целевыми объектами становятся те, которые находятся на стр., откуда вызывается функция, иначе -- находящиеся во фрейме
for (i=0;i<dObjs.length;i++)	
	{ targObj.getElementById('d_'+dObjs[i]).style.display='none';//прячем все блоки
	  document.getElementById(dObjs[i]).className='';//убираем атрибуты оформления со всех ссылок ("вкладок")
	}
  targObj.getElementById('d_'+getDisplayObj).style.display='block';//отображаем активный блок
  document.getElementById(getDisplayObj).className='linkHidden';//возвращаем атрибут оформления активной ссылке
}

function switchTBlocksDisplay (eventObj/*объект-источник события (ссылка/кнопка)*/,arrName/*идентификатор активного массива*/,iframeSubName/*страница згрузки iFrame*/,subBlock)	{//подгружажет страницы в iFrames и переключает их видимость
d=document;
for (i=0;i<arrName.length;i++) //длина массива=количество блоков=колич.кнопок
	{ var allFrames=document.getElementById('inserted_'+arrName[i]);
		if (allFrames) //если iFrame существует (подстрока берётся из массива блоков, поэтому возможны несовпадения)
		{ allFrames.parentNode.parentNode.style.display='none';//прячем строки (TR) со всеми iFrames
			if (subBlock&&window.frames['inserted_'+arrName[i]].document.getElementById(subBlock)) /*//Прим.: если внутри iFrame будет больше, чем 1 блок для переключения видимости, вместо subBlock для их идентификации нужно будет создавать и использовать соответствующий массив*/	{ window.frames['inserted_'+arrName[i]].document.getElementById(subBlock).style.display='none'; //если в iFrame существует блок(, который нужно спрятать), прячем его
			}
		}
	  d.getElementById(arrName[i]).className='';//убираем атрибуты оформления со всех ссылок ("вкладок")
	}
 d.getElementById('inserted_'+iframeSubName).parentNode.parentNode.style.display='block';//отображаем активный iFrame 
 d.getElementById(eventObj.id).className='linkHidden';//возвращаем атрибут оформления активной ссылке
 var iFrame=window.frames['inserted_'+iframeSubName];//целевой iFrame
 if (subBlock) iFrame.document.getElementById('d_'+eventObj.id).style.display='block';//отображаем нужный блок в активном фрейме
 if (iFrame.location.href.indexOf('empty.htm')!=-1) iFrame.location='profile_'+iframeSubName+'.php?pg='+eventObj.id+'&znum='+znum; //если в iFrame находится стартовая (пустая) страница, подгружаем в него целевую стр.
}

function switchDisplay (objID,displayType,picEye)	{
if (document.getElementById(objID).style.display=='block') {
	document.getElementById(objID).style.display='none';
	document.images[picEye].src='images/pyctos/eye_shut.gif';
	}
else	{
	document.getElementById(objID).style.display=displayType;
	document.images[picEye].src='images/eye.gif';	
	}
}

function  changesRequest()	{
if (!confirm('Подтвердить изменения?')) return false;	
}

function markSort(objID) {//помечаем заголовки пересортировки столбцов; массив sorts создаётся непосредственно на странице с заголовками
for (i=0;i<sorts.length;i++)	{
document.getElementById(sorts[i]).className=' '; //стиль текста ссылки заголовка активного столбца
document.getElementById('td_'+sorts[i]).className=' '; //стиль ячейки заголовка столбца
	}
document.getElementById(objID).className='green';
document.getElementById('td_'+objID).className='activeSort';
}

function setColor(row)	{
if (row.className.indexOf('setColorRowGo')==-1) row.style.backgroundColor='#d7eaff';
}
function setColorBack(row)	{
if (row.style.backgroundColor=='#d7eaff') {row.style.backgroundColor='';}
}

function setColorDiv(row)	{
//if (event.srcElement.tagName=='DIV') var actDiv=event.srcElement.id;
//if (event.srcElement.tagName=='input'&&typeof(event.srcElement.chMaker)=='undefined') var actCell=event.srcElement.id;
//if (row.className.indexOf('setColorRowGo')==-1) row.style.backgroundColor='#d7eaff';
}

function setColorDivBack(row)	{
//if (row.style.backgroundColor=='#d7eaff') {row.style.backgroundColor='';}
}

function setColorClick (obj)	{//на самом деле, класс setColorRowGo не устанавливает цвет для строки, и нужен исключительно для её логической пометки, чтобы блокировать действие событий onmouseover/onmouseout
var tRow=event.srcElement.parentNode.parentNode;
if (typeof(event.srcElement.chMaker)!='undefined') 
  {//если у источника события есть атрибут "chMaker"
	if (event.srcElement.checked==true) {tRow.className="setColorRowGo";tRow.style.backgroundColor='#AEC7DD';}
	else {tRow.className="setColorRowBack";tRow.style.backgroundColor='';}
  }
}
colorCell="#DFE4FF";
function setDivsColor () {//помечаем "ячейки строк" с данными
if (typeof(event.srcElement.chMaker)!='undefined') //если у источника события есть атрибут "chMaker"
  {  for (i=0;i<allColsNames.length;i++)	
	   {  //перебираем массив с именами помечаемых "ячеек строки", включая текстовые ячейки (все, кроме первого (с самим чекбоксом))
		  var tCell=document.getElementById(allColsNames[i]+event.srcElement.value);//целевая ячейка
		  if (event.srcElement.checked==true) 
		    {  event.srcElement.parentNode.style.backgroundColor=colorCell;
			   tCell.style.backgroundColor=colorCell;//цвет выделения
			   //if (!tCell.className||tCell.className=="") tCell.className="sel";
			   //else if (tCell.className!='container') tCell.className+=" sel";
		     }
		 else 
		     {  event.srcElement.parentNode.style.backgroundColor='';
		        tCell.style.backgroundColor='';//цвет выделения
		     	//tCell.innerHTML+='<br>'+tCell.className;  
		     	//if (tCell.className=="sel") tCell.className="";
		     	//else if (tCell.className!='container') tCell.className=tCell.className.substring(0,tCell.className.lastIndexOf(' '));
		     }
	    }
  }
}	

function checkAllBoxes (formName,checker/*форма, чекбокс для массовой отметки чекбоксов*/)  {//отмечаем чекбоксы всех строк таблицы //класс setColorRowGo не устанавливает цвет для строки, и нужен исключительно для её логической пометки, чтобы блокировать действие событий onmouseover/onmouseout
  for (i=0;i<(document.forms[formName].length);i++)	//величина счётчика -- длина элементов формы
	{ var tRow=document.forms[formName].elements[i].parentNode.parentNode; //целевые строки
	  var allBoxes=document.forms[formName].elements[i]; //элемент "массива" чекбоксов	
	  if  (checker.checked==true) //если чекбокс для массовой отметки отмечен
		{ if (typeof(document.forms[formName].elements[i].chMaker)!='undefined') //если у источника события есть атрибут "chMaker"
		  	{ tRow.className="setColorRowGo";
			  tRow.style.backgroundColor='#AEC7DD';
			  allBoxes.checked=true; } 
		}
	  else 
		{ if (typeof(document.forms[formName].elements[i].chMaker)!='undefined') 
		    { tRow.className="setColorRowBack";
		  	  tRow.style.backgroundColor='';
			  allBoxes.checked=false; }
		}
	}
}

function checkAllBoxesDivs (form,checker/*форма, чекбокс для массовой отметки чекбоксов*/,divs)	{//отмечаем чекбоксы всех строк (каждая ячейка находится внутри контейнера 'DIV')
	var cBoxes=new Array;
	var bCount=0;//счётчик массива чекбоксов
	for (i=0;i<divs.document.getElementsByTagName('input').length;i++) 
		{ if (divs.document.getElementsByTagName('input').item(i).type=='checkbox') 
			{ cBoxes[bCount]=divs.document.getElementsByTagName('input').item(i);//получаем массив чекбоксов для отметки
			  for (ii=0;ii<divs.allColsNames.length;ii++) 
			  	{
			  	  blockDIV=divs.document.getElementById(divs.allColsNames[ii]+cBoxes[bCount].value);
				  if (checker.checked==true)
				    {
					  cBoxes[bCount].parentNode.style.backgroundColor=colorCell;
					  blockDIV.style.backgroundColor=colorCell;
				    }
				  else 
				    {
					  cBoxes[bCount].parentNode.style.backgroundColor='';
					  blockDIV.style.backgroundColor='';
				    }
				}
	  	  (checker.checked==false)? cBoxes[bCount].checked=false:cBoxes[bCount].checked=true;
		  bCount++;
			}
		}
}

function sure()	{//запрашиваем подтверждение отсылки сообщения
if (confirm('ВЫ УВЕРЕНЫ, ЧТО ХОТИТЕ СДЕЛАТЬ ЭТО???'))  
	{
	return true;
	if (window.opener) window.opener.location.reload(); 
	}
else {return false};
}

function makeInvitation (areaObj) {//сохраняем запись о доп. рассылке в заметках к заказу на стр, откуда вызывали рассылку
document.getElementById(areaObj).value+='Разослано исполнителям '+fToday;
if (confirm("Сохранить запись о дополнительной рассылке?")) setTimeout("submitMainForm()",1000);
}

function getObgTitle ()	{
if (typeof(event.srcElement.vTitle)!="undefined") event.srcElement.title=event.srcElement.value;
}

function getMouseGlobal(objName)	{//перемещаем слой (заголовок столбца) мышью
var x=event.clientX;
if (stopScreen==0) screenPos=x; //пока не нажали клавишу мыши, позиция курсора изменяется в пер. screenPos
if (event.button==1) //если нажата клавиша мыши
  {	layerPos=parseInt(objName.style.left);//текущая позиция слоя, преобразованная к типу number
	if (x<(layerPos+50)) {
	var difPos=x-screenPos; //длина перемещения курсора
		 if (layerPos>parseInt(objName.previousSibling.style.left)) {
		 objName.style.left=layerPos+difPos+'px'; //устанавливаем новую позицию слоя
		 screenPos=x; //переназначаем стартовое положение отсчёта позиции курсора мыши
		 }
		 else {objName.style.left=parseInt(objName.style.left)+20+'px';}
	}
  }
}

function getCursorArrow (edge)	{//превращаем курсор мыши в стрелку
 var obj=event.srcElement;//объект-источник события
  x=event.clientX;//позиция курсора мыши
	var coords=parseInt(edge);//number позиция слоя слева
	  (coords>(x-40)&&x>(coords+10))? obj.style.cursor='e-resize':obj.style.cursor='default';//вид курсора
}

function nullScreen(switcher)	{stopScreen=switcher;} //включаем отсчёт позиций элементов

function dragColumn (clmn)	{ /* вызов со страниц:  */
	//перемещаем заголовки столбцов
	headPosNumb=parseInt(document.getElementById(clmn).style.left)+22+'px';
	(!parent.ins)? ins.document.getElementById(clmn).style.left=headPosNumb:parent.ins.document.getElementById(clmn).style.left=parseInt(document.getElementById(clmn).style.left)+28+'px';//headPosNumbустанавливаем отступы слева для столбцов с данными (в iFrame) в позиции, соответствующие отступам слева заголовкам столбцов на родительской странице
}


function synchronizeColumns ()	{/*вызывается со страниц, содержащих столбцы данных (расположены в iFrame) */
//Синхронизация позиций заголовков столбцов и столбцов с данными
	var j;//переменная для корректировки сравнения объектов в родительском (заголовки столбцов) фрейме и дочернем (iFrame)
	j=0;
	for (i=0;i<document.getElementsByTagName('DIV').length;i++)	{//цикл продолжается, пока перебираем все объекты 'DIV' в iFrame
		if (document.getElementsByTagName('DIV').item(i).id==parent.document.getElementsByTagName('DIV').item(j).id) //если id'ы объектов совпадают...
			{								
			document.getElementsByTagName('DIV').item(i).style.left=parent.document.getElementsByTagName('DIV').item(j).style.left;//определяем позиции слоёв, содержащих данные (iFrame) по позициям заголовков столбцов родительской страницы
			document.getElementsByTagName('DIV').item(i).style.zIndex=parent.document.getElementsByTagName('DIV').item(j).style.zIndex;//определяем z-index слоёв, содержащих данные (iFrame) по позициям z-index столбцов родительской страницы
			if (parent.document.getElementsByTagName('DIV').item(j).className.indexOf('nvsbl')!=-1) document.getElementsByTagName('DIV').item(i).className='nvsbl';//если заголовки столбцов на родительской странице скрыты, скрываем соответствующие столбцы на стр. с контентом (iFrame)
			j++;//корректируем значение переменной-индекса объекта на родительской стр., по позиции которого выравниваем слой с объектами в iFrame
			}				
		}
}

function synchronizeColumnsAuthors ()	{
	for (i=0;i<document.getElementsByTagName('DIV').length;i++)	{	
		document.getElementsByTagName('DIV').item(i).style.left=parent.document.getElementsByTagName('DIV').item(i).style.left;
	}
}

function selectDelete ()	{
var	dIm=document.images[event.srcElement.id];//alert(dIm.src);
if (event.srcElement.id.indexOf('delete_passive_')!=-1) 
	{
	(dIm.src=='images/pyctos/delete_mess_passive.png')? dIm.src='images/pyctos/delete_mess.png':dIm.src='images/pyctos/delete_mess_passive.png';
	//alert(dIm.src);
	}
}

function selectZeroOption (frameName,selectName)	{//выделяем в выпадающем списке меню разделов первый пункт ("...выберите..."), т.к. загружаемая страница в этом списке не фигурирует
top[frameName].document.getElementById(selectName).selectedIndex=0;
}

function getLoading(preload,cont) {//по окончании загрузки страницы скрываем информер загрузки и показываем контент
document.getElementById(preload).style.display='none';
document.getElementById(cont).style.display='block';
}
//-->
