

//
// К О Н С Т А Н Т Ы
//

CONSTANT_COOKIES_EXPIRES = 365; // Время хранения куков (в днях)
CONSTANT_COMMENT_MAXTEXT = 140; // Максимальное кол-во символов в комментариях


// Ограничение на кол-во символов в сообщении агенту
$(document).ready(function(){
	
	max = 140;
	
	count = $('.b-message-form .count');
	text = $('.b-message-form TEXTAREA');
	
	text.bind('keydown keypress keyup change', function(){
		l = text.val().length;
		if (l>max) {
			text.val(text.val().substr(0, max));
			l = max;
		}
		count.html(max-l);
	});
	
	text.keyup();
	
});




//
// В С П О М О Г А Т Е Л Ь Н Ы Е   Ф У Н К Ц И И
//

/* Определяем ширину скроллбара */
function getScrollBarWidth() {
	var inner = document.createElement('p');
	inner.style.width = '100%';
	inner.style.height = '200px';
 	var outer = document.createElement('div');
	outer.style.position = 'absolute';
	outer.style.top = '0px';
	outer.style.left = '0px';
	outer.style.visibility = 'hidden';
	outer.style.width = '200px';
	outer.style.height = '150px';
	outer.style.overflow = 'hidden';
	outer.appendChild (inner);
	document.body.appendChild (outer);
	var w1 = inner.offsetWidth;
	outer.style.overflow = 'scroll';
	var w2 = inner.offsetWidth;
	if (w1==w2) w2 = outer.clientWidth;
	document.body.removeChild (outer);
 	return (w1-w2);
};

// Функция определяет - произошло ли событие e вне блока block
function utils_isEventOut(block, e) {
	var block = $(block).get(0);
	var html = $('HTML').get(0);
	var parent = $(e.target).get(0);
	var result = parent==block; 
	flag = true;
	while (!result && flag) {
		if (!(parent==html)) {
			parent = $(parent).parent().get(0);
		} else flag = false;
		if ((parent==block) || (parent==undefined)) result = true;
	}
	return !result;
}

// Проверка адреса электронной почты
function isEMail(s) {
	var re = /^[A-Za-z0-9]{1}[\.\-_A-Za-z0-9]*@[A-Za-z0-9]{1}[\.\-A-Za-z0-9]*\.[A-Za-z]{2,4}$/;
	return re.test(s);
}

// Функция возвращает дату в формате "19 мая"
function utils_date2txt(date){
	d = $.datepicker.formatDate('d', date);
	m = $.datepicker.formatDate('m', date);
	m_s = ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'];
	return(d+' '+m_s[m-1]);
}

// Get file name from path
function utils_fileFromPath(file){
	return file.replace(/.*(\/|\\)/, "");
}
    
// Get file extension from file name
function utils_getExt(file){
	return (-1 !== file.indexOf('.')) ? file.replace(/.*[.]/, '') : '';
}

// Возвращает случайное значение для предотвращения кэширования изображение
function utils_getAntiCasheString(){
	return Math.random()+new Date().getTime();
}


//
//  И Н Ф О Б А Р
//

// Возвращает высоту инфобара
function infobar_get_height(){
	var h = 0;
	$('.b-infobar-wrap').each(function(){
		if ($(this).css('display')!='none') {
			var _h = $(this).height();
			if (_h>h) h = _h;
		}
	});
	if (h>0) h++; // прибавляем высоту рамки (1px)
	return h;
}

$(document).ready(function(){
	
	// Показать
	var h = infobar_get_height();
	$('.b-infobar-container').css('height', h+'px');
	$('.b-infobar-body').css('margin-top', '-'+h+'px');
	setTimeout(function(){
			$('.b-infobar-body').animate({marginTop: 0}, 600);
		}, 500);
	
	// Закрыть
	$('.b-infobar A.close').click(function(){
		var block = $(this).parent().parent().parent();
		block.animate({marginTop: -block.height()}, 600, function(){
			block.hide();
			$('.b-infobar-container').css('height', infobar_get_height()+'px');
		});
		return false;
	});
	
});



//
// Б Л О К И   П О М О Щ И
//

// Вертикальный блок помощи
$(document).ready(function(){
	
	// Инициализация прокрутки
	b_side_help_items = $('.b-side-help .body UL').html();
	b_side_help_items_count = $('.b-side-help .body LI').length;
	b_side_help_items_height = $('.b-side-help .body UL').height();
	if (b_side_help_items_height>$('.b-side-help .body').height()) {
		$('.b-side-help .wrap A.next,.b-side-help .wrap A.prev').show();
		var b_side_help_items_circular;
		$('.b-side-help .body UL').prepend(b_side_help_items).append(b_side_help_items).show();
		$('.b-side-help .body').scrollTop(b_side_help_items_height);
	} else {
		$('.b-side-help .body UL').show();
		$('.b-side-help .body').css('height', 'auto');
	}
	
	// Прокрутка назад
	$('.b-side-help .wrap A.prev').click(function(){
		b_side_help_items_circular = ($('.b-side-help .body').scrollTop())<b_side_help_items_height;
		if (b_side_help_items_circular) $('.b-side-help .body UL').prepend(b_side_help_items);
		$('.b-side-help .body').scrollTo('-=150px', 300, {onAfter: function(){
			if (b_side_help_items_circular) {
				$('.b-side-help .body LI:gt('+(b_side_help_items_count*3-1)+')').remove();
				$('.b-side-help .body').scrollTo('+='+b_side_help_items_height+'px');
			}
		}});
		return false;
	});
	
	// Прокрутка вперед
	$('.b-side-help .wrap A.next').click(function(){
		b_side_help_items_circular = ($('.b-side-help .body').scrollTop()+b_side_help_items_height+$('.b-side-help .body').height())>b_side_help_items_height*2;
		if (b_side_help_items_circular) $('.b-side-help .body UL').append(b_side_help_items);
		$('.b-side-help .body').scrollTo('+=150px', 300, {onAfter: function(){
			if (b_side_help_items_circular) {
				$('.b-side-help .body LI:lt('+b_side_help_items_count+')').remove();
				$('.b-side-help .body').scrollTo('-='+b_side_help_items_height+'px');
			}
		}});
		return false;
	});
	
	// Свернуть/развернуть
	$('.b-side-help A.turn').click(function(){
		if ($(this).hasClass('turn-hide')) {
			$(this).removeClass('turn-hide').addClass('turn-show');
			$('.b-side-help .wrap_').slideUp(300);
			$.cookie('side_help_show', 0, {expires: CONSTANT_COOKIES_EXPIRES, path: '/'});
		} else {
			$(this).removeClass('turn-show').addClass('turn-hide');
			$('.b-side-help .wrap_').slideDown(300);
			$.cookie('side_help_show', 1, {expires: CONSTANT_COOKIES_EXPIRES, path: '/'});
		}
		return false;
	});
	
	// По-умолчанию показать или скрыть
	if ($.cookie('side_help_show')) {
		var show = $.cookie('side_help_show')==1;
		if (!show) {
			$('.b-side-help A.turn').removeClass('turn-hide').addClass('turn-show');
			$('.b-side-help .wrap_').hide();
		}
	}
	
});

// Горизонтальный блок помощи
$(document).ready(function(){
	
	// Инициализация прокрутки
	b_help_horizontal_items = [];
	$('.b-help-horizontal LI').each(function(){
		b_help_horizontal_items[b_help_horizontal_items.length] = $(this).html();
	});
	var options = new Array();
	options['scroll'] = 2;
	if (b_help_horizontal_items.length>3) {
		options['wrap'] = 'circular';
		options['itemVisibleInCallback'] = new Array();
		options['itemVisibleInCallback']['onBeforeAnimation'] = function(carousel, item, i, state, evt) {
																	var idx = carousel.index(i, b_help_horizontal_items.length);
																	carousel.add(i, b_help_horizontal_items[idx - 1]);
																	if (!$('.b-help-horizontal A.turn').hasClass('turn-hide'))
																		$('.desc', $(item).parent()).hide();
																};
		options['itemVisibleOutCallback'] = new Array();
		options['itemVisibleOutCallback']['onAfterAnimation'] =	function(carousel, item, i, state, evt){
																	carousel.remove(i);
																};
	}
	$('.b-help-horizontal .faq').show();
	$('.b-help-horizontal .faq UL').jcarousel(options);
	
	// Задаём высоту блоку помощи и расположение ссылки "Задай свой вопрос" в зависимости от высоты блока FAQ
	b_help_horizontal_height = $('.b-help-horizontal .faq .jcarousel-list').height() + 36; // высота в раскрытом состоянии
	b_help_horizontal_minheight = 0; // высота в свернутом состоянии
	$('.b-help-horizontal .faq .title').each(function(){
		if ($(this).height() > b_help_horizontal_minheight) 
			b_help_horizontal_minheight = $(this).height();
	});
	b_help_horizontal_minheight+= 25;
	$('.b-help-horizontal').css('height', b_help_horizontal_height+'px');
	$('.b-help-horizontal A.you-question').css('top', b_help_horizontal_height-43+'px');
	
	// Показать/скрыть блок помощи
	$('.b-help-horizontal A.turn').click(function(){
		if ($(this).hasClass('turn-hide')) {
			$(this).removeClass('turn-hide').addClass('turn-show');
			$('.b-help-horizontal A.you-question').slideUp(300);
			$('.b-help-horizontal .faq .desc').slideUp(300);
			$('.b-help-horizontal').animate( {height: b_help_horizontal_minheight + 'px'}, 300);
			$.cookie('hor_help_show', 0, {expires: CONSTANT_COOKIES_EXPIRES, path: '/'});
		} else {
			$(this).removeClass('turn-show').addClass('turn-hide');
			$('.b-help-horizontal A.you-question').slideDown(300);
			$('.b-help-horizontal .faq .desc').slideDown(300);
			$('.b-help-horizontal').animate( {height: b_help_horizontal_height+'px'}, 300);
			$.cookie('hor_help_show', 1, {expires: CONSTANT_COOKIES_EXPIRES, path: '/'});
		}
		return false;
	});
	
	// По-умолчанию показать или скрыть
	if ($.cookie('hor_help_show')) {
		var show = $.cookie('hor_help_show')==1;
		if (!show) {
			$('.b-help-horizontal A.turn').removeClass('turn-hide').addClass('turn-show');
			$('.b-help-horizontal A.you-question').hide();
			$('.b-help-horizontal .faq .desc').hide();
			$('.b-help-horizontal').css('height', b_help_horizontal_minheight + 'px');
		}
	}
	
});

/* Всплывающая помощь */
$(document).ready(function(){
	
	tip = $('.b-help-tip');
	tip_body = $('.b-help-tip .b_');
	tip_footer = $('.b-help-tip .f');
	
	$('.b-help-tip-link').live('mouseover', function() {
		tip_body.html($(this).next().html());
		offset = 37;
		tip_footer.removeClass('r').removeClass('l');
		if ($(this).hasClass('b-help-tip-right')) { offset = 37; tip_footer.addClass('r'); }
		if ($(this).hasClass('b-help-tip-left')) { offset = 237; tip_footer.addClass('l'); }
		tip.css('top', $(this).offset().top - tip.height() - 2 + 'px');
		tip.css('left', $(this).offset().left - offset + 'px');
		tip.stop(true, true);
		tip.fadeIn(300);
	});
	$('.b-help-tip-link').live('mouseout', function() {
		tip.stop(true, true);
		tip.fadeOut(300);
	});
	
	$('.b-help-tip-link').live('click', function(){ return false; });
	
});


//
//  К А Р Т О Ч К А   А Г Е Н Т А
//

$(document).ready(function(){
	
	// Подсвечиваем карточку при наведении
	$('.b-agentcards .item').hover(
		function(){ $(this).addClass('item-hover'); },
		function(){ $(this).removeClass('item-hover'); }
	);
	
	// Подсвечиваем тикет при наведении
	$('.b-agentcards .item .ticket-link-full-r').hover(
		function(){ $('.ticket-link-full-b', $(this).parent()).addClass('ticket-link-full-b-hover'); },
		function(){ $('.ticket-link-full-b', $(this).parent()).removeClass('ticket-link-full-b-hover');  }
	);
	$('.b-agentcards .item .ticket-link-full-b').hover(
		function(){ $('.ticket-link-full-r', $(this).parent()).addClass('ticket-link-full-r-hover'); },
		function(){ $('.ticket-link-full-r', $(this).parent()).removeClass('ticket-link-full-r-hover');  }
	);
	
	// Показать заметку
	$('.b-agentcards .item .ticket-link').click(function(){
		$('.ticket-link', $(this).parent()).hide();
		$('.ticket', $(this).parent()).show();
		$('.ticket TEXTAREA', $(this).parent()).focus();
		return false;
	});
	
	// Скрыть заметку
	$('.b-agentcards .item .ticket .hide').click(function(){
		if ($(this).next().val()=='') {
			$('.ticket-link-empty' ,$(this).parent().parent()).show();
		} else {
			$('.ticket-link-full' ,$(this).parent().parent()).show();
		}
		$(this).parent().hide();
		
		var u_rqst = $(this).parent().attr('rqst');
		var u_mngr = $(this).parent().attr('mngr');
		var u_mesg = $(this).next().val();

		// Сохраняем заметку
		$.ajax({
			type: 'POST',
			cache: false,
			dataType: 'json',
			data: { note: u_mesg, mngr: u_mngr },
			url: '/ajax/savenote/'+u_rqst+'/'
		});
		return false;
	});
	
	// Скрыть заметки при клике вне блока
	$(document).mouseup(function(e){
		var ticket = $('.b-agentcards .item .ticket:visible');
		if (ticket.length!=0)
			if (utils_isEventOut(ticket, e))
				$('.hide', ticket).click();
	});
	
	
	// Инициализация
	$('.b-agentcards .item').each(function(){
		if ( ($('.ticket TEXTAREA', this).val()!='') && ($('.ticket TEXTAREA', this).length!=0) ) {
			$('.ticket-link-full', this).show();
		} else if ($('.ticket TEXTAREA', this).val()=='') {
			$('.ticket-link-empty', this).show();
		}
	});
	
});



//
//  К Н О П К И
//

// Кнопка "Сохранить"
$(document).ready(function(){
	var btn = $('.b-btnsave A');
	btn.mousedown(function(){ $(this).css('background-position', '-364px 0'); });
	btn.mouseup(function(){ $(this).css('background-position', '-182px 0'); });
	btn.hover(
		function(){ $(this).css('background-position', '-182px 0'); },
		function(){ $(this).css('background-position', '0 0'); }
	);
});

// Кнопка "Войти"
$(document).ready(function(){
	var btn = $('.b-btnlogin A');
	btn.mousedown(function(){ $(this).css('background-position', '-182px 0'); });
	btn.mouseup(function(){ $(this).css('background-position', '-91px 0'); });
	btn.hover(
		function(){ $(this).css('background-position', '-91px 0'); },
		function(){ $(this).css('background-position', '0 0'); }
	);
});

// Кнопка "Напомнить"
$(document).ready(function(){
	var btn = $('.b-btnremind A');
	btn.mousedown(function(){ $(this).css('background-position', '-272px 0'); });
	btn.mouseup(function(){ $(this).css('background-position', '-136px 0'); });
	btn.hover(
		function(){ $(this).css('background-position', '-136px 0'); },
		function(){ $(this).css('background-position', '0 0'); }
	);
});

// Кнопка "Обзор"
$(document).ready(function(){
	var btn = $('.b-btnview A');
	btn.mousedown(function(){ $(this).css('background-position', '-200px 0'); });
	btn.mouseup(function(){ $(this).css('background-position', '-100px 0'); });
	btn.hover(
		function(){ $(this).css('background-position', '-100px 0'); },
		function(){ $(this).css('background-position', '0 0'); }
	);
});

/* Кнопка "Показать контакты" */
$(document).ready(function(){
	var btn = $('.b-btncontacts A');
	btn.mousedown(function(){ $(this).css('background-position', '-438px 0'); });
	btn.mouseup(function(){ $(this).css('background-position', '-219px 0'); });
	btn.hover(
		function(){ $(this).css('background-position', '-219px 0'); },
		function(){ $(this).css('background-position', '0 0'); }
	);
});

