function view_div(div_id) {
  var _this=document.getElementById(div_id);
  var _display = _this.style.display;
  if (_display=='none') {
    _this.style.display='block';
  } else {
    _this.style.display='none';
  }
  return false;
}

function openPopupWindow(url) {
        var p=window.open(url,'nameWindow','width=710,height=700,resizable=yes,toolbar=0,status=0,top=0,left=0,scrollbars=yes');
        p.focus();
}

function change_bg_color(item,color,scolor) {
	if (select!= "" && select!=item) {
		thisitem=document.getElementById(select);
		thisitem.style.backgroundColor=color;
	}
	thisitem=document.getElementById(item);
	thisitem.style.backgroundColor=scolor;
	select=item
}

function showBusyLayer() {
		var busyLayer = document.getElementById("busy_layer")
		if (busyLayer != null) {
			busyLayer.style.visibility = "visible";
			busyLayer.style.height = "2500px";
		}
}
	
function hideBusyLayer() {
		var busyLayer = document.getElementById("busy_layer")
		if (busyLayer != null) {
			busyLayer.style.visibility = "hidden";
			busyLayer.style.height = "0px";
		}
}

function _get_obj_toppos(obj)
{
	var top = obj.offsetTop;
	
	while( (obj = obj.offsetParent) != null )
	{
		top += obj.offsetTop;
	}
	
	return top;
}

function center_div()
{
	this.divname = '';
	this.divobj  = '';
}
center_div.prototype.clear_div = function()
{
	try
	{
		if ( ! this.divobj )
		{
			return;
		}
		else
		{
			this.divobj.style.display  = 'none';
		}
	}
	catch(e)
	{
		return;
	}
}
center_div.prototype.Ywindow = function()
{
	var scrollY = 0;
	
	if ( document.documentElement && document.documentElement.scrollTop )
	{
		scrollY = document.documentElement.scrollTop;
	}
	else if ( document.body && document.body.scrollTop )
	{
		scrollY = document.body.scrollTop;
	}
	else if ( window.pageYOffset )
	{
		scrollY = window.pageYOffset;
	}
	else if ( window.scrollY )
	{
		scrollY = window.scrollY;
	}
	
	return scrollY;
}
center_div.prototype.move_div = function()
{
	try
	{
		this.divobj = document.getElementById( this.divname );
	}
	catch(e)
	{
		return;
	}
	
	//----------------------------------
	// Figure width and height
	//----------------------------------
	
	var my_width  = 0;
	var my_height = 0;
	
	if ( typeof( window.innerWidth ) == 'number' )
	{
		my_width  = window.innerWidth;
		my_height = window.innerHeight;
	}
	else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
	{
		my_width  = document.documentElement.clientWidth;
		my_height = document.documentElement.clientHeight;
	}
	else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
	{
		my_width  = document.body.clientWidth;
		my_height = document.body.clientHeight;
	}
	
	this.divobj.style.position = 'absolute';
	this.divobj.style.display  = 'block';
	this.divobj.style.zIndex   = 99;
	
	var divheight = parseInt( this.divobj.style.Height );
	var divwidth  = parseInt( this.divobj.style.Width );
	
	divheight = divheight ? divheight : 50;
	divwidth  = divwidth  ? divwidth  : 200;
	
	var scrolly = this.Ywindow();
	
	var setX = ( my_width  - divwidth  ) / 2;
	var setY = ( my_height - divheight ) / 2 + scrolly;
	
	setX = ( setX < 0 ) ? 0 : setX;
	setY = ( setY < 0 ) ? 0 : setY;
	
	this.divobj.style.left = setX + "px";
	this.divobj.style.top  = setY + "px";
}

