<?php
	$rdata = array_map('to_utf8', array_map('nl2br', array_map('html_attr_tags_ok', $rdata)));
	$jdata = array_map('to_utf8', array_map('nl2br', array_map('html_attr_tags_ok', $jdata)));
?>
<script>
	$j(function(){
		var tn = 'visas';

		/* data for selected record, or defaults if none is selected */
		var data = {
			client: <?php echo json_encode(array('id' => $rdata['client'], 'value' => $rdata['client'], 'text' => $jdata['client'])); ?>,
			num_passport: <?php echo json_encode($jdata['num_passport']); ?>,
			type_visa: <?php echo json_encode(array('id' => $rdata['type_visa'], 'value' => $rdata['type_visa'], 'text' => $jdata['type_visa'])); ?>,
			emetteur: <?php echo json_encode(array('id' => $rdata['emetteur'], 'value' => $rdata['emetteur'], 'text' => $jdata['emetteur'])); ?>,
			statut: <?php echo json_encode(array('id' => $rdata['statut'], 'value' => $rdata['statut'], 'text' => $jdata['statut'])); ?>
		};

		/* initialize or continue using AppGini.cache for the current table */
		AppGini.cache = AppGini.cache || {};
		AppGini.cache[tn] = AppGini.cache[tn] || AppGini.ajaxCache();
		var cache = AppGini.cache[tn];

		/* saved value for client */
		cache.addCheck(function(u, d){
			if(u != 'ajax_combo.php') return false;
			if(d.t == tn && d.f == 'client' && d.id == data.client.id)
				return { results: [ data.client ], more: false, elapsed: 0.01 };
			return false;
		});

		/* saved value for client autofills */
		cache.addCheck(function(u, d){
			if(u != tn + '_autofill.php') return false;

			for(var rnd in d) if(rnd.match(/^rnd/)) break;

			if(d.mfk == 'client' && d.id == data.client.id){
				$j('#num_passport' + d[rnd]).html(data.num_passport);
				return true;
			}

			return false;
		});

		/* saved value for type_visa */
		cache.addCheck(function(u, d){
			if(u != 'ajax_combo.php') return false;
			if(d.t == tn && d.f == 'type_visa' && d.id == data.type_visa.id)
				return { results: [ data.type_visa ], more: false, elapsed: 0.01 };
			return false;
		});

		/* saved value for emetteur */
		cache.addCheck(function(u, d){
			if(u != 'ajax_combo.php') return false;
			if(d.t == tn && d.f == 'emetteur' && d.id == data.emetteur.id)
				return { results: [ data.emetteur ], more: false, elapsed: 0.01 };
			return false;
		});

		/* saved value for statut */
		cache.addCheck(function(u, d){
			if(u != 'ajax_combo.php') return false;
			if(d.t == tn && d.f == 'statut' && d.id == data.statut.id)
				return { results: [ data.statut ], more: false, elapsed: 0.01 };
			return false;
		});

		cache.start();
	});
</script>

