/**
* Bikcode zoeker
*/

function display_biks() {
	
	var div = document.getElementById('bikcode-div');
	if (!div) return;
	
	var html = '<table border="0" width="100%">';
	html += '<tr><th class="bik">BIK-code</th><th class="omschrijving">Omschrijving</th></tr>';
	for (i = 0; i < bikcodes.length; i++) {
		var bikcode = bikcodes[i];
		bikcode = bikcode.split("||");
		html += maketablerow(bikcode);
	}
	html += '</table>';
	
	div.innerHTML = html;
	toggle(true);
}

function verfijn_biks() {
	var div = document.getElementById('bikcode-div');
	if (!div) return;
	
	var zoek_string = document.getElementById('bikcode-zoek').value;
	zoek_string = zoek_string.toLowerCase();
	
	var biks = '';
	if (zoek_string.length == 0) {
		for (i = 0; i < bikcodes.length; i++) {
			var bikcode = bikcodes[i];
			bikcode = bikcode.split("||");
			biks += maketablerow(bikcode);
		}
	} else {
		for (i = 0; i < bikcodes.length; i++) {
			var bikcode = bikcodes[i];
			bikcode = bikcode.split("||");
			if (bikcode[1].toLowerCase().indexOf(zoek_string) != -1) {
				biks += maketablerow(bikcode);
			}
		}
	}
	var html = '<table border="0" width="100%">';
	html += '<tr><th class="bik">BIK-code</th><th class="omschrijving">Omschrijving</th></tr>';
	if (biks.length == 0) {
		html += '<tr><td colspan="2">Geen BIK-codes gevonden</td></tr>';
	} else {
		html += biks;
	}
	html += '</table>';
	div.innerHTML = html;
	div.style.display = 'block';
	
}

function maketablerow(bikcode) {
	return '<tr><td><a href="javascript:setbikcode('+bikcode[0]+', \''+bikcode[1].replace(/'/,"\\'")
		+'\')">'+bikcode[0]+'</a></td><td>'+bikcode[1]+'</td></tr>';
}

function setbikcode(bikcode, omschrijving) {
	var row = document.getElementById('VARDESC_VARCAT_ID_56_bikcode');
	if (!row) return;
	
	var input = row.getElementsByTagName('input');
	if (input.length < 1) return;
	
	input[0].value = bikcode;
	
	row = document.getElementById('VARDESC_VARCAT_ID_56_bikcode_omschrijving');
	if (!row) return;
	
	input = row.getElementsByTagName('input');
	if (input.length < 1) return;
	
	input[0].value = omschrijving;
	
	// Hide divs again
	toggle(false);
}

function bik_set_omschrijving() {
	var row = document.getElementById('VARDESC_VARCAT_ID_56_bikcode');
	if (!row) return;
	
	var input = row.getElementsByTagName('input');
	if (input.length < 1) return;
	
	var invoer = parseInt(input[0].value, 10);
	
	var omschrijving = null;
	// Kijk of ie in de lijst staat
	for (i = 0; i < bikcodes.length; i++) {
		var bikcode = bikcodes[i];
		bikcode = bikcode.split("||");
		if (bikcode[0] == invoer) {
			omschrijving = bikcode[1];
			break;
		}
	}
	if (!omschrijving) {
		omschrijving = "BIK-code niet gevonden!";
	}
	row = document.getElementById('VARDESC_VARCAT_ID_56_bikcode_omschrijving');
	if (!row) return;
	
	input = row.getElementsByTagName('input');
	if (input.length < 1) return;
	input[0].value = omschrijving;
}

function toggle(show) {
	var toggle = document.getElementById('bikcode-toggle');
	var zoek   = document.getElementById('bikcode-input');
	var lijst  = document.getElementById('bikcode-div');
	var input  = document.getElementById('bikcode-zoek');
	
	if (show) {
		toggle.style.display = 'none';
		zoek.style.display = 'block';
		lijst.style.display = 'block';
		input.onkeypress = keypress;
	} else {
		toggle.style.display = 'block';
		zoek.style.display = 'none';
		lijst.style.display = 'none';
		input.onkeypress = null;
	}
}

function keypress(e) {
	if (!e) {
		e = window.event;
	}
	if (e.keyCode == 13) { // Enter
		verfijn_biks();
		return false;
	}
}
