function reCalcPayment(formName) {
	var frm = document.forms[formName];
		with (frm) {
			if (checkPrice(formName) && checkAdvanceSum(formName) && checkInterest(formName)) {
				payment = calcPayment(frm.ARTICLE_PRICE.value, frm.LEASING_ADVANCE_SUM.value, get_selected(frm.LEASING_PERIOD), frm.LEASING_INTEREST.value, 0);
				if (isNaN(payment)) {
					clearRes(formName);
				}
				else {
					frm.MONTH_PAYMENT.value	= currency(payment);
					frm.MONTH_PAYMENT_EUR.value	= Math.round(payment/15.6466*100)/100;
					if (payment < 100 && frm.PAKKUJA.value != 'liisi') {
						alert("Kuumakse peab olema üle 100 krooni! Lühendage järelmaksu perioodi.");
					}
					frm.INTEREST_TOTAL.value=currency(payment*get_selected(frm.LEASING_PERIOD)-(frm.ARTICLE_PRICE.value-frm.LEASING_ADVANCE_SUM.value));
				}
			}
		}
	}
	
	
	/* leht seab ise toote/ostukorvi hinna */
	function setPrice(formName, price) {
		var frm = document.forms[formName];
		frm.ARTICLE_PRICE.value = price;
		changePriceSilent(formName);
	}



	function changeInterest(formName) {
		var frm = document.forms[formName];
		checkInterest(formName);
		clearRes(formName);
	}


	
	function checkInterest(formName) {
	
	/* ISE EI SAA NIIKUINII SISESTADA
		var frm = document.forms[formName];
		if (makeNum(frm.LEASING_INTEREST)) {
			num=1*frm.LEASING_INTEREST.value;
			if (num < 0 || num > 20) {
				alert("Intress peab olema vahemikus 0% - 20%!");
				return false;
			}
			else {
				return true;
			}
		} else {
			alert("Intress on sisestamata või valesti sisestatud!");
			return false;
		}
		*/
		return true;
	}

	function changePrice(formName) {
		var frm = document.forms[formName];
		if(checkPrice(formName)) {
			reCalcAdvanceSum(formName);
			setInterest(formName);
			clearRes(formName);
		}
		else {
			clearAll(formName);
		}
	}
	
	function changePriceSilent(formName) {
		var frm = document.forms[formName];
		if(checkPriceSilent(formName)) {
			reCalcAdvanceSum(formName);
			setInterest(formName);
			clearRes(formName);
		}
		else {
			clearAll(formName);
		}
	}
	
	
	function setInterest(formName) {
		var frm = document.forms[formName];
		with (frm) {
			num=1*frm.ARTICLE_PRICE.value;
			
			pakkuja = frm.PAKKUJA.value;
			if (pakkuja == 'hansa') {
				
				if (num < 20000) {
					newinterest=19.9; //  2 000 - 19 999,99     19,9%
				}
				else if (num < 40000) {
					newinterest=17.9;  // 20 000 - 39 999,99      17,9%
				}
				else {
					newinterest=12.9;  // 40 000 - 150 000        12,9%
				}
			}
			else if (pakkuja == 'liisi') {
				
				if (num <= 2000) {
					newinterest=25.0; // kuni 2'000 kr > 25%
				}
				else if (num <= 10000) {
					newinterest=22.0;  // 2'001 - 10'000 > 22%
				}
				else {
					newinterest=20.0;  // üle 10'000 > 20%
				}
			}
			
			frm.LEASING_INTEREST.value=newinterest;
		}
	}
	
	function changeAdvance(formName) {
		var frm = document.forms[formName];
		if (checkAdvance(formName) && frm.ARTICLE_PRICE.value != '') {
			reCalcAdvanceSum(formName);
			clearRes(formName);
		}
		else {
			clearAll(formName);
		}
	}
	
	function changeAdvanceSum(formName) {
		var frm = document.forms[formName];
		with (frm) {
			if (checkAdvanceSum(formName)) {
				reCalcAdvance(formName);
				clearRes(formName);
			}
			else {
				clearAll(formName);
			}
		}
	}
	
	function reCalcAdvanceSum(formName) {
		var frm = document.forms[formName];
		with (frm) {
		// sissemakse = sissemakse protsent * kauba hind / 100
		frm.LEASING_ADVANCE_SUM.value = Math.round(frm.LEASING_ADVANCE.value * frm.ARTICLE_PRICE.value / 100);	
		}
	}
	
	
	function reCalcAdvance(formName) {
		var frm = document.forms[formName];
		with (frm) {
			frm.LEASING_ADVANCE.value = Math.round(frm.LEASING_ADVANCE_SUM.value / frm.ARTICLE_PRICE.value * 100);	
		}
	}