function dle_ajax(file){
	this.AjaxFailedAlert = "Ваш браузер не поддерживает расширенные возможности управления сайтом, мы настоятельно рекомендуем сменить браузер.\n";
	this.requestFile = file;
	this.method = "POST";
	this.URLString = "";
	this.encodeURIString = true;
	this.execute = false;
	this.add_html = false;
	this.loading_fired		= 0;
	this.centerdiv          = null;

	this.onLoading = function() { };
	this.onLoaded = function() { };
	this.onInteractive = function() { };
	this.onCompletion = function() { };

	this.onShow = function( message )
	{
		if ( ! this.loading_fired )
		{
			this.loading_fired = 1;
		
			//------------------------------------------------
			// Change text?
			//------------------------------------------------
		
		if ( message )
		{
			document.getElementById( 'loading-layer-text' ).innerHTML = message;
		}
		
		this.centerdiv         = new center_div();
		this.centerdiv.divname = 'loading-layer';
		this.centerdiv.move_div();
		}
		
		return;
	};

	this.onHide = function()
	{
		try
		{
			if ( this.centerdiv && this.centerdiv.divobj )
			{
				this.centerdiv.clear_div();
			}
		}
		catch(e)
		{
		}
	
		this.loading_fired = 0;
		return;
};

	this.createAJAX = function() {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err) {
				this.xmlhttp = null;
			}
		}
		if(!this.xmlhttp && typeof XMLHttpRequest != "undefined")
			this.xmlhttp = new XMLHttpRequest();
		if (!this.xmlhttp){
			this.failed = true; 
		}
	};
	
	this.setVar = function(name, value){
		if (this.URLString.length < 3){
			this.URLString = name + "=" + value;
		} else {
			this.URLString += "&" + name + "=" + value;
		}
	}
	
	this.encVar = function(name, value){
		var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value);
	return varString;
	}
	
	this.encodeURLString = function(string){
		varArray = string.split('&');
		for (i = 0; i < varArray.length; i++){
			urlVars = varArray[i].split('=');
			if (urlVars[0].indexOf('amp;') != -1){
				urlVars[0] = urlVars[0].substring(4);
			}
			varArray[i] = this.encVar(urlVars[0],urlVars[1]);
		}
	return varArray.join('&');
	}

	this.encodeVAR = function(url){
	
	url = url.toString();

	var regcheck = url.match(/[\x90-\xFF]/g);
	
	if ( regcheck )
	{
		for (var i = 0; i < i.length; i++)
		{
			url = url.replace(regcheck[i], '%u00' + (regcheck[i].charCodeAt(0) & 0xFF).toString(16).toUpperCase());
		}
	}

	return escape(url).replace(/\+/g, "%2B");
	}
	
	this.runResponse = function(){

                        var milisec = new Date;
                        var jsfound = false;
                        milisec = milisec.getTime();

                        var js_reg = /<script.*?>(.|[\r\n])*?<\/script>/ig;

                        var js_str = js_reg.exec(this.response);
                        if (js_str != null) {

						var js_arr = new Array(js_str.shift());
                        var jsfound = true;
        
                        while(js_str) {
                                js_str = js_reg.exec(this.response);
                                if (js_str != null) js_arr.push(js_str.shift());
                        }

                          for(var i=0; i<js_arr.length;i++) {
                                this.response = this.response.replace(js_arr[i],'<span id="'+milisec+i+'" style="display:none;"></span>');
                          }
						}
                            if ( this.add_html ) {
                                this.elementObj.innerHTML += this.response; 
                            } else {
                                this.elementObj.innerHTML = this.response; 
                            }

                        if (jsfound) {

                        var js_content_reg = /<script.*?>((.|[\r\n])*?)<\/script>/ig;

                        for (i = 0; i < js_arr.length; i++) {
                                var mark_node = document.getElementById(milisec+''+i);
                                var mark_parent_node = mark_node.parentNode;
                                mark_parent_node.removeChild(mark_node);
                                
                                js_content_reg.lastIndex = 0;
                                var js_content = js_content_reg.exec(js_arr[i]);
                                var script_node = mark_parent_node.appendChild(document.createElement('script'));
							    script_node.text = js_content[1];  

                                var script_params_str = js_arr[i].substring(js_arr[i].indexOf(' ',0),js_arr[i].indexOf('>',0));
                                var params_arr = script_params_str.split(' ');

								if (params_arr.length > 1) {
                                   for (var j=0;j< params_arr.length; j++ )        {
                                        
                                        if(params_arr[j].length > 0){
                                                var param_arr = params_arr[j].split('=');
                                                param_arr[1] = param_arr[1].substr(1,(param_arr[1].length-2));
                                                script_node.setAttribute(param_arr[0],param_arr[1]);
                                        }

                                  }
				}

                          }
                        }
	}
	
	this.sendAJAX = function(urlstring){
		this.responseStatus = new Array(2);
		if(this.failed && this.AjaxFailedAlert){ 
			alert(this.AjaxFailedAlert); 
		} else {
			if (urlstring){ 
				if (this.URLString.length){
					this.URLString = this.URLString + "&" + urlstring; 
				} else {
					this.URLString = urlstring; 
				}
			}
			if (this.encodeURIString){
				var timeval = new Date().getTime(); 
				this.URLString = this.encodeURLString(this.URLString);
				this.setVar("rndval", timeval);
			}
			if (this.element) { this.elementObj = document.getElementById(this.element); }
			if (this.xmlhttp) {
				var self = this;
				if (this.method == "GET") {
					var totalurlstring = this.requestFile + "?" + this.URLString;
					this.xmlhttp.open(this.method, totalurlstring, true);
				} else {
					this.xmlhttp.open(this.method, this.requestFile, true);
				}
				if (this.method == "POST"){
  					try {
						this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded')  
					} catch (e) {}
				}

				this.xmlhttp.send(this.URLString);
				this.xmlhttp.onreadystatechange = function() {
					switch (self.xmlhttp.readyState){
						case 1:
							self.onLoading();
						break;
						case 2:
							self.onLoaded();
						break;
						case 3:
							self.onInteractive();
						break;
						case 4:
							self.response = self.xmlhttp.responseText;
							self.responseXML = self.xmlhttp.responseXML;
							self.responseStatus[0] = self.xmlhttp.status;
							self.responseStatus[1] = self.xmlhttp.statusText;
						    self.onHide();
							self.onCompletion();
							if (self.elementObj) {
								var elemNodeName = self.elementObj.nodeName;
								elemNodeName = elemNodeName.toLowerCase();
								if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){
									if (self.response == 'error') { alert('Доступ отклонен'); } else {
                                    if ( self.add_html ) {
									self.elementObj.value += self.response;
                                    } else { self.elementObj.value = self.response;}
									}
								} else {
									if (self.response == 'error') { alert('Доступ отклонен'); } else {
									if(self.execute) { self.runResponse(); } else {
                                        if ( self.add_html ) {

                                           self.elementObj.innerHTML += self.response;

                                        } else	{ self.elementObj.innerHTML = self.response; }
                                      }
									}
								}
							}
							self.URLString = "";
						break;
					}
				};
			}
		}
	};
