

var calc = {
	cash : null,
	members : null,
	avkastning : null,
	output : null,
	
	id : function(el) {
		return document.getElementById(el);
	},
	
	initCash : function(el) {
			if (this.cash == null) {
				this.cash = el;
			}
	},
	
	initMember : function(el) {
		if (this.members == null) {
			this.members = el;
		}
	},
	
	initAvkastning : function(el) {
			if (this.avkastning == null) {
				this.avkastning = el;
				
			}
	},
	
	initOutput : function(el) {
			if (this.output == null) {
				this.output = el;
			}
	},
	
	result : function(num)	{
			
			htmlStart = "<table class='funds'><tr><th>&Aring;r</th><th>V&auml;rde efter avgift</th><th>V&auml;rde&ouml;kning i %</th><th>F&ouml;rtj&auml;nst till klubben</th><th>V&auml;rde&ouml;kning f&ouml;r sparare</th></tr>";
			htmlEnd = "</table>";
			intrest = calc.getIntrest(calc.avkastning.value);
			fee = calc.getIntrest(num);
			inval = 0;
			inyear = 1;
			feeSum = 0
			insertRow = ""
			increase = 0
			for (i=0; i<60; i++) {
				inflow = parseFloat(calc.cash.value)*parseFloat(calc.members.value);
				sum = inval + inflow;
				vbt = sum+parseFloat(sum*intrest/12);
				avgift = parseFloat(vbt*fee/12);
				vat = vbt-avgift;
				feeSum += avgift;
				increase += inflow;
				if(i == 11 || i == 23 || i == 35 || i == 47 || i == 59) { 
					insertRow += "<tr><td>" + inyear + "</td><td>" + calc.insertSpace(Math.round(vat)) +  " kr</td><td>"+calc.setPersent(Math.round(vat-increase)/increase)+"%</td><td>"+calc.insertSpace(Math.round(feeSum/3))+" kr</td><td>"+calc.insertSpace(Math.round(vat/calc.members.value))+" kr</td></tr>";
					feeSum = 0;
					inyear++;
				}
				inval = vat;
			}
			calc.output.innerHTML = htmlStart + insertRow + htmlEnd;
		
		
	},
	
	isvalid : function(el,error)	{
		var numbers = "0123456789.";
		if(numbers.indexOf(el.value.charAt(el.value.length-1)) == -1) {
			el.value = el.value.substring(0,el.value.length-1)
		} 
	},
	
	getIntrest :  function(num) {
	 return num/100;
	},
	
	setPersent : function(num) {
		tmp = num*100;
		return tmp.toString().substr(0,4)
	},
	
	insertSpace : function(ins) {
		switch ( ins.toString().length ) {
			case 4: return ins.toString().substr(0,1) + " " + ins.toString().substr(1,3); break;
			case 5: return ins.toString().substr(0,2) + " " + ins.toString().substr(2,4); break;
			case 6: return ins.toString().substr(0,3) + " " + ins.toString().substr(3,5); break;
			case 7: return ins.toString().substr(0,1) + " " + ins.toString().substr(1,3) + " " + ins.toString().substr(4,6); break;
			case 8: return ins.toString().substr(0,2) + " " + ins.toString().substr(2,3) + " " + ins.toString().substr(5,7); break;
			case 9: return ins.toString().substr(0,3) + " " + ins.toString().substr(3,3) + " " + ins.toString().substr(6,8); break;
			default: return ins.toString();
		}
		
	}
	
};
