
	function propertyTypeChanged(updateCount)
	{
		var newSelectedTypes = '';
		
		if(document.getElementById('type-atsf').checked)
			newSelectedTypes += 'atsf,';
		if(document.getElementById('type-de').checked)
			newSelectedTypes += 'de,';
		if(document.getElementById('type-mu').checked)
			newSelectedTypes += 'mu,';
	
		selectedTypes = newSelectedTypes;
		
		if(updateCount)
			searchSales();
		
	}

	function areaNameChanged(s, updateCount)
	{
		if(String(s) != 'undefined') 
		{
			var newSelectedAreas = '';
			
			for(var i=0 ; i<s.options.length ; i++)
			{
				if(s.options[i].selected)
					newSelectedAreas += s.options[i].value + ',';
			}
			
			if(newSelectedAreas != selectedAreas)
			{
				selectedAreas = newSelectedAreas;
				
				if(updateCount)
					searchSales();
			}
		}
	}

	function neighborhoodChanged(s, updateCount)
	{
		var newSelectedneighborhoods = '';
		
		for(var i=0 ; i<s.options.length ; i++)
		{
			if(s.options[i].selected)
				newSelectedneighborhoods += s.options[i].value + ',';
		}
		
		if(newSelectedneighborhoods != selectedNeighborhoods)
		{
			selectedNeighborhoods = newSelectedneighborhoods;
			
			if(updateCount)
				searchSales();
		}
	}


	function bedroomChanged(rb, updateCount)
	{
		if(rb.value != minBedroom)
		{
			minBedroom = rb.value;
			
			if(updateCount)
				searchSales()
		}
	}

	function bathroomChanged(rb, updateCount)
	{
		if(rb.value != minBathroom)
		{
			minBathroom = rb.value;
			
			if(updateCount)
				searchSales()
		}
	}
	
	function excludePropertiesTaggedAsNotInterestedChanged(cb)
	{
		if (cb.checked)
			excludePropertiesTaggedAsNotInterested = 1;
		else
			excludePropertiesTaggedAsNotInterested = 0;
		searchSales()
	}


	function searchSales()
	{
		var url = '/AjaxPropertyCount.aspx';
		var pars = 'minPrice=' + minPrice + '&maxPrice=' + maxPrice + '&minBedroom=' + minBedroom + '&minBathroom=' + minBathroom;
		pars += '&selectedAreas=' + escape(selectedAreas);
		pars += '&selectedNeighborhoods=' + escape(selectedNeighborhoods);
		pars += '&selectedTypes=' + escape(selectedTypes);
		
		if (excludePropertiesTaggedAsNotInterested == 1)
			pars += '&ex=1';

		var myAjax = new Ajax.Request(
			url,
			{
				method: 'get',
				parameters: pars,
				onComplete: showResponse
			});

	}

	function showResponse(originalRequest)
	{
		if(originalRequest.responseText != '')
			document.getElementById('propertyCount').innerHTML = originalRequest.responseText;
		else
			document.getElementById('propertyCount').innerHTML = '0';
	}


var minPriceIndex;
var maxPriceIndex;

var minPrice = 100000;
var maxPrice = 300000;
var minBedroom = 0;
var minBathroom = 0;
var selectedAreas = '';
var selectedNeighborhoods = '';
var selectedTypes = '';
var excludePropertiesTaggedAsNotInterested = 0;

var prices = [0,100,125,150,175,200,225,250,275,300,325,350,375,400,425,450,500,550,600,700,800,900,1000,1500,2000,2500];
var slider;

function sliderValueChanged(v, updateCount)
{
	var low  = prices[parseInt(Math.floor(v[0]))];
	var high = prices[parseInt(Math.floor(v[1]))];

	minPriceIndex = document.getElementById('minIndex').value = v[0];
	maxPriceIndex = document.getElementById('maxIndex').value = v[1];

	document.getElementById('minPrice').innerHTML = "$" + Comma(low*1000);
	
	if(true || v[1] >= prices.length)
		document.getElementById('maxPrice').innerHTML = 'a$' + Comma(high*1000) + '+';
	else
		document.getElementById('maxPrice').innerHTML = 'b$' + Comma(high*1000);

	minPrice = low*1000;
	maxPrice = high*1000;
	
	document.getElementById('minp').value = minPrice;
	document.getElementById('maxp').value = maxPrice;

	if(updateCount)
	{
		searchSales();
	}
}

function sliderValueChanged2()
{
	var p1 = slider.getValue();
	var p2 = slider.getValue2();
	
	var low  = prices[Math.min(p1, p2)];
	var high = prices[Math.max(p1, p2)];

	minPriceIndex = document.getElementById('minIndex').value = Math.min(p1, p2);
	maxPriceIndex = document.getElementById('maxIndex').value = Math.max(p1, p2);

	document.getElementById('minPrice').innerHTML = '$' + Comma(low*1000);
	document.getElementById('maxPrice').innerHTML = '$' + Comma(high*1000);
	
	if(maxPriceIndex+1 >= prices.length)
		document.getElementById('maxPrice').innerHTML += '+';

	minPrice = low*1000;
	maxPrice = high*1000;
	
	document.getElementById('minp').value = minPrice;
	document.getElementById('maxp').value = maxPrice;

	if(!slider.isSliding())
	{
		searchSales();
	}
}

function g(id)
{
	return(document.getElementById(id));
}

window.onload = function()
{
	propertyTypeChanged(false);
	areaNameChanged(document.forms[0].ar, false);
	neighborhoodChanged(document.forms[0].n, false);
	bedroomChanged(document.forms[0].bd, false);
	bathroomChanged(document.forms[0].bt, false);

	minPriceIndex = g('minIndex').value;
	maxPriceIndex = g('maxIndex').value;

	var low = prices[minPriceIndex];
	var high = prices[maxPriceIndex]

	document.getElementById('minPrice').innerHTML = "$" + Comma(low*1000);
	document.getElementById('maxPrice').innerHTML = '$' + Comma(high*1000);
	
	var sliderEl = document.getElementById ? document.getElementById("slider-1") : null;
	var inputEl = document.forms[0]["slider-input-1"];
	var s = new Slider(sliderEl, inputEl);
	slider = s;
	s.onchange =  sliderValueChanged2;

	//alert(minPriceIndex + ' ' + maxPriceIndex);

	s.setValue(minPriceIndex);
	s.setValue2(maxPriceIndex);
	s.recalculate();
	s.onchange()
	//searchSales();
}

/*
<!-- Original:  Martin Webb -->
<!-- Web Site:  http://www.irt.org -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
*/

function Comma(number) {
number = '' + number;
if (number.length > 3) {
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0))
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
else
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
return (output);
}
else return number;
}