/* Кнопка "Далее" */
$(document).ready(function(){
	var btn = $('.b-btnnext A');
	btn.mousedown(function(){ if (!btn.parent().hasClass('b-btnnext-unactive')) { $(this).css('background-position', '-324px 0'); } });
	btn.mouseup(function(){ if (!btn.parent().hasClass('b-btnnext-unactive')) { $(this).css('background-position', '-162px 0'); } });
	btn.hover(
		function(){ if (!btn.parent().hasClass('b-btnnext-unactive')) { $(this).css('background-position', '-162px 0'); } },
		function(){ if (!btn.parent().hasClass('b-btnnext-unactive')) { $(this).css('background-position', '0 0'); } }
	);
});

// Сделать кнопку "Далее" активной
function btnnext_setActive(btn){
	$(btn+' A').css('background-position', '0 0');
	$(btn).removeClass('b-btnnext-unactive');
}

// Сделать кнопку "Далее" неактивной
function btnnext_setUnactive(btn){
	$(btn+' A').css('background-position', '-486px 0');
	$(btn).addClass('b-btnnext-unactive');
}



//
//  Б А З О В А Я   Ф О Р М А
//

DEFAULT_FORM_EMAIL_TEXT = 'Введите Ваш e-mail';
DEFAULT_FORM_NAMEI_TEXT = 'Имя';
DEFAULT_FORM_NAMEO_TEXT = 'Отчество';
DEFAULT_FORM_NAMEF_TEXT = 'Фамилия';
DEFAULT_FORM_PHONE_TEXT = '(067) 777-77-77';
DEFAULT_FORM_PHONE_MASK = '(999) 999-99-99';
DEFAULT_FORM_LICENCE1_TEXT = 'ХХ';
DEFAULT_FORM_LICENCE2_TEXT = '777777';
DEFAULT_FORM_LICENCEDATE_TEXT = '01/01/1990';
DEFAULT_FORM_LICENCEDATE_MASK = '99/99/9999';
DEFAULT_FORM_PASSWORD_TEXT = '******';
DEFAULT_FORM_PASSWORDCHANGE_TEXT = '';
DEFAULT_FORM_PASSPORTSERIES_TEXT = 'ХХ';
DEFAULT_FORM_PASSPORTNUMBER_TEXT = '777777';
DEFAULT_FORM_PASSPORTWHO_TEXT = 'Кем выдан';
DEFAULT_FORM_PASSPORTREG_TEXT = 'Улица, бульвар, проспект, номер дома и офиса?';
DEFAULT_FORM_IDCODE_TEXT = '0123456789';
DEFAULT_FORM_COMPANYNAME_TEXT = 'Укажите название компании';

// Инициализация списка (elementselect)
$(document).ready(function(){
	
	// Показать скрытые элементы
	$('.b-form .elementselect A.more').click(function(){
		var select = $(this).parent().parent().parent();
		var height = select.height();
		$('LI.hidden', select).removeClass('hidden');
		default_form_elementselect_showpreparation(select, height);
		$(this).html($(this).attr('rel'));
		select.show();
		select.scrollTo($(this), 800);
		return false;
	});
	
});

// Подготовка к показу списка (elementselect)
function default_form_elementselect_showpreparation(select, height) {
	select.show();
	var h = 0;
	$('LI:not(.hidden)', select).each(function(){ h+= $(this).height(); });
	h+= 4;
	if (h>height) {
		select.css('width', $('UL', select).width() + 4 + getScrollBarWidth() + 'px');
	} else {
		select.css('width', $('UL', select).width() + 4 + 'px');
	}
	if (h>height) {
		select.css('overflow', 'auto');
	} else {
		select.css('overflow', 'visible');
	}
	if (h>height) h = height;
	select.css('height', h + 'px');
	$('LI', select).removeClass('odd');
	$('LI:not(.hidden)', select).filter(':odd').addClass('odd');
	select.hide();
}


// Поле для ввода адреса электронной почты
$(document).ready(function(){
	
	$('.b-form .emailinput INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_EMAIL_TEXT)
			$(this).val('');
		$(this).parent().removeClass('error');
		$('.err-txt', $(this).parent()).hide();
	});
	
	$('.b-form .emailinput INPUT').blur(function(){
		if ($(this).val()=='')
			$(this).val(DEFAULT_FORM_EMAIL_TEXT);
	});
	
	// установка значения по-умолчанию
	$('.b-form .emailinput').each(function(){
		
		// значение
		var email = $('DIV[rel="default_email"]', $(this).parent()).html();
		if (email=='DEF')
			email = DEFAULT_FORM_EMAIL_TEXT;
		$('INPUT', this).val(email);
		
		// ошибки
		var email_err = $('DIV[rel="default_email_err"]', $(this).parent()).html();
		var email_errno = $('DIV[rel="default_email_errno"]', $(this).parent()).html();
		var email_errhaveemail = $('DIV[rel="default_email_errhaveemail"]', $(this).parent()).html();
		var email_erruncorrect = $('DIV[rel="default_email_erruncorrect"]', $(this).parent()).html();
		var email_errnoemail = $('DIV[rel="default_email_errnoemail"]', $(this).parent()).html();
		if (email_err=='1') {
			$('.element', this).addClass('error');
			if (email_errno=='1') $('.err-txt-no', this).show();
			if (email_errhaveemail=='1') $('.err-txt-haveemail', this).show();
			if (email_erruncorrect=='1') $('.err-txt-uncorrect', this).show();
			if (email_errnoemail=='1') $('.err-txt-noemail', this).show();
		}
		
	});
	
});

// Валидация адреса электронной почты
function default_form_validation_email(block) {
	var validation = true;
	var element = $('.element', $(block));
	var input = $('INPUT', element);
	if (!isEMail($(input).val())) {
		$(element).addClass('error');
		$('.err-txt-no', element).show();
		validation = false;
	} else {
		$(element).removeClass('error');
		$('.err-txt', element).hide();
	}
	return validation;
}


// Поле для ввода пароля
$(document).ready(function(){
	
	// Фокус 
	$('.b-form .passwordinput .element INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_PASSWORD_TEXT)
			$(this).val('');
		var emailinput = $('.emailinput' ,$(this).parent().parent().parent().parent());
		$('.element', emailinput).removeClass('error');
		$('.err-txt', emailinput).hide();
	});
	
	// Потеря фокуса
	$('.b-form .passwordinput .element INPUT').blur(function(){
		if ($(this).val()=='')
			$(this).val(DEFAULT_FORM_PASSWORD_TEXT);
	});
	
	// установка значения по-умолчанию
	$('.b-form .passwordinput').each(function(){
		
		// значение
		var psw = $('DIV[rel="default_password"]', $(this).parent()).html();
		if (psw=='DEF')
			psw = DEFAULT_FORM_PASSWORD_TEXT;
		$('.element INPUT', this).val(psw);
		
	});
	
});


// Поле для изменения пароля
$(document).ready(function(){
	
	// Переключение режима отображения пароля
	$('.b-form .passwordchange .check INPUT').click(function(){
		var block = $(this).parent().parent().parent().parent().parent();
		var txt = $('INPUT.txt', block);
		var psw = $('INPUT.psw', block);
		if ($(this).attr('checked')) { // показать пароль
			txt.val(psw.val());
			psw.hide();
			txt.show();
		} else { // показать звездочки
			psw.val(txt.val());
			txt.hide();
			psw.show();
		}
	});
	
	// Фокус 
	$('.b-form .passwordchange .element INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_PASSWORDCHANGE_TEXT)
			$(this).val('');
		$(this).parent().removeClass('error');
		$('.err-txt', $(this).parent()).hide();
	});
	
	// Потеря фокуса
	$('.b-form .passwordchange .element INPUT').blur(function(){
		if ($(this).val()=='')
			$(this).val(DEFAULT_FORM_PASSWORDCHANGE_TEXT);
	});
	
	// установка значения по-умолчанию
	$('.b-form .passwordchange').each(function(){
		
		// значение
		var psw = $('DIV[rel="default_password"]', $(this).parent()).html();
		if (psw=='DEF')
			psw = DEFAULT_FORM_PASSWORDCHANGE_TEXT;
		$('INPUT.txt', this).val(psw);
		$('INPUT.psw', this).val(psw);
		
		// Показывать ли пароль?
		var show = $('DIV[rel="default_password_show"]', $(this).parent()).html();
		var check = $('.b-form .passwordchange .check INPUT');
		if (show==1) { check.attr('checked', true); } else { check.attr('checked', false); }
		check.click();
		if (show==1) { check.attr('checked', true); } else { check.attr('checked', false); }
		
		// ошибки
		var psw_err   = $('DIV[rel="default_password_err"]', $(this).parent()).html();
		var psw_errno = $('DIV[rel="default_password_errno"]', $(this).parent()).html();
		var psw_errsmall = $('DIV[rel="default_password_errsmall"]', $(this).parent()).html();
		if (psw_err=='1') {
			$('.element', this).addClass('error');
			if (psw_errno=='1') $('.err-txt-no', this).show();
			if (psw_errsmall=='1') $('.err-txt-small', this).show();
		}
		
	});
	
});

// Валидация поля для изменения пароля
function default_form_validation_passwordchange(block) {
	var validation = true;
	var element = $('.element', $(block));
	var input = $('INPUT', element);
	var txt = $('INPUT.txt', element);
	var psw = $('INPUT.psw', element);
	var pass = '';
	$(element).removeClass('error');
	$('.err-txt', element).hide();
	if (txt.css('display')!='none') {
		pass = txt.val();
	} else pass = psw.val();
	var l = pass.length;
	if (l<3) {
		$(element).addClass('error');
		$('.err-txt-small', element).show();
		validation = false;
	}
	if (l>32) {
		$(element).addClass('error');
		$('.err-txt-no', element).show();
		validation = false;
	}
	return validation;
}

// Поля для ввода ФИО
$(document).ready(function(){
	
	$('.b-form .fioinput INPUT').focus(function(){
		var t = $(this).attr('name');
		var v = $(this).val();
		if ( ((t=='namei')&&(v==DEFAULT_FORM_NAMEI_TEXT)) ||
			 ((t=='nameo')&&(v==DEFAULT_FORM_NAMEO_TEXT)) ||
			 ((t=='namef')&&(v==DEFAULT_FORM_NAMEF_TEXT))
			) $(this).val('');
		$(this).parent().removeClass('error');
		$('.err-txt', $(this).parent()).hide();
	});
	
	$('.b-form .fioinput INPUT').blur(function(){
		if ($(this).val()=='') {
			var t = $(this).attr('name');
			if (t=='namei') $(this).val(DEFAULT_FORM_NAMEI_TEXT);
			if (t=='nameo') $(this).val(DEFAULT_FORM_NAMEO_TEXT);
			if (t=='namef') $(this).val(DEFAULT_FORM_NAMEF_TEXT);
		}
	});
	
	// установка значений по-умолчанию
	$('.b-form .fioinput').each(function(){
		
		// значения
		var i = $('DIV[rel="default_namei"]', $(this).parent()).html();
		var o = $('DIV[rel="default_nameo"]', $(this).parent()).html();
		var f = $('DIV[rel="default_namef"]', $(this).parent()).html();
		if (i=='DEF') i = DEFAULT_FORM_NAMEI_TEXT;
		if (o=='DEF') o = DEFAULT_FORM_NAMEO_TEXT;
		if (f=='DEF') f = DEFAULT_FORM_NAMEF_TEXT;
		$('.element-i INPUT', this).val(i);
		$('.element-o INPUT', this).val(o);
		$('.element-f INPUT', this).val(f);
		
		// ошибки
		var i_err   = $('DIV[rel="default_namei_err"]', $(this).parent()).html();
		var i_errno = $('DIV[rel="default_namei_errno"]', $(this).parent()).html();
		var i_errnoname = $('DIV[rel="default_namei_errnoname"]', $(this).parent()).html();
		var o_err   = $('DIV[rel="default_nameo_err"]', $(this).parent()).html();
		var o_errno = $('DIV[rel="default_nameo_errno"]', $(this).parent()).html();
		var o_errnoname = $('DIV[rel="default_nameo_errnoname"]', $(this).parent()).html();
		var f_err   = $('DIV[rel="default_namef_err"]', $(this).parent()).html();
		var f_errno = $('DIV[rel="default_namef_errno"]', $(this).parent()).html();
		var f_errnoname = $('DIV[rel="default_namef_errnoname"]', $(this).parent()).html();
		if (i_err=='1') {
			$('.element-i', this).addClass('error');
			if (i_errno=='1') $('.element-i .err-txt-no', this).show();
			if (i_errnoname=='1') $('.element-i .err-txt-noname', this).show();
		}
		if (o_err=='1') {
			$('.element-o', this).addClass('error');
			if (o_errno=='1') $('.element-o .err-txt-no', this).show();
			if (o_errnoname=='1') $('.element-o .err-txt-noname', this).show();
		}
		if (f_err=='1') {
			$('.element-f', this).addClass('error');
			if (f_errno=='1') $('.element-f .err-txt-no', this).show();
			if (f_errnoname=='1') $('.element-f .err-txt-noname', this).show();
		}
		
	});
	
});

// Валидация ФИО
function default_form_validation_fio(block) {
	var validation = true;
	var re = /^[A-Za-zА-Яа-я \-]{3,36}$/;
	block = $(block);
	
	// Обнуляем ошибки
	$('.element', block).removeClass('error');
	$('.err-txt', block).hide();
	
	// Проверяем имя
	var el = $('.element-i', block);
	var name = $('INPUT', el).val();
	if ((name.length<3)||(name.length>36)||(name==DEFAULT_FORM_NAMEI_TEXT)) {
		$(el).addClass('error');
		$('.err-txt-no', el).show();
		validation = false;
	} else if (!re.test(name)) {
		$(el).addClass('error');
		$('.err-txt-noname', el).show();
		validation = false;
	}
	
	// Проверяем отчество
	var el = $('.element-o', block);
	var name = $('INPUT', el).val();
	if ((name.length<3)||(name.length>36)||(name==DEFAULT_FORM_NAMEO_TEXT)) {
		$(el).addClass('error');
		$('.err-txt-no', el).show();
		validation = false;
	} else if (!re.test(name)) {
		$(el).addClass('error');
		$('.err-txt-noname', el).show();
		validation = false;
	}
	
	// Проверяем фамилию
	var el = $('.element-f', block);
	var name = $('INPUT', el).val();
	if ((name.length<3)||(name.length>36)||(name==DEFAULT_FORM_NAMEF_TEXT)) {
		$(el).addClass('error');
		$('.err-txt-no', el).show();
		validation = false;
	} else if (!re.test(name)) {
		$(el).addClass('error');
		$('.err-txt-noname', el).show();
		validation = false;
	}
	
	return validation;
}


// Поля для ввода Имени
$(document).ready(function(){
	
	$('.b-form .nameinput INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_NAMEI_TEXT)
			$(this).val('');
		$(this).parent().removeClass('error');
		$('.err-txt', $(this).parent()).hide();
	});
	
	$('.b-form .nameinput INPUT').blur(function(){
		if ($(this).val()=='')
			$(this).val(DEFAULT_FORM_NAMEI_TEXT);
	});
	
	// установка значений по-умолчанию
	$('.b-form .nameinput').each(function(){
		
		// значение
		var i = $('DIV[rel="default_name"]', $(this).parent()).html();
		if (i=='DEF')
			i = DEFAULT_FORM_NAMEI_TEXT;
		$('INPUT', this).val(i);
		
		// ошибки
		var i_err   = $('DIV[rel="default_name_err"]', $(this).parent()).html();
		var i_errno = $('DIV[rel="default_name_errno"]', $(this).parent()).html();
		var i_errnoname = $('DIV[rel="default_name_errnoname"]', $(this).parent()).html();
		if (i_err=='1') {
			$('.element', this).addClass('error');
			if (i_errno=='1') $('.element .err-txt-no', this).show();
			if (i_errnoname=='1') $('.element .err-txt-noname', this).show();
		}
		
	});
	
});

