<!--
//--Värden att ändra START--//
	 var in_ranta = 7;         //ränta %
	 var in_restvarde = 3;    //restvärde %
//--Värden att ändra SLUT--//

minsta_restvarde = 3;
var calc = new calc_main();

var hyrestid = calc.hyrestid;
procent = calc.restvarde;
hyra1 = calc.hyra1;
svar ="";
svar2 ="";


 input1 = location.search;
 input2 = parent.location.search;

if(input1 && input1.length > 1){
	get_input(input1);
}
else if (input2 && input2.length > 1 && input2.indexOf("typsparbelopp")!='-1'){
	get_input(input2);
}


//definierar defaultv&auml;rden f&ouml;r objektet
function calc_main() {

	this.ranta = in_ranta;         
	this.restvarde = in_restvarde;

	this.hyra1 = 0;
	this.inkopspris = 0;

	this.hyrestid = 3;
	this.leasinghyra = 0;
	this.totleasinghyra = 0;
	this.avlyftbarmoms = 0;
	this.deltotalhyra = 0;
	this.totalhyreskostnad = 0;
	this.restvardeinklmoms = 0;
	this.annuitet = 0;
	this.finansieringskostnad = 0;
	this.finansieringskostnadiprocent = 0;
	this.delsumma1 = 0;
	this.delsumma2 = 0;
	this.leasingranta = 0;
	this.update = kalkyl_updatering;
	this.recalc = kalkyl_rekalk;
	this.rantedelsumma = new Array();
}

/////////////////////////////
function get_input(input){
	input=input.substring(1);
	arr1= new Array();
	arr1=input.split("&");
	 arr2= new Array();
	var langd3 = arr1.length;

	for (var i=0;i <= langd3-1;i++)
	{
		arr2= arr1[i].split("=");
		if (arr2[0]=="inkopspris") calc.inkopspris= felkorr2(arr2[1]);
		if (arr2[0]=="hyra1") calc.hyra1= felkorr2(arr2[1]);
		if (arr2[0]=="hyrestid") calc.hyrestid= felkorr2(arr2[1]);
		if (arr2[0]=="restvarde") calc.restvarde= felkorr2(arr2[1]);
	}

	kalkyl_rekalk('nej');

	svar =formattering(Math.round(calc.leasinghyra/12))+" SEK";
	if (calc.hyra1 !="")
		svar2 =formattering(Math.round(calc.leasinghyra/12)+ calc.hyra1)+" SEK";

}
////////////////////////////////
function felkorr2(value){
	value= value +"";
	var t=1;
	while(t==1)
	{
		t=0;
		if(value.indexOf(".") != -1)
	    {	
		 	t=1;
	          lnPos = value.indexOf(".");
	          value = value.substring(0, lnPos) + "" + value.substring(lnPos + 1, value.length);
	    }
		if(value.indexOf(" ") != -1)
	   	 {
	     	t=1;
	        lnPos = value.indexOf(" ");
	         value = value.substring(0, lnPos) + "" + value.substring(lnPos + 1, value.length);
	      }

	}//While
	if (value == " " || value == "") value = 0;
	return parseFloat(value);
}
//////////////////////////////
function koll(){
		var retur = true;
		var f = document.forms[0];
		if((felkorr(f.inkopspris.value)-(felkorr(f.inkopspris.value)* calc.restvarde/100) - felkorr(f.hyra1.value)) < 0){
			alert("Första förhöjd hyra kan ej vara större än pris minus restvärde.");
			retur  = false;
		}
		if (retur && (felkorr(f.restvarde.value) < minsta_restvarde)){
			alert("Restvärdet ska vara minst "+minsta_restvarde+" %");
			retur  = false;
		}

		return retur;
}

