var limiterForSale, limiterForRent;
var limitMinStep = 0.15; 
var limitMaxStep = 0.03;
var from, to;

function Limiter(min, max, step, domObjects, linerWidth, roundValue, currency, obj)
{
	this.min = min;
	this.max = max;	
	this.step = parseInt(step);
	this.minValue = null;
	this.maxValue = null;		
	this.linerWidth = linerWidth;
	this.currency = currency;
	this.price_min = 0;
	this.price_max = 10000000000000;
	this.setted = false;
	this.roundValue;
	this.max_setted = true;
	this.min_setted = true;
	this.minValueObj = $(domObjects.min);	
	this.maxValueObj = $(domObjects.max);	
	this.limitMinString = obj.limitMin;
	this.limitMaxString = obj.limitMax;
	this.init();
}

Limiter.prototype.init = function()
{	
	var that = this;
	this.minValueObj.innerHTML = this.round(that.min) + ' ' + this.currency + ' ' + this.limitMinString;
	this.maxValueObj.innerHTML = this.round(that.max) + ' ' + this.currency + ' ' + this.limitMaxString;
}

Limiter.prototype.getValue = function(rate, direction)
{
	var that = this;
	var value = this.min + parseInt((this.max - this.min)*rate);
	var return_value = false;

	if(value > this.max)
	{
		value = this.max;
	}
	if(value < this.min)
	{
		value = this.min;
	}

	if(direction == 'min')
	{		
		this.minValue = value;			
		this.maxValue = (this.maxValue == null)? this.price_max : this.maxValue; 
		if(value <= this.min + this.min * limitMinStep)
		{						
			this.minValue = 0;
			this.min_setted = true;
			this.minValueObj.innerHTML = this.round(that.min) + ' ' + this.currency + ' ' + limitMinString;			
			from = 0
			to = this.maxValue;			
			//PRICE_LIMITER = true;
			return true;
		}	
		else
		{
			 this.min_setted = false;
		}			
	}	
	else
	{
		this.maxValue = value;			
		this.minValue = (this.minValue == null)? this.price_min : this.minValue; 		
		if(value >= this.max - this.max * limitMaxStep)
		{				
			this.maxValue = this.price_max;			
			this.maxValueObj.innerHTML = this.round(that.max) + ' ' + this.currency + ' ' + this.limitMaxString;		
			this.max_setted = true;	
			from = this.minValue;			
			to = this.price_max;					
			return true;
		}	
		else
		{
			this.max_setted = false;
		}
	}
	
	this.minValueObj.innerHTML = this.round(that.minValue) + ' ' + this.currency;	
	if(this.min_setted) this.minValueObj.innerHTML = this.round(that.min) + ' ' + this.currency + ' ' + this.limitMinString;

	this.maxValueObj.innerHTML = this.round(that.maxValue) + ' ' + this.currency;

	if(this.maxValue >= this.max - this.max * limitMaxStep)
	{
		to = this.price_max;		
		this.maxValueObj.innerHTML = this.round(that.max) + ' ' + this.currency + ' ' + this.limitMaxString;			
	}
	
	PRICE_LIMITER = false;
	return false;
}

Limiter.prototype.round = function(value)
{		
	var that = this;
	return (value/this.step).toFixed(that.roundValue);
}

Limiter.prototype.setValues = function(){}