// Валидация Имени
function default_form_validation_name(block) {
	var validation = true;
	var re = /^[A-Za-zА-Яа-я \-]{3,36}$/;
	block = $(block);
	
	// Обнуляем ошибки
	$('.element', block).removeClass('error');
	$('.err-txt', block).hide();
	
	// Проверяем имя
	var el = $('.element', block);
	var name = $('INPUT', el).val();
	if ((name.length<3)||(name.length>36)||(name==DEFAULT_FORM_NAMEI_TEXT)) {
		$(el).addClass('error');
		$('.err-txt-no', el).show();
		validation = false;
	} else if (!re.test(name)) {
		$(el).addClass('error');
		$('.err-txt-noname', el).show();
		validation = false;
	}
	
	return validation;
}


// Ввод телефонов
$(document).ready(function(){
	
	// Инициализация
	$('.b-form .phoneinput .phone1 INPUT').attr('onfocus', 'if (this.value=="'+DEFAULT_FORM_PHONE_TEXT+'") this.value="";');
	$('.b-form .phoneinput INPUT').mask(DEFAULT_FORM_PHONE_MASK);
	
	// Фокус на первом телефоне
	$('.b-form .phoneinput .phone1 INPUT').focus(function(){
		var p = $(this).parent().parent();
		$(this).parent().removeClass('error');
		if (!$('.phone2', p).hasClass('error')) {
			$('.err-txt', p).hide();
			$('.err-pic', p).hide();
		}
	});
	
	// Фокус на втором телефоне
	$('.b-form .phoneinput .phone2 INPUT').focus(function(){
		var p = $(this).parent().parent();
		$(this).parent().removeClass('error');
		if (!$('.phone1', p).hasClass('error')) {
			$('.err-txt', p).hide();
			$('.err-pic', p).hide();
		}
	});
	
	// Блур на первом телефоне
	$('.b-form .phoneinput .phone1 INPUT').blur(function(){
		if ($(this).val()=='') $(this).val(DEFAULT_FORM_PHONE_TEXT);
	});
	
	// Ещё телефон
	$('.b-form .phoneinput .more A').click(function(){
		var p = $(this).parent().parent();
		$(this).parent().hide();
		$('.phone1 A.del', p).show();
		$('.phone2', p).show();
		$('.err-padding', p).addClass('err-padding-right');
		$('.phone2 INPUT', p).val('').focus();
		return false;
	});
	
	// Убрать первый телефон
	$('.b-form .phoneinput .phone1 A.del').click(function(){
		var p1 = $(this).parent();
		var p2 = p1.next();
		var p = p1.parent();
		$('INPUT', p1).val($('INPUT', p2).val());
		if (p2.hasClass('error')) {
			p1.addClass('error');
			p2.removeClass('error');
		} else {
			p1.removeClass('error');
			$('.err-txt', p).hide();
			$('.err-pic', p).hide();
		}
		p2.hide();
		$(this).hide();
		$('.err-padding', p).removeClass('err-padding-right');
		$('.more', p).show();
		return false;
	});
	
	// Убрать второй телефон
	$('.b-form .phoneinput .phone2 A.del').click(function(){
		var p2 = $(this).parent();
		var p1 = p2.prev();
		var p = p1.parent();
		p2.hide();
		$('A.del', p1).hide();
		$('.err-padding', p).removeClass('err-padding-right');
		$('.more', p).show();
		p2.removeClass('error');
		$('INPUT', p2).val('');
		if (!p1.hasClass('error')) {
			$('.err-txt', p).hide();
			$('.err-pic', p).hide();
		}
		return false;
	});
	
	// Значения по-умолчанию
	$('.b-form .phoneinput').each(function(){
		var p1 = $('DIV[rel="default_phone1"]', $(this).parent()).html();
		var p2 = $('DIV[rel="default_phone2"]', $(this).parent()).html();
		var p1_err = $('DIV[rel="default_phone1_err"]', $(this).parent()).html();
		var p2_err = $('DIV[rel="default_phone2_err"]', $(this).parent()).html();
		var p_errno = $('DIV[rel="default_phone_errno"]', $(this).parent()).html();
		var p_errnophone = $('DIV[rel="default_phone_errnophone"]', $(this).parent()).html();
		if (p1=='') p1 = 'DEF';
		if (p1!='DEF') {
			p1 = '('+p1.charAt(0)+p1.charAt(1)+p1.charAt(2)+') '+p1.charAt(3)+p1.charAt(4)+p1.charAt(5)+'-'+p1.charAt(6)+p1.charAt(7)+'-'+p1.charAt(8)+p1.charAt(9);
		} else p1 = DEFAULT_FORM_PHONE_TEXT;
		if (p2!='') p2 = '('+p2.charAt(0)+p2.charAt(1)+p2.charAt(2)+') '+p2.charAt(3)+p2.charAt(4)+p2.charAt(5)+'-'+p2.charAt(6)+p2.charAt(7)+'-'+p2.charAt(8)+p2.charAt(9);
		$('.phone1 INPUT', this).val(p1);
		$('.phone2 INPUT', this).val(p2);
		if (p1=='') $('.phone1 A.del', this).click();
		if (p2=='') $('.phone2 A.del', this).click();
		if (p1_err==1) { $('.phone1', this).addClass('error'); }
		if (p2_err==1) { $('.phone2', this).addClass('error'); }
		if ((p1_err==1)||(p2_err==1)) {
			$('.err-pic', this).show();
			if (p_errno==1) $('.err-txt-no', this).show();
			if (p_errnophone==1) $('.err-txt-nophone', this).show();
		}
		if ($('.phone2', this).css('display')!='none') {
			$('.err-padding', this).addClass('err-padding-right');
		} else {
			$('.err-padding', this).removeClass('err-padding-right');
		}
	});
	
});

// Валидация телефонов
function default_form_validation_phone(block) {
	var validation = true;
	block = $(block);
	var phone1 = $('.phone1', block);
	var phone2 = $('.phone2', block);
	
	// Обнуляем ошибки
	$('.element', block).removeClass('error');
	$('.err-txt', block).hide();
	$('.err-pic', block).hide();
	
	var p1 = $('INPUT', phone1).val();
	var p2 = $('INPUT', phone2).val();
	var p2_show = $(phone2).css('display')!='none';
	
	var p1_source = p1;
	var p2_source = p2;
	if (p1!='') p1 = p1.charAt(1)+p1.charAt(2)+p1.charAt(3)+p1.charAt(6)+p1.charAt(7)+p1.charAt(8)+p1.charAt(10)+p1.charAt(11)+p1.charAt(13)+p1.charAt(14);
	if (p2!='') p2 = p2.charAt(1)+p2.charAt(2)+p2.charAt(3)+p2.charAt(6)+p2.charAt(7)+p2.charAt(8)+p2.charAt(10)+p2.charAt(11)+p2.charAt(13)+p2.charAt(14);
	
	var flag1 = true;
	var flag2 = true;
	for (var i=1; i<10; i++) if (p1.charAt(0)!=p1.charAt(i)) flag1 = false;
	for (var i=1; i<10; i++) if (p2.charAt(0)!=p2.charAt(i)) flag2 = false;
	
	if ( ((p1=='')&&(p2=='')) || ((p1_source==DEFAULT_FORM_PHONE_TEXT)&&(p2=='')) ) {
		$(phone1).addClass('error');
		$('.err-pic', block).show();
		$('.err-txt-nophone', block).show();
		validation = false;
	} else if (flag1&&(p1!='')) {
		$(phone1).addClass('error');
		$('.err-pic', block).show();
		$('.err-txt-no', block).show();
		validation = false;
	}
	if ( ((p2!='')&&flag2&&p2_show) || ((p2_source==DEFAULT_FORM_PHONE_TEXT)&&p2_show) ) {
		$(phone2).addClass('error');
		$('.err-pic', block).show();
		$('.err-txt-no', block).show();
		validation = false;
	}
	if ((p1==p2)&&p2_show) {
		$(phone1).addClass('error');
		$(phone2).addClass('error');
		$('.err-pic', block).show();
		$('.err-txt-no', block).show();
		validation = false;
	}
	
	return validation;
}


// Тип агента + лицензия
$(document).ready(function(){
	
	// инициализация
	$('.b-form .typeagent .licence-date INPUT').attr('onfocus', 'if (this.value=="'+DEFAULT_FORM_LICENCEDATE_TEXT+'") this.value="";');
	$('.b-form .typeagent .licence-date INPUT').mask(DEFAULT_FORM_LICENCEDATE_MASK);
	$('.b-form .typeagent .licence2 INPUT').numeric();
	
	// выбор лицензии
	$('.b-form .typeagent .licence .check INPUT').click(function(){
		var cur = $(this).parent().parent().parent().parent().parent();
		$(cur).removeClass('typeagent-licence-disabled');
		$('.licence-data INPUT', cur).attr('disabled', false);
	});
	
	// выбор фриланса
	$('.b-form .typeagent .freelance .check INPUT').click(function(){
		var cur = $(this).parent().parent().parent().parent().parent();
		$(cur).addClass('typeagent-licence-disabled');
		$('.licence-data INPUT', cur).attr('disabled', true);
	});
	
	// Лицензия 1 - При фокусе убираем текст по-умолчанию
	$('.b-form .typeagent .licence1 INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_LICENCE1_TEXT) $(this).val('');
	});
	
	// Блур на лицензии 1
	$('.b-form .typeagent .licence1 INPUT').blur(function(){
		if ($(this).val()=='') $(this).val(DEFAULT_FORM_LICENCE1_TEXT);
	});
	
	// Лицензия 2 - При фокусе убираем текст по-умолчанию
	$('.b-form .typeagent .licence2 INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_LICENCE2_TEXT) $(this).val('');
	});
	
	// Блур на лицензии 2
	$('.b-form .typeagent .licence2 INPUT').blur(function(){
		if ($(this).val()=='') $(this).val(DEFAULT_FORM_LICENCE2_TEXT);
	});
	
	// Блур на дате лицензии
	$('.b-form .typeagent .licence-date INPUT').blur(function(){
		if ($(this).val()=='') $(this).val(DEFAULT_FORM_LICENCEDATE_TEXT);
	});
	
	// При фокусе на элементе лицензии - убираем ошибку
	$('.b-form .typeagent .licence-data INPUT').focus(function(){
		$(this).parent().removeClass('error');
		var ldata = $(this).parent().parent();
		var err = false;
		$('.element', ldata).each(function(){
			if ($(this).hasClass('error')) err = true;
		});
		if (!err) {
			$('.err-pic', ldata).hide();
			$('.err-txt-no', ldata).hide();
		}
	});
	
	// значения по-умолчанижю
	$('.b-form .typeagent').each(function(){
		var type = $('DIV[rel="default_typeagent"]', $(this).parent()).html();
		var l1 = $('DIV[rel="default_licence1"]', $(this).parent()).html();
		var l2 = $('DIV[rel="default_licence2"]', $(this).parent()).html();
		var l_date = $('DIV[rel="default_licence_date"]', $(this).parent()).html();
		var l1_err = $('DIV[rel="default_licence1_err"]', $(this).parent()).html();
		var l2_err = $('DIV[rel="default_licence2_err"]', $(this).parent()).html();
		var l_date_err = $('DIV[rel="default_licence_date_err"]', $(this).parent()).html();
		var l_errno = $('DIV[rel="default_licence_errno"]', $(this).parent()).html();
		if (l1=='DEF') l1 = DEFAULT_FORM_LICENCE1_TEXT;
		if (l2=='DEF') l2 = DEFAULT_FORM_LICENCE2_TEXT;
		if (l_date=='DEF') l_date = DEFAULT_FORM_LICENCEDATE_TEXT;
		$('.'+type+' .check INPUT', this).click();
		$('.licence1 INPUT', this).val(l1);
		$('.licence2 INPUT', this).val(l2);
		$('.licence-date INPUT', this).val(l_date);
		var error = false;
		if (l1_err=='1') { $('.licence1', this).addClass('error'); error = true; }
		if (l2_err=='1') { $('.licence2', this).addClass('error'); error = true; }
		if (l_date_err=='1') { $('.licence-date', this).addClass('error'); error = true; }
		if (error) {
			$('.licence-data .err-pic', this).show();
			if (l_errno=='1') $('.licence-data .err-txt-no', this).show();
		}
	});
	
});

// Валидация лицензии (если выбран тип - лицензия)
function default_form_validation_typeagent(block) {
	var validation = true;
	block = $(block);
	
	// Обнуляем ошибки
	$('.element', block).removeClass('error');
	$('.err-txt', block).hide();
	$('.err-pic', block).hide();
	
	if ($('.licence .check INPUT', block).attr('checked')) {
		
		var err = false;
		
		// лицензия 1
		var l1 = $('.licence1 INPUT', block).val();
		var re = /^[А-Яа-я]{2}$/;
		if ((!re.test(l1))||(l1==DEFAULT_FORM_LICENCE1_TEXT)) {
			$('.licence1', block).addClass('error');
			err = true;
		}
		
		// лицензия 2
		var l2 = $('.licence2 INPUT', block).val();
		re = /^[0-9]{6}$/;
		if ((!re.test(l2))||(l2==DEFAULT_FORM_LICENCE2_TEXT)) {
			$('.licence2', block).addClass('error');
			err = true;
		}
		
		// дата лицензии
		var ldate = $('.licence-date', block);
		var date = $('INPUT', ldate).val();
		if (date!='') {
			var day = (date.charAt(0)+date.charAt(1))*1;
			var month = (date.charAt(3)+date.charAt(4))*1;
			var year = (date.charAt(6)+date.charAt(7)+date.charAt(8)+date.charAt(9))*1;
			if (!((day<1)||(day>31)||(month<1)||(month>12)||(year<1994))) {
				var the_date = new Date(year, month-1, day);
				var now_date = new Date();
				var min_date = new Date(1994, 0, 1);
				if ((the_date<min_date)||(the_date>now_date)) {
					$(ldate).addClass('error');
					err = true;
				}
			} else {
				$(ldate).addClass('error');
				err = true;
			}
		} else {
			$(ldate).addClass('error');
			err = true;
		}
		if (err) {
			$('.licence-data .err-pic', block).show();
			$('.licence-data .err-txt-no', block).show();
			validation = false;
		}
		
	}
	
	return validation;
}


// Паспортные данные
$(document).ready(function(){
	
	// инициализация
	$('.b-form .passportinput .passport-number INPUT').numeric();;
	
	// Серия - Фокус и Блур
	$('.b-form .passportinput .passport-series INPUT').focus(function(){ if ($(this).val()==DEFAULT_FORM_PASSPORTSERIES_TEXT) $(this).val(''); });
	$('.b-form .passportinput .passport-series INPUT').blur(function(){ if ($(this).val()=='') $(this).val(DEFAULT_FORM_PASSPORTSERIES_TEXT); });
	
	// Номер - Фокус и Блур
	$('.b-form .passportinput .passport-number INPUT').focus(function(){ if ($(this).val()==DEFAULT_FORM_PASSPORTNUMBER_TEXT) $(this).val(''); });
	$('.b-form .passportinput .passport-number INPUT').blur(function(){ if ($(this).val()=='') $(this).val(DEFAULT_FORM_PASSPORTNUMBER_TEXT); });
	
	// Кем выдан - Фокус и Блур
	$('.b-form .passportinput .passport-who INPUT').focus(function(){ if ($(this).val()==DEFAULT_FORM_PASSPORTWHO_TEXT) $(this).val(''); });
	$('.b-form .passportinput .passport-who INPUT').blur(function(){ if ($(this).val()=='') $(this).val(DEFAULT_FORM_PASSPORTWHO_TEXT); });
	
	// Убираем ошибку, когда элемент получает фокус
	$('.b-form .passportinput .passportinput-data INPUT').focus(function(){
		$(this).parent().removeClass('error');
		var pdata = $(this).parent().parent();
		var err = false;
		$('.element', pdata).each(function(){
			if ($(this).hasClass('error')) err = true;
		});
		if (!err) $('.err-pic', pdata).hide();
	});
	
	// Установка значений по-умолчанию
	$('.b-form .passportinput').each(function(){
		var form = $(this).parent();
		var series = $('DIV[rel="default_passport_series"]', form).html();
		var number = $('DIV[rel="default_passport_number"]', form).html();
		var who = $('DIV[rel="default_passport_who"]', form).html();
		if (series=='DEF') series = DEFAULT_FORM_PASSPORTSERIES_TEXT;
		if (number=='DEF') number = DEFAULT_FORM_PASSPORTNUMBER_TEXT;
		if (who=='DEF') who = DEFAULT_FORM_PASSPORTWHO_TEXT;
 		$('.passport-series INPUT', this).val(series);
		$('.passport-number INPUT', this).val(number);
		$('.passport-who INPUT', this).val(who);
		var error = false;
		if ($('DIV[rel="default_passport_series_err"]', form).html()=='1') {
			$('.passport-series', this).addClass('error');
			error = true;
		}
		if ($('DIV[rel="default_passport_number_err"]', form).html()=='1') {
			$('.passport-number', this).addClass('error');
			error = true;
		}
		if ($('DIV[rel="default_passport_who_err"]', form).html()=='1') {
			$('.passport-who', this).addClass('error');
			error = true;
		}
		if (error) $('.passportinput-data .err-pic', this).show();
	});
	
});

