# Net::ParseWhois registrar parser driver
#
# Registrar: Internet Names 
# Version: 0.12
# Contributor: Adam Stubbs <astubbs@advantagecommunication.com>
# Date: 04/14/2001
# Updated: 11/18/2005 by Jeff Mercer <jcm@vaxer.net>
# 

package Net::ParseWhois::Domain::Registrar::INameWW;

require 5.004;
use strict;

@Net::ParseWhois::Domain::Registrar::INameWW::ISA = qw(Net::ParseWhois::Domain::Registrar);
$Net::ParseWhois::Domain::Registrar::INameWW::VERSION = 0.1;

sub rdebug		{ 0 }
sub regex_org_start	{ '^Registrant:'}
sub regex_no_match	{ '^No match for' }
sub regex_created	{ '^Record created on (.*).$' }
sub regex_expires	{ '^Record expires on (.*).$' }
sub regex_updated	{ '^Record last updated on (.*).$' }
sub regex_domain	{ '^Domain Name: (.*)$' }
sub regex_nameservers	{ '^Domain servers in listed order:$' }
sub my_contacts		{ [ qw(Administrative Technical Billing) ] }
sub my_nameservers_noips { 1 }
sub my_data		{ [ qw(my_contacts regex_org_start regex_no_match regex_created regex_expires regex_updated regex_domain regex_nameservers my_nameservers_noips) ] }

sub parse_text {
        my $self = shift;
        my $text = shift; # array ref, one line per element
	my %data = ();

	foreach my $line (@{$text}){
		$line .= "\n";
		if($line =~ /^(.*?)\.+\s(.*?)\n/){
            #if ($1 eq 'Name Server') {
            #    push(@{$data{$1}}, $2 . 'n/a'); # kludge so that t/whois.pl's map won't complain.
            #} else {
			    push(@{$data{$1}}, $2);
            #}
		}
	}
	
	my $country = $data{'Organisation Address'}[-1];	

	foreach my $k (keys %data){
		if(ref($data{$k}) eq 'ARRAY'){
			$data{$k} = join("\n", @{$data{$k}});
		}
	}

	my $newtext = qq~Registrant:
$data{'Organisation Name'}
$data{'Organisation Address'}

Domain Name: $data{'Domain Name'}

Administrative Contact, Billing Contact:
$data{'Admin Name'}  $data{'Admin Email'}
$data{'Admin Address'}
Phone: $data{'Admin Phone'}
Fax: $data{'Admin Fax'}
Technical Contact:
$data{'Tech Name'} $data{'Tech Email'}
$data{'Tech Address'}
Phone: $data{'Tech Phone'}
Fax: $data{'Tech Fax'}

Record expires on $data{'Expiry Date'}.
Record created on $data{'Creation Date'}.

Domain servers in listed order:

$data{'Name Server'}

~;

	my @newtext = split(/\n/, $newtext);
	$text = \@newtext;

        $self->dump_text($text) if $self->rdebug;

	$self->{RECORD_UPDATED} = 'n/a';

        $self->parse_start($text);
        $self->parse_org($text);
        $self->parse_domain_name($text);
        $self->parse_contacts($text);
        $self->parse_domain_stats($text);
        $self->parse_nameservers($text);


	$self->{COUNTRY} = $country;
        return $self;
}

1;