function refreshCaptcha() 
{ 
    img = document.getElementById('imgCaptcha'); 
    img.src = 'moduls/capcha/captcha.php?' + Math.random(); 
    return false 
} 

function trim(str)
{
	return str.replace (/(^\s+)|(\s+$)/g, ''); 
}

////////////////////////////////////////////////////////
//////////Оптимизированная форма ввода//////////////////
function calendarInput(input)
{
	if (input.id == 'datepicker1')
	{
		var first = input;
		var second = document.getElementById('datepicker2');
		var alert1 = 'Дата заезда не может быть позже даты отъезда!';
		var alert2 = '';
		var backup = second.value;
		var condition1 = Boolean(1 == 1);
	}
	else
	{
		var first = document.getElementById('datepicker1');
		var second = input;
		var alert1 = 'Дата отъезда не может быть раньше даты заезда!';
		var alert2 = 'Сначала необходимо ввести дату заезда';
		var backup = '';
		var condition1 = Boolean(first.value != '');
	}
	
	var date_value1ar = first.value.split('.');
	var date_value2ar = second.value.split('.');
	var date1 = new Date(date_value1ar[2],date_value1ar[1],date_value1ar[0]);
	var date2 = new Date(date_value2ar[2],date_value2ar[1],date_value2ar[0]);
	
	if (condition1 === true)
	{
	  if (date1 > date2)
	  {
		 alert(alert1);
		 input.value = backup;
	  }
	}
	else
	{
	  alert(alert2);
	  input.value = '';
	}
	if (input.value != '')
	{input.style.border = '#666 solid 1px';}
}

// Использует отдельную функцию trim()
function verif(input)
{
	if (trim(input.value) != '')
	{input.style.border = '#666 solid 1px';}
	else
	{input.style.border = '#F00 solid 1px'; input.value = '';}
}

function verifMail(input, status_elem_id)
{
	var statusElem = document.getElementById(status_elem_id);
	var re = /^\S+@\S+\.\w{2,5}$/i;
	if (input.value != '' && input.value.search(re) != -1)
	{input.style.border = '#666 solid 1px'; statusElem.innerHTML = '';}
	else
	{input.style.border = '#F00 solid 1px'; statusElem.innerHTML = 'Не верный формат e-mail';}
}


function verifNaN(input)
{
	if (input.value != '' && isNaN(input.value) !== true)
	{input.style.border = '#666 solid 1px';}
	else
	{input.value = ''; input.style.border = input.className == 'form_obligatory_input' ? '#F00 solid 1px' : '#666 solid 1px';}
}

function verifUNaN(input)
{
	if (input.value != '' && isNaN(input.value) === true)
	{input.value = '';}
}
// Верификация формы
function verifForm(obligatory_input_classname)
{
	var inputs_arr = document.getElementsByTagName('input')
	for (var i=0; i<inputs_arr.length; i++)
	{
		if (inputs_arr[i].className.search(obligatory_input_classname) != -1 && inputs_arr[i].value == '' )
		{
			alert('Не заполнено одно из обязательных полей');
			inputs_arr[i].focus();
			return false;
		}
	}
}

function VerifAddForm(sessionKey, f)
{
	var inputs_arr = document.getElementsByTagName('input');
	
	for (var i=0; i<inputs_arr.length; i++)
	{
		if (inputs_arr[i].className.search('form_obligatory_input') != -1 && inputs_arr[i].value == '' )
		{
			alert('Не заполнено одно из обязательных полей');
			inputs_arr[i].focus();
			return false;
		}
	}
	
	var capcha = document.getElementById('capcha');
	if (capcha != null)
	{
	  if (capcha.value != sessionKey)
	  {alert ('Не верный код с картинки!'); capcha.focus(); capcha.style.border = '#F00 solid 1px'; return false;}
	}
	
	f.submit();
}

// Верификация формы отправки письма в модальном окне
function verifMailForm(sessionKey, f)
{
	var message = document.getElementById('message');
	var capcha = document.getElementById('capcha');
	if (message.value == '')
	{alert ('Не введен текст сообщения!'); message.focus(); return false;}
	if (capcha.value != sessionKey)
	{alert ('Не верный код с картинки!'); capcha.focus(); capcha.style.border = '#F00 solid 1px'; return false;}
	f.submit();
}

