
/* - ++resource++npo.ringenoverschrijvenautoaanvullen.js - */
var ringenoverschrijvenautoaanvullen_setup = function ($) {
  $(function(){
	if (typeof dataGridFieldFunctions == 'undefined' || !dataGridFieldFunctions ) return;
	// change handler voor autoinvullen
    var handler = function(){
	  var target = this;
	  var tr = $(target).parents('tr:first');
	  $.getJSON("@@getLidJson?lidnummer="+$(this).val(), function(data){
		if (data){
		  var naam = Array();
		  if (data.voornaam) naam[naam.length] = data.voornaam;
		  if (data.tussenvoegsel) naam[naam.length] = data.tussenvoegsel;
		  if (data.achternaam) naam[naam.length] = data.achternaam;
		  $('input:eq(1)',tr).val(naam.join(' '));
		  var straat = Array();
		  if (data.straat) straat[straat.length] = data.straat;
		  if (data.huisnummer) straat[straat.length] = data.huisnummer;
		  $('input:eq(2)', tr).val(straat.join(' '));
		  $('input:eq(3)', tr).val( data.postcode?data.postcode:'' );
		  $('input:eq(4)', tr).val( data.plaats?data.plaats:'' );
		  $(tr).removeClass('error');
	    }
	    else
	    {
		  $('input:eq(1)',tr).val('');
		  $('input:eq(2)', tr).val('');
		  $('input:eq(3)', tr).val('');
		  $('input:eq(4)', tr).val('');
		  $(tr).addClass('error');
	    }
	  });
    }

	var bind_handlers = function() {
	  $('#archetypes-fieldname-series input[name*=lidnummer]').bind('change', handler);
	}
	bind_handlers();

    $('.formid-ringen-overschrijven input').keydown(function(e){
	        if (e.keyCode == 13) {
	            return false;
	        }
     });

	// Auto invullen van oa IE geeft geen change event, dus controleren we hier op na het inladen vd pagina.
	$('#archetypes-fieldname-series input[name*=lidnummer]').each(function(){
		if ($(this).val()=='') return;
		if ($('input:eq(1)',tr).val()!='') return;
		handler();
	});

	// Proxies zodat de changehandler ook op nieuwe rijen komt.
	var old_addRow = dataGridFieldFunctions.addRow;
	dataGridFieldFunctions.addRow = function(naam) {
		old_addRow.apply(this, new Array(naam));
		bind_handlers();
	}

	var old_addRowAfter = dataGridFieldFunctions.addRowAfter;
	dataGridFieldFunctions.addRowAfter = function(obj) {
		old_addRowAfter.apply(this, new Array(obj));
		bind_handlers();
	}

	var old_removeFieldRow = dataGridFieldFunctions.removeFieldRow;
	dataGridFieldFunctions.removeFieldRow = function(obj) {
		old_removeFieldRow.apply(this, new Array(obj));
		bind_handlers();
	}
  });
}

ringenoverschrijvenautoaanvullen_setup(jQuery);
