
// search.js
$(document).ready(function() {

	$('#search_link1').click(function() {
		var dialog = $('#search_dialog');
		var linkdiv = $('#search_link1');
		var offset = linkdiv.offset();
		var linkh = linkdiv.outerHeight();
		var linkw = linkdiv.outerWidth();
		var props = {
			top: offset.top + linkh - dialog.outerHeight() - 15,
			left: linkw - 35
		};
		dialog.css(props);
		dialog.toggle("normal");
		searchCount();
	});
	
	var searchCount = function() {
		$('#search_cities_selected option').each(function(){this.selected = false;});
		if (!$('#search_indicator').children().get(0)) {
			var $simg = $('<img src="/img/ajax-loader-search.gif" />');
			$('#search_indicator').append($simg);
		}
		$('#search_form').ajaxSubmit({
			dataType: 'json',
			success: function(json) {
				$('#search_indicator').children().remove();
				if (json.success == 'successmsg') {
					$('#search_result_count').html(''+json.count);
					if (json.count > 0) {
						$('#search_view_results').val('Показать объекты');
						$('#search_view_results').get(0).disabled = false;
					} else {
						$('#search_view_results').val('Нет подходящих');
						$('#search_view_results').get(0).disabled = true;
					}
				}
			}
		});
	}
	
	$('.close_search_dialog').click(function() {
		$('#search_dialog').hide("normal");
	});
	
	// select city
	var searchUnselectCity = function () {
		var sc = $('#search_cities_selected');
		this.selected = false;
		$(this).appendTo('#search_cities');
		var fnd = "input[type='hidden'][name='"+sc.attr('name')+"'][value='"+$(this).attr('value')+"']";
		var ofnd = $(fnd);
		if (ofnd) {
			ofnd.remove();
		}
		//$(this).unbind('dblclick', searchUnselectCity).dblclick(searchSelectCity);
		searchCount();
	}
	
	var searchSelectCity = function (load) {
		var sc = $('#search_cities_selected');
		var sf = $('#search_form');
		this.selected = false;
		$(this).appendTo(sc);
		var hid = $('<input type="hidden"/>');
		hid.attr({
			'name': sc.attr('name'),
			'value': $(this).attr('value')
		});
		sf.append(hid);
		//$(this).unbind('dblclick', searchSelectCity).dblclick(searchUnselectCity);
		searchCount();
	}
	
	$('#search_select_city').click(function() {
		$('#search_cities option:selected').each(searchSelectCity);
	});
	//$('#search_cities option').dblclick(searchSelectCity);
	//$('#search_cities').dblclick(function(){alert('sdfsd');});
	$('#search_cities').dblclick(function() {
		$('#search_cities option:selected').each(searchSelectCity);
	});
	$('#search_cities').click(function() {
		$(this).dblclick();
	});
	$('#search_cities_selected').dblclick(function() {
		$('#search_cities_selected option:selected').each(searchUnselectCity);
	});
	$('#search_cities_selected').click(function() {
		$(this).dblclick();
	});
	
	$('#search_unselect_city').click(function() {
		$('#search_cities_selected option:selected').each(searchUnselectCity);
	});
	
	// post ajax
	$("#search_form input[type='checkbox']").click(searchCount);
	$("#search_form input[type='text']").keyup(function() {
		$(this).val($(this).val().replace(/\D/g, ''));
		searchCount();
	});
	
	$('#search_view_results').click(function() {
		var url = core.base_path + 'catalog/search/';
		var suff = [];
		var types = $("#search_form input[name='types[]']:checked");
		var locations = $("#search_form input[name='locations[]']:checked");
		var cities = $("#search_form input[type='hidden'][name='cities[]']");
		var min_price = $("#search_form input[name='min_price']").val();
		var max_price = $("#search_form input[name='max_price']").val();
		var min_m2price = $("#search_form input[name='min_m2price']").val();
		var max_m2price = $("#search_form input[name='max_m2price']").val();
		var url_suff = $("#search_form input[name='url_suff']").val();
		var video = $("#search_form input[name='video']").get(0).checked;
		if (!min_price) min_price = 0;
		if (!max_price) max_price = 0;
		if (!min_m2price) min_m2price = 0;
		if (!max_m2price) max_m2price = 0;
		if (types && types.size() > 0) {
			var ts = [];
			types.each(function() {
				ts.push($(this).val());
			});
			suff.push('types:' + ts.join('.'));
		}
		if (locations && locations.size() > 0) {
			var ls = [];
			locations.each(function() {
				ls.push($(this).val());
			});
			suff.push('locations:' + ls.join('.'));
		}
		if (cities && cities.size() > 0) {
			var cs = [];
			cities.each(function() {
				cs.push($(this).val());
			});
			suff.push('cities:' + cs.join('.'));
		}
		if (video) {
			suff.push('video:1');
		}
		suff.push('price:'+min_price+'.'+max_price);
		suff.push('m2price:'+min_m2price+'.'+max_m2price);
		url += suff.join('-') + '/0/';
		if (url_suff) {
			url += url_suff;
		}
		var dt = {
			url : url,
			'params[]' : suff
		};
		$.post(core.base_path + 'utilities/send_search/', dt);
		window.location = url;
	});

});