function globalVerifForm(f, tipe_form)
{
	var req = getXmlHttp() 
	req.onreadystatechange = function() 
	{  
		if (req.readyState == 4 && req.status == 200) 
		{
			if (tipe_form == 'send_mail')
			{verifMailForm(req.responseText, f);}
			else if (tipe_form == 'add_form')
			{VerifAddForm(req.responseText, f);}
		}
	}
	req.open('GET', 'moduls/ajax.php?sessionKey=1', true);  
	req.send(null);
}
/////////////////////////

// Пооверяет заполненность полей про загрузке страницы
function uploadVerif()
{
	var inputs_arr = document.getElementsByTagName('input');
	for (var i=0; i<inputs_arr.length; i++)
	{
	   if (inputs_arr[i].className.search('form_obligatory_input') != -1 && inputs_arr[i].value != '')
	   {inputs_arr[i].style.border = '#666 solid 1px';}
	}
	var selects_arr = document.getElementsByTagName('select');
	for (var i=0; i<selects_arr.length; i++)
	{
	   if (selects_arr[i].className.search('form_obligatory_input') != -1 && selects_arr[i].value != '')
	   {selects_arr[i].style.border = '#666 solid 1px';}
	}
}
function verifPass(input)
{
	var statusElem = document.getElementById('commentpass1');
	var num = trim(input.value).length;
	if (num <= 6)
	{statusElem.innerHTML = '<span class="form_comment_red">Длина пароля должна быть не менее 6 символов</span>';}
	else if (num > 24)
	{statusElem.innerHTML = '<span class="form_comment_red">Длина пароля должна быть не более 24 символов</span>';}
	else
	{statusElem.innerHTML = '<span class="form_comment_green">OK</span>';}
}
function verifDPass(input)
{
	var pass1 = document.getElementById('pass1');
	var statusElem = document.getElementById('commentpass2');
	if (trim(input.value) != trim(pass1.value))
	{statusElem.innerHTML = '<span class="form_comment_red">Пароли не совпадают</span>';}
	else
	{statusElem.innerHTML = '<span class="form_comment_green">OK</span>';}
}


/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////

/////////////////////
//// AJAX ///////////
/////////////////////
function getXmlHttp()
{
  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;
}

// Получает данные из поля формы. Использует отдельную функцию trim()
function voit(input, check, status_elem_id) 
{
	// выбор элемента для отображения статуса выполнения скрипта
	statusElem = document.getElementById(status_elem_id);
	
	if (trim(input.value).length  >= 3)
	{
	    // создание объект для запроса к серверу
	    var req = getXmlHttp()  
	    
		// onreadystatechange активируется при получении ответа сервера 
	    req.onreadystatechange = function() 
		{  
		   // если запрос закончил выполняться
	        if (req.readyState == 4) 
			{ 
	            statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)
			   // если статус 200 (ОК) - выдать ответ пользователю
	            if(req.status == 200) 
				{ 
	                statusElem.innerHTML = req.responseText;
	            }
	            // тут можно добавить else с обработкой ошибок запроса
	        }
	    }
	 
	    // задать адрес подключения
	    req.open('GET', 'moduls/reg/ajax.php?'+check+'='+input.value, true);  
	    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	    // для обработки ответа сервера
	    req.send(null);  // отослать запрос
	    statusElem.innerHTML = 'Проверка данных...'
	}
	else 
	{
		statusElem.innerHTML = '';
	}
}

// Получает данные в виде аргумента функции
function voitData(data, check, status_elem_id) 
{
	// выбор элемента для отображения статуса выполнения скрипта
	statusElem = document.getElementById(status_elem_id);
	
	// создание объект для запроса к серверу
	var req = getXmlHttp()  
	
	// onreadystatechange активируется при получении ответа сервера 
	req.onreadystatechange = function() 
	{  
	   // если запрос закончил выполняться
		if (req.readyState == 4) 
		{ 
			statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)
		   // если статус 200 (ОК) - выдать ответ пользователю
			if(req.status == 200) 
			{
				//statusElem.innerHTML = '';
				statusElem.innerHTML = req.responseText;
			}
			// тут можно добавить else с обработкой ошибок запроса
		}
	}
 
	// задать адрес подключения
	req.open('GET', 'moduls/ajax.php?'+check+'='+data, true);  
	// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	// для обработки ответа сервера
	req.send(null);  // отослать запрос
	statusElem.innerHTML = 'Запрос выполняется...'
}
/////////////////////
/////////////////////

//Формы добавления резюме и вакансий
function showFormdiv()
{
	if (document.getElementById('section').value != 0)
	{
		document.getElementById('formdiv').style.display = 'block'; 
		document.getElementById('h2').style.display = 'none';
	}
	else 
	{
		document.getElementById('formdiv').style.display = 'none'; 
		document.getElementById('h2').style.display = 'block';
	}
}