// Валидация паспортных данных
function default_form_validation_passport(block) {
	block = $(block);
	var validation = true;
	
	// Обнуляем все ошибки
	$('.err-pic', block).show();
	$('.element', block).removeClass('error');
	
	// Проверяем паспорт
	var err = false;
	var series = $('.passport-series INPUT', block).val();
	var number = $('.passport-number INPUT', block).val();
	var who = $('.passport-who INPUT', block).val();
	var re = /^[А-Яа-я]{2}$/;
	if ((!re.test(series))||(series==DEFAULT_FORM_PASSPORTSERIES_TEXT)) {
		$('.passport-series', block).addClass('error');
		err = true;
	}
	var re = /^[0-9]{6}$/;
	if ((!re.test(number))||(number==DEFAULT_FORM_PASSPORTNUMBER_TEXT)) {
		$('.passport-number', block).addClass('error');
		err = true;
	}
	if ((who.length<3)||(who==DEFAULT_FORM_PASSPORTWHO_TEXT)) {
		$('.passport-who', block).addClass('error');
		err = true;
	}
	if (err) {
		$('.err-pic', block).show();
		validation = false;
	}
	
	return validation;
}


// Адрес прописки
$(document).ready(function(){
	
	// Фокус
	$('.b-form .passportreginput INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_PASSPORTREG_TEXT) $(this).val('');
		$(this).parent().removeClass('error');
	});
	
	// Блур
	$('.b-form .passportreginput INPUT').blur(function(){
		if ($(this).val()=='') $(this).val(DEFAULT_FORM_PASSPORTREG_TEXT);
	});
	
	// Установка значения по-умолчанию
	$('.b-form .passportreginput').each(function(){
		var form = $(this).parent()
		var t = $('DIV[rel="default_passportreg"]', form).html()
		if (t=='DEF') t = DEFAULT_FORM_PASSPORTREG_TEXT;
		$('INPUT', this).val(t);
		if ($('DIV[rel="default_passportreg_err"]', form).html()=='1')
			$('.element', this).addClass('error');
	});
	
});

// Валидация адреса прописки
function default_form_validation_passportreg(block) {
	block = $(block);
	var validation = true;
	var address = $('INPUT', block).val();
	if ((address.length<3)||(address==DEFAULT_FORM_PASSPORTREG_TEXT)) {
		$('.element', block).addClass('error');
		validation = false;
	}
	return validation;
}


// Идентификационный код
$(document).ready(function(){
	
	// Инициализация
	$('.b-form .idcodeinput INPUT').numeric();;
	
	// Фокус
	$('.b-form .idcodeinput INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_IDCODE_TEXT) $(this).val('');
		$(this).parent().removeClass('error');
		$('.err-txt', $(this).parent()).hide();
	});
	
	// Блур
	$('.b-form .idcodeinput INPUT').blur(function(){
		if ($(this).val()=='') $(this).val(DEFAULT_FORM_IDCODE_TEXT);
	});
	
	// Установка значения по-умолчанию
	$('.b-form .idcodeinput').each(function(){
		var form = $(this).parent()
		var id = $('DIV[rel="default_idcode"]', form).html()
		if (id=='DEF') id = DEFAULT_FORM_IDCODE_TEXT;
		$('INPUT', this).val(id);
		if ($('DIV[rel="default_idcode_err"]', form).html()=='1') {
			$('.element', this).addClass('error');
			if ($('DIV[rel="default_idcode_errno"]', form).html()=='1')
				$('.err-txt-no', this).show();
		}
	});
	
});

// Валидация идентификационного кода
function default_form_validation_idcode(block) {
	block = $(block);
	var validation = true;
	var id = $('INPUT', block).val();
	var re = /^[0-9]{10}$/;
	if ((!re.test(id))||(id==DEFAULT_FORM_IDCODE_TEXT)) {
		$('.element', block).addClass('error');
		$('.err-txt-no', block).show();
		validation = false;
	}
	return validation;
}


// Название компании
$(document).ready(function(){
	
	// Фокус
	$('.b-form .companynameinput INPUT').focus(function(){
		if ($(this).val()==DEFAULT_FORM_COMPANYNAME_TEXT) $(this).val('');
		$(this).parent().removeClass('error');
	});
	
	// Блур
	$('.b-form .companynameinput INPUT').blur(function(){
		if ($(this).val()=='') $(this).val(DEFAULT_FORM_COMPANYNAME_TEXT);
	});
	
	// Установка значения по-умолчанию
	$('.b-form .companynameinput').each(function(){
		var form = $(this).parent()
		var name = $('DIV[rel="default_companyname"]', form).html()
		if (name=='DEF') name = DEFAULT_FORM_COMPANYNAME_TEXT;
		$('INPUT', this).val(name);
		if ($('DIV[rel="default_companyname_err"]', form).html()=='1')
			$('.element', this).addClass('error');
	});
	
});

// Валидация названия компании
function default_form_validation_companyname(block) {
	block = $(block);
	var validation = true;
	var name = $('INPUT', block).val();
	if ((name.length<3)||(name==DEFAULT_FORM_COMPANYNAME_TEXT)) {
		$('.element', block).addClass('error');
		validation = false;
	}
	return validation;
}


// Операторская деятельность
$(document).ready(function(){
	
	// Установка значений по-умолчанию
	$('.b-form .seloperatordo').each(function(){
		$('INPUT[value="'+$('DIV[rel="default_operatordo"]', $(this).parent()).html()+'"]', this).click();
	});
	
});


// Выбор города и области
$(document).ready(function(){
	
	// Показать/скрыть выбор города
	$('.b-form .selcity A.now').click(function(){
		var select = $('.city-select', $(this).parent().parent().parent().parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent().parent().parent().parent().parent();
			select.css('left', $(this).offset().left - wrap.offset().left - 9 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 16 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
			select.scrollTo($('.cur', select));
		} else { // Скрыть
			select.hide();
		}
		return false;
	});
	
	// Скрывать выбор города при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .city-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .selcity A.now').get(0)!=$(e.target).get(0))
					$('.b-form .selcity A.now').click();
	});
	
	// Выбрать город
	$('.b-form .city-select A').live('click', function(){
		var selcity = $('.selcity', $(this).parent().parent().parent().parent());
		var select = $(this).parent().parent().parent();
		$('A.now', selcity).html($(this).html());
		$('INPUT', selcity).val($(this).attr('data-type'));
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		return false;
	});
	
	// Выбрать область
	$('.b-form .area-select A').click(function(){
		var selarea = $('.selarea', $(this).parent().parent().parent().parent());
		var select = $(this).parent().parent().parent();
		$('A.now', selarea).html($(this).html());
		$('INPUT', selarea).val($(this).attr('rel'));
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		$('.shadow', selarea).css('height', $('TABLE', selarea).height()); // Задаём высоту затенения
		
		// Загружаем города
		var cityselect = $('.city-select', selarea.parent());
		var wrap = $('UL', cityselect);
		var cityA = $('.selcity A.now', cityselect.parent());
		cityA.html('загрузка...');
		wrap.html('<li class="load"><div>Загружается...</div></li>');
		wrap.load('/ajax/region/'+$(this).attr('rel')+'/', function(responseText, textStatus, XMLHttpRequest){
			var flagShow = cityselect.css('display')!='none';
			if (textStatus=='error') {
				wrap.html('<li class="error"><div>Не удалось загрузить...</div></li>');
				cityA.html('...');
			} else {
				var def = $(this).data('default');
				if (def=='') {
					//$('LI:first A', cityselect).click();
					$('LI.cur A', cityselect).click();
				} else $('A[data-type="'+def+'"]', cityselect).click();
			}
			if (flagShow) {
				cityselect.hide();
				cityA.click();
			}
			$(this).data('default', '');
		});
		
		return false;
	});
	
	// Показать/скрыть выбор области
	$('.b-form .selarea A.now').click(function(){
		var select = $('.area-select', $(this).parent().parent().parent().parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent().parent().parent().parent().parent();
			select.css('left', $(this).offset().left - wrap.offset().left - 9 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 16 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
			select.scrollTo($('.cur', select));
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	
	// Скрывать выбор области при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .area-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .selarea A.now').get(0)!=$(e.target).get(0))
					$('.b-form .selarea A.now').click();
	});
	
	// Значения по-умолчанию
	$('.b-form .areacity-wrap').each(function(){
		var area_id = $('DIV[rel="default_area"]', $(this).parent()).html();
		var city_id = $('DIV[rel="default_city"]', $(this).parent()).html();
		$('.area-select A[rel="'+area_id+'"]', this).click();
		$('.city-select UL', this).data('default', city_id);
	});
	
});


// Выбор страны и региона
$(document).ready(function(){
	
	// Показать/скрыть выбор страны
	$('.b-form .selcountry A.now').click(function(){
		var select = $('.country-select', $(this).parent().parent().parent().parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent().parent().parent().parent().parent();
			select.css('left', $(this).offset().left - wrap.offset().left - 9 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 16 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
			select.scrollTo($('.cur', select));
		} else { // Скрыть
			select.hide();
		}
		return false;
	});
	
	// Скрывать выбор страны при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .country-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .selcountry A.now').get(0)!=$(e.target).get(0))
					$('.b-form .selcountry A.now').click();
	});
	
	// Выбрать страну
	$('.b-form .country-select A:not(.more)').click(function(){
		var selcountry = $('.selcountry', $(this).parent().parent().parent().parent());
		var select = $(this).parent().parent().parent();
		$('A.now', selcountry).html($(this).html());
		$('INPUT', selcountry).val($(this).attr('data-country'));
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		$('.shadow', selcountry).css('height', $('TABLE', selcountry).height()); // Задаём высоту затенения
		
		// Загружаем регионы
		var selregion = $('.selregion', selcountry.parent());
		var regionselect = $('.region-select', selcountry.parent());
		var wrap = $('UL', regionselect);
		$('.otherregion INPUT', selregion).flushCache().setOptions({ extraParams: { country: $(this).attr('data-country') } });
		$('A.region-clear', selregion).click();
		var anyA = $('A.any', selregion);
		anyA.html('загрузка...');
		wrap.html('<li class="load"><div>Загружается...</div></li>');
		wrap.load('/ajax/country/'+$(this).attr('data-country'), function(responseText, textStatus, XMLHttpRequest){
			if (textStatus=='error') {
				anyA.html('ошибка...');
				wrap.html('<li class="error"><div>Не удалось загрузить...</div></li>');
			} else {
				anyA.html('Любой');
				var def = $(this).data('default');
				if ((def!='any')&&(def!='')) {
					def = def.split('|');
					
					// существующие регионы
					var r = def[0].split(',');
					for (var j=0; j<r.length; j++) {
						if (j==0) {
							$('A.any', selregion).click();
						} else {
							$('A.region-more', selregion).click();
						}
						$('A[data-type="'+r[j]+'"]', regionselect).click();
					}
					
					// пользовательские регионы
					var r = def[1].split(',');
					$('INPUT.input-otherregion', selregion).val(def[1]);
					var countAOther = 0;
					var haveMore = $('.more', selregion).css('display')!='none';
					for (var j=0; j<r.length; j++) {
						countAOther++;
						if (haveMore) {
							$('A.a-element:last', selregion).after('<span class="sep">, </span>');
							$('.sep:last', selregion).after('<a href="#" class="now a-element" data-type="rOther'+countAOther+'">'+r[j]+'</a>');
						} else {
							$('A[data-type="r0"]', selregion).html(r[j]).attr('data-type', 'rOther'+countAOther);
							haveMore = true;
						}
					}
					
				}
			}
			wrap.append('<li><a href="#" class="other">Другой...</a></li>');
			regionselect.hide();
			$(this).data('default', '');
		});
		
		return false;
	});
	
	// Показать/скрыть выбор региона
	$('.b-form .selregion A.now').live('click', function(){
		var select = $('.region-select', $(this).parent().parent().parent().parent());
		var selregion = $('.selregion', select.parent());
		if (select.css('display')!='none') { // скрыть
			select.hide();
		}
		if (select.attr('data-type')!=$(this).attr('data-type')) { // показать
			var wrap = select.parent().parent().parent().parent().parent();
			select.css('left', $(this).offset().left - wrap.offset().left - 9 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 16 + 'px');
			select.attr('data-type', $(this).attr('data-type'));
			// скрываем выбранные регионы
			$('LI', select).removeClass('hidden');
			$('A.now', selregion).each(function(){
				$('A[data-type="'+$(this).attr('data-type')+'"]', select).parent().addClass('hidden');
			});
			// показываем список
			$('.any', select).parent().remove();
			if ($('LI:not(.hidden)', select).length==1) { // Если показан только элемент "Другое..."
				$('<li><a href="#" class="any">Любой</a></li>').prependTo($('UL', select));
			}
			default_form_elementselect_showpreparation(select, 211);
			select.show();
		} else {
			select.attr('data-type', '');
		}
		return false;
	});
	
	// Скрывать выбор региона при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .region-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .selregion A[data-type="'+select.attr('data-type')+'"]').get(0)!=$(e.target).get(0))
					$('.b-form .selregion A[data-type="'+select.attr('data-type')+'"]').click();
	});
	
	// Выбор региона
	$('.b-form .region-select A:not(.other,.any)').live('click', function(){
		var select = $(this).parent().parent().parent();
		var selregion = $('.selregion', select.parent());
		var old_r = select.attr('data-type');
		if (old_r=='rMore') {
			$('A.a-element:last', selregion).after('<span class="sep">, </span>');
			$('.sep:last', selregion).after('<a href="#" class="now a-element"></a>');
			var el = $('A.a-element:last', selregion);
		} else {
			var el = $('A[data-type="'+old_r+'"]', selregion);
		}
		el.html($(this).html());
		el.attr('data-type', $(this).attr('data-type'));
		if (old_r=='r0') // Если до этого не было выбранно ни одного региона, то теперь показываем крестик и "ещё"
			$('.more', selregion).show();
		select.attr('data-type', '');
		select.hide();
		// Заполняем INPUT
		var region = '';
		$('A.now', selregion).each(function(){
			var r = $(this).attr('data-type');
			if ((r!='r0')&&(r!='rMore')&&(r.substr(0,6)!='rOther')) {
				if (region!='') region+= ',';
				region+= r;
			}
		});
		$('INPUT.input-region', selregion).val(region);
		return false;
	});
	
	// Выбор варианта "Любой"
	$('.b-form .region-select A.any').live('click', function(){
		$('.selregion A.region-clear', $(this).parent().parent().parent().parent()).click();
	});
	
	// Инициализация автоподстановки
	$('.b-form .selregion .otherregion INPUT').autocomplete("/ajax/regionautocomplete/", {
		autoFill: true,
		minChars: 1,
		delay: 10,
		max: 8,
		selectFirst: true
	}).alpha({allow:" -'`"});
	
	// Выбор другого региона с помощью автоподстановки
	$('.b-form .selregion .otherregion INPUT').result(function(event, data, formatted) {
		
		var otherregion = $(this).parent();
		var selregion = otherregion.parent();
		var select = $('.region-select', selregion.parent());
		var old_r = $(this).parent().attr('data-type');
		
		if (!data) { // Пользовательский регион
			
			var txt = $(this).val();
			if (txt.length>1) {
				
				var haveRegion = false;
				$('A[data-type^=rOther]', selregion).each(function(){ if ($(this).html()==txt) haveRegion = true; });
				
				if (!haveRegion) {
					
					var countAOther = $('A[data-type^=rOther]', selregion).length;
					countAOther++;
					if (old_r=='rMore') {
						$('A.a-element:last', selregion).after('<span class="sep">, </span>');
						$('.sep:last', selregion).after('<a href="#" class="now a-element" data-type="rOther'+countAOther+'">'+txt+'</a>');
					} else {
						$('A[data-type="'+old_r+'"]', selregion).html(txt).attr('data-type', 'rOther'+countAOther);
					}
					
					if (old_r=='r0') // Если до этого не было выбранно ни одного региона, то теперь показываем крестик и "ещё"
						$('.more', selregion).show();
					
					// Заполняем INPUT
					var input = $('INPUT.input-otherregion', selregion);
					var add = input.val();
					if (add!='') add+= ',';
					add+= txt;
					input.val(add);
					
				}
				
			}
			
		} else { // Существующий регион
			
			var txt = data[0];
			var id = data[1];
			var haveRegion = false;
			$('A.now', selregion).each(function(){ if ($(this).attr('data-type')==id) haveRegion = true; });
			if (!haveRegion) {
				select.attr('data-type', '');
				$('A[data-type='+old_r+']', selregion).click();
				$('A[data-type='+id+']', select).click();
			}
			
		}
		
		otherregion.hide();
		
	});
	
	// Показать выбор региона "Другой..."
	$('.b-form .region-select A.other').live('click', function(){
		var select = $(this).parent().parent().parent();
		var selregion = $('.selregion', select.parent());
		var otherregion = $('.otherregion', selregion);
		otherregion.show();
		$('INPUT', otherregion).val('').focus();
		otherregion.attr('data-type', select.attr('data-type'));
		select.hide();
	});
	
	// Скрывать выбор другого региона при клике вне блока
	$(document).mouseup(function(e){
		var otherregion = $('.b-form .selregion .otherregion');
		if (otherregion.css('display')!='none')
			if (utils_isEventOut($('INPUT', otherregion), e)&&utils_isEventOut($('.ac_results'), e))
				$('INPUT', otherregion).search();
	});
	
	// Скрывать выбор другого региона при нажатии Enter или Tab
	$('.b-form .selregion .otherregion INPUT').bind('keydown', function(e){
		code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
		if ((code==13)||(code==9)) { // enter or tab
			$(this).search();
			return false;
		}
	});
	
	// Сброс регионов
	$('.b-form .selregion A.region-clear').click(function(){
		var selregion = $(this).parent().parent();
		var select = $('.region-select', selregion.parent());
		$('A.a-element', selregion).remove();
		$('.sep', selregion).remove();
		$('.more', selregion).before('<a href="#" class="now any a-element" data-type="r0">Любой</a>');
		$('.more', selregion).hide();
		select.attr('data-type', '');
		select.hide();
		$('INPUT.input-region', selregion).val('');
		$('INPUT.input-otherregion', selregion).val('');
		return false;
	});
	
	// Установка значений по-умолчанию
	$('.b-form .countryregion-wrap').each(function(){
		if ($('.b-newquery-step1 DIV[rel=b-newquery-step1_show]').length==0)
			default_form_setCountryRegion(this, 'default');
	});
	
});

