         var xPos = 0;
         var yPos = 0;
         var showProgress = true;
         var k=0;



         var isIE = (navigator.appName == "Microsoft Internet Explorer");
         var isFF = (!isIE && !(navigator.appVersion.indexOf("MSIE")>-1));
         var isOPR = (navigator.userAgent.indexOf("Opera")!=-1);
         if (isOPR) { isIE = false; }





         function fotoFull(file,w,h)
                {
                var infoWin = new Dialog.info({url: '/win/foto.html?file='+file, options: {method: 'get'}},
                                    {windowParameters: {className: "nashi", width:w, height:h, draggable:false, resizable: false}}
                                    );
                }


        function traffic()
                {

                        new Effect.MoveBy ('car1', 0, 680, {duration:2.0, transition: Effect.Transitions.sinoidal} )
                        new Effect.MoveBy ('car2', 0, 700, {duration:5.0, transition: Effect.Transitions.sinoidal} )
                        new Effect.MoveBy ('car3', 0, 300, {duration:3.0, transition: Effect.Transitions.reverse} )
                        new Effect.MoveBy ('car4', 0, 250, {duration:5.0, transition: Effect.Transitions.sinoidal} )

                }


        function count()
                {
                        k+=1;

                        if (k==10){ document.getElementById('nimb').style.display='block' }
                }




         if (isFF)
              {
              document.onmousedown = function(e)
                   {
                   xPos = e.pageX;
                   yPos = e.pageY;
                   }
              }
         else
              {
              document.onmousedown = function()
                   {
                   xPos = event.clientX + document.body.scrollLeft;
                   yPos = event.clientY + document.body.scrollTop;
                   }
              }


         function startProgress()
               {
               document.getElementById('cursorProgress').style.left = (xPos + 15) + 'px';
               document.getElementById('cursorProgress').style.top = (yPos + 0) + 'px';
               document.onmousemove = moveProgressImage;
               document.getElementById('cursorProgress').style.display = "block";
               }




         function moveProgressImage()
               {
               if (isFF)
                   {
                   document.onmousemove = function(e)
                       {
                       document.getElementById('cursorProgress').style.left = (e.pageX) + 15 + 'px';
                       document.getElementById('cursorProgress').style.top = (e.pageY + 0) + 'px';
                       }
                   }
               else
                   {
                   document.getElementById('cursorProgress').style.posLeft = event.clientX + document.body.scrollLeft + 15;
                   document.getElementById('cursorProgress').style.posTop = event.clientY + document.body.scrollTop + 0;
                   }
               return false;
               }

         function stopProgress()
               {
               document.getElementById('cursorProgress').style.display = "none";
               document.onmousemove = null;
               }



         function getAbsolutePos(el)
                  {
                  var r = { x: el.offsetLeft, y: el.offsetTop };
                  if (el.offsetParent)
                     {
                         var tmp = getAbsolutePos(el.offsetParent);
                         r.x += tmp.x;
                         r.y += tmp.y;
                     }
                  return r;
                  }

         function getHTTP()
               {
               var xmlhttp;
               /*@cc_on
               @if (@_jscript_version >= 5)
                   try
                        {
                        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                        }
                   catch (e)
                        {
                        try
                             {
                             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                             }
                        catch (E)
                             {
                             xmlhttp = false;
                             }
                        }
               @else
                   xmlhttp = false;
               @end @*/
               if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
                   try
                        {
                        xmlhttp = new XMLHttpRequest();
                        }
                   catch (e)
                        {
                        xmlhttp = false;
                        }
                   }
               return xmlhttp;
               }


               function lookup(lookupSettings)
                     {
                     	
                     if (!lookupSettings) lookupSettings = new Object();

                     if (!lookupSettings.values)   lookupSettings.values   = '';
                     if (!lookupSettings.dest)  lookupSettings.dest = false;
                     if (!lookupSettings.win)  lookupSettings.win = false;
                     if (!lookupSettings.silent)  lookupSettings.silent = false;
                     if (!lookupSettings.postFunction)   lookupSettings.postFunction   = '';
                     if (!lookupSettings.destMethod)   lookupSettings.destMethod = 'reset';
                     if (lookupSettings.url)
                          {
                          this.working = false;
                          if (!this.working && (this.http = getHTTP()))
                               {
                               if (!lookupSettings.silent) {
                               	if (showProgress) startProgress();
                               }
                               var http = this.http;
                               this.http.open("POST", lookupSettings.url, true);
                               this.http.onreadystatechange = function()
                                    {
                                    if (http.readyState == 4)
                                         {
                                         if (!lookupSettings.silent)
                                              {
                                              if (showProgress) stopProgress();
                                              showProgress = true;
                                              }
                                         re = /^Location: ([a-zA-Z0-9._\/-]+)/;
                                         ReLocation = re.exec(http.responseText);
                                         try
                                             {
                                             if (lookupSettings.win)
                                                 destObj = lookupSettings.win.document.getElementById(lookupSettings.dest);
                                             else
                                                 destObj = document.getElementById(lookupSettings.dest);
                                             }
                                         catch (e) { destObj = false; }
                                         if ( !ReLocation && destObj )
                                              {
                                              destObj.style.height = '';
                                              //destObj.style.display = "block";
                                              if (lookupSettings.destMethod == 'reset')
                                                   destObj.innerHTML = http.responseText;
                                              else
                                                   destObj.innerHTML += http.responseText;
                                              if (lookupSettings.postFunction) eval(lookupSettings.postFunction);
                                              }
                                         else
                                              {
                                              if ( ReLocation )
                                                   {
                                                   document.location.href = ReLocation[1];
                                                   }
                                              else
                                                   {
                                                   if (lookupSettings.postFunction) eval(lookupSettings.postFunction);
                                                   return http.responseText;
                                                   }
                                              }
                                         this.working = false;
                                         this.http = false;
                                         }
                                    }
                               this.working = true;
                               this.http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                               this.http.send(lookupSettings.values);
                               }
                          if(!this.http)
                               {
                               alert('Ошибка при создании XMLHTTP объекта. Ваш браузер не поддерживается системой!')
                               }
                          }
                     }
					 