this.createAJAX();
}

function doCalendar(date){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("date", date);
	ajax.requestFile = "http://www.stapravda.ru/ajax_calendar.php";
	ajax.method = 'GET';
	ajax.element = 'calendar-layer';
	ajax.sendAJAX(varsString);
}

function doCalendarAfisha(date){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("date", date);
	ajax.requestFile = "http://afisha.stavropolka.ru/ajax_calendar.php";
	ajax.method = 'GET';
	ajax.element = 'calendar-layer';
	ajax.sendAJAX(varsString);
}

function doPhoto(id,pid){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("get_photo", true);
	ajax.requestFile = "http://www.stapravda.ru/photo/pages/"+pid+"/"+id+".html";
	ajax.method = 'GET';
	ajax.element = 'photo-layer';
	ajax.sendAJAX(varsString);
}

function doOtherNews(url){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("get_other_news", true);
	ajax.requestFile = "http://www.stapravda.ru/ajax"+url+".html";
	ajax.method = 'GET';
	ajax.element = 'othernews';
	ajax.sendAJAX(varsString);
}

function doOneNews(url,pubid){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("get_other_news", true);
	ajax.requestFile = "http://www.stapravda.ru/onenews"+url+".html";
	ajax.method = 'GET';
	ajax.element = 'news_'+pubid;
	ajax.sendAJAX(varsString);
}
function doOneNewsClose(url,pubid){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("get_other_news", true);
	ajax.requestFile = "http://www.stapravda.ru/onenewsclosed"+url+".html";
	ajax.method = 'GET';
	ajax.element = 'news_'+pubid;
	ajax.sendAJAX(varsString);
}
function doOpenAllNews(url){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("get_other_news", true);
	ajax.requestFile = "http://www.stapravda.ru/allothernews"+url+".html";
	ajax.method = 'GET';
	ajax.element = 'all_other_news';
	ajax.sendAJAX(varsString);
}
function doCloseAllNews(url){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("get_other_news", true);
	ajax.requestFile = "http://www.stapravda.ru/allothernewsclose"+url+".html";
	ajax.method = 'GET';
	ajax.element = 'all_other_news';
	ajax.sendAJAX(varsString);
}
function OpenCloseAllNews(count,allnews,puburl) {
	element = document.getElementById('OpenCloseAllNews');
	if (count==allnews){
		element.innerHTML = "<a href=\"#\" onclick=\"c=0;OpenCloseAllNews(0,"+allnews+",'"+puburl+"');doCloseAllNews('"+puburl+"'); return false;\">Скрыть</a>";
	}else{
		element.innerHTML = "<a href=\"#\" onclick=\"c="+allnews+";OpenCloseAllNews("+allnews+","+allnews+",'"+puburl+"');doOpenAllNews('"+puburl+"'); return false;\">Показать</a>";
	}
}
function SendMailToAutor(aid,url,subject,message,name,from,email,wclose){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("aid", aid);
	ajax.setVar("url", url);
	ajax.setVar("subject", subject);
	ajax.setVar("message", message);
	ajax.setVar("name", name);
	ajax.setVar("from", from);
	ajax.setVar("email", email);
	ajax.setVar("wclose", wclose);
	ajax.requestFile = "http://www.stapravda.ru/send_mail_to_autor.php";
	ajax.method = 'GET';
	ajax.element = 'send-mail-layer';
	ajax.sendAJAX(varsString);
}
function getMailData(){
	aid = document.forms.sendmail.elements.aid.value;
	url = document.forms.sendmail.elements.url.value;
	subject = document.forms.sendmail.elements.subject.value;
	message = document.forms.sendmail.elements.message.value;
	name = document.forms.sendmail.elements.name.value;
	from = document.forms.sendmail.elements.from.value;
	email = document.forms.sendmail.elements.email.value;
	wclose = document.forms.sendmail.elements.wclose.value;
	document.forms.sendmail.elements.button_send.disabled='disabled';
    SendMailToAutor(aid,url,subject,message,name,from,email,wclose);
}
/*
function doCSite(url){
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "";
	ajax.setVar("url", url);
	ajax.requestFile = "http://www.stapravda.ru/csite/";
	ajax.method = 'GET';
	ajax.element = 'csite';
	ajax.sendAJAX(varsString);
}
*/
var text_pub = "";
function doCSite(url) {
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS.e) {
				if (req.responseJS.r) {
				//	window.location = "/copyright/";
					text_pub = document.getElementById('main_content').innerHTML;
					document.getElementById('main_content').innerHTML = req.responseJS.message;
				} else {
					alert(req.responseJS.message);	
				}
			}
		}
	}
	req.open('GET', '/csite/', true);
	req.send( { url: url } );
	return false;
}
function closeMessCopy(){
	document.getElementById('main_content').innerHTML = text_pub;
}
/* ajax */

