use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(Do DoFn);
use Dbase::Globals qw(content);
use Loader qw(edit_ipregions log_update);

sub set_ipnr_auto($;$$) {
	my($idi,$kn,$nreg) = @_;
	my($id,$oreg) = DoFn("select kunde,ipregion from ipkunde where id = $idi");

	my $ipr;
	if(defined $nreg) {
		$ipr = $nreg;
	} else {
		content ( $ipr = edit_ipregions($id,1+4,$kn) ) or return undef;
	}
	if($ipr eq "-") {
		return unless defined $oreg;
		$ipr = "NULL";
	} else {
		if(defined $oreg) {
			if(defined $nreg) { ## angegeben => flip
				$ipr = "NULL" if $oreg == $nreg;
			} else {
				return $ipr if $ipr == $oreg;
			}
		}
	}

	log_update("ipkunde","id",$idi,undef,"ipregion",undef,$oreg);
	Do("update ipkunde set ipregion=$ipr where id=$idi");
	print ($ipr ? $oreg ? "Geändert.\n" : "Hinzugefügt.\n" : "Entfernt.\n");
	$ipr;
}
1;
