// JavaScript Document
var iLeaseStartFee = 495;
var iLeaseFee = 45;

var istartFee = 495;
var ifee = 45;

function visaAktuellRanta()
{
	var aktuellRanta = 7.80; // Används för aktuell räntesats
	document.getElementById('ir').value = aktuellRanta;
}

/*--------------------------------------------------------------------------------*/
// function replaces a certain char ',' to other '.'
// @param:	evt_obj = input field that receives input (user entering data)
/*--------------------------------------------------------------------------------*/
function replaceText(obj){
	var symbolPos = new Number(obj.value.indexOf(","));
	if (symbolPos > -1){
		var begString = new String(obj.value.substr(0, symbolPos));
		var endString = new String(obj.value.substr(symbolPos + 1, obj.value.length));
		//alert("begString: " + begString + " \nendString: " + endString);
		obj.value = begString + "." + endString;
	}
}
function checkForZero(obj){
	//document.getElementById('ErrPrice').innerText = '';
	if(obj.value < 20000 || obj.value.length==0){
		//document.getElementById('ErrPrice').innerText = 'Värdet får inte vara mindre än 20000';
		//alert("This field can't be 0!");
		obj.focus();
	}
}
function skrivUt(){window.print();}

function cmdCalc_Click(){
	if(document.form1.price.value==0 || document.form1.price.value.length==0){
		//alert ("The Price field can't be 0!");
		form.price.focus();
	}else if(document.form1.ir.value==0 || document.form1.ir.value.length==0){
		//alert("The Interest Rate field can't be 0!");
		document.form1.ir.focus();
	}else calculatePayment();
}

function calculatePayment(){
	var princ = Number(document.form1.price.value);
	var iRestValue = princ*(Number(document.form1.restValue.value)/100);
	princ -= Number(document.form1.dp.value);
	var intRate = (document.form1.ir.value/100)/12;
	var months = Number(document.form1.selMonths.options[document.form1.selMonths.selectedIndex].value);
	
	var iPMT = Math.abs(PMT(Number(document.form1.ir.value),months,-princ,iRestValue,0));
	var iRate = rate(months,iPMT+Number(ifee),Number((-princ)+Number(istartFee)),iRestValue,0,0);
	
	document.form1.pmt.value = formatNumber(Math.round(iPMT));
	document.form1.principle.value = formatNumber(Math.round(princ));
		
	var iNEffIntr = effective_interest(iRate);
	//document.form1.nEffecIntr.value = (iNEffIntr*100).toFixed(2);
	//document.form1.txtRestValue.value = formatNumber(iRestValue);
	
	document.getElementById('LoanText').innerHTML = 'Uppläggningsavgift samt aviavgift tillkommer om fn '+ istartFee +':- <br>respektive '+ ifee +':-. Den effektiva räntan är '+ ((iNEffIntr*100).toFixed(2)) +'%.';
	
}

function setMinAdvance(sVal, obj){
	var iVal = Number(sVal);
	obj.value = (iVal*.2);
}

function checkMin20Percent(obj,sVal){
	var iVal = Number(sVal);
	var iCurrVal = Number(obj.value);
	document.getElementById('Perc20').innerText = ' ';
	
	if(iCurrVal>=20 && iCurrVal<100){
		obj.value = (iCurrVal/100)*iVal;
	}else{
		var iMin = (iVal*.2);
		if(Number(obj.value<iMin)){
			obj.value = iMin;
			document.getElementById('Perc20').innerText = 'Minst 20% av priset';
			return false;
		}else
			return true;
	}
}

function fixValue(obj,iVal){
	var iCurrVal = Number(obj.value);
	
	if(iCurrVal>=0 && iCurrVal<100){
		obj.value = (iCurrVal/100)*iVal;
	}else{
	
	}

}

function formatNumber(iVal){
	var str = new String();
	var sVal = iVal.toString();
	var iChrCnt = sVal.length-1;
	var iSpaceCnt = 0;
	for(var i=iChrCnt;i>=0;i--){
		iSpaceCnt++;
		str = sVal.charAt(i) + str;
		if(iSpaceCnt==3){
			str = ' '+ str;
			iSpaceCnt=0;
		}
	}
	return str;
}

function effective_interest(nom_interest){
	return Math.pow((1+nom_interest),12)-1;
}