function InputPlaceholder (input, value, cssFilled, cssEmpty)
{
	var thisCopy = this
	
	this.Input = input
	this.Value = value
	this.SaveOriginal = (input.value == value)
	this.CssFilled = cssFilled
	this.CssEmpty = cssEmpty

	this.setupEvent (this.Input, 'focus', function() {return thisCopy.onFocus()})
	this.setupEvent (this.Input, 'blur',  function() {return thisCopy.onBlur()})
	this.setupEvent (this.Input, 'keydown', function() {return thisCopy.onKeyDown()})

	if (input.value == '') this.onBlur();

	return this
}

InputPlaceholder.prototype.setupEvent = function (elem, eventType, handler)
{
	if (elem.attachEvent)
	{
		elem.attachEvent ('on' + eventType, handler)
	}

	if (elem.addEventListener)
	{
		elem.addEventListener (eventType, handler, false)
	}
}

InputPlaceholder.prototype.onFocus = function()
{
	if (!this.SaveOriginal &&  this.Input.value == this.Value)
	{
		this.Input.value = ''
	}
	else
	{
			this.Input.className = ''
	}
}

InputPlaceholder.prototype.onKeyDown = function()
{
	this.Input.className = ''
}

InputPlaceholder.prototype.onBlur = function()
{
	if (this.Input.value == '' || this.Input.value == this.Value)
	{
		this.Input.value = this.Value
		this.Input.className = this.CssEmpty
	}
	else
	{
		this.Input.className = this.CssFilled
	}
}