function loadHandle(name) {
	var slice_1 = document.getElementById(name+'1');
	var sliсe_2 = document.getElementById(name+'2');
	if(slice_1) {
		slice_1.style.zIndex = '3';
	}
	if(sliсe_2) {
		sliсe_2.style.zIndex = '1';
	}
}
		function slavLookup(lookupSettings)
                     {
                     if (!lookupSettings) lookupSettings = new Object();

                     if (!lookupSettings.values)   lookupSettings.values   = '';
                     if (!lookupSettings.dest)  lookupSettings.dest = false;
                     if (!lookupSettings.win)  lookupSettings.win = false;
                     if (!lookupSettings.silent)  lookupSettings.silent = true;
                     if (!lookupSettings.postFunction)   lookupSettings.postFunction   = '';
                     if (!lookupSettings.destMethod)   lookupSettings.destMethod = 'reset';
					 if (!lookupSettings.direction)   lookupSettings.destMethod = 'right';
					 
					var slice_1 = document.getElementById(lookupSettings.dest+'1');
					var slice_2 = document.getElementById(lookupSettings.dest+'2');
					//определение активного элемента: 
					if(slice_1&&slice_2) {
					  if(slice_1.style.zIndex=='3') {
						var activeImg = slice_1;
					  }
					  else {
						var activeImg = slice_2;
					  }
				    }
					//------------------------------------
					//устанавливаем ай ди в строку для запроса 
					if(activeImg) {
						reg_id = /id=([^\&\/]*)/;
						RegId = reg_id.exec(activeImg.src);
						if(RegId) {
							lookupSettings.values = lookupSettings.values + '&current=' + RegId[1];
						}
					}
					
                     if (lookupSettings.url)
                          {
                          this.working = false;
                          if (!this.working && (this.http = getHTTP()))
                               {
                               if (!lookupSettings.silent) if (showProgress) startProgress();
                               var http = this.http;
                               this.http.open("POST", lookupSettings.url, true);
                               this.http.onreadystatechange = function()
                                    {
                                    if (http.readyState == 4)
                                         {
                                         re = /^Location: ([a-zA-Z0-9._\/-]+)/;
                                         ReLocation = re.exec(http.responseText);
                                         try
                                             {
                                             if (lookupSettings.win) {
                                                 destObj = lookupSettings.win.document.getElementById(lookupSettings.dest);
											 }
                                             else {
												 var slice_1 = document.getElementById(lookupSettings.dest+'1');
												 var slice_2 = document.getElementById(lookupSettings.dest+'2');
												 var activeImg = document.getElementById(lookupSettings.dest+'1'); //пускай так будет по умолчанию.
												 if(slice_1&&slice_2) {
												 if(slice_1.style.zIndex=='1') {
													 destObj = slice_1;
													 activeImg = slice_2;
												 }
												 else {
													 destObj = slice_2;
													 activeImg = slice_1;
												 }
												 }
											 }
                                                 
                                             }
                                         catch (e) { destObj = false; }
                                         if ( !ReLocation && destObj )
                                              {
												  //надо разобрать 3 случая исхода работы скрипта: 
												  var response = http.responseText;
												  //alert(response);
												  if(response.match(/ERROR/)) {
													  lookupSettings.postFunction = null;
												  } else {
													  reg_notice = /<notice>([a-zA-Z0-9]*)<\/notice>/;
													  ReNotice = reg_notice.exec(response);
													  reg_src = /<src>([a-zA-Z0-9\/?.=]*)<\/src>/;
													  ReSrc = reg_src.exec(response);
													  
													  if(ReSrc&&ReNotice) {
														  notice = ReNotice[1];
														  src = ReSrc[1];
														  var today = new Date()

														  destObj.src = src + '&time='+ today.getTime();

														  var nextButton = document.getElementById('nextButton');
														  var prevButton = document.getElementById('prevButton');
														  if(prevButton) {
													        prevButton.style.display="block";
														  }
														  if(nextButton) {
														    nextButton.style.display="block";
													      }
														  if(notice=='stop') {
															  if(lookupSettings.direction=='left') {
															    if(prevButton) {
																  prevButton.style.display="none";
															    }
															  }
															  if(lookupSettings.direction=='right') {
															    if(nextButton) {
																  nextButton.style.display="none";
															    }
															  }
														  }
													  }
												  }
												   
                                              if (lookupSettings.postFunction) eval(lookupSettings.postFunction);
                                              }
                                         else
                                              {
                                              if ( ReLocation )
                                                   {
                                                   document.location.href = ReLocation[1];
                                                   }
                                              else
                                                   {
                                                   if (lookupSettings.postFunction&&!error) eval(lookupSettings.postFunction);
                                                   return http.responseText;
                                                   }
                                              }
                                         this.working = false;
                                         this.http = false;
                                         }
                                    }
                               this.working = true;
                               this.http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                               this.http.send(lookupSettings.values);
                               }
                          if(!this.http)
                               {
                               alert('Ошибка при создании XMLHTTP объекта. Ваш браузер не поддерживается системой!')
                               }
                          }
                     }