function checkAdvance(formName) {
		var frm = document.forms[formName];
		if (makeNum(frm.LEASING_ADVANCE)) {
			num=1*frm.LEASING_ADVANCE.value;
			if (num < 0 || num > 70) {
				alert("Sissemakse peab olema vahemikus 5% - 70%!");
				return false;
			}
			else {
				return true;
			}
		} else {
			if (frm.LEASING_ADVANCE.value=="") {
				alert("Sissemakse väljad on sisestamata või valesti sisestatud!");
				return false;
			}
			else {
				alert("Sissemakse väljad on sisestamata või valesti sisestatud!");
				return false;
			}
		}
	}

	function checkAdvanceSum(formName) {
		var frm = document.forms[formName];
		if (makeNum(frm.LEASING_ADVANCE_SUM)) {
			num=1*frm.LEASING_ADVANCE_SUM.value;
			if (num < 0 || num > 150000) {
				alert("Sissemakse summa peab olema vahemikus 100 - 150 000 krooni!");
				return false;
			}
			else if ((num > frm.ARTICLE_PRICE.value*.70) && !(frm.ARTICLE_PRICE.value == '' && frm.LOAN_SUM.value =='')) {
				alert("bad_advancesum_range_price");
				return false;
			} 
			else {
				return true;
			}
		} else {
			if (frm.LEASING_ADVANCE_SUM.value=="") {
				alert("Sissemakse summa on sisestamata või valesti sisestatud!");
				return false;
			}
			else {
				alert("Sissemakse summa on sisestamata või valesti sisestatud!");
				return false;
			}
		}
	}
	
	function checkPrice(formName) {
		var frm = document.forms[formName];
		if (makeNum(frm.ARTICLE_PRICE)) {
			num=1*frm.ARTICLE_PRICE.value;
			if (num < 2000 || num > 150000) {
				alert("Summa peab olema vahemikus 2000 - 150 000 krooni!");
				return false;
			} 
			else {
				return true;
			}
		}
		else {
			alert("Summa on sisestamata või valesti sisestatud!");
			return false;
		}
	}
	
	function checkPriceSilent(formName) {
		var frm = document.forms[formName];
		if (makeNum(frm.ARTICLE_PRICE)) {
			num=1*frm.ARTICLE_PRICE.value;
			if (num < 2000 || num > 150000) {
				return false;
			} 
			else {
				return true;
			}
		}
		else {
			return false;
		}
	}

	function clearAll(formName) {
		var frm = document.forms[formName];
		with (frm) {
			frm.LEASING_ADVANCE.value=10;
			frm.LEASING_ADVANCE_SUM.value='';
			frm.ARTICLE_PRICE.value='';
			frm.LEASING_INTEREST.value=15.9;
		}
	  frm.MONTH_PAYMENT.value='';
	  frm.MONTH_PAYMENT_EUR.value='';
	  frm.INTEREST_TOTAL.value='';
	}
	
	
	function clearRes(formName) {
		var frm = document.forms[formName];
	  frm.MONTH_PAYMENT.value='';
	  frm.MONTH_PAYMENT_EUR.value='';
	  frm.INTEREST_TOTAL.value='';
	}

// juurde l?pp









var IE = isIE();
var IE4 = (document.all && !document.getElementById) ? true : false;
var NS4 = (document.layers) ? true : false;

function get_selected(object){
	for (var i = 0; i < object.length; i++) {
		if (object[i].selected) return(object[i].value);
	}
}
	
function set_selected(object, t_value){
	for (var i = 0; i < object.length; i++) {
		if (object[i].value==t_value) object[i].selected="TRUE";
	}
}

function isIE(formName) {
	var verStr=navigator.appVersion, app=navigator.appName;	
	if ((app.indexOf('Microsoft') == -1))
		return false;
	else
		return true;
}
	
function clearCombo(input) {
	input.options.length=0;
}
	
function addOption(input, opt_name, opt_value) {
	if (IE) {
		var newEl = document.createElement("OPTION");
		newEl.text=opt_value;
		newEl.value=opt_name;
		input.options.add(newEl);
	} else {
		with (input) {
			olen=options.length;
			options[olen] = new Option(opt_value, opt_name, false, false);
		}
	}
}

function showHelp(id) {
	if (IE4) {
		document.all["help0"].style.visibility = "hidden";
		document.all["help" + id].style.visibility = "visible";
	} else if (!NS4) {
		document.getElementById("help0").style.visibility="hidden";
		document.getElementById("help"+id).style.visibility="visible";
	}
}

function hideHelp(id) {
	if (IE4) {
		document.all["help" + id].style.visibility = "hidden";
		document.all["help0"].style.visibility = "visible";
	} else if (!NS4) {
		document.getElementById("help"+id).style.visibility="hidden";
		document.getElementById("help0").style.visibility="visible";
	}
}


