//if(!__AJAX_request_counter_set){
	var __AJAX_request_counter = 0;
//	__AJAX_request_counter_set = true;
//}
	var __LookupTimeout;
	var __LookupShown;

function domFilterShow(obj){
	var i = __LookupShown++%2+1;
	obj.className='row'+i;
	if(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 8)
		obj.style.display='inline';
	else
		obj.style.display='table-row';
}

function changeVisible(id){
   element = document.getElementById(id);
   if(element.style.display=='')
      element.style.display='none';
   else
      element.style.display='';
}

function GetYof(obj) {
   var y = 0;
   while ( obj.offsetParent != null) {
      y += obj.offsetTop;
      obj = obj.offsetParent;
   }
   y += obj.offsetTop;

   return y;
}

function GetXof(obj) {
   var x = 0;
   while ( obj.offsetParent != null) {
      x += obj.offsetLeft;
      obj = obj.offsetParent;
   }
   x += obj.offsetLeft;

   return x;
}

function domFilterIter(list,iter,count,val){
    clearTimeout(__LookupTimeout);
    var oRow = list.item(iter);
    if(val != ''){
        eval('var p = /'+val+'/i');
        if(!p.test(oRow.id)) {
			if(oRow.style)oRow.style.display='none';
		}
        else domFilterShow(oRow);//.style.display='inline';
    }else domFilterShow(oRow);//oRow.style.display='inline';

    if(iter<count-1)
        __LookupTimeout = setTimeout(function(){domFilterIter(list,iter+1,count,val)}, 0);
}

function domFilter(filterobj,listtable){
    clearTimeout(__LookupTimeout);
    __LookupShown = 0;
    var oTable = document.getElementById(listtable);
    var oSrc = document.getElementById(filterobj);
    __LookupTimeout = setTimeout(function(){domFilterIter(oTable.rows,0,oTable.rows.length,oSrc.value)}, 0);
}

function ajaxDo(url,targetObj,meth,_append,beSilent){
    var cLocal = 'ajax_req'+(++__AJAX_request_counter);
    var silent = beSilent==true?'true':'false';
    var callBackFunc = "function(){AJAXAlter('"+targetObj+"','"+cLocal+"',"+_append+","+silent+");}";
    if (window.XMLHttpRequest){
    	eval("window."+cLocal+" = new XMLHttpRequest();");
		eval("window."+cLocal + ".onreadystatechange = "+callBackFunc+";");
		eval("window."+cLocal + ".open('"+meth+"', \""+url+"\", true);");
		eval("window."+cLocal +".send(null);");
	}else if (window.ActiveXObject){
		eval("window."+cLocal+" = new ActiveXObject(\"Microsoft.XMLHTTP\");");
		eval("if(window."+cLocal+"){"+
				"window."+cLocal+".onreadystatechange = "+callBackFunc+"; "+
				"window."+cLocal+".open('"+meth+"', \""+url+"\", true); "+cLocal+".send(); "+
			"}");
	}
}

function ajaxDoExecProgress(url,meth,targetObj){
    var cLocal = 'ajax_req'+(++__AJAX_request_counter);
    //var silent = beSilent==true?'true':'false';
    var callBackFunc = "function(){AJAXExecProgress('"+cLocal+"','"+targetObj+"');}";
    if (window.XMLHttpRequest){
    	eval("window."+cLocal+" = new XMLHttpRequest();");
		eval("window."+cLocal + ".onreadystatechange = "+callBackFunc+";");
		eval("window."+cLocal + ".open('"+meth+"', \""+url+"\", true);");
		eval("window."+cLocal +".send(null);");
	}else if (window.ActiveXObject){
		eval("var window."+cLocal+" = new ActiveXObject(\"Microsoft.XMLHTTP\"); ");
		
		eval("if(window."+cLocal+"){ "+
				"window."+cLocal+".onreadystatechange = "+callBackFunc+"; "+
				"window."+cLocal+".open('"+meth+"', \""+url+"\", true); "+cLocal+".send(); "+
			"}");
	}
}

function AJAXExecProgress(Areq,Atarget){
	eval("document.getElementById('"+Atarget+"').innerHTML = statA(window."+Areq+".readyState);");
    eval("if (window."+Areq+".readyState == 4){"+
    		"if (window."+Areq+".status == 200){ "+
				"document.getElementById('"+Atarget+"').innerHTML = '';"+
    			"eval(window."+Areq+".responseText); "+
    		"}else{ "+
				"document.getElementById('"+Atarget+"').innerHTML = '';"+
    			"alert('Не удалось выполнить запрос'); "+
    		"}"+
    	 "}");
}



function AJAXAlter(Atarget,Areq,doAppend,beSilent){
   var appendStr = doAppend!=false?"document.getElementById('"+Atarget+"').innerHTML +":'';
   if(!beSilent)
	eval("document.getElementById('"+Atarget+"').innerHTML = "+appendStr+" statA("+Areq+".readyState);");

    eval("if (window."+Areq+".readyState == 4){"+
    		"if (window."+Areq+".status == 200){ "+
    			"document.getElementById('"+Atarget+"').innerHTML = "+appendStr+" window."+Areq+".responseText; "+
    		"}else{ "+
    			"document.getElementById('"+Atarget+"').innerHTML = "+appendStr+" '<b>Не удалось загрузить текст</b>'; "+
    		"}"+
    	 "}");
}

  function statA(n){
 	switch (n){
 		case 0:return "ОШИБКА: AJAX недоступен. Для работы Вам необходимо включить JavaScript";break;
        case 1:
        case 2:
        case 3:
        case 4://return "Загрузка данных: 100%";
			return '<center><img border=0 src="/images/wait24trans.gif"></center>';break;
        default:return "неизвестное состояние. Обратитесь в службу поддержки";break;
    }
 }

function AJAXAction(url, Ftarget, meth, req){
	loadXMLDocA(req, url,Ftarget,meth);
}

function ajaxDoExec(url,meth){
    var cLocal = 'ajaxreq'+(++__AJAX_request_counter);
    //var silent = beSilent==true?'true':'false';
    var callBackFunc = "function(){AJAXExec('"+cLocal+"');}";
    if (window.XMLHttpRequest){
    	eval(" window."+cLocal+" = new XMLHttpRequest();");
		eval(cLocal + ".onreadystatechange = "+callBackFunc+";");
		eval(cLocal + ".open('"+meth+"', \""+url+"\", true);");
		eval(cLocal +".send(null);");
	}else if (window.ActiveXObject){
		eval("window."+cLocal+" = new ActiveXObject(\"Microsoft.XMLHTTP\");");
		eval("if(window."+cLocal+"){"+
				"window."+cLocal+".onreadystatechange = "+callBackFunc+"; "+
				"window."+cLocal+".open('"+meth+"', \""+url+"\", true); "+cLocal+".send(); "+
			"}");
	}
}



function AJAXExec(Areq){
    eval("if (window."+Areq+".readyState == 4){"+
    		"if (window."+Areq+".status == 200){ "+
    			"eval(window."+Areq+".responseText); "+
    		"}else{ "+
    			"alert('Не удалось выполнить запрос'); "+
    		"}"+
    	 "}");
}


function $_(id){ return document.getElementById(id); }
function removeElement(id){	if(!$_(id)) return; var p = $_(id).parentNode; if(p) p.removeChild($_(id));}
function removeElementA(obj){	if(!obj)return; var p = obj.parentNode;p.removeChild(obj);}
function atoi(str) {var out = str+''; out=out.replace(/px/g,'');out.toInt;return out;}