function showCalendar(target,type,event)
    {
    event = (event)?event:window.event;

    var calendarObj = document.getElementById('calendar');
                    calendarObj.style.left=(event.clientX-120) + 'px';
    if (document.body.clientHeight - event.clientY < 150)
        calendarObj.style.top=(event.clientY-10 - 150 + (document.body.clientHeight - event.clientY) + document.body.scrollTop) + 'px';
    else
        calendarObj.style.top=(event.clientY-10 + document.body.scrollTop) + 'px';
    calendarObj.style.display='block';

    var dateObj = new Date();
    var hours = dateObj.getHours();
    var minutes = dateObj.getMinutes();
    var seconds = dateObj.getSeconds();
    if (hours <= 9)
         {
         hours = "0" + hours;
         }
    if (minutes <= 9)
         {
         minutes = "0" + minutes;
         }
     if (seconds <= 9)
         {
         seconds = "0" + seconds;
         }

    if (type == 'datetime') calendar.calendarAction="parent.document.getElementById('"+target+"').value=y+'-'+numFormat(m)+'-'+numFormat(d)+' "+hours+":"+minutes+":"+seconds+"';parent.document.getElementById('calendar').style.display='none';parent.document.getElementById('"+target+"').focus();";
    else
    if(type == 'set_date') {
            var mysqlTable = parent.document.getElementById('mysqlTable').value;
            var url = parent.document.getElementById('Url').value;
            var filepath = parent.document.getElementById('filepath').value;
            var id =  parent.document.getElementById('id'+target).value;
            var newdate = parent.document.getElementById('Date'+target).value;

            calendar.calendarAction="parent.document.getElementById('Date"+target+"').value=y+'-'+numFormat(m)+'-'+numFormat(d)+' "+hours+":"+minutes+":"+seconds+"';parent.document.getElementById('calendar').style.display='none';";
            calendar.calendarAction +="parent.document.getElementById('link"+target+"').firstChild.nodeValue = numFormat(d)+'.'+numFormat(m)+'.'+y;";
            calendar.calendarAction += "lookup({url:'"+url+"', values:'object="+mysqlTable+"&data[date]='+parent.document.getElementById('Date"+target+"').value+'&id="+id+"'});";
            calendar.calendarAction += "setTimeout(\'top.lookup({url:\\\'" + filepath + "\\\', silent:true, dest:\\\'mainPaste\\\'});\',200);";
            window.frames[0].calendarAction = calendar.calendarAction;
    }
    else {
    calendar.calendarAction="parent.document.getElementById('"+target+"').value=y+'-'+numFormat(m)+'-'+numFormat(d);parent.document.getElementById('calendar').style.display='none';parent.document.getElementById('"+target+"').focus();";
    }
    calendar.calendarClose="parent.document.getElementById('calendar').style.display='none'";
    //alert(calendar.calendarAction);
    }
	
	
