//=====================РАСКРЫВАЕТ КАТЕГОРИЮ, ЗАКРЫВАЕТ ПРЕДЫДУЩУЮ РАВКРЫТУЮ КАТЕГОРИЮ==========================================
function expand_cat(id_categ)
{
              if ((prev_id!=0) && (prev_id!=id_categ)) document.getElementById(prev_id).style.display="none";
 
              cur_div=document.getElementById(id_categ);	
              if (cur_div!=null)
              {
               prev_id=id_categ;	 
               if (cur_div.style.display=="none")
                cur_div.style.display="inline";
               else
                cur_div.style.display="none";
              }
			  
}

//=================если IE, то возврящает true================================================================================ 
function isIE()
{
 if (navigator.appName.charAt(10)=="I")return true;else return false;
}

//===============Только для IE - скрывает/показывает выпадающий список===================================
function showing_select(mode)
{
 ids=document.getElementById('id_select');
 if(isIE() && (ids!=null))
 {
  if (mode==1) 
   ids.style.display = "none";
  else
   ids.style.display = "block";
 }
}

//====================выделяет все чекбоксы=========================================================
function check_all(name,value)
{
   
   alert(name.length);
   /*if( !document.form_name1.cheks ) return;
   if( !document.form_name1.cheks.length )
      document.form_name1.cheks.checked = document.form_name1.cheks.checked ? false : true;
   else
      for(var i=0;i<document.form_name1.cheks.length;i++)
         document.form_name1.cheks[i].checked = document.form_name1.cheks[i].checked ? false : true;*/
}

//=================делает некликабельным всю область страницы, отображает/скрывать DIV блок и загружает в него рисунок========
function show_blok_image(mode,src)
{ 
  var div_shadow = document.getElementById("div_shadow");
  var div_img = document.getElementById("div_img");
  showing_select(mode);
  if (mode == 1) 
  {
          div_img.style.top=document.getElementsByTagName( 'body' )[0].scrollTop + 50;
		  document.getElementById('img_big').src=src;
		  div_shadow.style.height=document.body.scrollHeight;
          div_shadow.style.width=document.body.scrollWidth;
          div_shadow.style.display = "inline";
		  div_img.style.display = "inline";
		  div_img.style.left=(document.body.scrollWidth/2)-300;
		  document.getElementById('current_foto').innerHTML= 1;//на слое выводим номер текущего фото
		  document.getElementById('count_foto').innerHTML=1;
  } 
  else 
  {       
		  document.getElementById('img_big').src=null;
		  document.getElementById('img_big').style.display = "none";
		  div_img.style.display = "none";
		  div_shadow.style.display = "none";
  }
}


//========вызывается после загрузки большого изображения=====================
function onload_big_image(img_big)
{
 document.getElementById(img_big).style.display="block";
 //alert('загрузилось');
}

//=============загружает новое большое фото на странице детального просмотра объявления=======================================
function change_big_image(id_mes,num)
{
 document.getElementById('img_big2').style.display = "none";
 document.getElementById('img_load_full').style.display = "block";
 //alert('меняем');
 document.getElementById('img_big2').src = 'foto/'+id_mes+'_big_'+num+'.jpg';
}

//=============загружает следующее маленькое фото=============================================================================
function next_small_image(l_curimg,l_maximg,id_a,id_img,id_mes) 
{
 if (l_curimg<l_maximg) 
 {
  document.getElementById(id_a).href = 'foto/'+id_mes+'_big_'+(l_curimg+1)+'.jpg';
  document.getElementById(id_img).src = 'foto/'+id_mes+'_small_'+(l_curimg+1)+'.jpg';
  l_curimg=l_curimg+1;
 }
 return l_curimg;
}

//=============загружает предыдующее маленькое фото===========================================================================
function prev_small_image(l_curimg,l_maximg,id_a,id_img,id_mes) 
{
 if (l_curimg>1) 
 {
  document.getElementById(id_a).href = 'foto/'+id_mes+'_big_'+(l_curimg-1)+'.jpg';
  document.getElementById(id_img).src = 'foto/'+id_mes+'_small_'+(l_curimg-1)+'.jpg';
  l_curimg=l_curimg-1;
 }
  return l_curimg;
}