function PMT(interest,period,PV,FV,type){
        var monthcost = 0;
        var I = interest/100/12;
        var S = type;
        var N = period;
        try{
            monthcost =  -(((-PV)*Math.pow((1.0+I),N)-FV)/((1.0+I*S)*((Math.pow((1.0+I),N)-1.)/I)));
		}catch(e){
			monthcost=0;
		}
        return monthcost
}

function rate(nPerioder, fBetalning, fNuvarde, fSlutvarde, fTyp, fGissning){
	var x = new Number(0.0);
	var xNy = new Number(0.0);
	var fTerm1 = new Number(0.0);
	var fTerm2 = new Number(0.0);
	var t = new Number(1.0);
	var Epsilon = Number(1.0e-7);
	var maxAntalIterationer=150;
	var antalIterationer=0;
	//if (fNuvarde > 0) alert("Varning: fNuvarde brukar vara ett negativt tal");
	if(fGissning==0) x = Number(0.1);
	else x = fGissning;
	while((t > Epsilon) && (antalIterationer < maxAntalIterationer)){
	    if (x==0) xNy = x - (fNuvarde + fBetalning*nPerioder + fSlutvarde) / (fNuvarde*nPerioder + fBetalning*(nPerioder*(nPerioder-1.0) + 2*fTyp*nPerioder)/2.0);
	    else{
			fTerm1 = Math.pow(Number(1.0)+x, Number(nPerioder-1));
			fTerm2 = fTerm1*(Number(1.0)+x);
			xNy = x*(1.0 - (x*fNuvarde*fTerm2 + fBetalning*(1.0+x*fTyp)*(fTerm2-1.0) + x*fSlutvarde) / (x*x*nPerioder*fNuvarde*fTerm1 - fBetalning*(fTerm2-1.0) + x*fBetalning*(1.0+x+fTyp)*nPerioder*fTerm1));
		}
		antalIterationer++;
		t = Math.abs(xNy - x);
		x = xNy;
	}
	fGissning = x
	return x
}


function changeLL(bLoan){
	if(bLoan){
		document.getElementById('tblLoan').style.display='none';
		document.getElementById('tblLease').style.display='block';
	}else{
		document.getElementById('tblLoan').style.display='block';
		document.getElementById('tblLease').style.display='none';
	}
}

function checkRestValue(obj){
	//document.getElementById('ErrRest').innerHTML = '';
	obj.parentElement.nextSibling.innerText = '';
	if(obj.value.length==0) obj.value=0;
	else{
		var iMonths = Number(document.form1.selMonths.options[document.form1.selMonths.selectedIndex].value);
		if((obj.value>50 && iMonths==24) ||
		(obj.value>40 && iMonths==36) ||
		(obj.value>30 && iMonths==48) ||
		(obj.value>10 && iMonths==60)
		){
			//document.getElementById('ErrRest').innerHTML = 'Restvärdet är högre än rekommenderat.';
			obj.parentElement.nextSibling.innerText = 'Restvärdet är högre än rekommenderat.';
		}
	}
}

function setRestValue(id){
	var iRV = 0;
	switch(id){
		case 24:
			iRV = 50;
		break;
		case 36:
			iRV = 40;
		break;
		case 48:
			iRV = 30;
		break;
		case 60:
			iRV = 10;
		break;
		default:
			iRV = 10;
	}
	document.form1.restValue.value = iRV;
}

//-->

function replace(img, limg) {
  document.getElementById('main-image').innerHTML = "<a href='"+limg+"'><img src='"+img+"' /></a>";
}

function brochureC() {
	document.getElementById('c-brochure').style.display = 'block';
	document.getElementById('m-brochure').style.display = 'none';
	document.getElementById('t-brochure').style.display = 'none';
}

function brochureM() {
	document.getElementById('c-brochure').style.display = 'none';
	document.getElementById('m-brochure').style.display = 'block';
	document.getElementById('t-brochure').style.display = 'none';
}

function brochureT() {
	document.getElementById('c-brochure').style.display = 'none';
	document.getElementById('m-brochure').style.display = 'none';
	document.getElementById('t-brochure').style.display = 'block';	
}