//Tar bort alla felaktiga tecken: mellanslag, punkt, bokst&auml;ver,
function felkorr(value){
 //alert(value);
	value= value +"";
	var t=1;
	while(t==1)
	{
		t=0;
		if(value.indexOf(".") != -1)
	    {	
		 	t=1;
	          lnPos = value.indexOf(".");
	          value = value.substring(0, lnPos) + "" + value.substring(lnPos + 1, value.length);
	    }
		if(value.indexOf(" ") != -1)
	   	 {
	     	t=1;
	        lnPos = value.indexOf(" ");
	         value = value.substring(0, lnPos) + "" + value.substring(lnPos + 1, value.length);
	      }

	}//While
	//alert(value);
	return value;
}
//R&auml;ttar extrema v&auml;rden, &auml;ndrar man ers&auml;ttningsv&auml;rdena, &auml;ndra i ocks&aring; i funktionen avrundning.
function  rattning(value){
	varde = value;
	if (isNaN(value)){
		varde = 'Fel';
	}
	checkforThree = parseInt(navigator.appVersion);
	if (checkforThree > 3){
		if (varde == 'Infinity') {
			varde = 'Orimligt';
		} else if (varde == '-Infinity') {
			varde = 'Orimligt';
		}
	}
	return varde;
}
//formatterar om siffror enligt standard
function formattering(f,nollok){
   if (formattering.arguments.length == 1)
   		nollok = false;
    var hel="";
    var del="";
    if (f){
      s = f + "" ; 
      if ( s.indexOf(".") != -1 ){
          del = "," + s.substring(s.indexOf(".") + 1, s.length);
          hel = s.substring(0, s.indexOf("."));
      }
      else hel = s ;
      if ( hel.length > 3 ){
        hel = hel.substring(0,(hel.length-3)) + "." + hel.substring((hel.length-3),hel.length);
        if ( hel.length > 7 )
          hel = hel.substring(0,(hel.length-7)) + "." + hel.substring((hel.length-7),hel.length);
      }
      s = hel + del;
      if ( s.substring(0,2) == "-." )
          s = "-" + s.substring(2,s.length);
    }
    else if (nollok) 
		s = "0";
	else 
		s = "";
    return s ;
}

//Kallas s&aring; fort man uppdaterat ett av inmatningsv&auml;rdena
function kalkyl_updatering(namn, value, minimum, maximum) {
	varde = value;
	varde = felkorr(varde);
	//varning(namn, varde, minimum, maximum);
	this[namn] = varde;
	this.recalc('ja');
}

//Kallas n&auml;r kalkylen skall g&ouml;ras som (i b&ouml;rjan och efter &auml;ndring av inmatningsv&auml;rdena)
function kalkyl_rekalk(skrivutellerej) {
	var PMTF = 0;
	var PV = calc.inkopspris - calc.hyra1;
	var FV = (PV+calc.hyra1)*(calc.restvarde/100);
	var I = calc.ranta/12/100;
	var N = 12*calc.hyrestid;

	calc.annuitet = (PV -(FV*(Math.pow(1+I,-N)))) / (((1- (Math.pow(1+I,-N))) / (I)) * (1+I));

	//endast f&ouml;rskottsannuitet! annan formel f&ouml;r efterskottsannuitet!
	nuvarde = calc.inkopspris;
	ranta = 0;
	totranta = 0;
	temp = calc.hyrestid-1;

	for (j=1; j<=(12*calc.hyrestid); j++) {
		ranta = (nuvarde * calc.ranta/100/12)-calc.annuitet*calc.ranta/100/12;
		totranta = totranta + ranta;
		nuvarde = nuvarde- (calc.annuitet-ranta);
		if (j%12 == 0 ) {
			temp = j/12-1;
			calc.rantedelsumma[temp] = totranta;
			totranta = 0;
		}
	}//for

	calc.finansieringskostnad = 0;
	for (k=0; k<=(calc.rantedelsumma.length-1); k++) {
		tempsumma = calc.rantedelsumma[k];
		calc.finansieringskostnad = calc.finansieringskostnad + tempsumma;
	}
	calc.leasinghyra = calc.annuitet*12;
	if (skrivutellerej == "ja") {
		skriv_ut_i_falt();
	}
}

//////////////////
function avrundning(vilket,antaldecimaler) {
	//heltal eller decimaler, anv&auml;nd enbart f&ouml;r visingssk&auml;l mot anv&auml;ndaren.. ber&auml;kna med s&aring; m&aring;nga decimaler som m&ouml;jligt.
	if (antaldecimaler > 0) {
		vilket = vilket *(Math.pow(10,antaldecimaler));
		vilket = Math.round(vilket);
		vilket = vilket /(Math.pow(10,antaldecimaler));
	} else {
		vilket = Math.round(vilket);
	}

	vilket = rattning(vilket);
	vilket = vilket + '';
	if (vilket != "Orimligt" && vilket != "Fel") {
		vilket = formattering(vilket);
	}
	return vilket;
}