//===============заменяет в текщем URL параметр id_gorod, если он есть, и перезагружает страницу
function change_gorod(url,id_gorod)
{
 var RE= new RegExp("&id_gorod=[0-9]+");
 b=RE.exec(url);
 if(b==null) 
  location.href=url+'&id_gorod='+id_gorod;
 else
  location.href=url.replace(RE,'&id_gorod='+id_gorod);
}

//===============вычисляет количество символов которое осталось ввести в поле текста объявления===========
function calc_chars(id_text, id_span, max_char)
{
	ObjText = document.getElementById(id_text);
	str = ObjText.value;
	diff = max_char - str.length;
	if (str.length >= max_char)
	{
	 ObjText.value = str.substr(0,max_char);
	 diff = 0;
	 alert('Вы превысили максимальное количество символов');
	}
    document.getElementById(id_span).innerHTML = diff;
}



//=========проверяет данные формы на корректность при модерировании в админке=========================================
function check_data_moder()
{ 
  email=form1.email.value;
  phone=form1.phone.value;
  url=form1.url.value;
  
  if (form1.id_categ.value=='')
  {alert ('Не выбрана категория!'); form1.id_categ.focus(); return false;}
  
  if (form1.id_rubrika.value=='')
  {alert ('Не выбрана рубрика!'); form1.id_rubrika.focus(); return false;}
  
  if (form1.id_razdel.value=='')
  {alert ('Не выбран раздел!'); form1.id_razdel.focus(); return false;}
  
  
  str=form1.desc_.value;
  if (str.length == 0)
  {alert ('Вы не ввели текст объявления!'); form1.desc_.focus(); return false;}
  
  if ((email=='') && (phone=='')) { alert ('Вы не ввели телефон и email, введите телефон и/или email');  return false;}
  
  if (email!='') 
   if (!(/^[\s]*([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}[\s]*$/i).test(email))
   {alert ('некорректный e-mail!'); form1.email.focus(); return false;}

  if (phone!='') 
   if (!(/^[\s0-9)(\+\-,;]*$/i).test(phone))
   {alert ('некорректный телефонный номер! Разрешены символы: \n цифры - , ( ) + ; пробел'); form1.phone.focus(); return false;}
  
  if (url!='')
   if(!(/^[\s]*[0-9a-zA-Z:\/\.\-=&?_%\+]*[\s]*$/).test(url))
   {alert ('некорректный web адрес!'); form1.url.focus(); return false;} 

}

//=========добавляет возмножность выбрать еще один файл
function add_filebox(max_file)
{
 for (var i=2; i<= max_file; i++)
 { 
  div=document.getElementById('div_file_'+i);
  if (div.style.display=='none') 
  {
   div.style.display='block';
   break;
  } 
 }
}


//=========Проверяет данные перед отправкой сообщения======================
function chech_email_data(text_email,from_email,code)
{
 if (text_email=='') {alert ('Вы не ввели текст сообщения!'); return false;}
 if (code=='') {alert ('Вы не ввели цифровой код!'); return false;}
 
 if (from_email=='') 
  {alert ('e-mail обязателен для ввода!'); return false;}
  else
   if (!(/^[\s]*([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}[\s]*$/i).test(from_email))
   {alert ('некорректный e-mail!'); return false;}
}

//=========Проверяет выбраны ли все параметры пути до проверки возможности статуса VIP======================
function check_path_vip()
{ 
  if (form1.id_categ.value=='')
  {alert ('Не выбрана категория!'); form1.id_categ.focus(); return false;}
  
  if (form1.id_rubrika.value=='')
  {alert ('Не выбрана рубрика!'); form1.id_rubrika.focus(); return false;}
  
  if (form1.id_razdel.value=='')
  {alert ('Не выбран раздел!'); form1.id_razdel.focus(); return false;}
}

function fetch_object(idname)
{
	if (document.getElementById)
	{
		return document.getElementById(idname);
	}
	else if (document.all)
	{
		return document.all[idname];
	}
	else if (document.layers)
	{
		return document.layers[idname];
	}
	else
	{
		return null;
	}
}

function resize_textarea(to, id)
{
	if (to < 0)
	{
		var rows = -5;
		var cols = -10;
	}
	else
	{
		var rows = 5;
		var cols = 10;
	}

	var textarea = fetch_object(id);
	if (typeof textarea.orig_rows == 'undefined')
	{
		textarea.orig_rows = textarea.rows;
		textarea.orig_cols = textarea.cols;
	}

	var newrows = textarea.rows + rows;
	var newcols = textarea.cols + cols;

	if (newrows >= textarea.orig_rows && newcols >= textarea.orig_cols)
	{
		textarea.rows = newrows;
		textarea.cols = newcols;
	}

	return false;
}


var isMSIE = document.attachEvent != null;
var isGecko = !document.attachEvent && document.addEventListener;

var DraggingItem = new Object();

function StartDrag (event, _this, _afteraction)
{
	DraggingItem.This = _this;
	DraggingItem.AfterAction = _afteraction;

	var position = new Object();
	if (isMSIE)
	{
		position.x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
		position.y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
	}
	if (isGecko)
	{
		position.x = event.clientX + window.scrollX;
		position.y = event.clientY + window.scrollY;
	}

	DraggingItem.cursorStartX = position.x;
	DraggingItem.cursorStartY = position.y;

	DraggingItem.StartLeft = parseInt (DraggingItem.This.style.left);
	DraggingItem.StartTop = parseInt (DraggingItem.This.style.top);

	if (isNaN (DraggingItem.StartLeft)) DraggingItem.StartLeft = 0;
	if (isNaN (DraggingItem.StartTop)) DraggingItem.StartTop = 0;

	if (isMSIE)
	{
		document.attachEvent ("onmousemove", ProceedDrag);
		document.attachEvent ("onmouseup", StopDrag);
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
	if (isGecko)
	{
		document.addEventListener ("mousemove", ProceedDrag, true);
		document.addEventListener ("mouseup", StopDrag, true);
		event.preventDefault();
	}
}

function ProceedDrag (event)
{
	var position = new Object();

	if (isMSIE) {
		position.x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
		position.y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
	}
	if (isGecko)
	{
		position.x = event.clientX + window.scrollX;
		position.y = event.clientY + window.scrollY;
	}	

	var nextX = DraggingItem.StartLeft + position.x - DraggingItem.cursorStartX;
	if (nextX < -150) nextX = -150;
	DraggingItem.This.style.left = nextX + "px";

	var nextY = DraggingItem.StartTop  + position.y - DraggingItem.cursorStartY;
	//if (nextY > 360) nextY = 360;
	DraggingItem.This.style.top = nextY + "px";

	if (isMSIE)
	{
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
	if (isGecko) event.preventDefault();
}

function StopDrag (event)
{	
	if (isMSIE)
	{
		document.detachEvent ("onmousemove", ProceedDrag);
		document.detachEvent ("onmouseup", StopDrag);
	}
	if (isGecko)
	{
		document.removeEventListener ("mousemove", ProceedDrag, true);
		document.removeEventListener ("mouseup", StopDrag, true);
	}

	if (DraggingItem.AfterAction) DraggingItem.AfterAction (DraggingItem.This);

	SaveDesktop();
}

function SaveDesktop()
{
	var draggables = document.getElementsByTagName ('div');
	var desktopLayout = '';
	
	for (var c = 0; c != draggables.length; c++)
	{
		var current = draggables[c];
		if (current.className == 'div_hide2')
		{
			desktopLayout += current.id + '(' + parseInt (current.style.left) + ',' + parseInt (current.style.top) + ');';
		}
	}
	
	var expires = new Date();
	expires = new Date (expires.getYear() + 1901, expires.getMonth(), 1);
}

function PutBack (item)
{
	item.style.zIndex = 2;;
}

