
	var costSlider = new Control.Slider('costOfVehicle_handle', 'costOfVehicle', {
		onSlide: function(v) { curValue = stepValues(v, 0, 45000, 100); document.costData.cost.value = curValue; $('costOfVehicle_value').innerHTML = formatCurrency(curValue); updateMonthly(); },
		onChange: function(v) {curValue = stepValues(v, 0, 45000, 100); document.costData.cost.value = curValue;  $('costOfVehicle_value').innerHTML = formatCurrency(curValue);  updateMonthly(); }
	});
	var downSlider = new Control.Slider('downPayment_handle', 'downPayment', {
		onSlide: function(v) { curValue = stepValues(v, 0, 20000, 50); document.costData.down.value = curValue; $('downPayment_value').innerHTML = formatCurrency(curValue); updateMonthly(); },
		onChange: function(v) { curValue = stepValues(v, 0, 20000, 50); document.costData.down.value = curValue; $('downPayment_value').innerHTML = formatCurrency(curValue); updateMonthly(); }
	});
	var interestSlider = new Control.Slider('interestRate_handle', 'interestRate', {
		onSlide: function(v) { curValue = stepValues(v, 0, 30, .1); document.costData.interest.value = curValue; $('interestRate_value').innerHTML = curValue.toFixed(2) + '%'; updateMonthly(); },
		onChange: function(v) { curValue = stepValues(v, 0, 30, .1); document.costData.interest.value = curValue; $('interestRate_value').innerHTML = curValue.toFixed(2) + '%'; updateMonthly(); }
	});
	costSlider.setValue(15000/45000);
	downSlider.setValue(1000/20000);
	interestSlider.setValue(10.9/30);
	function stepValues(mouseValue,start,end,step)
	{
		var mouseValue = mouseValue * (end-start);
		var stepMod = mouseValue % step;
		var curValue = start + mouseValue - stepMod;
		if (stepMod > (step/2))
		{
			curValue += step;
		}
		return curValue;
	}
	function updateMonthly()
	{
		var cost = Math.round(document.costData.cost.value);
		var down = Math.round(document.costData.down.value);
		var interest = parseFloat(document.costData.interest.value);
		interest = interest.toFixed(2);
		var months = new Array(12,24,36,48,60,66,72);
		for (var i=0; i<months.length; i++)
		{
			calcMonthly(cost,down,interest,months[i]);
		}
	}
	
	function calcMonthly(cost,down,interest,month) {
		var  monthId = month + 'months';
		i = interest / 100;
         if( i > 0){
 	        i = i / 12;
         	n = month;
          tmp = (1/i) * (1 - Math.pow(1/(1+i), n));
          tmp = (cost-down) / tmp;
          tmp = Math.round(tmp*100) / 100;
		  if (tmp > 0)
		  {
          	$(monthId).innerHTML= formatCurrency(tmp);
		  }
		  else
		  {
		  	$(monthId).innerHTML= 'n/a';
		  }
 		}
	}
	
	function formatCurrency(num) {
		num = Math.round(num);
		num=num.toString();
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(num)) {
			num = num.replace(rgx, '$1' + ',' + '$2');
		}
		return ('$' + num );
	}
