(function(jQuery){
	/* Метод, управляющий полем информации о фирме и задает действия для его элементов */
	jQuery.fn.horInfo = function(){
		/* Связываем переменную и информационное поле */
		var horInfo = jQuery(this);
		
		/* Разворачиваем информационные поля и узнаем максимальную высоты блока */
		var ddElem = horInfo.children("dd").css('display','block');
		var maxHeight=ddElem.height();
		if(ddElem.length > 1){
			for(var i=1;i<ddElem.length;i++){
				if(ddElem.eq(i).height() > maxHeight)
					maxHeight=ddElem.eq(i).height();
			};
		};
		/* Задаем нумерацию полям */
		var dtElem = horInfo.children("dt");
		for(i=0;i<dtElem.length;i++){
			dtElem.get(i).index = i;
		};
		/* Оформляем начальный вариант */
		ddElem.css('display','none').height(maxHeight);
		ddElem.eq(0).css('display','block');
		dtElem.eq(0).addClass("h_i-act");
		/* Задаем действия по нажатию на блок */
		horInfo.children("dt").click(function(){
			/* Объект, который должен быть показан */
			var toShowDt = jQuery(this);
			/* Если скрываемый и показываемый объект совпадают */
			if(!toShowDt.hasClass('h_i-act')){
				var toShow = ddElem.eq(toShowDt.get(0).index);
				/* Объект, который должен быть убран */
				var toHideDt = toShowDt.parent().children(".h_i-act");
				var toHide = ddElem.eq(toHideDt.get(0).index);
				/* Останавливаем анимацию показываемого объекта */
				toShow.stop();
				/* Останавливаем анимацию скрываемого объекта */
				toHide.stop();
				toHide.animate({opacity:0},300,function(){
					jQuery(this).css('display','none');
					toHideDt.removeClass('h_i-act');
					toShow.css({display:'block',opacity:0});
					toShowDt.addClass('h_i-act')
					toShow.animate({opacity:1},300);
				});
			};
		});
		
		horInfo.children("dt").children("a").click(function(){
			jQuery(this).parent().click();
			return false;
		});
		
		return horInfo;
	};
})(jQuery);

$(document).ready(function(){
	/* Активизируем скрипт информационного поля */
	$(".hor_info").horInfo();
});