//skriver ut de aktuella v&auml;rdena i f&auml;lten
function skriv_ut_i_falt() {
	templength = document.momsform.elements.length -1;
	for (j=0; j<=templength; j++) {
		tempname = document.momsform.elements[j].name;
		tempvalue = calc[tempname];
		tempvalue = formattering(tempvalue);
		if(tempname=="hyrestid")
			document.momsform.elements["hyrestid"].selectedIndex = tempvalue-2;
		else
			document.momsform.elements[j].value = tempvalue;
	}
}

/////////////////
function print_sida(f)
{
 var text_after2 ="</body></html>";
 var text_before2 = "<html><head><title>Utskrift</title><link rel='stylesheet' href='styles/default.css'></head><body bgcolor='#ffffff'>";

printWin = window.open('', 'kalkyl', 'resizable=1,toolbar=0,location=0,directories=0,status=0,scrollbars=1,menubar=1,width=650,height=500');
 printWin.document.write(text_before2);
 
 rubrik("Kalkyl - leasing");
 rad("Utrustningens pris (exkl moms)",formattering(calc.inkopspris)+" SEK");
 if (calc.hyra1 !="")
 	rad("F&ouml;rsta hyra f&ouml;rh&ouml;jd med (exkl moms)",formattering(calc.hyra1)+" SEK");
  rad("Avtalstid",calc.hyrestid + " &aring;r");
 tabellSlut();
 
 rad("Leasingavgift per m&aring;nad (exkl moms) ",formattering(Math.round(calc.leasinghyra/12))+" SEK");
if (calc.hyra1 !="")
		rad("F&ouml;rsta leasingavgiften &auml;r (exkl moms)",formattering(Math.round(calc.leasinghyra/12)+ calc.hyra1)+" SEK");
 
 tabellSlut();
  tabellSlut();
 textblock("För din finansiering samarbetar vi med Nordea Finans");
 //  textblock(svar);
  //  textblock(svar2);
	
printWin.document.write(text_after2);

printWin.document.close();
}

function textblock(text)  
{  
printWin.document.write("<TABLE width='550' border='0' cellspacing='0' cellpadding='0'>");
printWin.document.write("<tr bgcolor='white'>");
printWin.document.write("<td align='left' valign='top' width='8'>&nbsp;</td>");
printWin.document.write("<td width='438' align='left' valign='middle'>");
printWin.document.write(text);
printWin.document.write("</td>");
printWin.document.write("<td align='left' valign='top' width='4'>&nbsp;</td>");
printWin.document.write("</tr>");
printWin.document.write("</table>");
}

 function rad(avser, varde)  
{ 
if (varde)
 {
  printWin.document.write("<TABLE width='550' border='0' cellspacing='0' cellpadding='0'>");
  printWin.document.write("<tr bgcolor='white'>");
  printWin.document.write("<td align='left' valign='top' width='4'>&nbsp;</td>");
  printWin.document.write("<td width='290' align='left' valign='middle'><b>");
  printWin.document.write(avser);
  printWin.document.write("</b></td>");
  printWin.document.write("<td width='10' align='left' valign='top'>&nbsp;</td>");
  printWin.document.write("<td width='240' align='left' valign='middle'>");
  printWin.document.write(varde);
  printWin.document.write("</td>");
  printWin.document.write("<td align='left' valign='top' width='4'>&nbsp;</td>");
  printWin.document.write("</tr>");
  printWin.document.write("</table>");
 }
}

function rubrik(rubrik1)  
{  
printWin.document.write("<TABLE width='200' border='0' cellspacing='0' cellpadding='0'>");
printWin.document.write("<tr bgcolor='white'>");        
printWin.document.write("<td align='left' valign='top' width='8'>&nbsp;</td>");
printWin.document.write("<td width='438' align='left' valign='middle'><b>");
printWin.document.write(rubrik1);
printWin.document.write("</b></td>");
printWin.document.write("<td align='left' valign='top' width='4'>&nbsp;</td>");
printWin.document.write("</tr>");
printWin.document.write("<tr bgcolor='white'>");
printWin.document.write("<td colspan='3' align='left' valign='top'><HR noshade></td>");
printWin.document.write("</tr>");
printWin.document.write("</table>");
}

 function tabellSlut()  
{  
  printWin.document.write("<br><br>");
} 

//-->