function enable_smooth_scroll() {
		function filterPath(string) {
			return string
					.replace(/^\//,'')
					.replace(/(index|default).[a-zA-Z]{3,4}$/,'')
					.replace(/\/$/,'');
		}

		var locationPath = filterPath(location.pathname);

		var scrollElement = 'html, body';
		$('html, body').each(function () {
			var initScrollTop = $(this).attr('scrollTop');
			$(this).attr('scrollTop', initScrollTop + 1);
			if ($(this).attr('scrollTop') == initScrollTop + 1) {
				scrollElement = this.nodeName.toLowerCase();
				$(this).attr('scrollTop', initScrollTop);
				return false;
			}
		});

		$('a[href*=#]').each(function() {
			var thisPath = filterPath(this.pathname) || locationPath;
			if  (   locationPath == thisPath
					&& (location.hostname == this.hostname || !this.hostname)
					&& this.hash.replace(/#/, '')
				) {
					if ($(this.hash).length) {
						$(this).click(function(event) {
							var targetOffset = $(this.hash).offset().top;
							var target = this.hash;
							event.preventDefault();
							$(scrollElement).animate(
								{scrollTop: targetOffset},
								500,
								function() {
									location.hash = target;
							});
						});
					}
			}
		});
	}


$(document).ready(function() {
	/* выпадающее главное меню */
	function top_menu (active_id) {
		$('#top_menu > li > a').mouseenter(
			function () {
				$('.main_menu').hide();
				var active_id = ($(this).attr('id')).split('_')[1];

				var active_bookmark = $(this);
				$('.col_750 ul#main_menu_'+active_id).show();
				active_bookmark.css('background-position','center -66px');
				active_bookmark.next('ul').animate({
					opacity: 1
				}, 100);
			}
		);

		$('#top_menu li a').mouseleave(
			function () {
				$(this).css('background-position','center 0px');
			}
		);

		$('#header_right_bg a.left img').mouseenter(function(){
			$('.main_menu').hide();
		})

		$('.main_menu').mouseleave(
			function (active_id) {
				var active_id = ($(this).children('li').children('a').attr('id')).split('_')[1];
				$(this).hide();
				$('#top_menu > li > a').css('background-position','center 0px');
			}
		);
	};
	top_menu();
	/* /выпадающее главное меню */

	/* форма подписки на рассылку */
	$('#mailer').hide();
	$('.mailer_link').click(function() {
	  $('#mailer').slideToggle('fast');
	});
	/* /форма подписки на рассылку */

	/* форма для вопросов */
	$('#question_form_link').toggle(function() {
		$('#question_form').slideDown('fast');
		$(this).fadeOut('fast', function(){
			$(this).text('Скрыть форму').fadeIn('fast');
		});
	}, function() {
		$('#question_form').slideUp('fast');
		$(this).fadeOut('fast', function() {
			$(this).text('Задать вопрос').fadeIn('fast');
		});
	});
	/* /форма для вопросов */

	/* для инпутов */
	$('input[type="text"],textarea').addClass("idleField");
	$('input[type="text"],textarea').focus(function() {
		$(this).removeClass("idleField").addClass("focusField");
		if (this.value == this.defaultValue){
			this.value = '';
		}
		if(this.value != this.defaultValue){
			this.select();
		}
	});
	$('input[type="text"],textarea').blur(function() {
		$(this).removeClass("focusField").addClass("idleField");
		if ($.trim(this.value) == ''){
			this.value = (this.defaultValue ? this.defaultValue : '');
		}
	});
	/* /для инпутов */

	/* калькулятор валют на главной */
	var dollar_value_buy = $('#dollar_value_sell').text();
	var euro_value_buy = $('#euro_value_sell').text();
	var dollar_value_sell = $('#dollar_value').text();
	var euro_value_sell = $('#euro_value').text();
	var rtr = dtd = ete = 1;
	var coef = 'dtr';

	$('.currency_calc ul').hover(function(){
		$(this).children('li:first').nextAll().slideDown('fast');
		},
	function(){
		$(this).children('li:first').nextAll().slideUp('fast');
	});

	$('.currency_calc a').click(function() {
		if ($(this).closest('ul').attr('id') == 'buy_sell') {
			if ($(this).attr('id') == 'sell') {
				var dollar_value = dollar_value_sell;
				var euro_value = euro_value_sell;
			} else {
				var dollar_value = dollar_value_buy;
				var euro_value = euro_value_buy;
			}
		} else {
			if ($('#buy_sell li:visible').children('a').attr('id') == 'sell') {
				var dollar_value = dollar_value_sell;
				var euro_value = euro_value_sell;
			} else {
				var dollar_value = dollar_value_buy;
				var euro_value = euro_value_buy;
			}
		}

		var rtr = dtd = ete = 1;
		var dtr = dollar_value;
		var dte = dollar_value / euro_value;
		var etd = euro_value / dollar_value;
		var etr = euro_value;
		var rtd = 1 / dollar_value;
		var rte = 1 / euro_value;

		var rod = $(this).parent('li');
		$(this).parents('ul').prepend(rod);
		switch ($(this).attr('id'))
			{
			case ('from_dollar'):
				coef = 'dt' + (coef.split('t')[1]);
				break
			case ('from_euro'):
				coef = 'et' + (coef.split('t')[1]);
				break
			case ('from_rubles'):
				coef = 'rt' + (coef.split('t')[1]);
				break
			case ('to_dollar'):
				coef = (coef.split('t')[0])+ 'td';
				break
			case ('to_euro'):
				coef = (coef.split('t')[0])+ 'te';
				break
			case ('to_rubles'):
				coef = (coef.split('t')[0])+ 'tr';
				break
			};
		var result = eval(coef) * ($('.currency_calc input').val());
		if (isNaN(result) == true) {
			$('#result span').text('0');
		} else {
			$('#result span').text(result.toFixed(2));
		};
	});

	$('.currency_calc input').keyup(function() {
		if ($('#buy_sell li:visible').children('a').attr('id') == 'sell') {
			var dollar_value = dollar_value_sell;
			var euro_value = euro_value_sell;
		} else {
			var dollar_value = dollar_value_buy;
			var euro_value = euro_value_buy;
		}

		var rtr = dtd = ete = 1;
		var dtr = dollar_value;
		var dte = dollar_value / euro_value;
		var etd = euro_value / dollar_value;
		var etr = euro_value;
		var rtd = 1 / dollar_value;
		var rte = 1 / euro_value;

		switch ($(this).attr('id'))
			{
			case ('from_dollar'):
				coef = 'dt' + (coef.split('t')[1]);
				break
			case ('from_euro'):
				coef = 'et' + (coef.split('t')[1]);
				break
			case ('from_rubles'):
				coef = 'rt' + (coef.split('t')[1]);
				break
			case ('to_dollar'):
				coef = (coef.split('t')[0])+ 'td';
				break
			case ('to_euro'):
				coef = (coef.split('t')[0])+ 'te';
				break
			case ('to_rubles'):
				coef = (coef.split('t')[0])+ 'tr';
				break
			};
		var result = eval(coef) * ($('.currency_calc input').val());
		if (isNaN(result) == true) {
			$('#result span').text('0');
		} else {
			$('#result span').text(result.toFixed(2));
		};
	});
	$('#result span').text($('#dollar_value').text());
	/* /калькулятор валют на главной */

	/* разворачивает ипотечный калькулятор */
	$('#mortgage_calc_right_link').toggle(function() {
		$('#mortgage_calc_right').slideDown('fast');
		$(this).fadeOut('fast', function(){
			$(this).text('Скрыть калькулятор').fadeIn('fast');
		});
	}, function() {
		$('#mortgage_calc_right').slideUp('fast');
		$(this).fadeOut('fast', function() {
			$(this).text('Ипотечный калькулятор').fadeIn('fast');
		});
	});
	/* /разворачивает ипотечный калькулятор */

	/* разворачивает калькулятор доходности вклада */
	$('#deposits_profit_calc_right_link').toggle(function() {
		$('#deposits_profit_calc').slideDown('fast');
		$(this).fadeOut('fast', function(){
			$(this).text('Скрыть калькулятор').fadeIn('fast');
		});
	}, function() {
		$('#deposits_profit_calc').slideUp('fast');
		$(this).fadeOut('fast', function() {
			$(this).text('Калькулятор доходности вкладов').fadeIn('fast');
		});
	});
	/* /разворачивает калькулятор доходности вклада */

	/* форма запроса на ипотеку */
	$('#mortgage_request_form_link').toggle(function() {
		$('#mortgage_request_form').slideDown('fast');
		$(this).fadeOut('fast', function(){
			$(this).text('Скрыть форму').fadeIn('fast');;
		});
	}, function() {
		$('#mortgage_request_form').slideUp('fast');
		$(this).fadeOut('fast', function() {
			$(this).text('Заявка на ипотеку').fadeIn('fast');
		});
	});
	/* /форма запроса на ипотеку */

	/* форма вакансий */
	$('#vacancies_form_link').toggle(function() {
		$('#vacancies_form').slideDown('fast');
		$(this).fadeOut('fast', function(){
			$(this).text('Скрыть форму').fadeIn('fast');
		});
	}, function() {
		$('#vacancies_form').slideUp('fast');
		$(this).fadeOut('fast', function() {
			$(this).text('Отправить резюме').fadeIn('fast');
		});
	});
	/* /форма вакансий */

	/* разворачивает следующий скрытый блок */
	$('.dotted_link').click(function() {
		$(this).parent().next('.hidden_block').slideToggle('slow');
	});
	/* /разворачивает следующий скрытый блок */

	/* плавное прокручиванеи до якоря */
	enable_smooth_scroll();
	/* /плавное прокручиванеи до якоря */

	/* калькулятор доходности вклада */
	function first_step(){
		$('#deposit_name select').empty();
		var sum = $('#deposit_sum_field').val();
		var currency = $('#deposit_sum select').val();
		var tr = $('#deposits_profit_calc div.row:visible').length;
		var error = false;
		if (currency == 'rub') {
			if (sum <= 9999) {
				if (sum <= 4999) {
					$('#error').text('Вклад должен быть не меньше 5000 рублей.');
					error = true;
				} else {
					$('#deposit_name select').append('<option value="pension_rub">Пенсионный</option>' +
							'<option value="transform_rub">Преображение Ультра</option>');
				}
			} else {
				$('#deposit_name select').append('<option value="pension_rub">Пенсионный</option>'+
							'<option value="transform_rub">Преображение Ультра</option>'+
							'<option value="my_planet_rub">Снежный</option>'+
							'<option value="success_rub">Успех</option>');
			}
		} else if (currency == 'eur') {
			if (sum <= 4999) {
				if (sum <= 99) {
					$('#error').text('Вклад должен быть не меньше 100 евро.');
					error = true;
				} else {
					$('#deposit_name select').append('<option value="my_planet_eur">Снежный (евро)</option>'+
						'<option value="extra_eur">Срочный в валюте</option>');
				}
			} else {
				$('#deposit_name select').append('<option value="my_planet_eur">Снежный (евро)</option>'+
						'<option value="extra_eur">Срочный в валюте</option>'+
						'<option value="rantie_eur">Рантье в валюте</option>');
			}
		} else {
			if (sum <= 4999) {
				if (sum <= 99) {
						$('#error').text('Вклад должен быть не меньше 100 долларов');
						error = true;
					} else {
					$('#deposit_name select').append('<option value="my_planet_dol">Снежный (доллары)</option>'+
						'<option value="extra_dol">Срочный в валюте</option>');
				}
			} else {
				$('#deposit_name select').append('<option value="my_planet_dol">Снежный (доллары)</option>'+
						'<option value="extra_dol">Срочный в валюте</option>'+
						'<option value="rantie_dol">Рантье в валюте</option>');
			}
		}
		if (!error) {
			$('#deposits_profit_calc div.row').eq(tr).slideDown('fast');
			$('#monthly_income #d_result').text('');
			$('#error').text('');
			$('#deposits_profit_calc #next_button').unbind('click').bind('click', second_step);
		}
	}

	$('#deposits_profit_calc #next_button').bind('click', first_step);

	function second_step(){
		$('#error').text('');
		$('#monthly_income #d_result').text('');
		switch($('#deposit_name select').val()){
			case 'pension_rub':
				$('#deposit_time select').append('<option value="91,7">91 день</option>'+
				'<option value="184,8">184 дня</option>'+
				'<option value="366,9.5">366 дней</option>'+
				'<option value="731,8.5">731 день</option>');
				$('#deposit_time').slideDown('fast');
				break;
			case 'transform_rub':
				$('#deposit_time select').append('<option value="31,2.5">31 день</option>'+
				'<option value="61,3.5">61 день</option>'+
				'<option value="91,5">91 день</option>'+
				'<option value="181,7.0">181 день</option>'+
				'<option value="271,7.5">271 день</option>'+
				'<option value="366,9">366 дней</option>'+
				'<option value="730,8">730 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;
			case 'my_planet_rub':
				$('#deposit_time select').append('<option value="120,9">120 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;
			case 'success_rub':
				$('#deposit_time select').append('<option value="500,8">500 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;

			case 'my_planet_eur':
				$('#deposit_time select').append('<option value="120,4.5">120 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;
			case 'extra_eur':
				$('#deposit_time select').append('<option value="181,3">181 день</option>'+
				'<option value="366,4">366 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;
			case 'rantie_eur':
				$('#deposit_time select').append('<option value="31,1">31 день</option>'+
				'<option value="91,2.5">91 день</option>'+
				'<option value="181,3.5">181 день</option>'+
				'<option value="366,5">366 дней</option>'+
				'<option value="730,4">730 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;

			case 'my_planet_dol':
				$('#deposit_time select').append('<option value="120,4.5">120 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;
			case 'extra_dol':
				$('#deposit_time select').append('<option value="181,3">181 день</option>'+
				'<option value="366,4">366 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;
			case 'rantie_dol':
				$('#deposit_time select').append('<option value="31,1">31 день</option>'+
				'<option value="91,2.5">91 день</option>'+
				'<option value="181,3.5">181 день</option>'+
				'<option value="366,5">360 дней</option>'+
				'<option value="730,4">730 дней</option>');
				$('#deposit_time').slideDown('fast');
				break;
		}
		$('#deposits_profit_calc_calc #next_button').unbind('click').bind('click', first_step);
		$('#deposits_profit_calc #next_button').hide();
		$('#calc_button').slideDown('fast');
	}


	$('#calc_button').click(function(){
		$('#error').text('');
		$('#monthly_income #d_result').text('');
		var currency = $('div#deposit_sum select').val();
		var deposit_sum = $('#deposit_sum input#deposit_sum_field').val();
		$(this).hide();
		$('#monthly_income').slideDown('fast');
		var deposit_percents = (($('#deposit_time select').val()).split(',')[1])/100;
		var deposit_time = ($('#deposit_time select').val()).split(',')[0];
		var deposit_monthly = ((deposit_sum*1 + (deposit_sum * deposit_percents * (deposit_time / 365)))).toFixed(2);
		if (isNaN(deposit_monthly) == true) {
			$('#monthly_income #d_result').text('0');
		} else {
			$('#monthly_income #d_result').text(deposit_monthly);
			switch ($('#deposit_name select').val()) {
				case 'my_planet_rub' : case 'my_planet_eur' : case 'my_planet_dol' : case 'pension_rub' : case 'transform_rub' : case 'success_rub' :
				$('#comment').text('Сумма дохода указана без учета налогообложения');
				break;
				case 'rantie_eur' : case 'rantie_dol' : case 'extra_eur' : case 'extra_dol' :
				$('#comment').text('Сумма дохода указана без учёта капитализации и налогооблажения');
				break;
			}
		}
	});

	$('#clear').live('click',function(){
		$('#next_button').unbind('click').bind('click', first_step);
		$('#deposit_time, #deposit_name, #deposit_time2, #monthly_income').slideUp('fast');
		$('#deposit_sum_field').val('0');
		$('#monthly_income #d_result, #error').text('');
		$('#calc_button').hide();
		$('#next_button').show();
		$('#deposit_time select, #deposit_name select').empty();
		$('#comment').text('');
	})
	/* /калькулятор доходности вклада */


	/* /ипотечный калькулятор на главной */
	$('#programm_name_popup').jqm({modal: true, trigger: 'span#programm_name_link'});
	$('#programm_name_popup span.pseudo_radio').click(function(){
		$('#programm_name').text($(this).text());
		$(this).closest('ul').find('span').removeClass('pseudo_radio_active');
		$(this).addClass('pseudo_radio_active');
		$('#programm_name_popup').jqmHide();
	})

	var m_error = $('#mortgage_error');
	var m_clear = $('#mortgage_clear');

	$('#mortgage_calc_button').click(function(){
		var m_time = $('#mortgage_time').val();
		var m_cost = $('#mortgage_property_sum').val();
		var m_sum = $('#mortgage_sum').val();
		var m_comm = 0;
		var m_percents = 0;

		var m_programm_id = $('#programm_name_popup span.pseudo_radio_active').attr('id');
		if (!m_programm_id){
			$('#mortgage_result_row').slideUp('fast');
			m_error.text('Вы не выбрали программу!');
		} else if (m_sum <= 0 || m_cost <= 0 || !m_sum || !m_cost) {
			$('#mortgage_result_row').slideUp('fast');
			m_error.text('Поля "Стоимость квартиры" и "Сумма кредита" должны быть заполнены и сумма должны быть больше нуля!');
		} else if (m_sum-m_cost > 0) {
			$('#mortgage_result_row').slideUp('fast');
			m_error.text('Размер кредита больше стоимости объекта недвижимости!');
		} else {
			m_programm_id = $('#programm_name_popup span.pseudo_radio_active').attr('id').slice(-1);
			switch(m_programm_id) {
				case '1':
					m_percents = 10.5;
					break;
				case '2':
					m_percents = 10.5;
					break;
				case '3':
					m_percents = 11;
					break;
				case '4':
					m_percents = 12.5;
					break;
				case '5':
					m_percents = 12.5;
					break;
				case '6':
					switch(m_time){
						case '1': case '2': case '3':
							m_percents = 12;
							break;
						case '4': case '5':
							m_percents = 13;
							break;
						case '6': case '7': case '8':
							m_percents = 14;
							break;
						case '9': case '10':
							m_percents = 15;
							break;
					}
					break;
			}
			$('#programm_percents').val(m_percents);



			var m_percents = $('#programm_percents').val()/100;
			function calculation(){
				$('#mortgage_result_row').slideDown('fast');
				m_error.empty();
				$('#mortgage_percents').text((m_percents*100).toFixed(1));
				$('#mortgage_commission').text((m_sum*(m_comm/100)).toFixed(0));
				var m_monthly_payment = Math.round((m_sum*((m_percents)/12))/(1-(Math.pow((1+(m_percents/12)),(-((m_time*12)-1))))));
				$('#mortgage_monthly_payment').text(m_monthly_payment);
			}

			switch(m_programm_id) {
				case '1': case '2': case '3':
					m_comm = 1;
					break;
				case '4': case '5':
					m_comm = 2;
					break;
				case '6':
					m_comm = 3;
					break;
			}






			var m_first_payment = (((m_cost-m_sum)*100)/m_cost);
			switch (m_programm_id) {
				case '1': case '2': case '3':
					if (m_first_payment < 0) {
						$('#mortgage_result_row').slideUp('fast');
						m_error.text('Первоначальный взнос не может быть меньше 0%!');
						break;
					} else {
						calculation();
						break;
					}
				case '4': case '5':
					if (m_first_payment < 20 || m_first_payment >= 100) {
						$('#mortgage_result_row').slideUp('fast');
						m_error.text('Первоначальный взнос не может быть меньше 20%!');
						break;
					} else {
						calculation();
						break;
					}
				case '6':
					switch(m_time) {
						case '1': case '2': case '3': case '4': case '5':
							if (m_first_payment < 20 || m_first_payment >= 100) {
								$('#mortgage_result_row').slideUp('fast');
								m_error.text('Первоначальный взнос не может быть меньше 20%!');
								break;
							} else {
								calculation();
								break;
							}
						case '6': case '7': case '8': case '9': case '10':
							if (m_first_payment < 30 || m_first_payment >= 100) {
								$('#mortgage_result_row').slideUp('fast');
								m_error.text('Первоначальный взнос не может быть меньше 30%!');
								break;
							} else {
								calculation();
								break;
							}
					}
				break;
			}
		}
	});
	m_clear.click(function(){
		$('#programm_name').text('');
		$('#programm_name_popup span').removeClass('pseudo_radio_active');
		$('#mortgage_result_row').slideUp('fast');
		$('#mortgage_calc_right input').val('0');
		$('#mortgage_calc_right select option').removeAttr('selected');
		$('#mortgage_calc_right select option').eq(0).attr('selected','selected');
		m_error.empty();
	});

	$('#m_form_submit').click(function(){
		$('#mortgage_calc_right').submit();
	});
	/* /ипотечный калькулятор на главной */



	/* переделывает лишние сслыки в текст на карте сайта */
	$('.sitemap a[href="/branches/"]').next('ul').unwrap('li');
	$('.sitemap a[href="/branches/"]').remove();
	$('.sitemap a[href="/locations/"]').next('ul').unwrap('li');
	$('.sitemap a[href="/locations/"]').remove();
	$('ul.sitemap:last li a').wrap('<h4></h4>');

	$('.sitemap a[href="/branches/persons/"]').replaceWith('<h4>' + $('.sitemap a[href="/branches/persons/"]').text() + '</h4>');
	$('.sitemap a[href="/branches/corporate/"]').replaceWith('<h4>' + $('.sitemap a[href="/branches/corporate/"]').text() + '</h4>');
	$('.sitemap a[href="/branches/about/"]').replaceWith('<h4>' + $('.sitemap a[href="/branches/about/"]').text() + '</h4>');
	/* /переделывает лишние сслыки в текст на карте сайта */
});
