function speedingfee_calculator(){
	this.unit = 'km/h';
	this.currency = 'Ft';
	this.max_overspeed = 120;
	this.fines = Array(
		
				{
			limit: 110,
			fines: Array(
				{overspeed:116,fine:'300.000'},
				{overspeed:101,fine:'200.000'},
				{overspeed:86,fine:'130.000'},
				{overspeed:70,fine:'90.000'},
				{overspeed:55,fine:'60.000'},
				{overspeed:39,fine:'45.000'},
				{overspeed:24,fine:'30.000'}
			)
			
		},
		
		{
			limit: 100,
			fines: Array(
				{overspeed:116,fine:'300.000'},
				{overspeed:101,fine:'200.000'},
				{overspeed:85,fine:'130.000'},
				{overspeed:70,fine:'90.000'},
				{overspeed:54,fine:'60.000'},
				{overspeed:39,fine:'45.000'},
				{overspeed:23,fine:'30.000'}
			)
			
		},
		{
			limit: 90,
			fines: Array(
				{overspeed:111,fine:'300.000'},
				{overspeed:95,fine:'200.000'},
				{overspeed:80,fine:'130.000'},
				{overspeed:64,fine:'90.000'},
				{overspeed:49,fine:'60.000'},
				{overspeed:33,fine:'45.000'},
				{overspeed:18,fine:'30.000'}
			)
			
		},
		{
			limit: 50,
			fines: Array(
				{overspeed:109,fine:'300.000'},
				{overspeed:94,fine:'200.000'},
				{overspeed:79,fine:'130.000'},
				{overspeed:63,fine:'90.000'},
				{overspeed:48,fine:'60.000'},
				{overspeed:33,fine:'45.000'},
				{overspeed:18,fine:'30.000'}
			)
		},
		{
			limit: -1,
			fines: Array(
				{overspeed:78,fine:'300.000'},
				{overspeed:68,fine:'200.000'},
				{overspeed:58,fine:'130.000'},
				{overspeed:48,fine:'90.000'},
				{overspeed:38,fine:'60.000'},
				{overspeed:28,fine:'45.000'},
				{overspeed:18,fine:'30.000'}
			)
		}
	);

	this.updateSpeedSlider = function()
	{
		this.speed = this.limit;
		jQuery('#slider_speed').slider('option', 'min', this.limit);
		jQuery('#slider_speed').slider('option', 'max', this.limit + this.max_overspeed);
		jQuery('#slider_speed').slider('value', this.speed);
	}

	this.updateIndicators = function()
	{
		jQuery("#indicator_limit").html(this.limit + ' ' + this.unit);
		jQuery("#indicator_speed").html(this.speed + ' ' + this.unit);
		jQuery("#indicator_overspeed").html(((this.speed > this.limit) ? this.speed - this.limit : 0) + ' ' + this.unit);
		jQuery("#indicator_fine").html(this.getFine() + ' ' + this.currency);
	}

	this.getFineGroup = function()
	{
		for(var i = 0; i < this.fines.length; i++)
			if(this.limit > this.fines[i].limit)
				return this.fines[i].fines;
	}

	this.getFine = function(group)
	{
		var group = this.getFineGroup();
		for(var i = 0; i < group.length; i++)
			if(this.speed - this.limit > group[i].overspeed)
				return group[i].fine;
		return 0;
	}

	this.trackEvent = function()
	{
		_gaq.push(['_trackEvent', 'Büntetéskalkulátor', 'Használat', location.href]);
		this.eventTracked = true;
	}

	var calculator = this;
	jQuery('#slider_limit').slider({
		value: 50, min: 10, max: 130, step: 10,
		slide: function(event, ui) {
			calculator.limit = ui.value;
			calculator.updateSpeedSlider(ui.value);
			calculator.updateIndicators();
			if(calculator.eventTracked == false)
				calculator.trackEvent();
		}
	});
	this.limit = jQuery('#slider_limit').slider('value');
	jQuery('#slider_speed').slider({
		value: this.limit, min: this.limit, max: this.limit + this.max_overspeed, step: 1,
		slide: function(event, ui) {
			calculator.speed = ui.value;
			calculator.updateIndicators();
			if(calculator.eventTracked == false)
				calculator.trackEvent();
		}
	});
	this.speed = jQuery('#slider_speed').slider('value');
	this.eventTracked = false;
	this.updateIndicators();
};

