﻿$(document).ready(function() {
	inicializace();
	convert();
  });
  
	// Inicializuje jezdce
  
	function inicializace() {
	
	// Slider pro částku
  
		$("#slider_sum").slider();
		$("#slider_sum").slider({min: 50000});
		$("#slider_sum").slider({max: 25000000});
		$("#slider_sum").slider({step: 10000});
		$("#slider_sum").slider({value: 1000000});
		//$("#slider_sum").slider({value: 500000});

	
		$("#slider_sum").slider({		
			slide: function(event, ui) {
				stav_sum();
				convert();
			}
		});	
	
	// Slider pro úrok	
	
		$("#slider_interest").slider();
		$("#slider_interest").slider({min: 3});
		$("#slider_interest").slider({max: 10});
		$("#slider_interest").slider({step: 0.1});
		$("#slider_interest").slider({value: 3.5});
		//$("#slider_interest").slider({value: 5});

	
		$("#slider_interest").slider({		
			slide: function(event, ui) {
				stav_interest();
				convert();
			}
		});
	
	// Slider pro dobu splácení	
	
		$("#slider_duration").slider();
		$("#slider_duration").slider({min: 1});
		$("#slider_duration").slider({max: 40});
		$("#slider_duration").slider({step: 1});
		$("#slider_duration").slider({value: 6});
		//$("#slider_duration").slider({value: 12});

		stav_sum();
		stav_interest();
		stav_duration();
	
		$("#slider_duration").slider({		
			slide: function(event, ui) {
				stav_duration();
				convert();
			}
		});
	}

	// Vykresluje pole pro sumu
		
	function stav_sum() {
		var $value = $("#slider_sum").slider("option", "value");	
		$print = '<input id="slider_sum_input" name="slider_sum" type="text" value="'+$value+'" onkeyup="kontrola(this.value,this.name)" />';
		document.getElementById("stav_sum").innerHTML=$print;		
	}

	// Vykresluje pole pro úrok
	
	function stav_interest() {
		var $value = $("#slider_interest").slider("option", "value");
		$print = '<input id="slider_interest_input" name="slider_interest" type="text" value="'+$value+'" onkeyup="kontrola(this.value,this.name)" />';
		document.getElementById("stav_interest").innerHTML=$print;		
	}

	// Vykresluje pole pro dobu splácení
	
	function stav_duration() {
		var $value = $("#slider_duration").slider("option", "value");
		$print = '<input id="slider_duration_input" name="slider_duration" type="text" value="'+$value+'" onkeyup="kontrola(this.value,this.name)" />';
		document.getElementById("stav_duration").innerHTML=$print;
	}  
	
	// Při změně hodnot přepočítává a aktualizuje hodnoty výpisu
  
	function convert() {
		
		// Inicializace hodnot ze slideru
		
		var $sum = $("#slider_sum").slider("option", "value");
		var $interest = $("#slider_interest").slider("option", "value");
		var $duration = $("#slider_duration").slider("option", "value");
		
		$interest = $interest / 100; // převod na procenta pro počítání
		
		var $sum_of_months = $duration * 12; // celkový počet měsíců
		var $rounds = $sum_of_months - 1; // počet kol (pro cyklus a přidávání do polí
		var $zbytek = $sum; // inicializace zbytku pro počítání
		
		var $interests = new Array();
		
		var $mesicni_urok = $interest / 12; // úrok děleno 12
		var $mocnina = (1 + $mesicni_urok);
		var $citatel = $sum * $mesicni_urok * Math.pow($mocnina,$sum_of_months);
		var $jmenovatel = Math.pow($mocnina,$sum_of_months) - 1;
		
		var $monthly_installment = $citatel / $jmenovatel;
		
		var $mesicni_urok_ze_splatky = 0; 
		
		var $c = 0;
		do {
			$interests[$c] = $zbytek / 12 * $interest; // úrok za aktuální měsíc
			$umor = $monthly_installment - $interests[$c];
			$zbytek = $zbytek - $umor; // zbytěk mínus úrok, mínus měsíční splátka
			$mesicni_urok_ze_splatky = $mesicni_urok_ze_splatky + $interests[$c];
			$c++;
			}
		while($c<$sum_of_months);
		
		//document.write($interests);
		
		$monthly_interest = $mesicni_urok_ze_splatky / $sum_of_months;
		$total_interest = $mesicni_urok_ze_splatky;
		
		//	Závěrečné zaokrouhlení
		
		$monthly_installment = Math.floor($monthly_installment);
		$monthly_interest = Math.floor($monthly_interest);
		$total_interest = Math.floor($total_interest);
		
		// Přídání jednotek
		
		//$monthly_installment = $monthly_installment + ' Kč';
		//$monthly_interest = $monthly_interest + ' Kč';
		//$total_interest = $total_interest + ' Kč';
		
		// Oddělení řádů
		
		$monthly_installment = oddel_rady($monthly_installment);
		$monthly_interest = oddel_rady($monthly_interest);
		$total_interest = oddel_rady($total_interest);
		
		//	Vypís do pole
		
		document.getElementById("monthly_installment").innerHTML=$monthly_installment;
		document.getElementById("interest").innerHTML=$monthly_interest;
		document.getElementById("total_interest").innerHTML=$total_interest;
	}
	
	// Odděluje číselné řady a přídává měnu
  
	function oddel_rady($castka) {	
		$castka = $castka.toString();
		$delka = $castka.length;
		//alert($delka);
		if ($delka == 8) {
			text1=$castka.substring(0,2);
			text2=$castka.substring(2,5);
			text3=$castka.substring(5,8);
			$castka = text1+' '+text2+' '+text3 + ' Kč';
			return $castka;
		} else if ($delka == 7) {
			text1=$castka.substring(0,1);
			text2=$castka.substring(1,4);
			text3=$castka.substring(4,7);
			$castka = text1+' '+text2+' '+text3 + ' Kč';
			return $castka;
		} else if ($delka == 6) {
			text1=$castka.substring(0,3);
			text2=$castka.substring(3,6);
			$castka = text1+' '+text2 + ' Kč';
			return $castka;
		} else if ($delka == 5) {
			text1=$castka.substring(0,2);
			text2=$castka.substring(2,5);
			$castka = text1+' '+text2 + ' Kč';
			return $castka;
		} else if ($delka == 4) {
			text1=$castka.substring(0,1);
			text2=$castka.substring(1,4);
			$castka = text1+' '+text2 + ' Kč';
			return $castka;
		} else if ($delka < 4) {
			$castka = $castka + ' Kč';
			return $castka;
		}
	}
	
	// Při změně hodnoty v poli pohybuje jezdcem
	
	function zmena_hodnoty($hodnota,$name) {
		$id = "#" + $name;
		$($id).slider({value: $hodnota});
		convert();
	}
	
	// Kontroluje vstupy do polí
	
	function kontrola($value,$name) {
		if ($name == 'slider_sum') {
			if ($value <= 25000000 && $value >= 100000) {
				zmena_hodnoty($value,$name);
				document.getElementById("slider_sum_input").style.backgroundColor='#ffffff';
			} else {
				//alert('Částka musí být v rozsahu 100 000 Kč až 25 000 000 Kč.');
				document.getElementById("slider_sum_input").style.backgroundColor='#f00000';
			}
		}
		
		if ($name == 'slider_interest') {
			if ($value <= 10 && $value >= 3) {
				zmena_hodnoty($value,$name);
				document.getElementById("slider_interest_input").style.backgroundColor='#ffffff';
			} else {
				//alert('Výše úroku musí být v rozmezí 3% až 10%.');
				document.getElementById("slider_interest_input").style.backgroundColor='#f00000';
			}
		}
		
		if ($name == 'slider_duration') {
			if ($value <= 40 && $value >= 1) {
				zmena_hodnoty($value,$name);
				document.getElementById("slider_duration_input").style.backgroundColor='#ffffff';
			} else {
				//alert('Doba splácení nemůže být kratší než 1 rok a nesmí přesáhnout 40 let.');
				document.getElementById("slider_duration_input").style.backgroundColor='#f00000';
			}
		}
	}