/* адаптивный вывод календаря */
window.onload = init; 
window.onresize = init;
var g_count=1; // дефолтное кол-во колонок, генерируемое на сервере
function init(){
	g_result=document.getElementById("arch_table");
	if(g_result){
		g_tds=g_result.getElementsByTagName("td");
		window.onresize=resize;
		resize();
	}
}
// Считаем кол-во колонок, которое помещается в экран
function CountColumns(){
	var c=Math.floor(document.documentElement.offsetWidth/(300));
	return c>0?c:1;
	}
function resize(){
	var cols=CountColumns();// кол-во столбцов в таблице
	if(g_count==cols){return;}//ничего не делать, если кол-во колонок то же, что и ранее
	g_count=cols; 
	var table=document.createElement("table");
	var tbody=document.createElement("tbody");
	var rows=g_tds.length/cols; // считаем кол-во строк в таблице
	var width=100/cols; // ширина каждой ячейки в процентах
	for(var j=0;j<rows;j++){
		var row1=document.createElement("tr");
		for(var i=0;i<cols;i++){
			if(!g_tds[0]){break;}
			g_tds[0].style.width=width+"%";
			row1.appendChild(g_tds[0]);
		}
		tbody.appendChild(row1);
	}
	table.appendChild(tbody);
	table=g_result.appendChild(table);// добавляем новую таблицу
	var prev=table.previousSibling;
	if(prev!=null)prev.parentNode.removeChild(prev);// удаляем старую таблицу
}
/* списки ссылок */
var g_dropdown;
function dropdown(a){
	var d=document;
	var esc=function(e){
		e=e||event;
		if((e.keyCode==27)&&!(e.ctrlKey||e.altKey)){
			cancel();
		}
	};
	var click=function(e){
		var a=(e||event).target;
		while(a){
			if(a.className&&(a.className.indexOf("b-dropdown")!=-1)){return;}
			a=a.parentNode;
		}
		cancel();
	};
	var cancel=function(){
		var p=g_dropdown;
		if(p){
			delEvent(d,"click",click);
			delEvent(d,"keydown",esc);
			p.style.visibility="hidden";
			p.parentNode.removeChild(p);
			g_dropdown=0;
		}
	};
	cancel();
	var menu=a;
	while(menu.className.indexOf("b-dropdown")==-1){menu=menu.parentNode;}
	if(menu.parentNode){
		g_dropdown=document.createElement("div");
		g_dropdown.className="b-dropdown-popup";
//		var f=document.createElement("iframe");
//		f.src="javascript:void(0)";
//		f.frameBorder=0;
//		g_dropdown.appendChild(f);
		g_dropdown.appendChild(menu.cloneNode(true));
		var p=menu.parentNode;
		p.insertBefore(g_dropdown,menu);
		addEvent(d,"keydown",esc);
		addEvent(d,"click",click);
		if(window.event){event.cancelBubble=true;}
	}
	return false;
}
function addEvent(obj,type,func){
	if(obj.addEventListener){
		obj.addEventListener(type,func,0);
	}else if(obj.attachEvent){
		obj.attachEvent("on"+type,func);
	}
}
function delEvent(obj,type,func){
	if(obj.removeEventListener){
		obj.removeEventListener(type,func,0);
	} else if(obj.detachEvent){
		obj.detachEvent("on"+type,func);
	}
}