// ----------------------------------------------
// YUIS, for the slidebars filters!
//----------------------------------------------
(function () {
		// The range value and the tickSize value must be divisible
		var range = 130;
		// The size of the movement rank slidebar
		var tickSize = 13;
		var Dom = YAHOO.util.Dom;

		YAHOO.util.Event.onDOMReady(function () {

						var min_price_view = Dom.get("min_price_view");
						var max_price_view = Dom.get("max_price_view");
	
						var min_price_current = Dom.get("min_price_current");
						var max_price_current = Dom.get("max_price_current");
	
						var min_square_view = Dom.get("min_square_view");
						var max_square_view = Dom.get("max_square_view");
	
						var min_square_current = Dom.get("min_square_current");
						var max_square_current = Dom.get("max_square_current");
	
						// We use "now" for calculate the intervals
						var min_price_now = Dom.get("min_price_now");
						var max_price_now = Dom.get("max_price_now");

						var min_square_now = Dom.get("min_square_now");
						var max_square_now = Dom.get("max_square_now");

						var increment_price = (maxPrice - minPrice)/(range);
						var increment_square = (maxSquare - minSquare)/(range);

						//Initial value
						var init_vals_price = [parseInt((min_price_now.value -minPrice)/increment_price),parseInt((max_price_now.value-minPrice)/increment_price)];
						var init_vals_square = [parseInt((min_square_now.value - minSquare)/increment_square),parseInt((max_square_now.value - minSquare)/increment_square)];

						// Apply the init values
						var dual_slider_price = YAHOO.widget.Slider.getHorizDualSlider("sliderbgPrice", "minthumbPrice", "maxthumbPrice",
								range, tickSize, init_vals_price);
						var dual_slider_square = YAHOO.widget.Slider.getHorizDualSlider("sliderbgSquare", "minthumbSquare", "maxthumbSquare",
								range, tickSize, init_vals_square);

						// Custom function to update the text fields, the converted value
						// report and the slider's title attribute
						var updateUIPrice = function () {

								min_price_current.value = parseInt(dual_slider_price.minVal * increment_price + minPrice);
								max_price_current.value = parseInt(dual_slider_price.maxVal * increment_price + minPrice);

								min_price_view.innerHTML = (addPointPrice(min_price_current.value));
								max_price_view.innerHTML = (addPointPrice(max_price_current.value));
								
								if(initFilterPrice.length == 0)
								{
									initFilterPrice = "minPrice="+min_price_current.value+"&maxPrice="+max_price_current.value;
								}
								else
								{	
									makeRequest("minPrice="+min_price_current.value+"&maxPrice="+max_price_current.value);
								}

						};

						var updateUISquare = function () {

								min_square_current.value = parseInt(dual_slider_square.minVal * increment_square + minSquare);
								max_square_current.value  = parseInt(dual_slider_square.maxVal * increment_square + minSquare);
					
								min_square_view.innerHTML = (addPointSurface(min_square_current.value));
								max_square_view.innerHTML = (addPointSurface(max_square_current.value));

								if(initFilterSquare.length == 0)
								{
									initFilterSquare = "minSquare="+min_square_current.value+"&maxSquare="+max_square_current.value;
									initListingFilter();
								}
								else
								{	
									makeRequest("minSquare="+min_square_current.value+"&maxSquare="+max_square_current.value);
								}
						};

						// Subscribe to the dual thumb slider's change and ready events to
						// report the state.
						dual_slider_price.subscribe('ready', updateUIPrice);
						dual_slider_price.subscribe('change', updateUIPrice);

						// Subscribe to the dual thumb slider's change and ready events to
						// report the state.
						dual_slider_square.subscribe('ready', updateUISquare);
						dual_slider_square.subscribe('change', updateUISquare);
		});
})();


function addPointPrice(str) {
	var lang = YAHOO.util.Dom.get("lang");
	if(lang.value == "es") {
		var dolarToPeso = YAHOO.util.Dom.get("dolarToPeso");
		str = (str * dolarToPeso.value).toFixed(0);
		tmp = " MXN";
	} else {
		tmp = " US";
	}
	return "$" + addPoints(str) + tmp;
}

function addPointSurface(str) {

	var lang = YAHOO.util.Dom.get("lang");

	if(lang.value == "en") {
		var meterToFeet = YAHOO.util.Dom.get("meterToFeet");
		str = (str * meterToFeet.value).toFixed(0);
		tmp = " Sqft.";
	} else {
		tmp = " m&sup2;";
	}

	return addPoints(str) + tmp;

}

function addPoints(str) {

		var pre = str;
		var post = "";

		while(pre.length > 3) {
				post = "," + pre.substr(pre.length-3,3) + post;
				pre = pre.substr(0,pre.length-3);
		}

		return pre + post;
}

var checkboxRegionSelected = true;

function selectDeselect(link) {
	regions = document.getElementsByName('checkboxRegion');
	checkboxRegionSelected = !checkboxRegionSelected;

	for (i = 0; i < regions.length; i++) {
		regions[i].checked = checkboxRegionSelected;		
	}

	if(!checkboxRegionSelected)
		link.innerHTML = seleccionarTodasText;	
	else
		link.innerHTML = deseleccionarTodasText;	

	makeRequest('regions=true&check=' + checkboxRegionSelected);
}