function comments(obj)
			{
			
			if (obj.title == 'close' )
			{
				obj.title = 'open';
				obj.style.backgroundImage = 'url(/images/minus.gif)';
				obj.parentNode.style.backgroundImage = 'url(/images/cl.gif)';
				
				var find= obj.parentNode.parentNode.childNodes
				for (i=0; i<find.length; i++)
				{
				if (find[i].nodeName == 'DIV' && find[i].className == 'hider' )
				{ find[i].style.display = 'block' }
				}
			}
				else
				{
					obj.title = 'close';
					obj.style.backgroundImage = 'url(/images/plus.gif)';
					obj.parentNode.style.backgroundImage = 'none';
					
					var find= obj.parentNode.parentNode.childNodes
					for (i=0; i<find.length; i++)
					{
					if (find[i].nodeName == 'DIV' && find[i].className == 'hider' )
					{ find[i].style.display = 'none' }
					}
				}
				return false;
			}
			
function percents(obj)
			{
				var p = eval(obj.value)
				if (p >100) { obj.value = '100' }
			}	
function replaceContent(id) {
	var commentBlock = document.getElementById('commentsOfMessage_'+id);
	var tempContainer = document.getElementById('tempContainer');
	if(commentBlock&&tempContainer) {
		var newComment = document.createElement('div');
		commentBlock.appendChild(newComment);
		newComment.innerHTML = tempContainer.innerHTML;
		tempContainer.innerHTML = ' ';
	}
}
function addComment(id) {
	var sMessage = document.getElementById('sMessage_'+id);
	var sType = document.getElementById('sType_'+id);
	var sClientId = document.getElementById('sClientId_'+id);
	var sWorkId = document.getElementById('sWorkId_'+id);
	var sParentId = document.getElementById('sParentId_'+id);
	var request = 'type='+sType.value+'&client_id='+sClientId.value+'&data[id_work]='+sWorkId.value+'&data[id_parent]='+sParentId.value+'&data[text]='+escape(sMessage.value);
	lookup({url:'/work/great.work.php', 
		   values:request,
		   postFunction:'replaceContent('+id+')',
		   dest:'tempContainer',
		   silent:true
		   });
	sMessage.value = '';
}

function setChange(id) {
	var sourceText = document.getElementById('message_'+id);
	var destText = document.getElementById('message');
	var destId = document.getElementById('message_id');
	if(destText && sourceText&&destId) {
		destText.value = sourceText.firstChild.nodeValue;
        destId.value = id;
	}
}

