
function JsHttpRequest(){
var t=this;
t.onreadystatechange=null;
t.readyState=0;
t.responseText=null;
t.responseXML=null;
t.status=200;
t.statusText="OK";
t.responseJS=null;
t.caching=false;
t.loader=null;
t.session_name="PHPSESSID";
t._ldObj=null;
t._reqHeaders=[];
t._openArgs=null;
t._errors={inv_form_el:"Invalid FORM element detected: name=%, tag=%",must_be_single_el:"If used, <form> must be a single HTML element in the list.",js_invalid:"JavaScript code generated by backend is invalid!\n%",url_too_long:"Cannot use so long query with GET request (URL is larger than % bytes)",unk_loader:"Unknown loader: %",no_loaders:"No loaders registered at all, please check JsHttpRequest.LOADERS array",no_loader_matched:"Cannot find a loader which may process the request. Notices are:\n%",no_headers:"Method setRequestHeader() cannot work together with the % loader."};
t.abort=function(){
with(this){
if(_ldObj&&_ldObj.abort){
_ldObj.abort();
}
_cleanup();
if(readyState==0){
return;
}
if(readyState==1&&!_ldObj){
readyState=0;
return;
}
_changeReadyState(4,true);
}
};
t.open=function(_2,_3,_4,_5,_6){
with(this){
try{
if(document.location.search.match(new RegExp("[&?]"+session_name+"=([^&?]*)"))||document.cookie.match(new RegExp("(?:;|^)\\s*"+session_name+"=([^;]*)"))){
_3+=(_3.indexOf("?")>=0?"&":"?")+session_name+"="+this.escape(RegExp.$1);
}
}
catch(e){
}
_openArgs={method:(_2||"").toUpperCase(),url:_3,asyncFlag:_4,username:_5!=null?_5:"",password:_6!=null?_6:""};
_ldObj=null;
_changeReadyState(1,true);
return true;
}
};
t.send=function(_7){
if(!this.readyState){
return;
}
this._changeReadyState(1,true);
this._ldObj=null;
var _8=[];
var _9=[];
if(!this._hash2query(_7,null,_8,_9)){
return;
}
var _a=null;
if(this.caching&&!_9.length){
_a=this._openArgs.username+":"+this._openArgs.password+"@"+this._openArgs.url+"|"+_8+"#"+this._openArgs.method;
var _b=JsHttpRequest.CACHE[_a];
if(_b){
this._dataReady(_b[0],_b[1]);
return false;
}
}
var _c=(this.loader||"").toLowerCase();
if(_c&&!JsHttpRequest.LOADERS[_c]){
return this._error("unk_loader",_c);
}
var _d=[];
var _e=JsHttpRequest.LOADERS;
for(var _f in _e){
var ldr=_e[_f].loader;
if(!ldr){
continue;
}
if(_c&&_f!=_c){
continue;
}
var _11=new ldr(this);
JsHttpRequest.extend(_11,this._openArgs);
JsHttpRequest.extend(_11,{queryText:_8.join("&"),queryElem:_9,id:(new Date().getTime())+""+JsHttpRequest.COUNT++,hash:_a,span:null});
var _12=_11.load();
if(!_12){
this._ldObj=_11;
JsHttpRequest.PENDING[_11.id]=this;
return true;
}
if(!_c){
_d[_d.length]="- "+_f.toUpperCase()+": "+this._l(_12);
}else{
return this._error(_12);
}
}
return _f?this._error("no_loader_matched",_d.join("\n")):this._error("no_loaders");
};
t.getAllResponseHeaders=function(){
with(this){
return _ldObj&&_ldObj.getAllResponseHeaders?_ldObj.getAllResponseHeaders():[];
}
};
t.getResponseHeader=function(_13){
with(this){
return _ldObj&&_ldObj.getResponseHeader?_ldObj.getResponseHeader():[];
}
};
t.setRequestHeader=function(_14,_15){
with(this){
_reqHeaders[_reqHeaders.length]=[_14,_15];
}
};
t._dataReady=function(_16,js){
with(this){
if(caching&&_ldObj){
JsHttpRequest.CACHE[_ldObj.hash]=[_16,js];
}
if(_16!==null||js!==null){
status=4;
responseText=responseXML=_16;
responseJS=js;
}else{
status=500;
responseText=responseXML=responseJS=null;
}
_changeReadyState(2);
_changeReadyState(3);
_changeReadyState(4);
_cleanup();
}
};
t._l=function(_18){
var i=0,p=0,msg=this._errors[_18[0]];
while((p=msg.indexOf("%",p))>=0){
var a=_18[++i]+"";
msg=msg.substring(0,p)+a+msg.substring(p+1,msg.length);
p+=1+a.length;
}
return msg;
};
t._error=function(msg){
msg=this._l(typeof (msg)=="string"?arguments:msg);
msg="JsHttpRequest: "+msg;
if(!window.Error){
throw msg;
}else{
if((new Error(1,"test")).description=="test"){
throw new Error(1,msg);
}else{
throw new Error(msg);
}
}
};
t._hash2query=function(_1e,_1f,_20,_21){
if(_1f==null){
_1f="";
}
if((""+typeof (_1e)).toLowerCase()=="object"){
var _22=false;
if(_1e&&_1e.parentNode&&_1e.parentNode.appendChild&&_1e.tagName&&_1e.tagName.toUpperCase()=="FORM"){
_1e={form:_1e};
}
for(var k in _1e){
var v=_1e[k];
if(v instanceof Function){
continue;
}
var _25=_1f?_1f+"["+this.escape(k)+"]":this.escape(k);
var _26=v&&v.parentNode&&v.parentNode.appendChild&&v.tagName;
if(_26){
var tn=v.tagName.toUpperCase();
if(tn=="FORM"){
_22=true;
}else{
if(tn=="INPUT"||tn=="TEXTAREA"||tn=="SELECT"){
}else{
return this._error("inv_form_el",(v.name||""),v.tagName);
}
}
_21[_21.length]={name:_25,e:v};
}else{
if(v instanceof Object){
this._hash2query(v,_25,_20,_21);
}else{
if(v===null){
continue;
}
if(v===true){
v=1;
}
if(v===false){
v="";
}
_20[_20.length]=_25+"="+this.escape(""+v);
}
}
if(_22&&_21.length>1){
return this._error("must_be_single_el");
}
}
}else{
_20[_20.length]=_1e;
}
return true;
};
t._cleanup=function(){
var _28=this._ldObj;
if(!_28){
return;
}
JsHttpRequest.PENDING[_28.id]=false;
var _29=_28.span;
if(!_29){
return;
}
_28.span=null;
var _2a=function(){
_29.parentNode.removeChild(_29);
};
JsHttpRequest.setTimeout(_2a,50);
};
t._changeReadyState=function(s,_2c){
with(this){
if(_2c){
status=statusText=responseJS=null;
responseText="";
}
readyState=s;
if(onreadystatechange){
onreadystatechange();
}
}
};
t.escape=function(s){
return escape(s).replace(new RegExp("\\+","g"),"%2B");
};
}
JsHttpRequest.COUNT=0;
JsHttpRequest.MAX_URL_LEN=2000;
JsHttpRequest.CACHE={};
JsHttpRequest.PENDING={};
JsHttpRequest.LOADERS={};
JsHttpRequest._dummy=function(){
};
JsHttpRequest.TIMEOUTS={s:window.setTimeout,c:window.clearTimeout};
JsHttpRequest.setTimeout=function(_2e,dt){
window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.s;
if(typeof (_2e)=="string"){
id=window.JsHttpRequest_tmp(_2e,dt);
}else{
var id=null;
var _31=function(){
_2e();
delete JsHttpRequest.TIMEOUTS[id];
};
id=window.JsHttpRequest_tmp(_31,dt);
JsHttpRequest.TIMEOUTS[id]=_31;
}
window.JsHttpRequest_tmp=null;
return id;
};
JsHttpRequest.clearTimeout=function(id){
window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.c;
delete JsHttpRequest.TIMEOUTS[id];
var r=window.JsHttpRequest_tmp(id);
window.JsHttpRequest_tmp=null;
return r;
};
JsHttpRequest.query=function(url,_35,_36,_37){
var req=new this();
req.caching=!_37;
req.onreadystatechange=function(){
if(req.readyState==4){
_36(req.responseJS,req.responseText);
}
};
var _39=null;
if(url.match(/^((\w+)\.)?(GET|POST)\s+(.*)/i)){
req.loader=RegExp.$2?RegExp.$2:null;
_39=RegExp.$3;
url=RegExp.$4;
}
req.open(_39,url,true);
req.send(_35);
};
JsHttpRequest.dataReady=function(d){
var th=this.PENDING[d.id];
delete this.PENDING[d.id];
if(th){
th._dataReady(d.text,d.js);
}else{
if(th!==false){
throw "dataReady(): unknown pending id: "+d.id;
}
}
};
JsHttpRequest.extend=function(_3c,src){
for(var k in src){
_3c[k]=src[k];
}
};
JsHttpRequest.LOADERS.xml={loader:function(req){
JsHttpRequest.extend(req._errors,{xml_no:"Cannot use XMLHttpRequest or ActiveX loader: not supported",xml_no_diffdom:"Cannot use XMLHttpRequest to load data from different domain %",xml_no_headers:"Cannot use XMLHttpRequest loader or ActiveX loader, POST method: headers setting is not supported, needed to work with encodings correctly",xml_no_form_upl:"Cannot use XMLHttpRequest loader: direct form elements using and uploading are not implemented"});
this.load=function(){
if(this.queryElem.length){
return ["xml_no_form_upl"];
}
if(this.url.match(new RegExp("^([a-z]+://[^\\/]+)(.*)","i"))){
if(RegExp.$1.toLowerCase()!=document.location.protocol+"//"+document.location.hostname.toLowerCase()){
return ["xml_no_diffdom",RegExp.$1];
}
}
var xr=null;
if(window.XMLHttpRequest){
try{
xr=new XMLHttpRequest();
}
catch(e){
}
}else{
if(window.ActiveXObject){
try{
xr=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
}
if(!xr){
try{
xr=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
}
}
}
}
if(!xr){
return ["xml_no"];
}
var _41=window.ActiveXObject||xr.setRequestHeader;
if(!this.method){
this.method=_41&&this.queryText.length?"POST":"GET";
}
if(this.method=="GET"){
if(this.queryText){
this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText;
}
this.queryText="";
if(this.url.length>JsHttpRequest.MAX_URL_LEN){
return ["url_too_long",JsHttpRequest.MAX_URL_LEN];
}
}else{
if(this.method=="POST"&&!_41){
return ["xml_no_headers"];
}
}
this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+(req.caching?"0":this.id)+"-xml";
var id=this.id;
xr.onreadystatechange=function(){
if(xr.readyState!=4){
return;
}
xr.onreadystatechange=JsHttpRequest._dummy;
req.status=null;
try{
req.status=xr.status;
req.responseText=xr.responseText;
}
catch(e){
}
if(!req.status){
return;
}
try{
eval("JsHttpRequest._tmp = function(id) { var d = "+req.responseText+"; d.id = id; JsHttpRequest.dataReady(d); }");
}
catch(e){
return req._error("js_invalid",req.responseText);
}
JsHttpRequest._tmp(id);
JsHttpRequest._tmp=null;
};
xr.open(this.method,this.url,true,this.username,this.password);
if(_41){
for(var i=0;i<req._reqHeaders.length;i++){
xr.setRequestHeader(req._reqHeaders[i][0],req._reqHeaders[i][1]);
}
xr.setRequestHeader("Content-Type","application/octet-stream");
}
xr.send(this.queryText);
this.span=null;
this.xr=xr;
return null;
};
this.getAllResponseHeaders=function(){
return this.xr.getAllResponseHeaders();
};
this.getResponseHeader=function(_44){
return this.xr.getResponseHeader(_44);
};
this.abort=function(){
this.xr.abort();
this.xr=null;
};
}};
JsHttpRequest.LOADERS.script={loader:function(req){
JsHttpRequest.extend(req._errors,{script_only_get:"Cannot use SCRIPT loader: it supports only GET method",script_no_form:"Cannot use SCRIPT loader: direct form elements using and uploading are not implemented"});
this.load=function(){
if(this.queryText){
this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText;
}
this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+this.id+"-"+"script";
this.queryText="";
if(!this.method){
this.method="GET";
}
if(this.method!=="GET"){
return ["script_only_get"];
}
if(this.queryElem.length){
return ["script_no_form"];
}
if(this.url.length>JsHttpRequest.MAX_URL_LEN){
return ["url_too_long",JsHttpRequest.MAX_URL_LEN];
}
if(req._reqHeaders.length){
return ["no_headers","SCRIPT"];
}
var th=this,d=document,s=null,b=d.body;
if(!window.opera){
this.span=s=d.createElement("SCRIPT");
var _4a=function(){
s.language="JavaScript";
if(s.setAttribute){
s.setAttribute("src",th.url);
}else{
s.src=th.url;
}
b.insertBefore(s,b.lastChild);
};
}else{
this.span=s=d.createElement("SPAN");
s.style.display="none";
b.insertBefore(s,b.lastChild);
s.innerHTML="Workaround for IE.<s"+"cript></"+"script>";
var _4a=function(){
s=s.getElementsByTagName("SCRIPT")[0];
s.language="JavaScript";
if(s.setAttribute){
s.setAttribute("src",th.url);
}else{
s.src=th.url;
}
};
}
JsHttpRequest.setTimeout(_4a,10);
return null;
};
}};
JsHttpRequest.LOADERS.form={loader:function(req){
JsHttpRequest.extend(req._errors,{form_el_not_belong:"Element \"%\" does not belong to any form!",form_el_belong_diff:"Element \"%\" belongs to a different form. All elements must belong to the same form!",form_el_inv_enctype:"Attribute \"enctype\" of the form must be \"%\" (for IE), \"%\" given."});
this.load=function(){
var th=this;
if(!th.method){
th.method="POST";
}
th.url+=(th.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+th.id+"-"+"form";
if(req._reqHeaders.length){
return ["no_headers","FORM"];
}
if(th.method=="GET"){
if(th.queryText){
th.url+=(th.url.indexOf("?")>=0?"&":"?")+th.queryText;
}
if(th.url.length>JsHttpRequest.MAX_URL_LEN){
return ["url_too_long",JsHttpRequest.MAX_URL_LEN];
}
var p=th.url.split("?",2);
th.url=p[0];
th.queryText=p[1]||"";
}
var _4e=null;
var _4f=false;
if(th.queryElem.length){
if(th.queryElem[0].e.tagName.toUpperCase()=="FORM"){
_4e=th.queryElem[0].e;
_4f=true;
th.queryElem=[];
}else{
_4e=th.queryElem[0].e.form;
for(var i=0;i<th.queryElem.length;i++){
var e=th.queryElem[i].e;
if(!e.form){
return ["form_el_not_belong",e.name];
}
if(e.form!=_4e){
return ["form_el_belong_diff",e.name];
}
}
}
if(th.method=="POST"){
var _52="multipart/form-data";
var _53=(_4e.attributes.encType&&_4e.attributes.encType.nodeValue)||(_4e.attributes.enctype&&_4e.attributes.enctype.value)||_4e.enctype;
if(_53!=_52){
return ["form_el_inv_enctype",_52,_53];
}
}
}
var d=_4e&&(_4e.ownerDocument||_4e.document)||document;
var _55="jshr_i_"+th.id;
var s=th.span=d.createElement("DIV");
s.style.position="absolute";
s.style.display="none";
s.style.visibility="hidden";
s.innerHTML=(_4e?"":"<form"+(th.method=="POST"?" enctype=\"multipart/form-data\" method=\"post\"":"")+"></form>")+"<iframe name=\""+_55+"\" id=\""+_55+"\" style=\"width:0px; height:0px; overflow:hidden; border:none\"></iframe>";
if(!_4e){
_4e=th.span.firstChild;
}
d.body.insertBefore(s,d.body.lastChild);
var _57=function(e,_59){
var sv=[];
var _5b=e;
if(e.mergeAttributes){
var _5b=d.createElement("form");
_5b.mergeAttributes(e,false);
}
for(var i=0;i<_59.length;i++){
var k=_59[i][0],v=_59[i][1];
sv[sv.length]=[k,_5b.getAttribute(k)];
_5b.setAttribute(k,v);
}
if(e.mergeAttributes){
e.mergeAttributes(_5b,false);
}
return sv;
};
var _5f=function(){
top.JsHttpRequestGlobal=JsHttpRequest;
var _60=[];
if(!_4f){
for(var i=0,n=_4e.elements.length;i<n;i++){
_60[i]=_4e.elements[i].name;
_4e.elements[i].name="";
}
}
var qt=th.queryText.split("&");
for(var i=qt.length-1;i>=0;i--){
var _64=qt[i].split("=",2);
var e=d.createElement("INPUT");
e.type="hidden";
e.name=unescape(_64[0]);
e.value=_64[1]!=null?unescape(_64[1]):"";
_4e.appendChild(e);
}
for(var i=0;i<th.queryElem.length;i++){
th.queryElem[i].e.name=th.queryElem[i].name;
}
var sv=_57(_4e,[["action",th.url],["method",th.method],["onsubmit",null],["target",_55]]);
_4e.submit();
_57(_4e,sv);
for(var i=0;i<qt.length;i++){
_4e.lastChild.parentNode.removeChild(_4e.lastChild);
}
if(!_4f){
for(var i=0,n=_4e.elements.length;i<n;i++){
_4e.elements[i].name=_60[i];
}
}
};
JsHttpRequest.setTimeout(_5f,100);
return null;
};
}};﻿/* */
function _answer(form, filter, answers, page, pageSize)
{
	form.text.className = 'load';

	JsHttpRequest.query(
		'/lib/ajax/AnswerWithNext.php',
            {
            	'id'		:	form.id.value,
            	'text'		:	form.text.value,
            	'page'		:	page,
            	'pageSize'	:	pageSize,
            	'filter'	:	filter,
            	'answers'	:	answers
            
            },

            function(result, errors) {

            	if (result)
            	{
            		open_close(form.parentNode.id);
            		
            		document.getElementById('question'+form.id.value).className = 'hidden';
            		document.getElementById('questions').innerHTML += result;
            		document.getElementById('count').innerHTML -= 1;
            		document.location = '#begin';
            		
            		alert('Спасибо! Ответ добавлен');
            		
            	}
            	else
            	{
            		alert('Ошибка! Не добавлено');
            	}

				//form.text.className = null;
            },
            true  // do not disable caching
        );

}

function miss_question(id, filter, answers, page, pageSize)
{
	//getmessage('Загрузка...');
    document.getElementById('question'+id).className = 'load';
    document.getElementById('miss1').className = 'hidden';
    document.getElementById('miss2').className = '';
    
	JsHttpRequest.query(
		'/lib/ajax/missQuestion.php',
            {
            	'id'		:	id,
            	'page'		:	page,
            	'pageSize'	:	pageSize,
            	'filter'	:	filter,
            	'answers'	:	answers
            },

            function(result, errors) {

			    document.getElementById('miss1').className = '';
			    document.getElementById('miss2').className = 'hidden';
			    
            	document.getElementById('question'+id).innerHTML = '';
            	document.getElementById('questions').innerHTML += result;
            	document.getElementById('count').innerHTML -= 1;
            	
            	document.location = '#begin';
            	hidemessage();
            },
            true  // do not disable caching
        );

}


function _myAnswer(form, act)
{
	form.text.className = 'load';

	JsHttpRequest.query(
		'/lib/ajax/Answer.php',
            form,

            function(result, errors) {

            	if (result.id!=0)
            	{
            		open_close(form.parentNode.id);
            		document.getElementById('act'+form.id.value).innerHTML = 'ответить (мой ответ)';
            		//document.getElementById('question'+form.id.value).style.backgroundColor='#f8f8ff';
            		alert('Спасибо! Ответ добавлен');
            	}
            	else
            	{
            		alert('Ошибка! Не добавлено');
            	}

				//form.text.className = null;
            },
            true  // do not disable caching
        );
}

/*function nextQuestion(filter, answer, page, pageSize)
{
 	JsHttpRequest.query(
		'/lib/ajax/nextQuestion.php',

        {
          	'filter'	:	filter,
           	'answer'	:	answer,
           	'page'		:	page
        },

       	function(result, errors) {

          	if (result) {
        		document.getElementById('questions').innerHTML += result;
          	}
        },
        true  // do not disable caching
        );
}*/

function trace(obj)

{

	var t='';

	for (var prop in obj)

	{

		t += prop+" = '"+obj[prop]+"'<br />";

	}

	document.write(t);

}



function str_replace(search, replace, string)

{

	var f = 0;

	var ht = ' ';

	ht = ht + string;

	f = ht.indexOf(search);

	while (f != -1)

	{



		f=ht.indexOf(search);

		if (f>0)

		{

			ht = ht.substr(0, f) + replace + ht.substr(f+search.length);

		}

	}

	return ht.substr(1);

}	



function getCookie(name) 

{

  var p = name + "=";

  var si = document.cookie.indexOf(p);

  if (si!=0) {

	  p = " " + name + "=";

	  si = document.cookie.indexOf(p);

  }

  if (si == -1) return null;

  var ei = document.cookie.indexOf(";", si + p.length);

  if (ei == -1) ei = document.cookie.length;

  return decodeURIComponent(str_replace("+", " ", document.cookie.substring(si + p.length, ei)));

}





function getmessage(mes)

{

 

 var message = (typeof mes != "undefined")?mes:getCookie("message");

	if (message)

	{

		e = document.getElementById('message');

		e.innerHTML = message;

		e.style.display = "block";

	}

}



function hidemessage()

{

		e = document.getElementById('message');

		e.style.display = "none";

}



function open_close(id)

{

	if (document.getElementById(id).className.indexOf('hidden')>-1) {

		document.getElementById(id).className = str_replace('hidden', ' ', document.getElementById(id).className);

	}else{

		document.getElementById(id).className += ' hidden';

	}

}



function _open(id)

{

	document.getElementById(id).className = str_replace('hidden', ' ', document.getElementById(id).className);

}



function _close(id)

{

	document.getElementById(id).className += ' hidden';

}



function changeInner(obj, a1, a2)

{

	if (obj.value == 1) {

		obj.innerHTML = a2;

		obj.value = 0;

	}else{

		obj.innerHTML = a1;

		obj.value = 1;

	}

}



function open_close_wa(id, obj)

{

	

	if (document.getElementById(id).className  == 'hidden') {

		document.getElementById(id).className = 'visible';

		//obj.className = 'active';

	}else{

		document.getElementById(id).className = 'hidden';

		//obj.className = null;

	}

}



function show_div(d1,d2,d3)

{

	document.getElementById(d1).style.display='block';

	document.getElementById(d2).style.display='none';

	document.getElementById(d3).style.display='none';

}



function getDomain()

{

	var d = document.domain;

	return str_replace('www.','',d);	

}	



function set_cookie(sName, sValue)

{

  document.cookie = sName + "=" + escape(sValue) + "; expires=Tue, 14 Dec 2030 23:59:59 GMT; path=/; domain=."+getDomain();

}



function res_rub()

{

	switch (getCookie('res')) {

		case 'tag':

			bookmarks('bm', document.getElementById('bmtag'), 'divbm', 'tag'); break;

		case 'rub':

			bookmarks('bm', document.getElementById('bmrub'), 'divbm', 'rub'); break;

		case 'cit':

			bookmarks('bm', document.getElementById('bmcit'), 'divbm', 'cit'); break;

	}

}



function blogres_rub()

{



	switch (getCookie('blog_res')) {

		case 'tag':

			bookmarks('bm', document.getElementById('bmtag'), 'divbm', 'tag'); break;

		case 'rub':

			bookmarks('bm', document.getElementById('bmrub'), 'divbm', 'rub'); break;

		case 'cit':

			bookmarks('bm', document.getElementById('bmcit'), 'divbm', 'cit'); break;

	}

}



function bookmarks(bmDivId, bmObj, divDivId, divId)

{

	var bmDiv = document.getElementById(bmDivId);

	var divDiv = document.getElementById(divDivId);

	var div = document.getElementById(divId);



	for (var i=0; i < bmDiv.childNodes.length; i++) {

		if (bmDiv.childNodes[i].tagName == 'A') {

		 bmDiv.childNodes[i].className = null;

		}

	}

	

	bmObj.className = 'active';

	bmObj.blur();

	

	for (var i=0; i < divDiv.childNodes.length; i++) {

		if (divDiv.childNodes[i].tagName == 'DIV') {

		 divDiv.childNodes[i].className = null;

		 divDiv.childNodes[i].className = 'hidden';

		}

	}

	

	div.className = null;



}



/**

*

*  Secure Hash Algorithm (SHA1)

*  http://www.webtoolkit.info/

*

**/



function sha1 (msg) {



    function rotate_left(n,s) {

        var t4 = ( n<<s ) | (n>>>(32-s));

        return t4;

    };



    function lsb_hex(val) {

        var str="";

        var i;

        var vh;

        var vl;



        for( i=0; i<=6; i+=2 ) {

            vh = (val>>>(i*4+4))&0x0f;

            vl = (val>>>(i*4))&0x0f;

            str += vh.toString(16) + vl.toString(16);

        }

        return str;

    };



    function cvt_hex(val) {

        var str="";

        var i;

        var v;



        for( i=7; i>=0; i-- ) {

            v = (val>>>(i*4))&0x0f;

            str += v.toString(16);

        }

        return str;

    };





    function Utf8Encode(string) {

        string = string.replace(/\r\n/g,"\n");

        var utftext = "";



        for (var n = 0; n < string.length; n++) {



            var c = string.charCodeAt(n);



            if (c < 128) {

                utftext += String.fromCharCode(c);

            }

            else if((c > 127) && (c < 2048)) {

                utftext += String.fromCharCode((c >> 6) | 192);

                utftext += String.fromCharCode((c & 63) | 128);

            }

            else {

                utftext += String.fromCharCode((c >> 12) | 224);

                utftext += String.fromCharCode(((c >> 6) & 63) | 128);

                utftext += String.fromCharCode((c & 63) | 128);

            }



        }



        return utftext;

    };



    var blockstart;

    var i, j;

    var W = new Array(80);

    var H0 = 0x67452301;

    var H1 = 0xEFCDAB89;

    var H2 = 0x98BADCFE;

    var H3 = 0x10325476;

    var H4 = 0xC3D2E1F0;

    var A, B, C, D, E;

    var temp;



    msg = Utf8Encode(msg);



    var msg_len = msg.length;



    var word_array = new Array();

    for( i=0; i<msg_len-3; i+=4 ) {

        j = msg.charCodeAt(i)<<24 | msg.charCodeAt(i+1)<<16 |

        msg.charCodeAt(i+2)<<8 | msg.charCodeAt(i+3);

        word_array.push( j );

    }



    switch( msg_len % 4 ) {

        case 0:

            i = 0x080000000;

        break;

        case 1:

            i = msg.charCodeAt(msg_len-1)<<24 | 0x0800000;

        break;



        case 2:

            i = msg.charCodeAt(msg_len-2)<<24 | msg.charCodeAt(msg_len-1)<<16 | 0x08000;

        break;



        case 3:

            i = msg.charCodeAt(msg_len-3)<<24 | msg.charCodeAt(msg_len-2)<<16 | msg.charCodeAt(msg_len-1)<<8    | 0x80;

        break;

    }



    word_array.push( i );



    while( (word_array.length % 16) != 14 ) word_array.push( 0 );



    word_array.push( msg_len>>>29 );

    word_array.push( (msg_len<<3)&0x0ffffffff );





    for ( blockstart=0; blockstart<word_array.length; blockstart+=16 ) {



        for( i=0; i<16; i++ ) W[i] = word_array[blockstart+i];

        for( i=16; i<=79; i++ ) W[i] = rotate_left(W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16], 1);



        A = H0;

        B = H1;

        C = H2;

        D = H3;

        E = H4;



        for( i= 0; i<=19; i++ ) {

            temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;

            E = D;

            D = C;

            C = rotate_left(B,30);

            B = A;

            A = temp;

        }



        for( i=20; i<=39; i++ ) {

            temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;

            E = D;

            D = C;

            C = rotate_left(B,30);

            B = A;

            A = temp;

        }



        for( i=40; i<=59; i++ ) {

            temp = (rotate_left(A,5) + ((B&C) | (B&D) | (C&D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;

            E = D;

            D = C;

            C = rotate_left(B,30);

            B = A;

            A = temp;

        }



        for( i=60; i<=79; i++ ) {

            temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;

            E = D;

            D = C;

            C = rotate_left(B,30);

            B = A;

            A = temp;

        }



        H0 = (H0 + A) & 0x0ffffffff;

        H1 = (H1 + B) & 0x0ffffffff;

        H2 = (H2 + C) & 0x0ffffffff;

        H3 = (H3 + D) & 0x0ffffffff;

        H4 = (H4 + E) & 0x0ffffffff;



    }



    var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);



    return temp.toLowerCase();



}





function check_mail(str){

	var reg=/^[a-z0-9._\-]+@[a-z0-9\-_]+\.[a-z]{2,4}$/i;

	return result=reg.test(str);

}





	function direct(domen, url, title, referrer, stat_id)
	{
		JsHttpRequest.query(
			'/lib/ajax/direct.php',
	            {
	            	'domen' 	: domen,
	            	'url'		: url,
	            	'title'		: title,
	            	'referrer'	: referrer,
	            	'stat_id'	: stat_id
	            },
	            function(result, errors) {
	            	//alert(errors);
	            },
	            false  // do not disable caching
	        );
	}

	function directClickParse()
	{
		var links = document.getElementsByTagName('A');
		var ytr = document.getElementById('ytr');

		for (var i=0; i<links.length; i++) {
			if (links[i].hostname.indexOf('an.yandex.ru')!=-1 && links[i].innerHTML!='Все объявления' && links[i].innerHTML!='Дать объявление' && links[i].innerHTML!='Разместить объявление' && links[i].innerHTML!='Адрес и телефон') {
				links[i].onclick = function () { 
					var reg = /(?:www\.)?[\w\-_]+[\.]+[\w_\-\.]+/;
					var l = this.parentNode.parentNode.getElementsByTagName('span');
					var text = str_replace('an.yandex.ru', '', l[0].innerHTML);
					var li = reg.exec(text);
					var reg2 = /stat-id=([0-9]+)/;
					var stat_id = reg2.exec(this.href);
					//alert(stat_id[1]);
					//alert(document.location.href);
					direct(li[0], document.location.href, this.innerHTML, document.referrer, stat_id ? stat_id[1] : null);
					//return false;
				}
			}
		}
	}
Pager = function (pageSize, contener, prefix, prev, next)
{

	this.contener = document.getElementById(contener);
	this.prevEl = document.getElementById(prev);
	this.nextEl = document.getElementById(next);
	this.prefix = prefix;

	this.divs = new Array();
	this.divsClassNames = new Array();
	this.length = -1;
	for (var i = 0; i < this.contener.childNodes.length; i++) {
		if (this.contener.childNodes[i].id && this.contener.childNodes[i].id.indexOf(this.prefix)!=-1) {
			this.divs[this.divs.length] = this.contener.childNodes[i];
			this.divsClassNames[this.divsClassNames.length] = this.contener.childNodes[i].className;
			this.length++;
		}
	}

	this.begin = 0;
	this.size = pageSize;

	this.show();
	
}

Pager.init = function(pageSize, contener, prefix, prev, next) {

	var r = new Pager(pageSize, contener, prefix, prev, next);
	
	r.nextEl.onclick = function() {r.next(); return false;}
	r.prevEl.onclick = function() {r.prev(); return false;}
}

Pager.prototype.show = function ()
{
	for (var i = 0; i < this.divs.length; i++)
	{
		if (i >= this.begin && i < (this.size+this.begin)){
			this.divs[i].className = this.divsClassNames[i];
		}else{
			this.divs[i].className = 'hidden';
		}
	}

	if (this.begin + this.size <= this.length){
		this.nextEl.className = null;
	}else{
		this.nextEl.className = 'disabled';
	}

	if (this.begin - this.size >= 0){
		this.prevEl.className = null;
	}else{
		this.prevEl.className = 'disabled';
	}
}

Pager.prototype.next = function ()
{
	if (this.begin + this.size <= this.length)
	{
		this.begin = this.begin + this.size;
		this.show();
	}
}

Pager.prototype.prev = function ()
{
	if (this.begin - this.size >= 0)
	{
		this.begin = this.begin - this.size;
		this.show();
	}
}