$(function(){
	$('.fancybox').fancybox();
});
// Emulation target_blank
$(function(){
	$("._blank a").click(function(){
		window.open(this.href);
		return false;
	});
});	

// manager background
$(function(){
		$(".manager-block .manager-box:even").addClass("manager-bg");
	});

// manager background
$(function(){
		$(".table-user tr:even td").addClass("table-user-td-bg");
	});

// hover background object
$(function(){
	$(".object-box").hover(function(){ 
		$(this).toggleClass("ob_bg");
	});
});

// last room
$(function(){
	$(".room-box .room-box-one:last-child").addClass("room-no-border");
});

// show room-box
$(function(){
	$(".unfold_room_box a span").click(function(){
		if($(this).hasClass("arrow-up")){
			$(this).text("Показать квартиры").removeClass("arrow-up");
			$(this).parents('.corpus_and_rooms:first').find(".room-box").hide();			
		}else{
			$(this).text("Скрыть квартиры").addClass("arrow-up");
			$(this).parents('.corpus_and_rooms:first').find(".room-box").show();			
		}
		return false;
	});
});

// inner-close room-box
$(function(){
	$(".object_and_corpus .room_close_link a").click(function(){
		$(this).parents('.room-box:first').hide();
		$(this).parents('.object_and_corpus:first').find(".object-cost .unfold_object a span").text("Развернуть").removeClass("arrow-up");
		return false;
	});
	$(".corpus_and_rooms .room_close_link a").unbind('click').click(function(){
		$(this).parents('.room-box:first').hide();
		$(this).parents('.corpus_and_rooms:first').find(".object-cost .unfold_room_box a span").text("Показать квартиры").removeClass("arrow-up");
		return false;
	});
});	

// show corpus and room-box
$(function(){
	$(".unfold_object a span").click(function(){
		if($(this).hasClass("arrow-up")){
			$(this).text("Развернуть").removeClass("arrow-up");
			var obj = $(this).parents('.object_and_corpus:first');
			obj.find(".corpus_and_rooms").hide();
			obj.find(".object-box").addClass("ob_bg");
			obj.find(".room-box").hide();
			obj.find(".unfold_room_box a span").text("Показать квартиры").removeClass("arrow-up");			
		}else{
			$(this).text("Свернуть").addClass("arrow-up");
			var obj = $(this).parents('.object_and_corpus:first');
			obj.find(".corpus_and_rooms").show();
			obj.children(".room-box").show();
			obj.find(".object-box").removeClass("ob_bg");			
		}
		return false;
	});
});

// show unfold_object link 
$(function(){
		$(".object_and_corpus").has(".corpus_and_rooms").find(".unfold_object").addClass("visible-link");
	});

// complex-info table
$(function(){
		$(".complex-info-table tr:even td").addClass("td-complex-bg");
	});

// hover background td info room table
$(function(){
		$(".one-room-info tr").hover( 
		  function () { 
			$(this).children("td").toggleClass("td-info-bg") 
		  }
		);
	});
	
	// sent request
$(function(){
	    $(".button_sent_request a").click(function(){
	        $(".sent_request").show();
			return false;
	    });
	});

$(function(){
	    $(".p_zayavka a").click(function(){
	        $(".sent_request").hide();
			return false;
	    });
	});	
	
	// search section
$(function(){
	    $(".a_search_section a").click(function(){
	        $(".search_section").show();
	        $('#search_section').val(0);
			return false;
	    });
	});

$(function(){
	    $(".p_search_section a").click(function(){
	        $(".search_section").hide();
			return false;
	    });
	});	


$(function(){
	$(".navFlats a").click(function(){
		pagesFlats($(this).attr('href'));
		return false;
	});
});

function pagesFlats(url){
	$.getJSON(url, {}, function(data){
		var id=data.id;
		$('#listFlats'+id).html(data.content);
		$('#navFlats'+id).html(data.pages);
		$("#navFlats"+id+" a").click(function(){
			pagesFlats($(this).attr('href'));
			return false;
		});
	});
}

$(function(){
	$('#formFilterFlats input').click(function(){
		filterFlatsCases('');
	});
});