function resetMessage() {
	var mText = document.getElementById('message');
	var mId = document.getElementById('message_id');
	if(mText&&mId) {
		mText.value = '';
		mId.value = '';
	}
}
function deleteMessage(id) {
	if(confirm('Вы действительно хотите удалить сообщение и все его комметарии?')) {
    lookup({url:'/work/great.work.php', values:'type=deleteMessage&id='+id});
    var mBlock = document.getElementById('messageBlock_'+id);
    var fileBlock = mBlock.previousSibling;
    mBlock.style.display = 'none';
    if(fileBlock.firstChild.nodeType!=3) {
    	fileBlock.style.display = 'none';
    } 
}
}

//сайт ОТИК. Открывает, закрывает каталог (меню)
function openCloseCatalog(id) {
  var dest = document.getElementById(id);
  if(id) {
    if(dest.style.display == 'none') {
       new Effect.SlideDown(id,{queue:{scope:'myscope', position:'end', limit: 1}});
       return false;
    }
    else {
            new Effect.SlideUp(id,{queue:{scope:'myscope', position:'end', limit: 1}});
       return false;
   }
  }
}

function resetMenu(grandFather) 
{
	var child = grandFather.firstChild;
	for(var o = child; o; o = o.nextSibling)
	{
		//alert(o.nodeName + '  =  '+ o.nodeType + '>'+o.getAttribute('class') + '<'+o.className);
		if(o.nodeName.toLowerCase() == 'div' || o.nodeName.toLowerCase() == 'a') {
		if((pos = o.className.indexOf('_a')) >0 )
		{
			o.className = o.className.substring(0, pos);
		}
		//alert(o.nodeName + '  =  '+ o.nodeType + '>'+o.getAttribute('class') + '<'+o.className);
		resetMenu(o);
		}			
	}
	
}

function selectMe(object,grandFatherId) 
{
	var grand = document.getElementById(grandFatherId);
	
	//сброс меню
	resetMenu(grand);
	
	var el = object;
	//установка в актив текущего элемента
	el.className = el.className + "_a";
	el = el.parentNode;
	//установка в актив иерархии выбранного элемента	
	while(el != grand) 
	{
		el = el.parentNode;
		el.firstChild.className = el.firstChild.className + "_a";
	}
	
	
}

//устанавливет заголовок страницы
function setPageTitle(destId, pageTitle) {
	var destElement = document.getElementById(destId);
	if(destElement) {
		if(destElement.firstChild) {
          destElement.innerHTML = '<img src="/images/arrow.png" />'+pageTitle;
		}
		else {
			var textNode = document.createTextNode(pageTitle);
			destElement.appendChild(textNode);
		}
	}
}


function selectBaseType(me) {
	var value = me.value;
	if(value != 'novalue')  {
		lookup({url:'/work/assembling.work.php', values:'type=baseType&value='+value, dest:'registrators'});
	}
	else {
		//очередная процедура очищения нижестоящих полей для выбора устройств. 
		var nextContainer = document.getElementById('registrators');
		if(nextContainer) {
			nextContainer.innerHTML = '';
		}
	}
}

function isNumeric(val){return(parseFloat(val,10)==(val*1));}

function summTheCost(divId) {
	var cost =  document.getElementById(divId);
	if(cost) {
		var summa = 0;
		var arrayOfCosts = document.getElementsByTagName('div');
		for(var i = 0; i< arrayOfCosts.length; i++) {
			if(arrayOfCosts[i].className == 'costInput') {
				summa = ''+ (parseFloat(summa) + parseFloat(arrayOfCosts[i].firstChild.nodeValue));
			}
		}
		cost.firstChild.nodeValue = summa;
	}
}

