(function($) {

	$.fn.MultiInput = function(options) {
		
		var defaults = {
			amount:$('#res-aantal'),
			label: 'Kandidaat'
		};
		
		var options = $.extend(defaults, options);
		
		return this.each(function() {
			setUp(this, options);
		});
	};
	
	function setUp(container, options) {
		
		if ($('table', container).length < 1) {
			var tbl = $('<table></table>');
			$(container).append(tbl);
		}
		else {
			var tbl = $('table', container);
		}
		
		$(options.amount).keyup(function(e) {
			
			if (!(isNaN($(this).val()) || $(this).val() == '' || $(this).val() == null)) {
				$('thead',tbl).remove();
				$('tr', tbl).addClass('old');
				tbl.append('<thead><tr><th></th><th></th><th>DVD</th></tr></thead>');
				var num = parseInt($(this).val());
				for (var i=0; i<num && i < 25; i++) {
					
					var fieldVal = $('#multi-field-'+i).val() == undefined ? "" : $('#multi-field-'+i).val();
					var cbxVal = ($('#multi-field-cbx-'+i).length > 0 && $('#multi-field-cbx-'+i).attr('checked')) ? true : false;
					var checked = (cbxVal == false ? '' : ' checked="checked"')
					$('#multi-field-cbx-'+i).remove();
					$('#multi-field-'+i).remove();
					var tr = $('<tr id="multi-row-'+i+'"></tr>');
					var label = $('<td><label for="multi-field-'+i+'">'+options.label+' '+(i+1)+'</label></td>');
					var field = $('<td><input name="multi-field['+i+']" id="multi-field-'+i+'" type="text" value="'+fieldVal+'" /></td>');
					var dvd = $('<td><input value="[dvd]" name="multi-field-cbx['+i+']" id="multi-field-cbx-'+i+'" type="checkbox"'+checked+' /></td>');
					$(tbl).append(tr.append(label).append(field).append(dvd));
				}
				
				$('tr.old',tbl).remove();
			}
			else if (!($(this).val() == '' || $(this).val() == null)) {
				alert('Geef een geldig aantal kandidaten in.');
			}
		});
	}
		
	function setUpold(container, options) {
		var tbl = $('<table></table>');
		$(container).append(tbl);
		$(options.amount).keyup(function(e) {
			if (!isNaN($(this).val())) {
				var num = parseInt($(this).val());

				if (currentAmount != num) {
					if (currentAmount == 0)
						tbl.append('<thead><tr><th></th><th></th><th>DVD</th></tr></thead>')

					// deze manier van we
					if (currentAmount < num) {
						for (var i=currentAmount; i<num && i < 25; i++) {
							var tr = $('<tr id="multi-row-'+i+'"></tr>');
							var label = $('<td><label for="multi-field-'+i+'">'+options.label+' '+(i+1)+'</label></td>');
							var field = $('<td><input name="multi-field['+i+']" id="multi-field-'+i+'" type="text" /></td>');
							var dvd = $('<td><input name="multi-field-cbx['+i+']" id="multi-field-cbx-'+i+'" type="checkbox" /></td>');
							$(tbl).append(tr.append(label).append(field).append(dvd));
						}
					}

					else {

					}
					currentAmount = num;
				}
			}
			else {
				alert('Geef een geldig aantal kandidaten in.');
			}
		});
	}
})(jQuery);