var opened = '';
var _Browser = getBrowserInfo();
_mess_err='Ошибка выполнения скрипта!\n Обратитесь к администратору портала!';


function banpop(img, e)
{
	var vpop = document.getElementById('pop');
	var x = 0;
	var y = 0;
	if (e.pageY) {
		y = e.pageY;
		x = e.pageX;
	}
	else
	{
		y = e.y + document.documentElement.scrollTop;
		x = e.x + document.documentElement.scrollLeft;
	}
	vpop.style.top = '' + (y + 5) + 'px';
	vpop.style.left = '' + (x - 190) + 'px';
	vpop.src = '/' + img;
	vpop.style.display = 'block';
}

function banhide() {
	var pop = document.getElementById('pop');
	pop.style.display = 'none';
}

function fToggleMenu(obj)
{
	var obj = obj.nextSibling;
	while(obj.className!='submenu')
		obj = obj.nextSibling;
	
	if (obj.style.display == 'none')
	{
		if (opened != '')
		{
			opened.style.display = 'none';
		}
		
		obj.style.display = 'block';
		opened = obj;
	}
	else
	{
		obj.style.display = 'none';
	}
	return false;
}

function login_form()
{
	obj = GetElem('flogin');
	
	if (obj)
	{
		if (obj.style.display == 'block')
		{
			obj.style.display = 'none';
		}
		else
		{
			obj.style.display = 'block';
			document.getElementsByName('name')[0].focus();
		}

		obj = GetElem('link_login');
		if (obj)
		{
			obj.href = '#';
		}
	}
}

function fCloseLoginForm()
{
	obj = GetElem('flogin');
	
	if (obj)
	{
		obj.style.display = 'none';
	}
}

function loadMapTF(id,tollb,cityid)
{/*Загрузка карты в объект-фрейм id*/
	var LMP = GetElem(id);
	if(LMP)
	{
		if(!LMP.src || LMP.style.display=='none')
		{
			src= '/script_load_map.php?toolbar='+tollb;
			if(cityid!='') {
				cityid = GetElem(cityid).value;
				if(cityid>0) {
					src +='&city='+cityid;
					LMP.src= src;
					LMP.style.display='block';
				}else alert('Выберете регион!');
			}else {
				LMP.src= src;
				LMP.style.display='block';
			}
		}
		/*else if(LMP.style.display=='none')
			LMP.style.display='block';*/
		else
			LMP.style.display='none';
	}
}


/*----------------- UTILITs -----------------------*/
function showi(obj,id,show,hide) {
//функция для отоюражения елемента id и смены рисунка на объекте obj
	if(GetElem(id).style.display=='block') {
		if(obj.src) obj.src = hide;
		GetElem(id).style.display='none';
	}
	else {
		if(obj.src) obj.src = show;
		GetElem(id).style.display='block';
	}
}

function textareaChange(obj,max)
{
	/* Утилита для подсчёта кол сиволов в форме, автоматически создаёт необходимые поля*/

	if(obj.nextSibling.tagName!='SPAN')
	{
		var newobj = CreateElem("SPAN",{'class': 'dscr','name': 'counter'});
		newobj.innerHTML = 'Cимволов:<input type="text" id="'+obj.name+'t2" maxlength="5" readonly="false" class="textcount" value="'+obj.value.length+'" style="text-align:right;"/>/<input type="text" id="'+obj.name+'t1" maxlength="5" readonly="false" value="'+max+'" class="textcount"/>'
		pOBJ = obj.parentNode;
		pOBJ.insertBefore(newobj,obj.nextSibling);
	}else
		GetElem(obj.name+'t2').value = obj.value.length;

}

function fDelAlert(delhref)
{
	if(confirm("Вы действительно хотите провести операцию удаления?")) location.href = delhref;
	return false;
}

function LayerShowImg(href) {
	return false;
}
function fDelAlertFromForm(formname,elemname)
{
	eval('fObj = document.forms.'+formname+'.elements.'+elemname+'');
	if(fObj && fObj.checked)
		if(!confirm("Вы действительно хотите провести операцию удаления?")) fObj.checked = 0;
}

