// basic functions

// regulérní výraz hlídající správný tvar emailu
var reg_email=/^[a-zA-Z0-9._-]*@[a-zA-Z0-9._-]*\.[a-zA-Z]{2,4}$/

// alert okno při chybě ve formulářích (voláno jinými funkcemi)
function hlaska(text) {
  if (!text) return false;
  var vypis = "Ve formuláři jsou následující chyby: \n"+
              "____________________________________ \n\n"+
              text;
  alert(vypis);
}

function pole(x) {
    return document.getElementById(x);
}

function xelement(felement) {
	return document.getElementById(felement);
}

function oddelovac_pridej(hodnota,oddelovac) {
  if (!oddelovac) oddelovac = ".";
  var retezec = hodnota.toString();
  var delka = retezec.length;
  var nova_cena = "";
  var prevracena = "";
  for (var x=delka-1; x >= 0; x--) prevracena += retezec.substring(x,x+1);
  for (var y=delka-1; y >= 0; y--) {
    if (y % 3 == 0 && y != 0) nova_cena += prevracena.substring(y,y+1)+oddelovac;
    else nova_cena += prevracena.substring(y,y+1);
  }
  return nova_cena;
}

function oddelovac_uber(hodnota) {
  var retezec = hodnota.toString();
  var delka = retezec.length;
  var novy_retezec = "";
  var prevracena = "";
  for (var x=delka-1; x >= 0; x--) prevracena += retezec.substring(x,x+1);
  for (var y=delka-1; y >= 0; y--) {
    novy_retezec += (isNaN(prevracena.substring(y,y+1)) ? "" : prevracena.substring(y,y+1)) ;
  }
  return novy_retezec;
}

function oddelovac_uber2(elem)
{
    if (elem.value)
    {
        elem.value.replaceAll('.', '');
    }
}

function cisla() {
  with(event)
  {
     if (keyCode < 48 || keyCode > 57) returnValue = false;
  }
}
function formatuj_policka(policko) {
  if (policko) policko.value = policko.value = oddelovac_pridej(oddelovac_uber(policko.value));
  else {
    o = document.getElementsByTagName('input');
    for (i = 0; i < 1000; i++)
      if (o[i] && o[i].className.indexOf("castka") > -1) o[i].value = oddelovac_pridej(oddelovac_uber(o[i].value)) ;
    obarvi_ano_ne();
  }
}

function unformatuj_policka(policko) {
  if (policko) policko.value = policko.value = oddelovac_uber(policko.value);
  else {
    o = document.getElementsByTagName('input');
    for (i = 0; i < 1000; i++)
      if (o[i] && o[i].className.indexOf("castka") > -1) o[i].value = oddelovac_uber(o[i].value) ;
  }
}

//-------



function copy_adr(odkud,kam) {
        xelement(kam+'_ulice_').value = xelement(odkud+'_ulice_').value;
        xelement(kam+'_cp_').value = xelement(odkud+'_cp_').value;
        xelement(kam+'_mesto_').value = xelement(odkud+'_mesto_').value;
        xelement(kam+'_psc_').value = xelement(odkud+'_psc_').value;
        xelement(kam+'_kraj_').value = xelement(odkud+'_kraj_').value;
        xelement(kam+'_stat_').value = xelement(odkud+'_stat_').value;
}

function ajaxZipToLocation(x,kde) {
	var zip = x;

	new Ajax.Request(
			"scripts/ajax.php",
			{
				method :	"get",
				parameters:
				{
					op : "zipToLocation",
					zip : zip
				},

				onSuccess: function(transport) {
					if (transport.responseText != "") {
						$(kde).value = transport.responseText;
					}
				}
			}
	);	
}

function odhad(x) {
  x.value = oddelovac_pridej(oddelovac_uber(x.value));
}