function filterFlatsCases(url){
	url = url=='' ? $('#formFilterFlats').attr('action') : url;
	$.getJSON(url, $('#formFilterFlats').serializeArray(), function(data){
		$('#listFlats').html(data.content);
		$('#pageFilterFlats').html(data.pages);
		$("#pageFilterFlats a").click(function(){
		filterFlatsCases($(this).attr('href'));
		return false;
	});
	});
}

$(function(){
	$("#pageFilterFlats a").click(function(){
		filterFlatsCases($(this).attr('href'));
		return false;
	});
});
// right&left-column blocks without top-margin
//$(function(){
	    //$(".center-col .mod-box:first-child, aside .mod-box:first-child, .left-col .mod-box:first-child").addClass("first-block");
		//$(".two-bar section:odd article").addClass("odd");
	//});

//$(function(){
	   // $("body").click(function(){
	        //$(".mod-city-sel-dropdown:visible").hide();
			//return false;
	    //});
	//});

// background li if a.selected-parent in vert-menu 
//$(function(){
		//$(".vert-menu li a.a-selected-parent").parent().has("a.a-selected-parent").addClass("vert-menu-li-bg");
	//});
	

var map;
var infowindow;
var contentString;
var resized = false;
function initialize() {
    var latlng = new google.maps.LatLng(60.06137095071698,30.30677318572998);
    var myOptions = {
      zoom: 9,
      center: latlng,
      disableDefaultUI: true,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	google.maps.event.addListener(map, 'zoom_changed', function() {
		zoomChangeBoundsListener = google.maps.event.addListener(map,'bounds_changed',function (event) {
			 if (map.getZoom()>15 && !resized){
				map.setZoom(15);
				resized = true;
			 }
			 google.maps.event.removeListener(zoomChangeBoundsListener);
		});
	});
    infowindow = new google.maps.InfoWindow();
    var listener = google.maps.event.addListener(map, 'bounds_changed', function(){
      setupObjectMarkers();
      google.maps.event.removeListener(listener);
  	});
}

function setMapObject(name, lat, lng){
    var latlng = new google.maps.LatLng(lat,lng);
    var myOptions = {
      zoom: 11,
      center: latlng,
      disableDefaultUI: true,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("mapObject"), myOptions);
    var infowindow = new google.maps.InfoWindow();
	var marker = new google.maps.Marker({
	    position: latlng,
	    icon: '/i/flag.png',
	    map: map,
	    title: name
    });
}

function setupObjectMarkers(){
	var mgr = new MarkerManager(map);
	var obj = '';
	var bounds = new google.maps.LatLngBounds();
	$.getJSON('/objects/json/', function(data){
	    $.each(data, function(i,obj){
			var contentString = '<div class="object-info-map"><div class="hidden"><div class="object-info-map-photo"><a href="/objects/'+obj.id+'/">'+obj.img+'</a>'
			+'</div><div class="object-info-map-text"><p class="p_title"><a href="/objects/'+obj.id+'/">'+obj.name+'</a></p>'
			+'<p>'+obj.region+', '+obj.address+'</p><p><span>Квартиры от <strong>'+obj.price+'</strong> руб.</span></p>'
			if(obj.deliver != '') contentString += '<p><span>Дата завершения строительства: <br><strong>'+obj.deliver+'</strong></span></p>'
			contentString += '</div></div></div>';
			var myLatLng = new google.maps.LatLng(obj.lat, obj.lng);
			var marker = new google.maps.Marker({
				position: myLatLng,
				map: map,
				icon: '/i/flag.png',
				title: obj.name
			});
			google.maps.event.addListener(marker, 'click', function(){
				infowindow.setPosition(myLatLng);
		  		infowindow.setContent(contentString);
		  		infowindow.open(map);
			});
	    	bounds.extend(myLatLng);
	    });
		map.fitBounds(bounds);
    });
}

function resizeMap(pos){
	$('#map_canvas').animate({height: ($('#search_cont').outerHeight()+pos)}, 'fast', function(){
		var centerer = map.getCenter();
		google.maps.event.trigger(map, 'resize');
		map.setCenter(centerer);
	});
}


$(function(){
	$('#formRequest').submit(function(){
		$.post('/objects/request/', $(this).serializeArray(), function(){
			$('#tableFormManager').hide();
			$('<div id="successMessage"><p>Спасибо ваше сообщение отправленно!</p></div>').insertAfter('#tableFormManager');
		});
		return false;
	});
});

$(function(){
	$(".button_sent_request a").click(function(){
		$(".sent_request").show();
		$('#tableFormManager').show();
		document.getElementById('formRequest').reset();
		$('#successMessage').remove();
		return false;
	});
	
	$(".p_zayavka a").click(function(){
		$(".sent_request").hide();
		return false;
	});
});

$(function(){
	$('#changeRegionButton').click(function(){
		$('#currentRegion').empty();
		$('.search_section_inner :checked').each(function(i,el){
			$('#currentRegion').append('<p class="p_sm-marg" id="'+$(el).val()+'">'+$(el).val()+'</p>');
		})
		formUpdateDataRegion();
		$(".search_section").hide();
		return false;
	});
	$('#formSearch input:checkbox').change(function(){
		formUpdateData();
	});
});

function formUpdateDataRegion(){
	$.ajax({
		url : '/objects/',
		dataType: 'json',
		cache : false,
		data : $('#formSearch').serializeArray(),
		success: function(data){
			$("#slider_floor_space").slider("option", "values", [data.minarea, data.maxarea]);
			$( "#min_floor_space" ).val(data.minarea);
			$( "#max_floor_space" ).val(data.maxarea);
			$("#slider_cost").slider("option", "values", [data.mincost, data.maxcost]);
			$( "#min_cost" ).val(data.mincost);
			$( "#max_cost" ).val(data.maxcost);
			updateCuselElement(data.objects, 'Выберите объект', 'search_section');
			updateCuselElement(data.delivery, 'Выбрать срок сдачи', 'search_time_delivery');
		}
	});
}

function updateCuselElement(arr, def, id){
	$("#cuselFrame-"+id+" .cuselText:first").html(def);
	$('#search_time_delivery').val(0);
	$("#cusel-scroll-"+id+" span:not(:first)").remove();
	$("#cusel-scroll-"+id+" span:first").addClass("cuselActive");
	$.each(arr, function(i, name){
		$("#cusel-scroll-"+id+"").append('<span value="'+i+'">'+name+'</span>');
	});
	var params = {
		refreshEl: "#"+id,
		visRows: 10
	}
	cuSelRefresh(params);
}

function formUpdateData(){
	$.ajax({
		url : '/objects/',
		dataType: 'json',
		cache : false,
		data : $('#formSearch').serializeArray(),
		success: function(data){
			$("#slider_floor_space").slider("option", "values", [data.minarea, data.maxarea]);
			$( "#min_floor_space" ).val(data.minarea);
			$( "#max_floor_space" ).val(data.maxarea);
			$("#slider_cost").slider("option", "values", [data.mincost, data.maxcost]);
			$( "#min_cost" ).val(data.mincost);
			$( "#max_cost" ).val(data.maxcost);
			updateCuselElement(data.delivery, 'Выбрать срок сдачи', 'search_time_delivery');
		}
	});
}

function formUpdateDataDelivery(){
	$.ajax({
		url : '/objects/',
		dataType: 'json',
		cache : false,
		data : $('#formSearch').serializeArray(),
		success: function(data){
			$("#slider_floor_space").slider("option", "values", [data.minarea, data.maxarea]);
			$( "#min_floor_space" ).val(data.minarea);
			$( "#max_floor_space" ).val(data.maxarea);
			$("#slider_cost").slider("option", "values", [data.mincost, data.maxcost]);
			$( "#min_cost" ).val(data.mincost);
			$( "#max_cost" ).val(data.maxcost);
		}
	});
}

function showMapBag(){
	window.open('/maps.html');
}

$(function(){
	$('.google-map-zoom a').click(function(){
		showMapBag();
		return false;
	});
});