// Установка значений по-умолчанию для страны/региона
function default_form_setCountryRegion(wrap, type) {
	var country_id = $('DIV[rel="'+type+'_country"]', $(wrap).parent()).html();
	var region_id = $('DIV[rel="'+type+'_region"]', $(wrap).parent()).html();
	$('.region-select UL', wrap).data('default', region_id);
	$('.country-select A[data-country="'+country_id+'"]', wrap).click();
}


// Блок "ХОЧУ УЕХАТЬ" (с ... по ... на ...-... дней)
$(document).ready(function(){
	
	// Инициализация календаря "С" + выбор даты
	$('.b-form .dateleave-from-select').datepicker({
		monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
		dayNamesMin: ['вс','пн','вт','ср','чт','пт','сб'],
		firstDay: 1,
		showOtherMonths: false,
		minDate: '0',
		onSelect:function(dateText, inst) { // Выбор даты
			var date = $(this).datepicker('getDate');
			var date_to = $('.dateleave-to-select', $(this).parent()).datepicker('getDate');
			var dateleave = $('.dateleave', $(this).parent());
			$('A.from-now', dateleave).html(utils_date2txt(date));
			if ((date_to.getTime()-date.getTime())<0) {
				date = new Date(date.getTime());
				$('A.to-now', dateleave).html(utils_date2txt(date));
				$('.dateleave-to-select', $(this).parent()).datepicker('setDate', date);
			}
			$('INPUT[name=leave_date_from]', dateleave).val($.datepicker.formatDate('d-m-yy', $(this).datepicker('getDate')));
			$('INPUT[name=leave_date_to]', dateleave).val($.datepicker.formatDate('d-m-yy', $('.dateleave-to-select', $(this).parent()).datepicker('getDate')));
			$(this).hide();
		}
	});
	
	// Инициализация календаря "ПО" + выбор даты
	$('.b-form .dateleave-to-select').datepicker({
		monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
		dayNamesMin: ['вс','пн','вт','ср','чт','пт','сб'],
		firstDay: 1,
		showOtherMonths: false,
		minDate: '0',
		onSelect:function(dateText, inst) { // Выбор даты
			var date = $(this).datepicker('getDate');
			var date_from = $('.dateleave-from-select', $(this).parent()).datepicker('getDate');
			var dateleave = $('.dateleave', $(this).parent());
			$('A.to-now', dateleave).html(utils_date2txt(date));
			if ((date.getTime()-date_from.getTime())<0) {
				date = new Date(date.getTime());
				$('A.from-now', dateleave).html(utils_date2txt(date));
				$('.dateleave-from-select', $(this).parent()).datepicker('setDate', date);
			}
			$('INPUT[name=leave_date_from]', dateleave).val($.datepicker.formatDate('d-m-yy', $('.dateleave-from-select', $(this).parent()).datepicker('getDate')));
			$('INPUT[name=leave_date_to]', dateleave).val($.datepicker.formatDate('d-m-yy', $(this).datepicker('getDate')));
			$(this).hide();
		}
	});
	
	// Показать/скрыть выбор даты "С"
	$('.b-form .dateleave A.from-now').click(function(){
		var select = $('.dateleave-from-select', $(this).parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left - 35 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			select.show();
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	$('.b-form .dateleave A.from-ico').click(function(){
		$('A.from-now', $(this).parent()).click();
		return false;
	});
	
	// Показать/скрыть выбор даты "ПО"
	$('.b-form .dateleave A.to-now').click(function(){
		var select = $('.dateleave-to-select', $(this).parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left - 35 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			select.show();
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	$('.b-form .dateleave A.to-ico').click(function(){
		$('A.to-now', $(this).parent()).click();
		return false;
	});
	
	// Скрывать выбор даты "C" при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .dateleave-from-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if (
						($('.b-form .dateleave A.from-now').get(0)!=$(e.target).get(0)) &&
						($('.b-form .dateleave A.from-ico').get(0)!=$(e.target).get(0)) &&
						($('.b-form .dateleave A.from-ico IMG').get(0)!=$(e.target).get(0)) 
					)
					$('.b-form .dateleave A.from-now').click();
	});
	
	// Скрывать выбор даты "ПО" при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .dateleave-to-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if (
						($('.b-form .dateleave A.to-now').get(0)!=$(e.target).get(0)) &&
						($('.b-form .dateleave A.to-ico').get(0)!=$(e.target).get(0)) &&
						($('.b-form .dateleave A.to-ico IMG').get(0)!=$(e.target).get(0)) 
					)
					$('.b-form .dateleave A.to-now').click();
	});
	
	// Показать/скрыть список кол-ва дней "С"
	$('.b-form .dateleave A.f-now').click(function(){
		var select = $('.dateleave-f-select', $(this).parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
			select.scrollTo($('.cur', select));
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	
	// Показать/скрыть список кол-ва дней "ПО"
	$('.b-form .dateleave A.t-now').click(function(){
		var select = $('.dateleave-t-select', $(this).parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
			select.scrollTo($('.cur', select));
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	
	// Скрывать список кол-ва дней "С" при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .dateleave-f-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .dateleave A.f-now').get(0)!=$(e.target).get(0))
					$('.b-form .dateleave A.f-now').click();
	});
	
	// Скрывать список кол-ва дней "ПО" при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .dateleave-t-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .dateleave A.t-now').get(0)!=$(e.target).get(0))
					$('.b-form .dateleave A.t-now').click();
	});
	
	// Выбор кол-ва дней "С" в списке
	$('.b-form .dateleave-f-select A:not(.other)').click(function(){
		var select = $(this).parent().parent().parent();
		var selectT = $('.dateleave-t-select', select.parent());
		var dateleave = $('.dateleave', select.parent());
		$('A.f-now', dateleave).html($(this).html());
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		f = $('.f-now', dateleave).html()*1;
		t = $('.t-now', dateleave).html()*1;
		if (f>=t) {
			$('A', selectT).removeClass('cur');
			$('A:not(.other)', selectT).each(function(){
				if ($(this).html()==(f+1)) $(this).click();
			});
		}
		$('INPUT[name=leave_for_from]', dateleave).val($('A.f-now', dateleave).html());
		$('INPUT[name=leave_for_to]', dateleave).val($('A.t-now', dateleave).html());
		return false;
	});
	
	// Выбор кол-ва дней "ПО" в списке
	$('.b-form .dateleave-t-select A:not(.other)').click(function(){
		var select = $(this).parent().parent().parent();
		var selectF = $('.dateleave-f-select', select.parent());
		var dateleave = $('.dateleave', select.parent());
		$('A.t-now', dateleave).html($(this).html());
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		f = $('.f-now', dateleave).html()*1;
		t = $('.t-now', dateleave).html()*1;
		if (f>=t) {
			$('A', selectF).removeClass('cur');
			$('A:not(.other)', selectF).each(function(){
				if ($(this).html()==(t-1)) $(this).click();
			});
		}
		$('INPUT[name=leave_for_from]', dateleave).val($('A.f-now', dateleave).html());
		$('INPUT[name=leave_for_to]', dateleave).val($('A.t-now', dateleave).html());
		return false;
	});
	
	// Выбор "другое..." в кол-ва дней "С"
	$('.b-form .dateleave-f-select A.other').click(function(){
		default_form_dateleave_showCountDaysInput();
		$('.dateleave .f-input', $(this).parent().parent().parent().parent()).focus().select();
		return false;
	});
	
	// Выбор "другое..." в кол-ва дней "ПО"
	$('.b-form .dateleave-t-select A.other').click(function(){
		default_form_dateleave_showCountDaysInput();
		$('.dateleave .t-input', $(this).parent().parent().parent().parent()).focus().select();
		return false;
	});
	
	// Инициализация INPUT для кол-ва дней
	$('.b-form .dateleave .input').numeric();
	
	// Подсвечиваем INPUT для кол-ва дней при фокусе
	$('.b-form .dateleave .input').focus(function(){ $(this).addClass('input-active'); });
	$('.b-form .dateleave .input').blur(function(){ $(this).removeClass('input-active'); });
	
	// Скрывать INPUTы для кол-ва дней при клике вне блока
	$(document).mouseup(function(e){
	if ($('.b-form .dateleave .input').css('display')!='none')
		if (
				$('.b-form .dateleave .f-input').get(0)!=$(e.target).get(0) &&
				$('.b-form .dateleave .t-input').get(0)!=$(e.target).get(0)
			)
			default_form_dateleave_hideCountDaysInput();
	});
	
	// Скрывать INPUTы для кол-ва дней при нажатии Enter
	$('.b-form .dateleave .input').bind('keyup', function(e){
		code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
		if (code==13) { // enter
			default_form_dateleave_hideCountDaysInput();
			return false;
		}
	});
	
	// Установка значений по-умолчанию
	$('.b-form .dateleave-wrap').each(function(){
		if ($('.b-newquery-step1 DIV[rel=b-newquery-step1_show]').length==0)
			default_form_setDateLeave(this, 'default');
	});
	
});

// Установка значений по-умолчанию в блоке "ХОЧУ УЕХАТЬ"
function default_form_setDateLeave(wrap, type) {
	var form = $(wrap).parent();
	var dateleave = $('.dateleave', form);
		
	$('.dateleave-from-select', form).datepicker('setDate', $('DIV[rel='+type+'_leave_date_from]', form).html());
	$('.dateleave-from-select A.ui-state-active', form).parent().click();
	
	$('.dateleave-to-select', form).datepicker('setDate', $('DIV[rel='+type+'_leave_date_to]', form).html());
	$('.dateleave-to-select A.ui-state-active', form).parent().click();
	
	$('.f-input', dateleave).val($('DIV[rel="'+type+'_leave_for_from"]', form).html());
	$('.t-input', dateleave).val($('DIV[rel="'+type+'_leave_for_to"]', form).html());
	default_form_dateleave_hideCountDaysInput();
}

// Показываем INPUT вместо списков для кол-ва дней в блоке "ХОЧУ УЕХАТЬ"
function default_form_dateleave_showCountDaysInput() {
	var dateleave = $('.b-form .dateleave');
	var selectF = $('.dateleave-f-select', dateleave.parent().parent());
	var selectT = $('.dateleave-t-select', dateleave.parent().parent());
	selectF.hide();
	selectT.hide();
	$('A', selectF).removeClass('cur');
	$('A', selectT).removeClass('cur');
	$('.f-now', dateleave).hide();
	$('.t-now', dateleave).hide();
	$('.f-input', dateleave).val($('.f-now', dateleave).html());
	$('.t-input', dateleave).val($('.t-now', dateleave).html());
	$('.input', dateleave).show();
}

// Скрываем INPUTы для кол-ва дней в блоке "ХОЧУ УЕХАТЬ"
function default_form_dateleave_hideCountDaysInput() {
	var dateleave = $('.b-form .dateleave');
	$('.input', dateleave).hide();
	var f = $('.f-input', dateleave).val()*1;
	var t = $('.t-input', dateleave).val()*1;
	var fnow = $('.f-now', dateleave);
	var tnow = $('.t-now', dateleave);
	if ((f<1)||(f>98)) f = fnow.html();
	if ((t<2)||(t>99)) t = tnow.html();
	if ((t-f)<1) t = f + 1;
	fnow.html(f);
	tnow.html(t);
	fnow.show();
	tnow.show();
	$('INPUT[name=leave_for_from]', dateleave).val(f);
	$('INPUT[name=leave_for_to]', dateleave).val(t);
	
	// отмечаем новые значения в списках
	var selectF = $('.dateleave-f-select', dateleave.parent().parent());
	var selectT = $('.dateleave-t-select', dateleave.parent().parent());
	$('A', selectF).removeClass('cur');
	$('A', selectT).removeClass('cur');
	if (f<=15) $('A:not(.other)', selectF).each(function(){
		if ($(this).html()==f) $(this).addClass('cur');
	});
	if (t<=16) $('A:not(.other)', selectT).each(function(){
		if ($(this).html()==t) $(this).addClass('cur');
	});
	
}


// Блок "Кол-во людей + Размещение"
$(document).ready(function(){
	
	// Показать/скрыть список выбора кол-ва взрослых
	$('.b-form .countpeople A.mans-now').click(function(){
		var select = $('.countpeople-mans-select', $(this).parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	
	// Показать/скрыть список выбора кол-ва детей
	$('.b-form .countpeople A.kids-now').click(function(){
		var select = $('.countpeople-kids-select', $(this).parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	
	// Скрывать список выбора кол-ва взрослых при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .countpeople-mans-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .countpeople A.mans-now').get(0)!=$(e.target).get(0))
					$('.b-form .countpeople A.mans-now').click();
	});
	
	// Скрывать список выбора кол-ва детей при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .countpeople-kids-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .countpeople A.kids-now').get(0)!=$(e.target).get(0))
					$('.b-form .countpeople A.kids-now').click();
	});
	
	// Выбор кол-ва взрослых
	$('.b-form .countpeople-mans-select A:not(.other)').click(function(){
		var select = $(this).parent().parent().parent();
		var countpeople = $('.countpeople', select.parent());
		$('A.mans-now', countpeople).html($(this).html()).attr('data-count', $(this).attr('data-count'));
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		default_form_changeCountPeoples();
		return false;
	});
	
	// Выбор кол-ва детей
	$('.b-form .countpeople-kids-select A:not(.other)').click(function(){
		var select = $(this).parent().parent().parent();
		var countpeople = $('.countpeople', select.parent());
		$('A.kids-now', countpeople).html($(this).html()).attr('data-count', $(this).attr('data-count'));
		$('A.kids-clear', countpeople).show();
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		default_form_changeCountPeoples();
		return false;
	});
	
	// Выбор "другое..." у взрослых
	$('.b-form .countpeople-mans-select A.other').click(function(){
		var countpeople = $('.countpeople', $(this).parent().parent().parent().parent());
		var select = $(this).parent().parent().parent();
		select.hide();
		$('.mans-input INPUT', countpeople).val($('A.mans-now', countpeople).attr('data-count'));
		$('A', select).removeClass('cur');
		$('.mans-now', countpeople).hide();
		$('.mans-input', countpeople).show();
		$('.mans-input INPUT', countpeople).focus().select();
		return false;
	});
	
	// Выбор "другое..." у детей
	$('.b-form .countpeople-kids-select A.other').click(function(){
		var countpeople = $('.countpeople', $(this).parent().parent().parent().parent());
		var select = $(this).parent().parent().parent();
		select.hide();
		$('.kids-input INPUT').val($('A.kids-now', countpeople).attr('data-count'));
		$('A', select).removeClass('cur');
		$('.kids-now', countpeople).hide();
		$('.kids-input', countpeople).show();
		$('.kids-input INPUT', countpeople).focus().select();
		return false;
	});
	
	// Клик на крестике у детей
	$('.b-form .countpeople A.kids-clear').click(function(){
		$('.countpeople-kids-select A', $(this).parent().parent().parent()).removeClass('cur');
		$('A.kids-now', $(this).parent()).html('без детей').attr('data-count', '0');
		default_form_changeCountPeoples();
		$(this).hide();
		return false;
	});
	
	
	// Инициализация INPUT для кол-ва людей
	$('.b-form .countpeople .input INPUT').numeric();
	
	// Скрываем INPUT и показываем ссылки (кол-во взрослых) при клике вне блока
	$(document).mouseup(function(e){
		if ($('.b-form .countpeople .mans-input').css('display')!='none')
			if ($('.b-form .countpeople .mans-input INPUT').get(0)!=$(e.target).get(0)) {
				default_form_hideCountMans();
			}
	});
	
	// Скрываем INPUT и показываем ссылки (кол-во взрослых) при нажатии Enter
	$('.b-form .countpeople .mans-input INPUT').bind('keyup', function(e){
		code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
		if (code==13) { // enter
			default_form_hideCountMans();
			return false;
		}
	});
	
	// Скрываем INPUT и показываем ссылки (кол-во детей) при клике вне блока
	$(document).mouseup(function(e){
		if ($('.b-form .countpeople .kids-input').css('display')!='none')
			if ($('.b-form .countpeople .kids-input INPUT').get(0)!=$(e.target).get(0)) {
				default_form_hideCountKids();
			}
	});
	
	// Скрываем INPUT и показываем ссылки (кол-во детей) при нажатии Enter
	$('.b-form .countpeople .kids-input INPUT').bind('keyup', function(e){
		code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
		if (code==13) { // enter
			default_form_hideCountKids();
			return false;
		}
	});
	
	
	// Задаём для списка вариантов размещения - их вместимости
	$('.b-form .placepeople-select A').each(function(){
		data = $(this).attr('data-count');
		data = data.split('|');
		$(this).data('need-mans', data[0]).data('need-kids', data[1]);
	});
	
	// Показать/скрыть список вариантов размещения
	$('.b-form .placepeople A.variant').live('click',function(){
		var select = $('.placepeople-select', $(this).parent().parent().parent().parent().parent().parent().parent().parent());
		if (select.css('display')!='none') { // скрыть
			select.hide();
		}
		if (select.attr('data-count')!=$(this).attr('data-count')) { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			select.attr('data-count', $(this).attr('data-count'));
			
			// скрываем невозможные варианты
			$('LI', select).removeClass('hidden');
			var mans = $(this).parent().data('remain-mans');
			var kids = $(this).parent().data('remain-kids');
			$('A', select).each(function(){
				var need_mans = $(this).data('need-mans');
				var need_kids = $(this).data('need-kids');
				if ((mans<need_mans)||(kids<need_kids)) {
					$(this).parent().addClass('hidden');
				}
			});
			if (mans+kids<8) // аппартаменты и бунгало только от 8 человек
				$('A.full', select).parent().addClass('hidden');
			
			// показываем список
			default_form_elementselect_showpreparation(select, 211);
			select.show();
		} else {
			select.attr('data-count', '');
		}
		return false;
	});
	
	// Скрывать список вариантов размещения при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .placepeople-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .placepeople A.variant[data-count="'+select.attr('data-count')+'"]').get(0)!=$(e.target).get(0))
					$('.b-form .placepeople A.variant[data-count="'+select.attr('data-count')+'"]').click();
	});
	
	// Выбор варианта размещения
	$('.b-form .placepeople-select A').live('click', function(){
		var select = $(this).parent().parent().parent();
		var placepeople = $('.placepeople', select.parent());
		var cur_room_id = select.attr('data-count')*1;
		var cur_room = $('.item A[data-count="'+cur_room_id+'"]', placepeople);
		var count_rooms = $('.item', placepeople).length*1;
		
		// удаляем дальнейшие варианты
		for (var i=cur_room_id+1; i<=count_rooms; i++)
			$('.item A[data-count="'+i+'"]', placepeople).parent().remove();
		
		// распределяем в текущей комнате
		mans = cur_room.parent().data('remain-mans');
		kids = cur_room.parent().data('remain-kids');
		cur_room.html($(this).html());
		if (cur_room.next().hasClass('kid-years'))
			cur_room.next().remove();
		cur_room.after(default_form_getPlacingKidsYear($(this).data('need-kids'), cur_room_id, [1,1,1]));
		if ($(this).hasClass('full')) { // для аппортаментов и бунгал
			$(cur_room).parent().data('now-mans', mans);
			$(cur_room).parent().data('now-kids', kids);
			if ($(this).hasClass('apt')) $(cur_room).parent().data('type', 'apt');
			if ($(this).hasClass('bngl')) $(cur_room).parent().data('type', 'bngl');
			mans = 0;
			kids = 0;
		} else { // для обычных комнат
			$(cur_room).parent().data('now-mans', $(this).data('need-mans'));
			$(cur_room).parent().data('now-kids', $(this).data('need-kids'));
			$(cur_room).parent().data('type', 'room');
			mans-= $(this).data('need-mans');
			kids-= $(this).data('need-kids');
		}
		
		// Распределяем оставшихся
		default_form_doPeoplePlacing(cur_room_id+1, mans, kids);
		
		// Скрываем выбор вариантов
		select.attr('data-count', '');
		select.hide();
		
		return false;
	});
	
	// Показать/скрыть список лет
	$('.b-form .placepeople .kid-years A').live('click', function(){
		var select = $('.placepeople-year-select', $(this).parent().parent().parent().parent().parent().parent().parent().parent());
		if (select.css('display')!='none') { // скрыть
			select.hide();
		}
		if (select.attr('data-count')!=$(this).attr('data-count')) { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			select.attr('data-count', $(this).attr('data-count'));
			
			// Отмечаем сколько сейчас лет
			$('A', select).removeClass('cur');
			now = $(this).html();
			$('A', select).each(function(){
				if ($(this).html()==now)
					$(this).addClass('cur');
			});
			
			// Показываем список
			default_form_elementselect_showpreparation(select, 211);
			select.show();
			select.scrollTo($('.b-newquery-step1 .place-year-select .cur'));
		} else { 
			select.attr('data-count', '');
		}
		return false;
	});
	
	// Скрывать список лет при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .placepeople-year-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .placepeople .kid-years A[data-count="'+select.attr('data-count')+'"]').get(0)!=$(e.target).get(0))
					$('.b-form .placepeople .kid-years A[data-count="'+select.attr('data-count')+'"]').click();
	});
	
	// Выбор кол-ва лет
	$('.b-form .placepeople-year-select A').click(function(){
		var select = $(this).parent().parent().parent();
		var placepeople = $('.placepeople', select.parent());
		$('.kid-years A[data-count="'+select.attr('data-count')+'"]', placepeople).html($(this).html());
		select.attr('data-count', '');
		select.hide();
		return false;
	});
	
	// Установка значений по-умолчанию
	if ($('.b-newquery-step1 DIV[rel=b-newquery-step1_show]').length==0)
		default_form_setCountPeople($('.b-form .countpeople-wrap'), 'default');
	
});