function svazNemVlastnictvi(zdroj)
{
	if (zdroj == "nem") {
		if ($('zadost_id_nemovitost_').value == 3)
			$('zadost_id_vlastnictvi_').value = 2;
		else
			$('zadost_id_vlastnictvi_').value = 1;
	}
	else {
		if ($('zadost_id_vlastnictvi_').value == 2)
			$('zadost_id_nemovitost_').value = 3;
		else
			$('zadost_id_nemovitost_').value = 1;
	}
}		

function checkForm(x,co) {
    var hlaseni = "";
    var focus;
    
    //ajaxZipToLocation(x['zadost[nem_psc]'].value,'nem_kraj');
    //ajaxZipToLocation(x['zadost[trv_psc]'].value,'trv_kraj');
    if (x['zadost[kor_psc]']) ajaxZipToLocation(x['zadost[kor_psc]'].value,'kor_kraj');
    
    for (i=1; i <= 100000; i++)
    	continue; 
    //alert('test');

    switch (co) {
        case "titulka" :
          if (x['titulka[email]'].value && reg_email.test(x['titulka[email]'].value)==false) {hlaseni += "- Váš email nemá korektní tvar\n"; if (!focus) focus = 'titulka[email]';}
          break;
        case "kontakt" :
          if (!x['mail[prijmeni]'].value) {hlaseni += "- není vyplněno Vaše příjmení\n"; if (!focus) focus = 'mail[prijmeni]';}
          if (!x['mail[jmeno]'].value) {hlaseni += "- není vyplněno Vaše jméno\n"; if (!focus) focus = 'mail[jmeno]';}
          if (!x['mail[telefon]'].value && !x['mail[email]'].value) {hlaseni += "- není vyplněno telefon nebo email na Vás\n"; if (!focus) focus = 'mail[telefon]';}
          if (x['mail[email]'].value && reg_email.test(x['mail[email]'].value)==false) {hlaseni += "- Váš email nemá korektní tvar\n"; if (!focus) focus = 'mail[email]';}
          if (!x['mail[vzkaz]'].value) {hlaseni += "- není vyplněno políčko vzkaz\n"; if (!focus) focus = 'mail[vzkaz]';}
          break;
        case "zadost" :
        
          //if ((x['zadost[zastavy_vyse]'].value+x['zadost[exekuce_vyse]'].value) >= x['zadost[castka]'].value)
			//		 hlaseni += "- vyše půjčky musí být minimálně stejně vysoká jakou Vaše exekuce a zástavy\n";
          
          //console.log("Zástava "+x['zadost[zastavy_vyse]'].value);
          //console.log("Exekuce "+x['zadost[exekuce_vyse]'].value);
          //console.log("Půjčka "+x['zadost[castka]'].value);

          if (!x['zadost[jmeno]'].value) {hlaseni += "- není vyplněno Vaše jméno\n"; if (!focus) focus = 'zadost[jmeno]';}
          if (!x['zadost[prijmeni]'].value) {hlaseni += "- není vyplněno Vaše příjmení\n"; if (!focus) focus = 'zadost[prijmeni]';}
          if (!x['zadost[telefon]'].value) {hlaseni += "- není vyplněn telefon na Vás\n"; if (!focus) focus = 'zadost[telefon]';}
          if (x['zadost[email]'].value && reg_email.test(x['zadost[email]'].value)==false) {hlaseni += "- Váš email nemá korektní tvar\n"; if (!focus) focus = 'zadost[email]';}
          //if (!x['zadost[id_reakce]'].value) {hlaseni += "- není vyplněno pole o tom, kde jste se o nás dozvěděli\n"; if (!focus) focus = 'zadost[id_reakce]';}
          if (!x['zadost[id_ucel]'].value) {hlaseni += "- není vyplněn účel Vaší půjčky\n"; if (!focus) focus = 'zadost[id_ucel]';}
          if (!x['zadost[id_nemovitost]'].value) {hlaseni += "- není vyplněn druh nemovitosti,\n"; if (!focus) focus = 'zadost[id_nemovitost]';}
          if (!x['zadost[id_vlastnictvi]'].value) {hlaseni += "- není vyplněn forma vlastnictví\n"; if (!focus) focus = 'zadost[id_vlastnictvi]';}
          if (!x['zadost[cena_nem]'].value) {hlaseni += "- není vyplněna přibližná cena Vaší nemovitosti\n"; if (!focus) focus = 'zadost[cena_nem]';}
          if (!x['zadost[nem_kraj]'].value) {hlaseni += "- není vyplněn kraj, kde se Vaše nemovitost nalézá\n"; if (!focus) focus = 'zadost[nem_kraj]';}
          if (x['zadost[exekuce_vyse]'].value < 0) {hlaseni += "- není vyplněna výše exekucí na nemovitosti\n"; if (!focus) focus = 'zadost[exekuce_vyse]';}
          if (x['zadost[zastavy_vyse]'].value < 0) {hlaseni += "- není vyplněna výše zástav (hypoték) na nemovitosti\n"; if (!focus) focus = 'zadost[zastavy_vyse]';}
          if (!$('souhlas').checked) {hlaseni += "- k odeslání nezávazné žádosti je třeba Váš souhlas se zpracováním osobních údajů\n"; }

		  //if ((x['zadost[nem_kraj]'].value != 11 && x['zadost[nem_kraj]'].value != 16) && x['zadost[id_vlastnictvi]'].value == 2) 
		  //			hlaseni = "Družtevním bytem můžete ručit pouze v Praze nebo Středočeském kraji!\n\n" + hlaseni; 
		  
		  /*zajisteni = posouditZajisteni();
		  if (zajisteni != "")
		  		hlaseni = zajisteni + "\nDalší chyby formuláře:\n" + hlaseni;
		  */
          break;
        default : return false;
    }

    if (hlaseni) {
          hlaska(hlaseni);
          //x['zadost[prijmeni]'].focus();
          if (focus) eval("x['"+focus+"'].focus();");
          return false;
    }
    else {
          unformatuj_policka();
          return true;
    }
}