function markErorrTr(arr_name)
{
	for (var item in arr_name)
	{
		if(obj = GetElem("tr_"+arr_name[item]))
		{
			obj.childNodes[0].style.background ='#ffc0c0';
			obj.childNodes[1].style.background ='#ffc0c0';
		}
	}
}
	function expand_ul(obj)
	{
		obj = obj.nextSibling;
		obj2 = obj.parentNode;
		if ("none" == obj.style.display)
		{
			obj.style.display = "block";
			obj2.className='m_expand_li';								
		}
		else
		{
			obj.style.display = "none";
			obj2.className='p_expand_li';																			
		}
	}

	function getBrowserInfo() {
		var t,v = undefined;
		if (window.opera) t = 'Opera';
		else if (document.all) {
			t = 'IE';
			var nv = navigator.appVersion;
			var s = nv.indexOf('MSIE')+5;
			v = nv.substring(s,s+1);
		}
		else if (navigator.appName) t = 'Netscape';
		return {type:t,version:v};
	}
	 
	function bookmark(a,url,title){
		if(!url) {url = window.document.location;alert(url);}
		if(!title) title = window.document.title;
		if (_Browser.type == 'IE' && 7 > _Browser.version && _Browser.version >= 4) window.external.AddFavorite(url,title);
		else if (_Browser.type == 'Opera') {
			a.href = url;
			a.rel = "sidebar";
			a.title = url+','+title;
			return true;
		}
		else if (_Browser.type == "Netscape") window.sidebar.addPanel(title,url,"");
		else alert("Нажмите CTRL-D, чтобы добавить страницу в закладки.");
		return false;
	}

	function explode( delimiter, string ) {
		var emptyArray = { 0: '' };
		if ( arguments.length != 2
			|| typeof arguments[0] == 'undefined'
			|| typeof arguments[1] == 'undefined' )
		{
			return null;
		}
		if ( delimiter === ''
			|| delimiter === false
			|| delimiter === null )
		{
			return false;
		}
	 
		if ( typeof delimiter == 'function'
			|| typeof delimiter == 'object'
			|| typeof string == 'function'
			|| typeof string == 'object' )
		{
			return emptyArray;
		}
	 
		if ( delimiter === true ) {
			delimiter = '1';
		}
		return string.toString().split ( delimiter.toString() );
	}

	function isArray(a) {/*аналог ф в ПХП*/
	  return a && typeof a == 'object' && a.constructor == Array;
	}

	function in_array(what, where) {/*аналог ф в ПХП*/
		var a=false;
		for(var i=0; i<where.length; i++) {
			if(what == where[i]) {
				a=true;
				break;
			}
		}
		return a;
	}

	function dump(arr, level) {/*аналог ф в ПХП print_r*/
		var dumped_text = "";
		if(!level) level = 0;

		var level_padding = "    ";

		if(typeof(arr) == 'object') {
			for(var item in arr) {
				var value = arr[item];
	 
				if(typeof(value) == 'object') {
					dumped_text += level_padding + "’" + item + "’ …\n";
					if(level>0) 
						dumped_text += dump(value,level-1);
				}
				else {
					dumped_text += level_padding + "’" + item + "’ => \"" + value + "\", ";
				}
			}
		}
		else {
			dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
		}
		return dumped_text;
	}

	function confirmMes(mess)
	{
		if(!confirm(mess)) return false;
		else return true;
	}

	function aConfirm(obj,text)
	{
		if(!text) text='Вы согласны перейти по ссылке '+obj.href;
		if(confirm(text)) location.href = obj.href;
		return false;
	}

	function GetElem(idOrName)
	{
		return document.getElementById(idOrName);
	}

	function CreateElem(name, attrs, style, text)
	{
		var e = document.createElement(name);
		if (attrs) {
			for (key in attrs) {
				if (key == 'class') {
					e.className = attrs[key];
				} else if (key == 'id') {
					e.id = attrs[key];
				} else {
					e.setAttribute(key, attrs[key]);
				}
			}
		}
		if (style) {
			for (key in style) {
				e.style[key] = style[key];
			}
		}
		if (text) {
			e.appendChild(document.createTextNode(text));
		}
		return e;
	}

	function objToString(o) {
		var s = '{\n';
		for (var p in o)
		s += ' ' + p + ': ' + o[p] + '\n';
		return s + '}';
	}

	function GetNodeText(node)
	{
		var s = "";
		var childs = node.childNodes;
	 	for (var i = 0; i < childs.length; i++)
	 	{
	 		if (childs[i].nodeType == 3)
	 		{
	 			s += childs[i].nodeValue;
	 		}
	 	}
	 	return s;
	}

	function removeChildren(node) {
		var children = node.childNodes;
		var len = children.length;
		for(var i=0;i<len; i++) {
			node.removeChild(children[0]);
		}
	}

	function setCookie(name, value, expiredays, path, domain, secure) {
	   if (expiredays) {
		  var exdate=new Date();
		  exdate.setDate(exdate.getDate()+expiredays);
		  var expires = exdate.toGMTString();
	   }
	   document.cookie = name + "=" + escape(value) +
	   ((expiredays) ? "; expires=" + expires : "") +
	   ((path) ? "; path=" + path : "") +
	   ((domain) ? "; domain=" + domain : "") +
	   ((secure) ? "; secure" : "");
	}

	function getCookie(name) {
	   var cookie = " " + document.cookie;
	   var search = " " + name + "=";
	   var setStr = null;
	   var offset = 0;
	   var end = 0;
	   if (cookie.length > 0) {
		  offset = cookie.indexOf(search);
		  if (offset != -1) {
			 offset += search.length;
			 end = cookie.indexOf(";", offset)
			 if (end == -1) {
				end = cookie.length;
			 }
			 setStr = unescape(cookie.substring(offset, end));
		  }
	   }
	   return setStr;
	}

	function KeyCode(evt)
	{
		if (evt.keyCode)
		{
			return evt.keyCode;
		}
		return evt.which;
	}

	function OffsetX(evt)
	{
		if (evt.offsetX)
		{
			return evt.offsetX;
		}
		return evt.layerX;
	}

	function OffsetY(evt)
	{
		if (evt.offsetY)
		{
			return evt.offsetY;
		}
		return evt.layerY;
	}

	function WindowEvent(evt)
	{
		if (evt == null)
		{
			return window.event;
		}
		return evt;
	}

	function FireElement(evt)
	{
		if (evt.srcElement)
		{
			return evt.srcElement;
		}
		return evt.target;
	}

	function PosLeft(style)
	{
		if (style.posLeft)
			return style.posLeft;
		return Pos(style.left);
	}

	function PosTop(style)
	{
		if (style.posTop)
			return style.posTop;
		return Pos(style.top);
	}

	function Pos(data)
	{
		if ((data == null) || (data == ''))
			return 0;
		return data.replace("px", "");
	}

	function LoadXMLDoc(url, obj, handlerName)
	{
		var req;

		var handlerRef = function()
		{
			if (req.readyState == 4)
			{
				if (req.status == 200)
				{
					if (handlerName)
					{
						obj[handlerName](req.responseXML);
					}
					else
					{
						obj(req.responseXML);
					}
				} 
				else
				{
					document.write(req.responseText);
					alert("There was a problem retrieving the XML data:\n" + req.statusText); 
				}
			}
		}

		if (window.XMLHttpRequest)
		{
			req = new XMLHttpRequest();
			req.onreadystatechange = handlerRef;
			req.open("GET", url, true);
			req.send(null);
		} 
		else if (window.ActiveXObject)
		{
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req)
			{
				req.onreadystatechange = handlerRef;
				req.open("GET", url, true);
				req.send();
			}
		}
	}