// Установка значений по-умолчанию в блоке "Кол-во людей + Размещение"
function default_form_setCountPeople(wrap, type) {
	var form = wrap.parent();
	var countMans = $('DIV[rel="'+type+'_count_mans"]', form).html();
	var countKids = $('DIV[rel="'+type+'_count_kids"]', form).html();
	$('.mans-input INPUT', wrap).val(countMans);
	$('.kids-input INPUT', wrap).val(countKids);
	var place = $('DIV[rel="'+type+'_placepeople"]', form).html();
	place+= '';
	default_form_hideCountMans();
	default_form_hideCountKids();
	if (place!='any') { // Если размещение не стандартное
		place = place.split('|');
		wrap = $('.placepeople .items', form);
		var select = $('.placepeople-select', form);
		var selectYear = $('.placepeople-year-select', form);
		wrap.html('');
		var variant, years, item, div;
		for (i=0;i<place.length;i++) {
			if ((place[i]!='apt')&&(place[i]!='bngl')) { // Комната
				item = place[i].split(',');
				years = [1,1,1];
				for (j=0;j<item[1];j++)
					years[j] = item[j+2];
				variant = default_form_PeoplePlacingItemHTML(i+1, item[0], item[1], years, $('.placepeople .help-block', form).html());
				div = $(variant).appendTo(wrap);
				$(div).data('remain-mans', countMans).data('remain-kids', countKids);
				$(div).data('now-mans', item[0]).data('now-kids', item[1]);
				$(div).data('type', 'room');
				countMans-= item[0];
				countKids-= item[1];
			} else { // Аппартаменты или бунгало
				variant = default_form_PeoplePlacingItemHTML(i+1, place[i], 0, 0, $('.placepeople .help-block', form).html());
				div = $(variant).appendTo(wrap);
				$(div).data('remain-mans', countMans).data('remain-kids', countKids);
				$(div).data('now-mans', countMans).data('now-kids', countKids);
				$(div).data('type', place[i]);
			}
		}
	}
}

/* Скрываем INPUT и показываем ссылки (кол-во детей) */
function default_form_hideCountKids() {
	var countpeople = $('.b-form .countpeople');
	var select = $('.countpeople-kids-select', countpeople.parent().parent());
	$('.kids-input', countpeople).hide();
	var c = $('.kids-input INPUT', countpeople).val()*1;
	if ((c<0)||(c>99)) c = $('A.kids-now', countpeople).attr('data-count');
	var txt = '';
	if (c==1) {
		txt = '1 ребенок';
	} else {
		txt = c + ' детей';
	}
	if (c==0) { // если ввели 0
		txt = 'без детей';
		$('A.kids-clear', countpeople).hide();
	} else { // если дети будут - показать крестик
		$('A.kids-clear', countpeople).show();
	}
	$('A.kids-now', countpeople).html(txt).attr('data-count', c);
	$('A.kids-now', countpeople).show();
	default_form_changeCountPeoples();
	// отмечаем новые значения в списках
	$('A', select).removeClass('cur');
	if ((c>=1)&&(c<=4)) $('A:not(.other)', select).each(function(){
		if ($(this).attr('data-count')==c) $(this).addClass('cur');
	});
}

/* Скрываем INPUT и показываем ссылки (кол-во взрослых) */
function default_form_hideCountMans() {
	var countpeople = $('.b-form .countpeople');
	var select = $('.countpeople-mans-select', countpeople.parent().parent());
	$('.mans-input', countpeople).hide();
	var c = $('.mans-input INPUT', countpeople).val()*1;
	if ((c<0)||(c>99)) c = $('A.mans-now', countpeople).attr('data-count');
	var txt = '';
	if (c==0) {
		txt = 'без взрослых';
	} else if (c==1) {
		txt = '1 взрослый';
	} else {
		txt = c + ' взрослых';
	}
	$('A.mans-now', countpeople).html(txt).attr('data-count', c);
	$('A.mans-now', countpeople).show();
	default_form_changeCountPeoples();
	// отмечаем новые значения в списках
	$('A', select).removeClass('cur');
	if (c<=4) $('A:not(.other)', select).each(function(){
		if ($(this).attr('data-count')==c) $(this).addClass('cur');
	});
}

/* Изменение кол-ва людей + первичное размешение */
function default_form_changeCountPeoples() {
	var countpeople = $('.b-form .countpeople');
	$('.b-form .placepeople .item').remove(); // Убираем старое размещение
	default_form_doPeoplePlacing(1, $('A.mans-now', countpeople).attr('data-count')*1, $('A.kids-now', countpeople).attr('data-count')*1); // Распределяем людишек
}

/* Возвращает HTML варианта размещения */
function default_form_PeoplePlacingItemHTML(id, mans, kids, years, help_block) {
	
	if ((mans!='apt')&&(mans!='bngl')) {
		
		mans = mans*1;
		kids = kids*1;
		
		var group = '';
		switch (mans) {
			case 1:
				group+= '1 взрослый';
				break;
			case 2:
				group+= '2 взрослых';
				break;
			case 3:
				group+= '3 взрослых';
				break;
		}
		if ((mans>0)&&(kids>0)) group+= ' + '
		switch (kids) {
			case 1:
				group+= '1 ребенок';
				break;
			case 2:
				group+= '2 ребенка';
				break;
			case 3:
				group+= '3 ребенка';
				break;
		}
		
		var variant = '<div class="item">';
		variant+= id + ') ';
		variant+= '<a href="#" class="variant a-element" data-count="'+id+'">';
		variant+= group;
		variant+= '</a>';
		variant+= default_form_getPlacingKidsYear(kids, id, years);
		if (id==1) // выводим иконку помощи в первой строке
			variant+= help_block;
		variant+= '</div>';
		
	} else {
		
		var variant = '<div class="item">';
		variant+= id + ') ';
		variant+= '<a href="#" class="variant a-element" data-count="'+id+'">';
		if (mans=='apt') {
			variant+= 'аппартаменты'
		} else variant+= 'бунгало (коттедж)';
		variant+= '</a>';
		if (id==1) // выводим иконку помощи в первой строке
			variant+= help_block;
		variant+= '</div>';
		
	}
	
	return variant;
}

/* Размещение люишек по кельям */
function default_form_doPeoplePlacing(begin_room_id, mans, kids) {
	var placepeople = $('.b-form .placepeople');
	while((mans>0)||(kids>0)) {
		var now_mans = 0; // кол-во размещенных в данной комнате взрослых
		var now_kids = 0; // кол-во размещенных в данной комнате детей
		if (mans>=2) {
			mans-= 2;
			now_mans+= 2;
		} else if (mans==1) {
			mans--;
			now_mans++;
		}
		if (kids>=2) {
			kids-= 2;
			now_kids+= 2;
		} else if (kids==1) {
			kids--;
			now_kids++;
		}
		var variant = default_form_PeoplePlacingItemHTML(begin_room_id, now_mans, now_kids, [1,1,1], $('.help-block', placepeople).html());
		var div = $(variant).appendTo('.items', placepeople);
		$(div).data('remain-mans', mans+now_mans).data('remain-kids', kids+now_kids);
		$(div).data('now-mans', now_mans).data('now-kids', now_kids);
		$(div).data('type', 'room');
		begin_room_id++;
	}
}

/* Возвращает HTML-код о возрасте детей для размещения */
function default_form_getPlacingKidsYear(kids, room, years) {
	var out = '';
	if (kids==3)
		out = '<span class="kid-years"> (<a href="#" class="a-element" data-count="'+room+'-1">'+years[0]+'</a>, <a href="#" class="a-element" data-count="'+room+'-2">'+years[1]+'</a> и <a href="#" class="a-element" data-count="'+room+'-3">1</a> лет)</span>';
	if (kids==2)
		out = '<span class="kid-years"> (<a href="#" class="a-element" data-count="'+room+'-1">'+years[0]+'</a> и <a href="#" class="a-element" data-count="'+room+'-2">'+years[1]+'</a> лет)</span>';
	if (kids==1)
		out = '<span class="kid-years"> (<a href="#" class="a-element" data-count="'+room+'-1">'+years[0]+'</a> лет)</span>';
	return(out);
}

