$(document).ready(init);

function init() {
	initShowBigImages()
	
	$("a.year").toggle(function(){
		var block = $("#year-"+$(this).attr("rel"));
		if (!block.hasClass("opened")) block.slideDown(); else block.slideUp();
	}, function(){
		var block = $("#year-"+$(this).attr("rel"));
		if (!block.hasClass("opened"))  block.slideDown(); else block.slideDown();
	});
	
	$("a.sendfeedback").toggle(function(){
		$("#feedback-to-"+$(this).attr('rel')).show();
	},function(){
		$("#feedback-to-"+$(this).attr('rel')).hide();
	});
	
	$("form.message").submit(function(){
		return checkForm($(this));
	});
	
	/*
	 // Создает обработчик события window.onLoad
    YMaps.jQuery(function () {
        // Создает экземпляр карты и привязывает его к созданному контейнеру
        var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
            
        // Устанавливает начальные параметры отображения карты: центр карты и коэффициент масштабирования
        map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
    })
	*/
	
	
	// YANDEX MAP ---------------------------------------------------
	 var map, geoResult;

        // Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {
            // Создание экземпляра карты и его привязка к созданному контейнеру
            map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

            // Установка для карты ее центра и масштаба
            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);

            // Добавление элементов управления
            map.addControl(new YMaps.TypeControl());
			map.addControl(new YMaps.ToolBar());
			map.addControl(new YMaps.Zoom());
			//map.addControl(new YMaps.MiniMap());
			map.addControl(new YMaps.ScaleLine());
			
			
			if($("#master-region").length) {
				//alert($("#master-region").text());
				showAddress($("#master-region").text());
			}
        });

        // Функция для отображения результата геокодирования
        // Параметр value - адрес объекта для поиска
        function showAddress (value) {
            // Удаление предыдущего результата поиска
            map.removeOverlay(geoResult);

            // Запуск процесса геокодирования
            var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});

            // Создание обработчика для успешного завершения геокодирования
            YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
                // Если объект был найден, то добавляем его на карту
                // и центрируем карту по области обзора найденного объекта
                if (this.length()) {
                    geoResult = this.get(0);
                    map.addOverlay(geoResult);
                    map.setBounds(geoResult.getBounds());
                }else {
                    alert("Ничего не найдено")
                }
            });

            // Процесс геокодирования завершен неудачно
            YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
                alert("Произошла ошибка: " + error);
            })
        }
		
		//$('#address')
		
		$("#start-search").click(function() {
			showAddress($('#address').val());
			return false;
		});
		
		$("input[name='is_company']").change(function() {
			if($(this).val() == '1') {
				$("#is_company_1").show();
				$("#is_company_0").hide();
			}
			else {
				$("#is_company_0").show();
				$("#is_company_1").hide();
			}
		});
		
}

function initShowBigImages() {
	$("a.show-big-image").click(function(){
		var id = $(this).attr('rel');
		$("#"+id).css('background-image','url("'+$(this).attr('href')+'")');
		
		return false;
	});
}

function checkForm ( form ) {
	var res = true;
	$("input, textarea", form).each(
		function () {
			if ( $(this).hasClass("required") && $(this).val() == '' ) {
				res = false;
				$("label[for='"+$(this).attr("id")+"']").addClass("required-error");
			}
			else if ( $(this).hasClass("email") ) {
				var emailTest = '^[_\\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+\\.)+[a-z]{2,4}$';
				var regex = new RegExp(emailTest);
				if ( $(this).val() != '' && !regex.test( $(this).val()) ) {
					res = false;
					$("label[for='"+$(this).attr("id")+"']").addClass("email-error");
				}
			}
		}
	);
	setTimeout(function() { $('label', form).removeClass("required-error").removeClass("email-error"); }, 5000);
	return res;
}