function selectCameraType(me, count, nextContainerId) {
	if(me.value != 'novalue')
	{
		var chosenCount = me.nextSibling;
		if(!count) 
		{
		  lookup({url:'/work/assembling.work.php', values:'type=cameraType&registrator_id='+me.value, dest:'registrators_types'});
		  lookup({url:'/work/getcost.work.php', values:'id='+me.value, dest:'registratorCost', postFunction:'summTheCost(\'costDiv\');'});
		}
		else if(count > 1 && (chosenCount && chosenCount.value!=count))
		{
			lookup({url:'/work/assembling.work.php', values:'type=cameraType&cameraLimitCount='+(count-chosenCount.value)+'&nextContainerId='+nextContainerId, dest:'camera_type_'+nextContainerId});
			lookup({url:'/work/getcost.work.php', values:'id='+me.value + '&count='+chosenCount.value, dest:'cost_'+nextContainerId, postFunction:'summTheCost(\'costDiv\');'});
		}
		else 
		{
			lookup({url:'/work/getcost.work.php', values:'id='+me.value+ '&count='+chosenCount.value, dest:'cost_'+nextContainerId, postFunction:'summTheCost(\'costDiv\');'});
			var nextContainer = document.getElementById('camera_type_'+nextContainerId);
			if(nextContainer) {
				nextContainer.innerHTML = '';
			}
		}
	}
	else {
		//очередная процедура очищения нижестоящих полей для выбора устройств. 
		var nextContainer = (count)?document.getElementById('camera_type_'+nextContainerId):document.getElementById('registrators_types');
		if(nextContainer) {
			nextContainer.innerHTML = '';
		}
	}
}

function selectCameraDevice(me, count, nextContainerId) 
{
	if(me.value != 'novalue') 
	{
		if(count > 0 ) 
		{
			lookup({url:'/work/assembling.work.php', values:'type=cameraDevice&cameraType='+me.value + '&cameraLimitCount='+count+'&nextContainerId='+(nextContainerId+1), dest:'camera_'+nextContainerId});
		}
	}
	else {
		//очередная процедура очищения нижестоящих полей для выбора устройств. 
		var nextContainer = document.getElementById('camera_'+nextContainerId);
		if(nextContainer) {
			nextContainer.innerHTML = '';
		}
	}
}
 
function deleteParasiteTextNode(parentId, parentNode) {
	//если задан ай ди элемента, то ищем по нему
	if(parentId) 
	{			
		var parentElement = document.getElementById(parentId);
		if(parentId) 
		{
			for(var o = parentElement.firstChild; o; o = o.nextSibling)
			{
				if(o.nodeType == 3)//если узел = текстовый узел
				{
					parentElement.removeChild(o);
					deleteParasiteTextNode(parentId, null);
				}
				//else 
				//{
				//	deleteParasiteTextNode(null, o);
				//}
			}
		}
	}
	else 
	{
		for(var o = parentNode.firstChild; o; o = o.nextSibling)
			{
				if(o.nodeType == 3)//если узел = текстовый узел
				{
					o.parentNode.removeChild(o);
					deleteParasiteTextNode(null, parentNode);
				}
			}
	}
		
}

function checkBasketForm(objId) {
	var obj = document.getElementById(objId);
	if(obj) {
		reg = /^[0-9]+/;
		if(obj.value.match(reg)) {
			return true;
		}
		else {
			return false;
		}
	}
	else {
		return false;
	}
}

function ShowHide(id)
    {
    if ( document.getElementById(id).style.display == 'block' )
          {
          document.getElementById(id).style.display = 'none';
          }
    else
          {
          document.getElementById(id).style.display = 'block';
    }
	}
	
function checkBasketOrderForm() {
	var name = document.getElementById('basketName');
	var text = document.getElementById('basketText');
	var code = document.getElementById('basketCode');
	if(name && name.value.length == 0) {
		alert('Введите, пожалуйста, Имя!');
		name.focus();
		return false;
	}
	if(text && text.value.length == 0) {
		alert('Введите, пожалуйста, свои координаты');
		text.focus();
		return false;
	}
	if(code && code.value.length == 0) {
		alert('Введите, пожалуйста, Защитный код!');
		code.focus();
		return false;
	}
}

function checkForm() {
var name = document.getElementById('name');
var coords = document.getElementById('coords');
var resume = document.getElementById('resume');
var code = document.getElementById('basketCode');
if(name&&name.value.length==0) {
  alert('Введите, пожалуйста, имя!');
  name.focus();
  return false;
}
if(coords&&coords.value.length==0) {
  alert('А как же нам с вами связаться? !');
  coords.focus();
    return false;
}
if(resume&&resume.value.length==0) {
  alert('Так что вы хотели спросить?');
  resume.focus();
    return false;
}
if(code && code.value.length == 0) {
		alert('Введите, пожалуйста, Защитный код!');
		code.focus();
		return false;
	}
return true;
}