/* Создаёт в форме INPUTы для размещения (выполнять перед отправкой данных) */
function default_form_setPlacePeopleInput(form) {
	var room = 0;
	$('.placepeople .item', form).each(function(){
		room++;
		$('<input type="hidden" name="razmeshenie['+room+'][type]" value="'+$(this).data('type')+'">').appendTo(form);
		$('<input type="hidden" name="razmeshenie['+room+'][adult]" value="'+$(this).data('now-mans')+'">').appendTo(form);
		$('<input type="hidden" name="razmeshenie['+room+'][child]" value="'+$(this).data('now-kids')+'">').appendTo(form);
		years = 0;
		$('.kid-years A', this).each(function(){
			years++;
			$('<input type="hidden" name="razmeshenie['+room+'][child_years]['+years+']" value="'+$(this).html()+'">').appendTo(form);
		});
	});
}


// Класс отеля
$(document).ready(function(){
	
	// Показать/скрыть список
	$('.b-form .selclass A.any, .b-form .selclass A.now').click(function(){
		var select = $('.class-select', $(this).parent().parent().parent().parent().parent().parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
		} else { // скрыть
			select.hide();
		}
		return false;
	});
	
	// Скрывать список при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .class-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if (
						$('.selclass A.any', select.parent()).get(0)!=$(e.target).get(0) &&
						$('.selclass A.now', select.parent()).get(0)!=$(e.target).get(0)
					)
					$('.selclass A.now', select.parent()).click();
	});
	
	// Выбрать
	$('.b-form .class-select A').click(function(){
		var select = $(this).parent().parent().parent()
		var selclass = $('.selclass', select.parent());
		var Anow = $('A.now', selclass);
		$('A.any', selclass).hide();
		$('.has-star', selclass).show();
		Anow.removeClass('s5').removeClass('s4').removeClass('s3').removeClass('s2');
		Anow.addClass($(this).attr('class'));
		Anow.attr('data-class', $(this).attr('data-class'));
		select.hide();
		$('LI', select).removeClass('cur');
		$(this).parent().addClass('cur');
		if ($(this).hasClass('s5')) {
			$('.better-check', selclass).hide();
		} else {
			$('.better-check', selclass).show();
		}
		$('INPUT[name=hotel_rating]', selclass).val($(this).attr('data-class'));
		return false;
	});
	
	// Нажимаем на крестик
	$('.b-form .selclass A.star-clear').click(function(){
		var selclass = $(this).parent().parent().parent().parent().parent().parent().parent();
		var select = $('.class-select', selclass.parent());
		$('.has-star', selclass).hide();
		$('A.any', selclass).show();
		$('LI', select).removeClass('cur');
		$('INPUT[name=hotel_rating]', selclass).val('');
		return false;
	});
	
	// Значение по-умолчанию
	$('.b-form .selclass').each(function(){
		if ($('.b-newquery-step1 DIV[rel=b-newquery-step1_show]').length==0)
			default_form_setClass(this, 'default');
	});
	
});

// Установка значения класса
function default_form_setClass(wrap, type) {
	var form = $(wrap).parent();
	var hotel_rating = $('DIV[rel='+type+'_hotel_rating]', form).html();
	if (hotel_rating=='any') {
		$('A.star-clear', wrap).click();
	} else {
		$('.class-select A.s'+hotel_rating, form).click();
	}
	$('.better INPUT', wrap).attr('checked', $('DIV[rel='+type+'_hotel_rating_more]', form).html()=='1');
}


// Питание
$(document).ready(function(){
	
	// Показать/скрыть выбор питания
	$('.b-form .seleat A.now').live('click', function(){
		var select = $('.eat-select', $(this).parent().parent().parent().parent());
		var seleat = $('.seleat', select.parent());
		if (select.css('display')!='none') { // скрыть
			select.hide();
		}
		if (select.attr('data-type')!=$(this).attr('data-type')) { // показать
			var wrap = select.parent();
			select.css('left', $(this).offset().left - wrap.offset().left + 22 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 84 + 'px');
			select.attr('data-type', $(this).attr('data-type'));
			// скрываем выбранные варианты
			$('LI', select).removeClass('hidden');
			$('A.now', seleat).each(function(){
				$('A[data-type="'+$(this).attr('data-type')+'"]', select).parent().addClass('hidden');
			});
			// показываем список
			$('.eat-clear', select).parent().remove();
			if ($('LI:not(.hidden)', select).length==0) {
				$('<li><a href="#" class="eat-clear">Любое</a></li>').appendTo($('UL', select));
			}
			default_form_elementselect_showpreparation(select, 211);
			select.show();
		} else {
			select.attr('data-type', '');
		}
		return false;
	});
	
	// Скрывать выбор питания при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .eat-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .seleat A[data-type="'+select.attr('data-type')+'"]').get(0)!=$(e.target).get(0))
					$('.b-form .seleat A[data-type="'+select.attr('data-type')+'"]').click();
	});
	
	// Выбор типа питания
	$('.b-form .eat-select A:not(.eat-clear)').click(function(){
		var select = $(this).parent().parent().parent();
		var seleat = $('.seleat', select.parent());
		var old_r = select.attr('data-type');
		if (old_r=='eMore') {
			$('A.a-element:last', seleat).after('<span class="sep">, </span>');
			$('.sep:last', seleat).after('<a href="#" class="now a-element"></a>');
			var el = $('A.a-element:last', seleat);
		} else {
			var el = $('A[data-type="'+old_r+'"]', seleat);
		}
		var txt = $(this).attr('data-type');
		txt = txt.split('|');
		el.html(txt[0]);
		el.attr('data-type', $(this).attr('data-type'));
		if (old_r=='e0') // Если до этого не было выбранно ни одного варианта, то теперь показываем крестик и "ещё"
			$('.more', seleat).show();
		select.attr('data-type', '');
		select.hide();
		var food = '';
		$('A.now', seleat).each(function(){
			var e = $(this).attr('data-type');
			if ((e!='e0')&&(e!='eMore')) {
				if (food!='') food+= ',';
				e = e.split('|');
				food+= e[1];
			}
		});
		$('INPUT', seleat).val(food);
		return false;
	});
	
	// Нажали на крестик или на "Любой" в списке
	$('.b-form .seleat A.eat-clear, .b-form .eat-select A.eat-clear').live('click',function(){
		var select = $('.eat-select', $(this).parent().parent().parent().parent());
		var seleat = $('.seleat', select.parent());
		$('A.a-element', seleat).remove();
		$('.sep', seleat).remove();
		$('.more', seleat).before('<a href="#" class="now any a-element" data-type="e0">Любое</a>');
		$('.more', seleat).hide();
		select.attr('data-type', '');
		select.hide();
		$('INPUT', seleat).val('');
		return false;
	});
	
	// Установка значений по-умолчанию
	$('.b-form .seleat').each(function(){
		if ($('.b-newquery-step1 DIV[rel=b-newquery-step1_show]').length==0)
			default_form_setEat(this, 'default');
	});
	
});

// Установка значения питания
function default_form_setEat(wrap, type) {
	var eat = $('DIV[rel='+type+'_food]', $(wrap).parent()).html();
	$('A.eat-clear', wrap).click();
	if (eat!='any') {
		eat = eat.split(',');
		for (j=0; j<eat.length; j++) {
			if (j==0) {
				$('A.any', wrap).click();
			} else {
				$('A.eat-more', wrap).click();
			}
			$('.eat-select A[data-type$="'+eat[j]+'"]', $(wrap).parent()).click();
		}
	}
}


// Требования и пожелания
$(document).ready(function(){
	
	// Включаем "эластичность" :)
	$('.b-form .wishes TEXTAREA').elastic();
	
	// Ограничение на кол-во символов
	$('.b-form .wishes TEXTAREA').bind('keydown keypress keyup change', function(e){
		var wishes = $(this).parent().parent();
		var l = $(this).val().length;
		if (l>0) { // показываем крестик
			$('A.wishes-clear', wishes).show();
		} else { // скрываем крестик
			$('A.wishes-clear', wishes).hide();
		}
		$('.symbols', wishes).html(CONSTANT_COMMENT_MAXTEXT-l);
		code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
		switch (code){
				case 8:		// backspace
				case 9:		// tab
				case 46:	// delete
				case 37:	// left
				case 38:	// up
				case 39:	// right
				case 40:	// bottom
						return true;
				}
		return (l<CONSTANT_COMMENT_MAXTEXT);
	});
	$('.b-form .wishes TEXTAREA').keyup();
	
	// Нажимаем на крестик
	$('.b-form .wishes A.wishes-clear').click(function(){
		var textarea = $('TEXTAREA', $(this).parent());
		textarea.val('');
		textarea.keyup();
		$(this).hide();
		return false;
	});
	
	// Установка значений по-умолчанию
	$('.b-form .wishes').each(function(){
		if ($('.b-newquery-step1 DIV[rel=b-newquery-step1_show]').length==0)
			default_form_setWishes($(this).parent(), 'default');
	});
	
});

// Установка значения требований и пожеланий
function default_form_setWishes(wrap, type) {
	var comment = $('DIV[rel='+type+'_comment]', wrap.parent()).html();
	if (comment=='') {
		$('A.wishes-clear', wrap).click();
	} else {
		var textarea = $('TEXTAREA', wrap);
		textarea.val(comment);
		textarea.keyup();
	}
}


// Кол-во звонков
$(document).ready(function(){
	
	// Показать/скрыть список
	$('.b-form .countcalls A.now').click(function(){
		var select = $('.countcalls-select', $(this).parent().parent().parent());
		if (select.css('display')=='none') { // показать
			var wrap = select.parent().parent().parent();
			select.css('left', $(this).offset().left - wrap.offset().left - 9 + 'px');
			select.css('top', $(this).offset().top - wrap.offset().top + 16 + 'px');
			default_form_elementselect_showpreparation(select, 211);
			select.show();
			select.scrollTo($('.cur', select));
		} else { // Скрыть
			select.hide();
		}
		return false;
	});
	
	// Скрывать выбор списка при клике вне блока
	$(document).mouseup(function(e){
		var select = $('.b-form .countcalls-select');
		if (select.css('display')!='none')
			if (utils_isEventOut(select, e))
				if ($('.b-form .countcalls A.now').get(0)!=$(e.target).get(0))
					$('.b-form .countcalls A.now').click();
	});
	
	// Выбрать кол-во звонков
	$('.b-form .countcalls-select A').click(function(){
		var countcalls = $('.countcalls', $(this).parent().parent().parent().parent());
		var select = $(this).parent().parent().parent();
		$('A.now', countcalls).html($(this).html()).attr('rel', $(this).attr('rel'));
		$('INPUT', countcalls).val($(this).attr('rel'));
		select.hide();
		$('A', select).removeClass('cur');
		$(this).addClass('cur');
		return false;
	});
	
	// Значения по-умолчанию
	$('.b-form .countcalls-wrap').each(function(){
		var form = $(this).parent();
		$('.countcalls-select A[rel="'+$('DIV[rel="default_calls"]', form).html()+'"]', form).click();
	});
	
});


// Загрузка фотографии
$(document).ready(function(){
	
	// Функция отображает превью фото при кропе изображения и
	// задаёт координаты для последующего кропа на сервере
	function b_popup_cropphoto_updateCoords(coords) {
		
		$('.b-popup-cropphoto .form INPUT[name=x]').val(coords.x);
		$('.b-popup-cropphoto .form INPUT[name=y]').val(coords.y);
		$('.b-popup-cropphoto .form INPUT[name=w]').val(coords.w);
		$('.b-popup-cropphoto .form INPUT[name=h]').val(coords.h);
		
		var rx = 104 / coords.w;
		var ry = 138 / coords.h;
		
		$('.b-popup-cropphoto .title').html();
		
		$('.b-popup-cropphoto .crop .normal IMG').css({
			width: Math.round(rx * $('.b-popup-cropphoto .crop .big IMG').width()) + 'px',
			height: Math.round(ry * $('.b-popup-cropphoto .crop .big IMG').height()) + 'px',
			marginLeft: '-' + Math.round(rx * coords.x) + 'px',
			marginTop: '-' + Math.round(ry * coords.y) + 'px'
		});
		
	};
	
	// Процесс загрузки фотографии на сервер
	function b_popup_loadphoto_doLoadPhoto() {
		
		// Скрываем былые ошибки
		$('.b-popup-loadphoto .error').hide();
		
		// Проверка на допустимые форматы файлов
		var ext = utils_getExt(utils_fileFromPath($('#b_popup_loadphoto_input').val()));
		if (! (ext && /^(jpg|png|jpeg|gif)$/i.test(ext))) {
			$('.b-popup-loadphoto .err-ext').show(); // показать ошибку
			
		} else { // загружаем фото
			
			// Отображаем процесс загрузки, при этом скрывая поле выбора файла
			$('#b_popup_loadphoto_input').hide();
			$('.b-popup-loadphoto .loading').show();
			
			$.ajaxFileUpload({
				url: '/ajax/uploadphoto/',
				secureuri: false,
				fileElementId: 'b_popup_loadphoto_input',
				dataType: 'json',
				success: function(data, status)	{
					if(typeof(data.error) != 'undefined') {
						
						if(data.error != '') { // ошибка загрузки
							
							$('.b-popup-loadphoto .loading').hide();
							$('#b_popup_loadphoto_input').show();
							$('.b-popup-loadphoto .err-other').html(data.error).show();							
							$('#b_popup_loadphoto_input').change(function(){ b_popup_loadphoto_doLoadPhoto(); });
							
						} else { // Загрузка прошла успешно - показываем окошко кропа фотографии
							
							$.modal.close();
							var img = data.file+'?'+utils_getAntiCasheString();
							$('.b-popup-cropphoto .crop IMG').attr('src', img);
							$('.b-popup-cropphoto .form INPUT[name=src]').val(data.file);
							$('.b-popup-cropphoto .crop .big IMG').Jcrop({
								aspectRatio: 3/4,
								minSize: [104, 138],
								setSelect: [0, 0, 104, 138],
								boxWidth: 300,
								boxHeight: 300,
								allowSelect: false,
								onChange: b_popup_cropphoto_updateCoords,
								onSelect: b_popup_cropphoto_updateCoords
							});
							$('.b-popup-cropphoto').modal({
								overlayClose: true // Закрывать при клике на затемненной области
							});
							
						}
						
					}
				},
				error: function (data, status, e) {
					alert(e);
				}
			});
			
		}
		
	}
	
	// Показать окно загрузки фото
	$('.b-form .photoinput .b-btnview').click(function(){
		$('.b-popup-loadphoto').modal({
			overlayClose: true // Закрывать при клике на затемненной области
		});
		$('#b_popup_loadphoto_input').change(function(){ b_popup_loadphoto_doLoadPhoto(); });
		return false;
	});
	
	// Скрыть окно загрузки фото при клике на крестик
	$('.b-popup-loadphoto .close').click(function(){
		$.modal.close();
		return false;
	});
	
	// Скрыть окно кропа фото при клике на крестик и на кнопку "Отмена"
	$('.b-popup-cropphoto .close').add('.b-popup-cropphoto .form .cancel').click(function(){
		$.modal.close();
		return false;
	});
	
	// Вернуться к загрузке фотографии
	$('.b-popup-cropphoto .back2load A').click(function(){
		$.modal.close();
		$('.b-form .photoinput .b-btnview').click();
	});
	
	// Сделать кроп =)
	$('.b-popup-cropphoto .do-crop').click(function(){
		
		var src = $('.b-popup-cropphoto .form INPUT[name=src]').val();
		var x = $('.b-popup-cropphoto .form INPUT[name=x]').val();
		var y = $('.b-popup-cropphoto .form INPUT[name=y]').val();
		var w = $('.b-popup-cropphoto .form INPUT[name=w]').val();
		var h = $('.b-popup-cropphoto .form INPUT[name=h]').val();
		
		$.ajax({
			type: 'POST',
			cache: false,
			dataType: 'json',
			data: 'src='+src+'&x='+x+'&y='+y+'&w='+w+'&h='+h,
			url: '/ajax/editphoto/',
			beforeSend: function() {
				$('.b-popup-cropphoto .form .error').hide();
				$('.b-popup-cropphoto .form .buttons').hide();
				$('.b-popup-cropphoto .form .loading').show();
			},
			success: function (data) {
				if (data.error!='') { // есть ошибка
					$('.b-popup-cropphoto .form .loading').hide();
					$('.b-popup-cropphoto .form .buttons').show();
					$('.b-popup-cropphoto .form .error').html(data.error).show();
				} else {
					$('.b-agentprofile .photoinput .photo IMG').attr('src', data.img+'?'+utils_getAntiCasheString());
					$.modal.close();
				}			
			},
			error: function() {
				$('.b-popup-cropphoto .form .loading').hide();
				$('.b-popup-cropphoto .form .buttons').show();
				$('.b-popup-cropphoto .form .error').html('Не удалось выполнить запрос. Попробуйте ещё раз!').show();
			}
		});
		
		return false;
	});
	
});
	