function makeNum(input) {
	str=input.value;
	if (str.indexOf(',')!=-1) {
		re= /,/gi;
		input.value=str.replace(re,'.');
	}
	str=input.value;
	if (str.indexOf(' ')!=-1) {
		re= / /gi;
		input.value=str.replace(re,'');
	}
	if (isNaN(input.value) || input.value=='') {
		input.focus();
		return false;
	} else {
		return true;
	}
}
	
function calcPayment(price, advanceSum, periodMonths, interest, residualValue) {
	
	var frm = document.forms['calcForm']; // hardcoded :S
	
	if (frm.PAKKUJA.value == 'liisi') {
		return calcPaymentLiisi(price, advanceSum, periodMonths, interest);
	}
	else if (interest == 0) {
		return ( price - advanceSum - (price * residualValue / 100) ) / periodMonths; 
	}	else {
		return (((interest / 100 / 12) * ((price - advanceSum)-((price * residualValue / 100) / (Math.pow((interest / 100 / 12) + 1, periodMonths)))) / (1 - (1 / Math.pow((interest / 100 / 12) + 1, periodMonths)))));
	}
}

function calcPaymentLiisi(price, advanceSum, periodMonths, interest) {
	var val = (price - advanceSum) * (1 + (interest / 100 * periodMonths / 12)) / periodMonths;
	return Math.ceil(val);
}

function calcPaymentQt(price, advanceSum, periodQts, interest, residualValue) {
	if (interest == 0) {
		return ( price - advanceSum - (price * residualValue / 100) ) / periodQts; 
	}	else {
		return (((interest / 100 / 4) * ((price - advanceSum)-((price * residualValue / 100) / (Math.pow((interest / 100 / 4) + 1, periodQts)))) / (1 - (1 / Math.pow((interest / 100 / 4) + 1, periodQts)))));
	}
}


function currency(anynum) {
	if (isNaN(anynum) || anynum == '') {
		if (anynum == 0) {
			return ("0.00");
		} else {
			return (anynum);
		}
	} else {   
		anynum=eval(anynum);
		workNum=Math.abs(Math.round(anynum));
		workStr=""+workNum;
		dStr=workStr;
		dNum=dStr-0;
		/*
		pStr=workStr.substr(workStr.indexOf("."));
		while (pStr.length<3) {
			pStr+="0";
		}
		*/
		if (dNum>=1000) {
    			dLen=dStr.length;
    			dStr=parseInt(""+(dNum/1000))+" "+dStr.substring(dLen-3,dLen);
		}
		if (dNum>=1000000) {
			dLen=dStr.length;
			dStr=parseInt(""+(dNum/1000000))+" "+dStr.substring(dLen-7,dLen);
			//alert(dStr.substring(dLen-7,dLen));
		}
		//retval = dStr + pStr ;
		retval = dStr;
		//-- Put numbers in parentheses if negative.
		if (anynum<0) {retval="-"+retval};
		return retval;
	}
}

function currencyWCents(anynum) {
	if (isNaN(anynum) || anynum == '') {
		if (anynum == 0) {
			return ("");
		} else {
			return (anynum);
		}
	} else {   
		anynum=eval(anynum)
		workNum=Math.abs((Math.round(anynum*100)/100));workStr=""+workNum
		if (workStr.indexOf(".")==-1){workStr+=".00"}
		dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
		pStr=workStr.substr(workStr.indexOf("."))
		while (pStr.length<3){pStr+="0"}
		if (dNum>=1000) {
	  			dLen=dStr.length
	  			dStr=parseInt(""+(dNum/1000))+" "+dStr.substring(dLen-3,dLen)
		}
		if (dNum>=1000000) {
			dLen=dStr.length
			dStr=parseInt(""+(dNum/1000000))+" "+dStr.substring(dLen-12,dLen)
		}
		retval = dStr + pStr 
		//-- Put numbers in parentheses if negative.
		if (anynum<0) {retval="-"+retval}
		return retval
	}
}

function calcReturnwYear(yearInterest, year)  {
	if (year == 2005) {
		taxRate = 0.24;
	} else if (year == 2006) {
		taxRate = 0.22;
	} else if (year > 2006) {
		taxRate = 0.20;
	} else {
		taxRate = 0.26;
	}
	returnPayment = Math.round(yearInterest * taxRate * 100) / 100;
  if (returnPayment > 50000)
  	returnPayment = 50000;
	return returnPayment;
}

/* Sisselogimise kast */
function logimise_kast(id){
 document.getElementById(id).value='';
}
/* Välja */
function logimise_kast_un(id){
 if (document.getElementById(id).value=='') {
   document.getElementById(id).value='KASUTAJA';
 }
}