function setCaravan() {
	document.getElementById('special-forms').style.display = 'block';
	var type = document.getElementById('int_type');
	var year = document.getElementById('int_year');
	var price = document.getElementById('int_price');
	
	type.disabled = false;
	year.disabled = false;
	price.disabled = false;
	
	var to1 = new Option("Alla",1);
	var to2 = new Option("Långbädd",1);
	var to3 = new Option("Dubbelbädd",2);
	var to4 = new Option("Barnkammare",3);
	var to5 = new Option("Övrigt",4);
	
	type.options[0] = to1;
	type.options[1] = to2;
	type.options[2] = to3;
	type.options[3] = to4;
	type.options[4] = to5;
	
	var yo1 = new Option("Alla",1);
	var yo2 = new Option("1975-1985",2);
	var yo3 = new Option("1986-1995",3);
	var yo4 = new Option("1996-2000",4);
	var yo5 = new Option("2001-2005",5);
	var yo6 = new Option("Nyare än 2006",6);
	
	year.options[0] = yo1;
	year.options[1] = yo2;
	year.options[2] = yo3;
	year.options[3] = yo4;
	year.options[4] = yo5;
	year.options[5] = yo6;
	
	var po1 = new Option("Alla",1);
	var po2 = new Option("0-50 000",2);
	var po3 = new Option("50 000-100 000",3);
	var po4 = new Option("100 000-150 000",4);
	var po5 = new Option("150 000-200 000",5);
	var po6 = new Option("200 000-250 000",6);
	var po7 = new Option("Mer än 250 000",7);
	
	price.options[0] = po1;
	price.options[1] = po2;
	price.options[2] = po3;
	price.options[3] = po4;
	price.options[4] = po5;
	price.options[5] = po6;
	price.options[6] = po7;
}

function setMotorhome() {
	document.getElementById('special-forms').style.display = 'block';
	var type = document.getElementById('int_type');
	var year = document.getElementById('int_year');
	var price = document.getElementById('int_price');
	
	type.disabled = false;
	year.disabled = false;
	price.disabled = false;
	
	var to1 = new Option("Alla",1);
	var to2 = new Option("Helintegrerad",2);
	var to3 = new Option("Halvintegrerad",3);
	var to4 = new Option("Alkov",4);
	var to5 = new Option("Övrigt",5);
	
	type.options[0] = to1;
	type.options[1] = to2;
	type.options[2] = to3;
	type.options[3] = to4;
	type.options[4] = to5;
	
	var yo1 = new Option("Alla",1);
	var yo2 = new Option("1975-1985",2);
	var yo3 = new Option("1986-1995",3);
	var yo4 = new Option("1996-2000",4);
	var yo5 = new Option("2001-2005",5);
	var yo6 = new Option("Nyare än 2006",6);
	
	year.options[0] = yo1;
	year.options[1] = yo2;
	year.options[2] = yo3;
	year.options[3] = yo4;
	year.options[4] = yo5;
	year.options[5] = yo6;
	
	var po1 = new Option("Alla",1);
	var po2 = new Option("0-150 000",2);
	var po3 = new Option("150 000-250 000",3);
	var po4 = new Option("250 000-350 000",4);
	var po5 = new Option("350 000-500 000",5);
	var po6 = new Option("Mer än 500 000",6);
	
	price.options[0] = po1;
	price.options[1] = po2;
	price.options[2] = po3;
	price.options[3] = po4;
	price.options[4] = po5;
	price.options[5] = po6;
	price.options[6] = null;
}

function validateInterest() {
	var name = document.signup.int_name.value;
	var email = document.signup.int_email.value;
	myOption = -1;
	for (i=document.signup.int_model.length-1; i > -1; i--) {
		if (document.signup.int_model[i].checked) {
			myOption = i; i = -1;
		}
	}
	if(name == "" || email == "" || myOption == -1) {
		alert("Se till att alla obligatoriska fält är ifyllda.");
		return false;
	}
	else {
		return true;
	}
}


function validateBrochure() {
	var br_name = document.order.br_name.value;
	var br_address = document.order.br_address.value;
	
	var br_zip = document.order.br_zip.value;
	var br_city = document.order.br_city.value;	
	
	/*myOption = -1;
	for (i=document.order.br_brand.length-1; i > -1; i--) {
		if (document.order.br_brand[i].checked) {
			myOption = i; i = -1;
		}
	}*/
	if(br_name == "" || br_address == "" || br_zip == "" || br_city == "") {
		alert("Se till att alla obligatoriska fält är ifyllda.");
		return false;
	}
	else {
		return true;
	}
}