function createRequest()
{
	try{
		request = new XMLHttpRequest();}
	catch (trymicrosoft)
	{
		try{
			request = new ActiveXObject("Msxml2.XMLHTTP");}
		catch (othermicrosoft)
		{
			try{
				request = new ActiveXObject("Microsoft.XMLHTTP");}
			catch (failed){
				request = false;}
		}
	}

	if (!request)
		alert("Некоторые элементы страницы недоступны для просмотра в Вашем браузере.");
}

function createRequest2()
{
	var xmlhttp;

	try
	{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E)
		{
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined')
	{
		xmlhttp = new XMLHttpRequest();
	}

	return xmlhttp;
}


/* 
	Кроссбраузерная функция для установки обработчика событий на любой элемент.
	
	Параметры:
		element		- id элемента или ссылка на элемент
		eventname	- название события (без "on")
		callback	- ссылка на функцию-обработчик
*/
function fHookEvent(element, eventName, callback)
{
	if (typeof(element) == "string") 
		element = GetElem(element);
	if (element == null)
		return;
	if (element.addEventListener) { // Firefox
		if (eventName == 'mousewheel') {
			element.addEventListener('DOMMouseScroll', callback, false); 
		}
		element.addEventListener(eventName, callback, false);
	} else 
		if (element.attachEvent) element.attachEvent("on" + eventName, callback);
}

/*
	Отмена дальнейшей обработки события.
*/
function fCancelEvent(e)
{
	e = e ? e : window.event;
	if (e.stopPropagation)
		e.stopPropagation();
	if (e.preventDefault)
		e.preventDefault();
	e.cancelBubble = true;
	e.cancel = true;
	e.returnValue = false;
	return false;
}

/* OVER ***************************************/

function fSub(id)
{
	var o = GetElem('drs' + id);
	if (o)
	{
		if (o.style.display == 'block')
		{
			o.style.display = 'none';
		}
		else
			o.style.display = 'block';
	}
}

function fRubricTree(id)
{
	ob	= GetElem('sm' + id);
	ob2 = GetElem('li' + id);

	if (ob && ob2)
	{
		if (ob.className == 'spravochniko')
		{
			ob.className = 'spravochnikc';
			ob2.className = 'liexpand'
		}
		else
		{
			ob.className = 'spravochniko';
			ob2.className = 'licollapse'
		}		
	}
	else
		alert('Ошибка!');
}

function checkFirmReg (ths) {
	if(ths.value!='') {
		href= 'http://v-info.ru/script_loadlayer.php';
		query = {"formType":'checkFirm',"request1":ths.value,"request2":ths.id};
		$.getJSON(href,query,
			function(result) {
					if(result.text!='') alert(result.text);// сообщение об ошибке
					if(result.eva!='') eval(result.eva);
					if(result.html!='') $(ths).after(result.html);
			}
		);
	}
}

function openimg(url)
{
	window.open(url, '', 'width=750, height=520, scrollbars, resizable');
}

function swap(fotoId, aId, url, small, p)  {
	f = GetElem('f'+fotoId);
	af = GetElem('af'+fotoId);
	if (url!='')
	{
		af.target="";
		af.href = "javascript:openimg('"+url+"');";

	} else {
		af.target="_blank";
		af.href = "/declare"+fotoId+"_"+aId+".html";
	}
	f.src = small;
	if (!f.selected) f.selected = 'a' +fotoId + '_1';
	a = GetElem(f.selected);
	a.className = '';
	z = 'a'+fotoId + '_' + p;
	a = GetElem(z);
	a.className = "ssa";
	f.selected = z;
}

function fClickDeclAll(event, id)
{
	event = event || window.event;

	t = event.target || event.srcElement;
	//alert(t.className);
	
	if (t.className != 'declmail')
	{
		window.open('/declare' + id + '.html', '', 'width=640,height=440,scrollbars,resizable');
		return false;
	}
}

function radio_faddr(name1,name2,name3) {
	if(name1=='a_street') {
		if($("#"+name3).val()>0) {
			$("#"+name1).removeAttr("disabled");
			$("#"+name2).val('');
			$("#"+name2).attr("disabled","disabled");
			$('#a_street').attr('region','0');
			load_addr($('#a_street'),$("#"+name3).val());
		}
		else {
			$("[@name='firm_addr']:last").removeAttr("checked");
			alert('Сначала выберите регион!');
		}

	}
	else{
		$("#"+name1).removeAttr("disabled");
		addr_hide(1);
	}
}
function load_addr(obj,region,street,house) {
	if(!street) street='';
	if(!house) house='';
	if(street=='' && house=='' && $(obj).attr("region")==region) return false;
	if(house=='' && $(obj).attr("street")==street && $(obj).attr("region")==region) return false;
	if($(obj).attr("house")==house && $(obj).attr("street")==street && $(obj).attr("region")==region) return false;
	if(street!='' && house=='') addr_hide(3);

		obj.removeAttr("disabled");
		$(obj).attr("region",region);
		$(obj).attr("street",street);
		$(obj).attr("house",house);

		$(obj).html('<option value="">Загрузка...</option>');
		$.getJSON(
			'/script_loadlayer.php',
			{"formType":"loadaddr","request1":region,"request2":street,"request3":house},
			function(result) {
				if(result.text!='') alert(result.text);// сообщение об ошибке
				if(result.eva!='') eval(result.eva);
				if(result.html!='') $(obj).html(result.html);
			}
		);
}

function addr_hide(n) {
	if(n<4) {
		$('#a_hliter').attr("disabled","disabled");
		$('#a_hliter').html('<option value="">'+$('#a_hliter').attr("def")+'</option>');
	}
	if(n<3) {
		$('#a_house').attr("disabled","disabled");
		$('#a_house').html('<option value="">'+$('#a_house').attr("def")+'</option>');
	}
	if(n<2) {
		$('#a_street').attr("disabled","disabled");
		$('#a_street').html('<option value="">'+$('#a_street').attr("def")+'</option>');
		$("[@name='firm_addr']:last").removeAttr("checked");
	}
}

function fToggleSpoiler(elem) {
	obj = GetElem(elem);
	if (obj.className.indexOf('hide') > 0) {
		obj.className = 'spoiler_body showspoiler';
	} else {
		obj.className = 'spoiler_body hidespoiler';
	}
}

function spoiler_on()
{
//GetElem('spoiler').style.visibility='visible';
GetElem('spoiler').style.display='';
}
function spoiler_off()
{
//GetElem('spoiler').style.visibility='hidden';
GetElem('spoiler').style.display='none';
} 

/**
 * Выводит список курсов валют в элемент с id "currencies"
 *
 * @param clist Список кодов валют через запятую, например "USD,EUR"
 * @see currency.php
 */
function ShowCurrency(clist) {
/*	$.get("/currency.php", 
		{"clist": clist},
		function (data) {
			$("#currencies").html(data);
		}
	);*/

	createRequest();
	request.open("GET", "/currency.php?clist="+clist, true);
	request.onreadystatechange = function () {
		if ((request.readyState == 4) && (request.status == 200))
			document.getElementById("currencies").innerHTML = request.responseText;
	}
	request.send(null);
}

function showHide(obj) {
	ob = document.getElementById(obj); 
	if (ob.style.display == 'none') 
		ob.style.display = ''; 
	else 
		ob.style.display = 'none';
}

var pImgId = 0;
var stopperAjax = '<div style="position:absolute;height:100%;width:100%;top:0;opacity:0.4;filter:Alpha(Opacity=40);background:none repeat scroll 0 0 gray;"><img src="/im/ajax-loader.gif" style="position:relative;top:30%;left:45%;"/></div>';
var gId = 0; // id просматриваемого фоторепортажа

function formComment(n,modul,id){
	gId = id;
	$(n).ajaxForm({
		url: '/getjson.php?page_id='+modul+'&id='+id,
		beforeSubmit: 
			function(a,f,o) {
				//var formElement = f[0];
				o.dataType = 'json';
				$(n).css({'position':'relative','display':'block'});
				$(n).append(stopperAjax);
				if(pImgId!=0) {
					for(var i=0; i<a.length; i++) {
						if(a[i]['name']=='param') {
							a[i]['value'] = pImgId;
						}
					}
				}
			},
		success: 
			function(result) {
				$(n).html(result.html);
				eval('formComment("'+n+'","'+modul+'","'+id+'");');

			}

	});
}
var ajaxflag = 0;
function piComm(objtab,id) {
	if(ajaxflag) return false;
	if(objtab) {
		$('#submenu_main li').removeClass();
		$(objtab).parent().addClass('open');
	}
	if(id) {
		$("#commentbody0").slideUp("slow");
		$.ajax({
			beforeSend: function(XMLHttpRequest){
				//$("#commentbody0").append(stopperAjax);
				ajaxflag = 1;
			},
			url: "/getjson.php?page_id=photoreport&id="+gId+"&commpi="+pImgId,
			cache: true,
			dataType: "json",
			success: function(result){
				$("#commentbody"+id).html(result.html);
				$("#commentbody"+id).slideDown("slow");
				ajaxflag = 0;
			}
		});
	}else {
		$("#commentbody1").slideUp("slow");
		$("#commentbody0").slideDown("slow");
	}
	return false;
}

function commPage(obj,pageNumber,page,pid) {
	if(ajaxflag) return false;
	objid='';
	if(GetElem('commentbody1') && !$("#commentbody1").is(":hidden"))
		objid='#commentbody1';
	else if(GetElem('commentbody0') && !$("#commentbody0").is(":hidden"))
		objid='#commentbody0';
	else
		objid='.comments';
	$.ajax({
		beforeSend: function(XMLHttpRequest){
			ajaxflag = 1;
		},
		url: "/getjson.php?page_id="+page+"&id="+pid+"&commpi=0&pageNumber="+pageNumber,
		cache: true,
		dataType: "json",
		success: function(result){
			$(objid).html(result.html);
			ajaxflag = 0;
		}
	});
	return false;
}

function ExpandSideBanner(container_id) {
	var obj = document.getElementById(container_id);
	if (obj.parentNode.offsetLeft > 10)
		obj.className = 'sidebanner_expanded_left';
	else
		obj.className = 'sidebanner_expanded_right';
	obj.firstChild.width = '500';
}

function CollapseSideBanner(container_id) {
	var obj = document.getElementById(container_id);
	obj.className = 'sidebanner_collapsed';
	obj.firstChild.width = '200';
}

function ShowOverFlow(id) {
	var height_now = $('#text'+id).css('height');

		$('#text'+id).toggleClass('full_text');
		$('#more'+id).toggleClass('open_bttn');

}
