/**
 * namespacing our functions
 */
var LBS = {

	/**
	 * Initialize
	 */
	init: function(){
		$(".mr-years").slider({
			value:10,
			min: 0,
			max: 40,
			step: 10,
			change: LBS.refreshResult,
			slide: function(event, ui) {
				if(ui.value > 0) $("#years").attr("value",ui.value);
				else $("#years").attr("value",'5');
			}
			
		});
		$(".mr-raise").slider({
			value:1,
			min: 1,
			max: 5,
			step: 1,
			change: LBS.refreshResult,
			slide: function(event, ui) {
				$("#raise").attr("value",ui.value);
			}
		});
		
		$("#rent").keyup(function(){
			LBS.refreshResult();
		});
		
		$("#mietrechner form").submit(function(){
			return false;
		});
		
		$("#mietrechner").show();
		$("#mr-fallback").hide();
		
		// initialize slider output (after refresh it would be inconsitent in many browsers, that cash the input field values)
		if($(".mr-years").slider('value') > 0) $("#years").attr('value',$(".mr-years").slider('value'));
		else $("#years").attr('value', '5');
		$("#raise").attr('value',$(".mr-raise").slider('value'));
		LBS.refreshResult();
	},
	
	refreshResult: function(){
		var rent = parseInt($("#rent").attr("value"));
		var years = parseInt($("#years").attr("value"));
		var raise = parseInt($("#raise").attr("value"));
		var result = 0;
		var bill = 0;
		var thousend = 0;
		var ten = 0;
		var output = '';
		for(var i=0;i<years;i++){
			result += rent*12;
			rent += rent/100*raise;
		};
		result = parseInt(result);
		if(result == 0 || isNaN(result)) output = 0;
		else {
			billion = (result >= 1000000)? parseInt(result/1000000)+'.':'';
			thousend = (result < 1000)? '':(result < 1000000)? parseInt(result/1000)+'.':(result/1000-1000 > 99)? parseInt(result/1000-1000)+'.':(result/1000-1000 > 9)? '0'+parseInt(result/1000-1000)+'.':'00'+parseInt(result/1000-1000)+'.';
			ten = (result < 1000)? parseInt(result):(result%1000 > 99)? parseInt(result%1000):(result%1000 > 9)? '0'+parseInt(result%1000):'00'+parseInt(result%1000);
			output = billion+thousend+ten;
		}
		$("#mietrechner #result").attr("value",output);
	} 
}




// execute when DOM is available
$(document).ready(function() {
	LBS.init();
});