function clickImg(img_min)
{
	var src_img = img_min.src;
	var sx = img_min.width;
	var sy = img_min.height;

	  var newsx = Math.round (sx * 5.6);
	  var newsy = Math.round (sy * 5.6);

	var main_img = document.getElementById('odj_img_show');
	document.getElementById('odj_img_show').src = src_img;
	document.getElementById('odj_img_show').width = newsx;
	document.getElementById('odj_img_show').height = newsy;
	var div = document.getElementById('img_set');
	var elems = div.getElementsByTagName('img');
	for (var i=0; i<elems.length; i++)
	{
		elems[i].style.opacity = 0.5;
		elems[i].style.border = 'none';
		elems[i].className = '';
	}
img_min.style.opacity = 1;
img_min.style.border = '#FF9C39 solid 2px';
img_min.className = 'script_check';
}

function mouseOut (img_min)
{
	if (img_min.className == '')
	{img_min.style.opacity = 0.5;}
}

function changeDiv(select_button)
{
	var parent_div_menu = select_button.parentNode;
	elems_button = parent_div_menu.getElementsByTagName('div');
	
	for (var j = 0; j < elems_button.length; j++) 
	{
	  elems_button[j].style.backgroundImage = 'url(./images/obj_menu_fon2.gif)';
	}
	document.getElementById(select_button.id).style.backgroundImage = 'url(./images/obj_menu_fon.gif)';

	if (select_button.id == 'but_obj_main') 
	{
		document.getElementById('obj_main').style.display = 'block';
		document.getElementById('obj_price').style.display = 'none';
		document.getElementById('obj_numbers').style.display = 'none';
		document.getElementById('obj_users').style.display = 'none';
	}
	if (select_button.id == 'but_obj_price') 
	{
		document.getElementById('obj_main').style.display = 'none';
		document.getElementById('obj_price').style.display = 'block';
		document.getElementById('obj_numbers').style.display = 'none';
		document.getElementById('obj_users').style.display = 'none';
	}
	if (select_button.id == 'but_obj_numbers') 
	{
		document.getElementById('obj_main').style.display = 'none';
		document.getElementById('obj_price').style.display = 'none';
		document.getElementById('obj_numbers').style.display = 'block';
		document.getElementById('obj_users').style.display = 'none';
	}
	if (select_button.id == 'but_obj_users') 
	{
		document.getElementById('obj_main').style.display = 'none';
		document.getElementById('obj_price').style.display = 'none';
		document.getElementById('obj_numbers').style.display = 'none';
		document.getElementById('obj_users').style.display = 'block';
	}	
	/*
	var parent_div_text = document.getElementById('obj_description');
	var div_selectedt = select_button.id.slice(4);
	elems_text = parent_div_text.getElementsByTagName('div');for (var i = 0; i < elems_text.length; i++) 
	{elems_text[i].style.display = 'none';}
	document.getElementById(div_selectedt).style.display = 'block';
	var inner_divs = document.getElementById(div_selectedt).getElementsByTagName('div');
	for (var i = 0; i < inner_divs.length; i++)
	{inner_divs[i].style.display = 'block';}*/
}

function changePrice(radio_but)
{
  if (radio_but.value == 1)
  {
	document.getElementById('prise_hum').style.display = 'block';
	document.getElementById('prise_num').style.display = 'none';
  }
  else
  {
	document.getElementById('prise_hum').style.display = 'none';
	document.getElementById('prise_num').style.display = 'block';
  }
}

function phoneValidation()
{
	var kode_phone = document.getElementById('kode_phone');
	var body_phone = document.getElementById('body_phone');
	var show_phone = document.getElementById('show_phone');
	var phone = "+7 (";
	if (kode_phone.value == 'nan')
	{}
	else
	{
		phone = phone + kode_phone.value + ") " + body_phone.value;
		show_phone.innerHTML = phone;
	}
	
}	
		
function showCheckboxList (gensec_span)
{
	var gensec_li = gensec_span.parentNode.parentNode;
	var subsec_ul = gensec_li.getElementsByTagName('ul')[0];
	if (gensec_span.className == 'CatSw_switcher_plus')
	{gensec_span.className = 'CatSw_switcher_minus';
	subsec_ul.style.display = 'block';
	}
	else
	{gensec_span.className = 'CatSw_switcher_plus';
	subsec_ul.style.display = 'none';
	}
}