function getInterest()
{
    id_ucel = $('calc_ucel').value;
    castka =  $('calc_penize').value;
    puvodni_castka = castka;
    castka = parseInt( castka.replace(/ /g,""),10);
    delka_uveru = parseInt($("calc_roky").value);
    
    var jineNakladyCastka = new Array();
    var jineNakladyDny    = new Array();

    if( isNaN( castka ) || castka < 100000 )
    {
    	return;
    }
    
    new Ajax.Request(
		"scripts/ajax.php",
		{
			method:   "get",
			parameters: {
				op : "getInterest",
				id_ucel : id_ucel,
				castka : castka,
				delka : delka_uveru
			},
			onSuccess: function(transport) 
			{
				if (transport.responseText != "") 
				{
					temp = transport.responseText.split("||");
					urok = parseFloat(temp[0]);
					urok_vip = parseFloat(temp[1]);
					poplatek = parseFloat(temp[2]);
					if(! isNaN(urok) || ! isNaN(urok_vip) )
					{
						urok = urok / 100;
						urok_vip = urok_vip / 100;
						
						
						koef = (1 - Math.pow(1 / (1 + urok / 12.0), 12 * delka_uveru)) / (urok / 12.0);
						koef_vip = (1 - Math.pow(1 / (1 + urok_vip / 12.0), 12 * delka_uveru)) / (urok_vip / 12.0);
						//console.log('Urok: '+urok);
						//console.log('KoeficientSTD: '+koef);
						//console.log('KoeficientVIP: '+koef_vip);
						
						// vip splátky jen když je splatnost delší než 5 let
						if (delka_uveru < 5) {
							koef_vip = koef;
						}
						//console.log('Koeficient: '+koef_vip);
						
						//splatka = Math.round(castka / koef);
						//splatka_standard = splatka;
						
						//for (i = 0; i < 4; i++)
						//{
						//	castka = castka - (splatka - (castka * (urok / 12.0)));
						//}
						splatka = Math.round(castka / koef_vip) + poplatek;
						
						//for (x = 0; x < 4; x++)
						//{
						//	rozdil = splatka_standard - splatka;
						//	jineNakladyCastka.push(rozdil);
						//	jineNakladyDny.push(i*30);
						//}
						
						// RPSN: poplatek za návrh na KÚ
						jineNakladyCastka.push(1500);
						jineNakladyDny.push(0);
						
						// RPSN: poplatek za (super)vip, pokud se účtuje
						if (delka_uveru >= 5) {
							jineNakladyCastka.push(puvodni_castka*0.075);
							jineNakladyDny.push(0);
						}
						
						// RPSN: závazková provize, 
						if (id_ucel == 1) {
							jineNakladyCastka.push(puvodni_castka*0.059);
							jineNakladyDny.push(0);
						}
						if (id_ucel == 4 || id_ucel == 6) {
							jineNakladyCastka.push(puvodni_castka*0.079);
							jineNakladyDny.push(0);
						}

						$("calc_splatka").value = splatka;
						$("span_splatka").innerHTML = oddelovac_pridej(splatka)+",- Kč";

						rpsn_x = RPSN(puvodni_castka,splatka,(delka_uveru*12),12,jineNakladyCastka,jineNakladyDny);
						$("span_rpsn").innerHTML = rpsn_x;
					}
				}
			}
		}
	);

}