//
// С Т Р А Н И Ц Ы   С   З А П Р О С А М И
//

$(document).ready(function(){
	
	// Кнопка "Обновить" (при наведении)
	$('.b-navigation A.refresh-active').mouseover(function(){
		$(this).hide();
		$(this).next().show();
	});	
	$('.b-navigation A.refresh-more').mouseout(function(){
		$(this).hide();
		$(this).prev().show();
	});
	

	// Подсвечиваем текст запроса
	$('.b-request .description').hover(
		function() { $('A', this).addClass('hover'); },
		function() { $('A', this).removeClass('hover'); }
	);
	
	
});



//
// С Т Р А Н И Ц А   А В Т О Р И З А Ц И И
//

$(document).ready(function(){
	
	// Показать вкладку "Напомнить пароль"
	$('.b-autorization A.lnk-remindpsw').click(function(){
		$('.b-autorization .tab').hide();
		$('.b-autorization .tab-remind').show();
		return false;
	});
	
	// Показать вкладку "Авторизация"
	$('.b-autorization A.lnk-authtab').click(function(){
		$('.b-autorization .tab').hide();
		$('.b-autorization .tab-auth').show();
		return false;
	});
	
	// Вкладка по-умолчанию
	var tab = $('.b-autorization DIV[rel="default_tab"]').html();
	if (tab=='auth') $('.b-autorization A.lnk-authtab').click();
	if (tab=='remind') $('.b-autorization A.lnk-remindpsw').click();
	if (tab=='ok') {
		$('.b-autorization .tab').hide();
		$('.b-autorization .tab-ok').show();
	}
	
	// Клик на кнопке "Войти"
	$('.b-autorization .b-btnlogin A').click(function(){
		
		var validation = true; // валидность формы
		
		// Проверяем email
		validation = default_form_validation_email('.b-autorization .tab-auth .emailinput') && validation;
		
		// Если форма валидна - отправляем
		if (validation) $('.b-autorization .form-auth').submit();
		
		return false;
		
	});
	
	// Клик на кнопке "Напомнить"
	$('.b-autorization .b-btnremind A').click(function(){
		
		var validation = true; // валидность формы
		
		// Проверяем email
		validation = default_form_validation_email('.b-autorization .tab-remind .emailinput') && validation;
		
		// Если форма валидна - отправляем
		if (validation) $('.b-autorization .form-remind').submit();
		
		return false;
		
	});
	
});



//
//  П Р О Ф А Й Л   А Г Е Н Т А
//

$(document).ready(function(){
	
	var hasPrivate = $('.b-agentprofile INPUT[name="showprivateform"]').val()=='1';
	var hasCompany = $('.b-agentprofile INPUT[name="showcompanyform"]').val()=='1';
	
	// По-умолчанию показывать/скрывать форму PRIVATE
	if (hasPrivate) {
		$('.b-agentprofile .private-text').hide();
		$('.b-agentprofile .private-form').show();
	} else {
		$('.b-agentprofile .private-text').show();
		$('.b-agentprofile .private-form').hide();
	}
	
	// По-умолчанию показывать/скрывать форму COMPANY
	if (hasCompany) {
		$('.b-agentprofile .company-text').hide();
		$('.b-agentprofile .company-form').show();
	} else {
		$('.b-agentprofile .company-form').hide();
		$('.b-agentprofile .company-text').show();
	}
	
	// Показывать ли кнопку СОХРАНИТЬ
	if (hasPrivate||hasCompany) {
		$('.b-agentprofile .b-btnsave A').show();
	} else $('.b-agentprofile .b-btnsave A').hide();
	
	// Показать форму PRIVATE
	$('.b-agentprofile A.private-showform').click(function(){
		$('.b-agentprofile .private-text').hide();
		$('.b-agentprofile .private-form').show();
		$('.b-agentprofile INPUT[name="showprivateform"]').val('1');
		$('.b-agentprofile .b-btnsave A').show();
		return false;
	});
	
	// Показать форму COMPANY
	$('.b-agentprofile A.company-showform').click(function(){
		$('.b-agentprofile .company-text').hide();
		$('.b-agentprofile .company-form').show();
		$('.b-agentprofile INPUT[name="showcompanyform"]').val('1');
		$('.b-agentprofile .b-btnsave A').show();
		return false;
	});
	
	// Клик на кнопке "Сохранить"
	$('.b-agentprofile .b-btnsave A').click(function(){
		
		var validation = true; // валидность формы
		
		// Какие данные изменяются
		var hasPrivate = $('.b-agentprofile INPUT[name="showprivateform"]').val()=='1';
		var hasCompany = $('.b-agentprofile INPUT[name="showcompanyform"]').val()=='1';
		
		// Проверяем PRIVATE данные
		if (hasPrivate) {
			validation = default_form_validation_email('.b-agentprofile .emailinput') && validation;
			validation = edit_form_validation_passwordchange('.b-agentprofile .passwordchange') && validation;
			validation = default_form_validation_fio('.b-agentprofile .fioinput') && validation;
			validation = default_form_validation_phone('.b-agentprofile .phoneinput') && validation;
		}
		
		// Проверяем COMPANY данные
		if (hasCompany) {
			validation = default_form_validation_typeagent('.b-agentprofile .typeagent') && validation;
		}
		
		// Если форма валидна - отправляем
		if (validation) $('.b-agentprofile FORM').submit();
		
		return false;
	});
	
});



//
//  П Р О Ф А Й Л   К Л И Е Н Т А
//

$(document).ready(function(){
	
	
	// По-умолчанию показывать/скрывать форму PRIVATE
	if ($('.b-clientprofile INPUT[name="showprivateform"]').val()=='1') {
		$('.b-clientprofile .private-text').hide();
		$('.b-clientprofile .private-form').show();
		$('.b-clientprofile .b-btnsave A').show();
	} else {
		$('.b-clientprofile .private-text').show();
		$('.b-clientprofile .private-form').hide();
		$('.b-clientprofile .b-btnsave A').hide();
	}
	
	// Показать форму PRIVATE
	$('.b-clientprofile A.private-showform').click(function(){
		$('.b-clientprofile .private-text').hide();
		$('.b-clientprofile .private-form').show();
		$('.b-clientprofile INPUT[name="showprivateform"]').val('1');
		$('.b-clientprofile .b-btnsave A').show();
		return false;
	});
	
	// Клик на кнопке "Сохранить"
	$('.b-clientprofile .b-btnsave A').click(function(){
		
		var validation = true; // валидность формы
		
		// Какие данные изменяются
		var hasPrivate = $('.b-clientprofile INPUT[name="showprivateform"]').val()=='1';
		
		// Проверяем PRIVATE данные
		if (hasPrivate) {
			validation = default_form_validation_email('.b-clientprofile .emailinput') && validation;
			validation = edit_form_validation_passwordchange('.b-clientprofile .passwordchange') && validation;
			validation = edit_form_validation_fio('.b-clientprofile .fioinput') && validation;
			validation = default_form_validation_phone('.b-clientprofile .phoneinput') && validation;
		}
		
		// Если форма валидна - отправляем
		if (validation) $('.b-clientprofile FORM').submit();
		
		return false;
	});
	
});



//
// С Т Р А Н И Ц А   П О М О Щ И
//

$(document).ready(function(){
	
	// Инициализация прокрутки
	b_help_items = $('.b-help .left .list UL').html();
	b_help_items_count = $('.b-help .left .list LI').length;
	b_help_items_height = $('.b-help .left .list UL').height();
	if (b_help_items_height>$('.b-help .left .list').height()) {
		$('.b-help .left A.up,.b-help .left A.down').show();
		var b_help_items_circular;
		$('.b-help .left .list UL').prepend(b_help_items).append(b_help_items).show();
		$('.b-help .left .list').scrollTop(b_help_items_height);
	} else {
		$('.b-help .left .list UL').show();
		$('.b-help .left .list').css('height', 'auto');
	}
	
	// Прокрутка назад
	$('.b-help .left A.up').click(function(){
		b_help_items_circular = ($('.b-help .left .list').scrollTop())<b_help_items_height;
		if (b_help_items_circular) $('.b-help .left .list UL').prepend(b_help_items);
		$('.b-help .left .list').scrollTo('-=150px', 300, {onAfter: function(){
			if (b_help_items_circular) {
				$('.b-help .left .list LI:gt('+(b_help_items_count*3-1)+')').remove();
				$('.b-help .left .list').scrollTo('+='+b_help_items_height+'px');
			}
		}});
		return false;
	});
	
	// Прокрутка вперед
	$('.b-help .left A.down').click(function(){
		b_help_items_circular = ($('.b-help .left .list').scrollTop()+b_help_items_height+$('.b-help .left .list').height())>b_help_items_height*2;
		if (b_help_items_circular) $('.b-help .left .list UL').append(b_help_items);
		$('.b-help .left .list').scrollTo('+=150px', 300, {onAfter: function(){
			if (b_help_items_circular) {
				$('.b-help .left .list LI:lt('+b_help_items_count+')').remove();
				$('.b-help .left .list').scrollTo('-='+b_help_items_height+'px');
			}
		}});
		return false;
	});
	
});



//
// Н О В Ы Й   З А П Р О С   -   Ш А Г   1
//

// Установка значений для формы
function b_newquery_step1_SetValues(type) {
	default_form_setCountryRegion($('.b-newquery-step1 .countryregion-wrap'), type);
	default_form_setDateLeave($('.b-newquery-step1 .dateleave-wrap'), type);
	default_form_setCountPeople($('.b-newquery-step1 .countpeople-wrap'), type);
	default_form_setClass($('.b-newquery-step1 .selclass'), type);
	default_form_setEat($('.b-newquery-step1 .seleat'), type);
	default_form_setWishes($('.b-newquery-step1 .wishes-wrap'), type);
}

$(document).ready(function(){
	
	// Кнопка "Далее"
	$('.b-newquery-step1 .b-btnnext A').click(function(){
		var form = $('.b-newquery-step1 FORM');
		default_form_setPlacePeopleInput(form);
		form.submit();
		return false;
	});
	
	// Очистить/Пример запроса
	$('.b-newquery-step1 .clear A.now').click(function(){
		b_newquery_step1_SetValues('default');
		return false;
	});
	
});



//
// Н О В Ы Й   З А П Р О С   -   Ш А Г   2
//

$(document).ready(function(){
	
	// Выбор вкладки
	$('.b-newquery-step2 .action-bar A').click(function(){
		b_newquery_step2_ActionBarReset();
		$(this).parent().addClass('cur');
		$('.b-newquery-step2 .tab-'+$(this).attr('rel')).show();
		if ($(this).attr('rel')=='new')
			btnnext_setActive('.b-newquery-step2 .b-newquery-footer .b-btnnext');
		return false;
	});
	
	// Показать блок "Восстановление пароля"
	$('.b-newquery-step2 A.lnk-remindpsw').click(function(){
		b_newquery_step2_ActionBarReset();
		$('.b-newquery-step2 .action-bar A.reg').parent().addClass('cur-active');
		$('.b-newquery-step2 .tab-remind').show();
		return false;
	});
	
	// Вкладка по-умолчанию
	var tab = $('.b-newquery-step2 DIV[rel="default_tab"]').html();
	if (tab=='new') $('.b-newquery-step2 .action-bar A.new').click();
	if (tab=='reg') $('.b-newquery-step2 .action-bar A.reg').click();
	if (tab=='remind') $('.b-newquery-step2 A.lnk-remind-password').click();
	
	// Клик на кнопке "Далее"
	$('.b-newquery-step2 .b-newquery-footer .b-btnnext A').click(function(){
		
		/* НОВЫЙ ПОЛЬЗОВАТЕЛЬ */
		if ( (!($('.b-newquery-step2 .tab-user').length)) && ($('.b-newquery-step2 .tab-new').css('display')!='none') ) {
			var validation = true;
			validation = default_form_validation_email('.b-newquery-step2 .tab-new .emailinput') && validation;
			validation = default_form_validation_name('.b-newquery-step2 .tab-new .nameinput') && validation;
			validation = default_form_validation_phone('.b-newquery-step2 .tab-new .phoneinput') && validation;
			if (validation) $('.b-newquery-step2 FORM.form-newuser').submit();
		}
		
		/* АВТОРИЗОВАННЫЙ ПОЛЬЗОВАТЕЛЬ */
		if ($('.b-newquery-step2 .tab-user').length) {
			var validation = true;
			validation = default_form_validation_phone('.b-newquery-step2 .tab-user .phoneinput') && validation;
			if (validation) $('.b-newquery-step2 .form-user').submit();
		}
		
		return false;
	});
	
	// Клик на кнопке "Войти"
	$('.b-newquery-step2 .tab-reg .b-btnlogin A').click(function(){
		var validation = true;
		validation = default_form_validation_email('.b-newquery-step2 .tab-reg .emailinput') && validation;
		if (validation) $('.b-newquery-step2 .form-login').submit();
		return false;
	});
	
	// Клик на кнопке "Напомнить"
	$('.b-newquery-step2 .tab-remind .b-btnremind A').click(function(){
		var validation = true;
		validation = default_form_validation_email('.b-newquery-step2 .tab-remind .emailinput') && validation;
		if (validation) $('.b-newquery-step2 .form-remind').submit();
		return false;
	});
	
});

// Сброс ActionBar'а
function b_newquery_step2_ActionBarReset() {
	$('.b-newquery-step2 .action-bar LI').removeClass('cur').removeClass('cur-active');
	$('.b-newquery-step2 .tabs').hide();
	btnnext_setUnactive('.b-newquery-step2 .b-newquery-footer .b-btnnext');
}



//
// Р Е Г И С Т Р А Ц И Я   А Г Е Н Т А 
//

$(document).ready(function(){
	
	// Клик на кнопке "Далее"
	$('.b-regagency .footer .b-btnnext A').click(function(){
		var validation = true;
		
		if ($('.b-regagency .form-regagency1').length) { // Шаг 1
			validation = default_form_validation_email('.b-regagency .form-regagency1 .emailinput') && validation;
			validation = default_form_validation_fio('.b-regagency .form-regagency1 .fioinput') && validation;
			validation = default_form_validation_phone('.b-regagency .form-regagency1 .phoneinput') && validation;
			validation = default_form_validation_typeagent('.b-regagency .form-regagency1 .typeagent') && validation;
			if (validation) $('.b-regagency .form-regagency1').submit();
			return false;
		} else if ($('.b-regagency .form-regagency2-fl').length) { // Шаг 2 (фриланс)
			validation = default_form_validation_passport('.b-regagency .form-regagency2-fl .passportinput') && validation;
			validation = default_form_validation_passportreg('.b-regagency .form-regagency2-fl .passportreginput') && validation;
			validation = default_form_validation_idcode('.b-regagency .form-regagency2-fl .idcodeinput') && validation;
			if (validation) $('.b-regagency .form-regagency2-fl').submit();
			return false;
		} else if ($('.b-regagency .form-regagency2-com').length) { // Шаг 2 (компания)
			validation = default_form_validation_companyname('.b-regagency .form-regagency2-com .companynameinput') && validation;
			validation = default_form_validation_passportreg('.b-regagency .form-regagency2-com .passportreginput') && validation;
			validation = default_form_validation_phone('.b-regagency .form-regagency2-com .phoneinput') && validation;
			if (validation) $('.b-regagency .form-regagency2-com').submit();
			return false;
		}
		
	});
	
});
