var SpaarRendement = new Class({

	Implements: [Options],

    options: {
		postData: {},
		ajaxOptions: {},
		postVar: 'value'
	},
	
	initialize: function(url, el, vaste_termijn, options) {
		this.setOptions(options);
		this.element = $(el);
		this.vaste_termijn = vaste_termijn;
		this.request = new Request.JSON($merge({'url': url, 'link': 'cancel'}, this.options.ajaxOptions)).addEvent('onComplete', this.queryResponse.bind(this));
	},
	
	query: function(){
		var data = {};
		data[this.options.postVar] = JSON.encode($unlink(this.options.postData) || {});
		this.request.setHeader('X-CSRFToken', Cookie.read('csrftoken'));
		this.request.post(data);
	},
	
	queryResponse: function(response) {
	
	    var tijdeenheid = response[0];
	    var sp = response[1];
		
		this.element.empty();
		var firstRow = new Element('tr');
		firstRow.inject(this.element);
		var cel = new Element('td', {'html': '<b>' + String(tijdeenheid) + '</b>'});
		cel.inject(firstRow);
		var cel = new Element('td', {'html': '<b>Start saldo</b>'});
		cel.inject(firstRow);
		if (! this.vaste_termijn) {
			var cel = new Element('td', {'html': '<b>Stortingen</b>'});
			cel.inject(firstRow);
		}
		
		var cel = new Element('td', {'html': '<b>Rente</b>'});
		cel.inject(firstRow);
		var cel = new Element('td', {'html': '<b>Rente cumulatief</b>'});
		cel.inject(firstRow);
		
		
		var row_even = true;
		sp.each(function (token) {
			if (row_even) {
				var row = new Element('tr', {'class': 'row-even'});
				row_even = false;
			} else {
				var row = new Element('tr', {'class': 'row-oneven'});
				row_even = true;
			}
			row.inject(this.element);
			var cel = new Element('td', {'html': token.tijd});
			cel.inject(row)
			var cel = new Element('td', {'html': token.start_saldo_fr});
			cel.inject(row)
			if (! this.vaste_termijn) {
				var cel = new Element('td', {'html': token.storting_fr});
				cel.inject(row)
			}
			var cel = new Element('td', {'html': token.rente_fr});
			cel.inject(row)
			var cel = new Element('td', {'html': token.rente_cumm_fr});
			cel.inject(row)
			
		}, this);
		
		
		
	}
});

function clickSpaarRendement(ds_id, form_id, vaste_termijn) {
    var form = $(form_id)
    var storting = form.elements["storting"].value;
    
    if (vaste_termijn) {
    	var pstorting = 0;
    	var aantal_jaar = 0;
    } else {
    	var pstorting = form.elements["maandelijkse_storting"].value;
    	var oSelectOne = form.elements["aantal_jaren"];
    	var aantal_jaar = oSelectOne.options[oSelectOne.selectedIndex].value;
    }
    
    var mod_cmplist = new SpaarRendement('/sparen/spaarrendement', 'table_result', vaste_termijn, {'postData': {'ds_id': ds_id, 'storting': storting, 'periodiek_storting': pstorting, 'aantal_jaren': aantal_jaar}});
    mod_cmplist.query();    
}        