function zmenStyl ()
{
	colorArray = new Array();
	colorArray[1] = "#4cae44";
	colorArray[4] = "#555555";
	colorArray[27] = "#fe6816";
	colorArray[6] = "#16a1d5";
	
	index = $('calc_ucel').value;
	color = colorArray[index];
	var selectors = document.getElementsByTagName('select');
	var inputs = document.getElementsByTagName('input');
	var divs = document.getElementsByTagName('div');
	var spans = document.getElementsByTagName('span');
	var h1s = document.getElementsByTagName('h1');
	
	for (x=0;x<selectors.length;x++) {
		if (selectors[x].className == "form-calculator2") {
			selectors[x].style.color = color;
		}
	}
	for (x=0;x<inputs.length;x++) {
		if (inputs[x].className == "form-calculator2") {
			inputs[x].style.color = color;
		}
	}
	for (x=0;x<divs.length;x++) {
		if (divs[x].className == "div-calculator2") {
			//if (divs[x].id == "TooltipContainer")
			//	divs[x].style.border = color + " 2px solid";
			divs[x].style.color = color;
		}
	}
	for (x=0;x<spans.length;x++) {
		if (spans[x].className == "div-calculator2") {
			spans[x].style.color = color;
		}
	}
	for (x=0;x<h1s.length;x++) {
		if (h1s[x].className == "div-calculator2") {
			h1s[x].style.color = color;
		}
	}
}

function napoveda(x)
{
	if (x == 1)
		pmaTooltip('Uváděné výše úvěru jsou nominální a budou poníženy o poplatky za poskytnutí úvěru, dle platného sazebníku poplatků a odměn (souvisedjícícho s konkrétním typem úvěru), který je součástí Všeobecných obchodních podmínek, v celkové výš maximálně 6,5% z úvěrového rámce. Úvěr lze o tento poplatek navýšit.');
	if (x == 2)		
		pmaTooltip('Výše splátky je uváděna za předpokladu využití motivačního bonusu ke smlouvě o úvěru (podmínky pro získání Motivačního bonusu jsou k dispozici na vyžádání ve společnosti, popřípadě ke stažení na tomto webu). Splátka je uváděna včetně poplatku za správu úvěru ve výši 199,- Kč.');
}

function kontextNapoveda(text)
{
		$('kontextNapoveda').innerHTML = text;	
}

function getZajisteni ()
{
		
}
